Академический Документы
Профессиональный Документы
Культура Документы
INGENIERIA
FACULTAD DE INGENIERIA MECANICA
MB_545_20I5_III
Tema: ALGORITMOS DATOS VARIABLES
Ing. Daniel Osorio Maldonado
UNI FIM
BORLAND C++/VISUAL C++
TEMA: ALGORITMOS
PSEUDOCODIGO / DIAGRAMA DE FLUJO
Los algoritmos pueden constituir por as decirlo en un listado de instrucciones que indican el camino a seguir
para dar solucin a un problema y que puede o no ser ser resuelto por una computadora , generalmente el
algoritmo viene acompaado de un pseudocdigo y un diagrama de flujo.
Cuando el Algoritmo se ha desarrollado en forma correcta, el paso siguiente es llevar el pseudocodigo a la
codificacion del loenguaje de programacion.
Como ya se explic, la codificacion del algoritmo(pseudocodigo) en un determinado lenguaje debe
respetar su sintaxis para que el compilador pueda traducirlo en Lenguaje Maquina y hallar la solucion al
problema planteado.
Se entiende que por verificacin del algoritmo, el seguimiento del mismo con datos que se ajusten a las
caracterstica del problema que se va a resolver.
Caracterstica:
Los algoritmos en general deben ser:
Precisos :Los pasos a seguir en el algoritmo deben ser precisados claramente.
Definido: Debe dar siempre el mismo resultado para un conjunto de datos idnticos de entrada.
Finito : El algoritmo, independientemente de la complejidad del mismo, debe ser siempre de
longitud finita.
Metodologa:
Definicin de los Objetos_Datos de Entrada y Salida(Ingreso desde teclado y salida por pantalla)
Objetos_Datos de Entrada: Datos que se ingresan por teclado.
Objetos_Dato de salida: Datos u objetos de resultado.
Procesamiento de los Objetos_Datos (datos).
Visualizacion/Impresin de resultados.
Pseudocodigo
Es la parte textual del algoritmo,se podra decir que es como la receta para un paciente o tambin una
receta culinaria para cocinar un plato. Generalmente es la traduccin del Ingls de la sintaxis del compilador
al idioma con el que estamos trabajando.
Pgina 2 de 28
UNI FIM
BORLAND C++/VISUAL C++
DIAGRAMA DE FLUJO
Un diagrama de flujo es la representacin grfica de un algoritmo.
En cuanto a la simbologia utilizada para la representacin, se tomara la norma (ANSI ISO).
DIAGRAMA
DEFINICION
INICIO - FIN
ENTRADA DE DATOS
PROCESOS/CONSTANTES
BIFURCACIN(V/F)
PROCESOS(Desde/Para)
LLAMADA A (PROCEDIMIENTOS/FUNCIONES)
ESCRITURA
PANTALLA
CONECTOR
Pgina 3 de 28
UNI FIM
BORLAND C++/VISUAL C++
DIAGRAMA NASSI_SCHNEIDERMAN(N-S)
Tambien conocido como diagrama de CHAPIN es como un diagrama de flujo en el que se omiten las flechas
y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de
flujo se pueden escribir diferentes acciones en una caja y dependiendo de las acciones de control estas
cambian para su mejor interpretacin, tal como se vera en los ejercicios y aplicaciones.
Inicio
Accion 1
Accion 2
Accion 3
Fin
Codificacin y Programacin
Es el Proceso mediante el cual se traduce un algoritmo a una codificacin en un lenguaje de programacin
especifico.
Programa
Conjunto de instrucciones que se ha desarrollado con la finalidad de que sea ejecutado por el computador.
Objetos_Datos
Son Objetos_Datos de un programa, todos aquellos datos manipulados por las Instrucciones.
Mediante ellos, en un programa podremos realizar el almacenamiento de los datos y de los resultados de
las distintas operaciones que intervienen en la solucin del problema.
Se les da este nombre solo para efectos de entrada y salida de datos en la solucion de un problema.
IDENTIFICADORES
Los identificadores son palabras creadas por el programador para dar nombre a los objetos y dems
elementos que necesita declarar en un programa: variables, constantes, tipos, estructuras de datos,
archivos, procedimientos.
Deben empezar siempre con una letra, no deben existir espacios en el nombre, no empezar con un
numero.
Z; labora_1; practica1; aulamb514dh
VARIABLES :
Una variable es un ente (objeto_dato) que almacena una posicin de memoria cuyo valor puede cambiar
durante el desarrollo del algoritmo o ejecucin del programa.
Una variable se identifica por los siguientes atributos:
a) nombre que le identifica.
b) tipo que describe el universo en donde se desenvuelve la variable.
Los nombres de las variables, a veces conocidos como Identificadores, suelen constar de varios caracteres
alfanumricos de los cuales el primero debe necesariamente ser una letra.
Ejemp: int par;
float num_123 ;
par=2. unsignet sin_signo;
Pgina 4 de 28
UNI FIM
BORLAND C++/VISUAL C++
CONSTANTES: Son identificadores que generalmente son declarados en el programa antes de las
variables, estos identificadores por lo general asumen un valor dado por el programador, ste valor no
cambia durante el proceso del programa.
Se denomina tipo de datos a las caractersticas propias de un objeto_dato o entidad, por ejemplo la edad
o el domicilio de un registro, deben tener una caracterstica que la diferencie una de otra, la edad debe ser
entero y el domicilio cadena (tambin se conoce como alfanumrico), podemos decir entonces que existen,
en la mayora de los lenguaje de Programacin, los siguientes tipos de datos:
Numricos
Alfanumricos
Carcter
Lgicos (booleano) : cierto/falso
Este tipo de Dato no existe en C++/Borland C++, lo que existe es la representacin 0 para falso y 1 para
verdadero.
En Borland C++ es bueno sealar que el tipo de dato bool permite que una variable cualquiera se le
inicialice con los terminos de true (verdadero=1) y false (falso=0), esto se aprecia cuando forzamos la salida
de las variables, se notar que true equivale a 1 y que false equivale a 0.
Esto se nota en el siguiente programa, rseuelto con Borland C++ y Visual C++ pero como proyecto Win
Console:
#include<iostream.h>
#include<conio.h>
main( ){
bool t,f;
t= "True";
cout<<"El Valor verdadero de t es "<<t;
cout<<"\nEl valor falso de t equivale a "<<!t<<endl;
getch();
}
Dando como resultado:
el valor verdadero de t es 1
el valor falso de t quivale a 0
Otra manera es usando los Interruptores (switch=sw) que slo es usado cuando a la variable se le inicializa
a, 0 (falso) para luego cambiar a 1 (verdadero), con cualquiera de estos valores y dependiendo en la
ubicacion del programa se le cambia al valor opuesto
int sw=0; //se asume falso
int i,sp=0,simp=0,sw=0; //asume falso
........do{
for(i=1;i<=100;i++)
if(a<b)
if(i%2==0){
cout<<proceso1;
sp=sp+i;
proceso2;
sw=1; // asume verdadero
}
sw=1 // asume verdadero
else
else
simp=simp+i;
cout<<proceso3
cout<<"La suma de los primeros 100 pares es
while(sw!=1);// mientras no sea verdadero
"<<sp<<endl
................
<<"\nLa suma de los primeros 100 impares es
Ejemplo de aplicacin
"<<simp;
/*Programa que suma los pares y los impares de
getch();
100 numeros enteros positivos*/
}
#include<iostream.h>
/*Salida
#include<conio.h>
La suma de los primeros 100 pares es 2550
main(){
La suma de los primeros 100 impares es 2500 */
Pgina 5 de 28
UNI FIM
BORLAND C++/VISUAL C++
MEMORIA
VAR1=66
AUXVAR1*17
SUM0
ACUVAR1+5
SUMSUM+AUX+ACU
SUM0+(66+17)+(66+5)
Como puede apreciar los valores son almacenados en bloque, claro que esta explicacin es muy simplista,en
realidad cada valor es almacenado en caldas de memoria y tienen una direccion que determina que espacio
de memoria va a utilizar.
El espacio de memoria la determina el tipo de datos que es utilizado por la variable o identificador. Esto hace
que un lenguaje de programacin difiera de un programa de aplicacin.
Espero que con estas lineas se comprenda la razon por la cual es necesario que una variable tenga un tipo
de datos.
DIAG FLUJO
Leer R
Calculo del Area
S=pi*R*R
Calculo de la longitud
L=2*pi*R
INICIO
R
S=pi*R*R
Escribir S,L
Fin
L=2*pi*R
S, L
P2: Hallar la resultante de 02 Fuerzas que forman um ngulo
Objeto_dato de Entrada: F1,F1, theta
FIN
Pgina 6 de 28
UNI FIM
BORLAND C++/VISUAL C++
Escribir R
Fin
N-S
Leer F1,F2,Theta
K=pi/180
R=
Escribir R
INICIO
K=pi/180
F1,F2,
R=
FIN
Pgina 7 de 28
UNI FIM
BORLAND C++/VISUAL C++
P4. Desarrolle un algoritmo que permita simular el retiro de dinero de un cajero automatico.
El cajero solo emite billetes de las siguientes denominaciones: 200,100,50,20 y 10 .
Objeto_dato de Entrada: Q //Cantidad
Objeto_dato de Salida : b200, b100, b50, b20, b10 //denominacin de billetes
Pseudocodigo
Inicio
Leer Q
b200 =entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)
Escribir b200,b100,b50,b20,b10
Fin
N-S
Leer Q
b200=entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)
Escribir
b200,b100,b50,b20,b10
Fin
INICIO
b200 =entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)
b200,b100,b50
,b20,b10
FIN
Pseudocodigo
SI condicion es cierta, entonces
Proceso de Cierta
Fin de SI
DIAGRAMA
CONDICION
V
PROCESO
NASSI_SCHNEIDERMAN(N-S)
CONDICION
VERDAD (SI)
PROCESO 1
FIN
PROCESO 2
Pgina 8 de 28
UNI FIM
BORLAND C++/VISUAL C++
ESCRIBIR
FIN
b). Instruccin de Control de alternativa doble
Indica a la computadora que debera realizar la comparacin de 02 alternativas, si se cumple la alternativa
verdadera debera realizar el proceso para esta alternativa. En caso contrario debera realizar la alternativa
Falsa.
INICIO
Pseudocodigo
INICIO
Si (condicion )es Verdaddera entonces
Proceso_Verdadad
Sino
DATOS
Proceso_Falso
Fin del Si
NASSI SCHNEIDERMAN(N S)
F
V
CONDICION
CONDICION
PROCESO_F
FALSO
PROCESO_V
VERDAD
PROCESO_F
PROCESO_V
IMPRIMIR
ESCRIBIR
FIN
FIN
Men
FIN
Pgina 9 de 28
UNI FIM
BORLAND C++/VISUAL C++
FIN
1.3 Ingrese una edad y decir si es mayor de edad e imprimir la edad ingresada
Objeto_Dato de Entrada: Edad
Objeto_Dato de Salida :Men y edad
Pseudocodigo
INICIO
Inicio
Leer E
Si (E>=18) entonces
E
Men= Mayor de Edad
Fin del Si
Escribir
inicio
Men, E
Leer E
E>=18
Fin
Si(E>=18)
Mayor de Edad
VERDAD (SI)
Men= Mayor de Edad
ESCRIBIR
Men,E
FIN
Men, E
Fin
Pgina 10 de 28
UNI FIM
BORLAND C++/VISUAL C++
Men= A no es
divisible por B
Mensaje
FIN
1.5 Se tienen cuatro mensajes para las notas obtenidas en un curso de Actualizacion; cuando la nota
obtenida es igual o mayor a 17 debe decir Sobre Saliente; si la nota es igual o mayor a 15
Notable;igual o mayor a 13 Aprobado; Asistente para el resto.
Haga el Algoritmo
Objeto_Dato de entrada:Nota
INICIO
Objeto_Dato de Salida :Mensaje
Pseudocodigo
Inicio
N
Leer Nota (N)
Si N>=17 entonces
F
Men=Sobre Saliente
N>=17
Si no
V
Si N>=15 entonces
SOBRE
N>=15
Men= NOTABLE
F
SALIENTE
Sino
Si N>=13 entonces
V
Men= Aprobado
Sino
Pgina 11 de 28
Notable
UNI FIM
BORLAND C++/VISUAL C++
Men= Asistente
Fin del Si
Fin del Si
Fin del Si
Escribir Men
Fin
V
N>=13
F
Aprobado
Asistente
Men
Fin
N-S
INICIO
LEER NOTA N
SI N>=17
NO
SI
N>=15
NO
SI
NO N>=13
ASISTE
SI
SOBRESALIENTE
NOTABLE
APROB
ESCRIBIR MEN
FIN
Pgina 12 de 28
UNI FIM
BORLAND C++/VISUAL C++
Pgina 13 de 28
UNI FIM
BORLAND C++/VISUAL C++
INICIO
Pseudocodigo
Condicion o var_Selectora
En Caso que (Var_Selctora) sea
Caso 1 proceso_1
Caso 2 proceso_2
Caso 3 proceso_3
.
Caso N proceso_N
Caso X proceso_Desconocido
Fin del Caso
Leer
Dato
Condicion
Var_alterna1
Proceso1
Var_alterna2
Proceso2
Var_alterna3
Proceso3
Var_alternaN
ProcesoN
Var_alternaX
Proceso_Desco
IMPRIMIR
FIN
DIAGRAMA N - S
1
CONDICIONANTE O
VAR_SELECTORA
2
3
Proceso_1 Proceso_2
Proceso_3
X
....
N
Proce_N
Proc_Desc
Pgina 14 de 28
UNI FIM
BORLAND C++/VISUAL C++
Aplicacin:
: suma
: diferencia
: producto
: divisin entera
: residuo
: potencia
Mas
Menos
Por
Entre
Residuo
Potencia
=+
=-
=*
=?
=
= ~
solucion:
Definir objetos_datos
Objeto_dato de entrada:
operador,Ope1,Ope2.
Objeto_dato de salida : Resultado.
Pseudocodigo:
Entonces
Resultado =Residuo(Ope1/Ope2)
si no
Resultado =0
Fin del SI
~
:Resultado=Ope1 elevado al Ope2
Otro Caso :Rsultado : No existe Operacin
Fin del Caso
Imprimir respuesta
fin
N-S
INICIO
Establecer Operandos op1,op2
Mas +; Menos -; Por *; Entre ?; Residuo ; Potencia ~
+
op1+op2
*
op1-op2
op1*op2
?
op2<>0
no
si
error
no op2<>0si
Pgina 15 de 28
UNI FIM
BORLAND C++/VISUAL C++
INICIO
Inicializar constantes
Mas
=+
Menos
=-
Por
=*
Entre
=?
Residuo
=
Potencia =~
IMPRIMIR
RESULTADO
FIN
DIGITAR EL OPERADOR A
USAR
INGRESE :
OPERANDO1
OPERANDO2
OPERADO
R
No
RESULTADO =
Operando2
Diferente de
Si
Resultado= Ope1 ? Ope2
RESULTADO=RESIDUO(OPER1/OPER2)
RESULTADO=(OPE1)~(OPE2)
Son aquellas Instrucciones que permiten que ciertas aplicaciones en las cuales una opercion o conjunto de
ellas deben repetirse muchas veces, por consiguiente se puede afirmar que un programa que lee una lista
Pgina 16 de 28
UNI FIM
BORLAND C++/VISUAL C++
de numeros puede repetir la misma secuencia de mensajes al usuario e instrucciones de lectura, hasta que
todos los numeros del rango establecido sean leidas.
Para efectos del C++/Borland C++ se van a tomar en cuenta slo las tres mas usadas:
mientras ->(While )
Hacer proceso Mientras (Condicion)-> (Do while)
Desde/Para-> (For)
Para otros lenguajes de programacion son en alguno casos combinaciones de ellas o en su defecto usan
otra nomenclatura como por ejemplo para Pascal es comun usar la instruccin (repeat until) repetir
hasta que, mientras que en Visual Basic es comun usar (do until) hacer hasta que ,estas son las mas
representativas de estos lenguajes de programacion.
NO
Diagrama Nassi_Schneiderman
IMPRIMIR
ACCIONES
FIN
Accion1
Accion2
Accion3
INICIO
1
1
1
1
1
A A B A 2 B A 3B
A N *B
A,B,N
solucion:
definir objetos_datos E/S
objeto_dato de entrada: A,B,N.
Objeto_dato de salida : SUMA DE N.
Pseudocodigo:
Inicio
Leer A,B,N.
Definir C=1 //contador
Suma=0.
Mientras(C=N) hacer
SUMA=0 ; C=1
Pgina 17 de 28
UNI FIM
BORLAND C++/VISUAL C++
1
AB=(A+c*B).
Inverso=1/AB.
Suma=Suma+Inverso.
C++.
Fin del mientras
Escribir: Suma=Suma+1/A.
Fin
C<N
SUMA=SUMA+1/A
AB=(A+C*B)
INVERSO=1/AB
SUMA=SUMA+INVERS
O
IMPRIMIR
SUMA
C++
FIN
2. En la siguiente serie se pide hallar la suma de los elementos que ocupan las posiciones pares,y la
suma total de elementos, sabiendo que el # de termninos es igual a 50.
Su 2
4 6 8
...
3 5 7
Solucion:
Objetos_Datos de Entrada: N
Objetos_Datos de Salida:
suma de posiciones pares: sp
suma total de elementos: su
Pseudocodigo
Inicio
Leer N
Establecer variables
i=1; par=0;Su=0;
mientras(i<=N)
si(resto (i/2=0)entonces
sp=2*i/(2*i-1)
fin del si
su=2*i/(2*i-1)
i=i+1
fin del mientras
escribir su, sp
INICIO
N
i=1,su=0,sp=0
F
i<-N
V
Resto(i/2)
=0
sp,su
sp=2*i/(2*i-1)
FIN
sp=2*i/(2*i-1)
i=i+1
Pgina 18 de 28
UNI FIM
BORLAND C++/VISUAL C++
Pseudocodigo
Hacer (procesos)
mientras (condicin ) sea verdadera
fin del hacer .
PROCESO1
PROCESO2
DIAGRAMA (N-S)
PROCESO1
PROCESO2
F
Condicion
MIENTRAS
CONDICION
ESCRIBIR
FIN
Problema de Aplicacin
Se ingresa un Numero de varias cifras,
y luego invertis sus cifras.
Por ejemplo 1234 invertido 4321
Objetos_datos de entrada y Salida
Objeto_Dato de Entrada: Numero
Objeto_Dato de Salida:Salida numero invertido.
INICIO
LEER
N
Inverso=0
Leer
numero
Pseudocodigo
Inicio
Leer numero
Inicializar variable : inverso 0
Hacer
Digito resto(M/10)
Inverso inverso*10+digito.
M=numero/10
Mientras(numero>0)
Escribir inverso
Fin
Inverso 0
M=numero
Digitoresto(M/10)
Inversoinverso*10
+digitoM=numero
M=numero/10
V
F
Numero>
0
Inverso
FIN
Esta instruccin hacer procesos mientras (condicion) sea verdadera, es utilizada para consistenciar y
controlar la repeticion de un propgrama sin necesidad de salir, dandole al usuario el control del mismo. Vea
el siguiente ejemplo:
Se desea hallar la suma de los primeros N terminos de la siguiente serie:
Pgina 19 de 28
UNI FIM
BORLAND C++/VISUAL C++
1
2
3
4
...
t 1
2t 3
3t 5
4t 7
Pgina 20 de 28
UNI FIM
BORLAND C++/VISUAL C++
mayoria de los lenguajes de programacin; sin embargo para el lenguaje C, C++ o Borland C++,
existe lo que se conoce como el incremento o decremento (se suma o se reta el contaje).
Para otros lenguajes es tal vez mas facil iniciar con el Valor Maximo para luego ir disminuyendo en unida en
unidad.
Diagrama de Flujo (for )
Pseudocodigo
INICIO
Para Vcont=
Valor_inic, Valor_fin
HACER
Diagrama N-S
ProcesoA
ProcesoB
PROCESO
IMPRIMIR
Fin desde/para
FIN
Aplicacin
Se va a Ingresar un Numero y la tarea consiste
en mostrar todos los divisores de ese numero ingresado.
Cuando el numero Ingresado tiene por divisores
a la unidad(1) o al mismo numero mostrara un
mensaje diciendo El Numero es Primo
SOLUCION
Objetos_Datos de ENTRADA Y SALIDA
Objejo_Datos de Entrada: el Numero entero(NumeEnte)
Objeto_Dato de Salida : numero de divisores(NumeDivi),
mensaje
PSEUDOCODIGO
Inicio
Leer un Numero entero: NumeEnte
Definir la variable Contador de Divisores e Inicializarla 0
NumeDivi=0
Contabilizar los divisores y mostrarlos
INICIO
DANIEL. OSORIO MALDONADO
Pgina 21 de 28
UNI FIM
BORLAND C++/VISUAL C++
LEER NumeEnte
Escribir mensaje
ContDivi=0
SI ContDiv=2,ENTONCES
SINO
MENSAJE No es Primo
Fin del Si
Fin
si
Resto(Num
eEnte/Divis
no
1
No
Escribir Divisor
ContDivi=ContDivi+1
si
ContDivi=
2
No es Primo
Numero Primo
MENSAJ
DIVISOR
E
FIN
TEMA:
Smbolos
Estn clasificados en:
letras : A..Z, a..z (no incluye la y )
dgitos : 0 1 2 3 4 5 6 7 8 9
Pgina 22 de 28
UNI FIM
BORLAND C++/VISUAL C++
smbolos especiales
se tienen los siguientes:
simples :
SIMPLES
+
;
*
:
&
<=
?:
->
<
{
>
}
<<
!=
>>=
//
sizeof
DOBLES
== !! |=
>=
>>
&&
( ) [ ] += -=
<<=
/*
*/
Identificadores
Es el nombre mediante el cual se define una variable, constante, tipo, funcin, estructura, unin, clase,
objeto, etc.
Los identificadores declarados en Boland C++ tienen las siguientes caractersticas.
Pueden estar conformados por 127 caracteres como mximo.
Ejemplos :
Suma = ( 4 caracteres )
Contador = ( 8 caracteres )
Se hace distincin entre maysculas, minsculas.
Ejemplo :
SUMA =25, suma=25; en ambos el identificador para el compilador es diferente
Tienen que ser distintas de las palabras reservadas.
Ejemplos :
continue, incluye,if , while, bool, for , etc
El primer carcter debe ser letra subrayado
Ejemplo :
Suma =
Correcto
1 Suma= Incorrecto el 1er carcter debe ser letra */
Suma1=
Correcto
Suma 2m= no debe haber espacios entre el nombre//incorrecto
Suma_2m= correcto
Suma+si= incorrecto, no debe haber operacin entre su nombre
S9_suma= correcto
S9+suma=incorrecto
Pgina 23 de 28
UNI FIM
BORLAND C++/VISUAL C++
Palabras reservadas
Son identificadores que tienen un significado especial establecido por el lenguaje de programacin.
Siempre deben escribir en minsculas.
Se lista a continuacin las palabras reservadas definidas por el compilador Borland C++
asm
char
do
far
inline
new
public
struct
volatile
auto
class
double
float
int
operator
register
union
while
break
const
else
for
interrup
pascal
signed
unsigned
time
case
default
enum
friend
long
private
sizeof
virtual
rand
continue
delete
extern
if
near
protected
static
void
random()
Comentarios
//.
13*A+(11+B/46)
( x +41) /37
( )
+
<<
!=
* =
& =
.
>>
/ =
->
<
|
% =
| =
++
!
>
&&
+ =
,
-sizeof
< =
!!
- =
#
&
/
>
? :
<< =
##
Pgina 24 de 28
UNI FIM
BORLAND C++/VISUAL C++
Prioridad de Operadores
En C++ la tabla de Prioridad de los Operadores esta dividida en 16 categoras.
La categora #1 tiene la ms alta Prioridad.
La categora #2 ( los Operadores Unarios ) toman la segunda Prioridad, hasta el Operador coma (,) que
tiene igual Prioridad
Para el caso de los operadores unarios ( la categora #2 ), condicional ( la categora #14 ) y la de asignacin
( la categora #15)
La agrupacin de estos operadores se ejecutan de Derecha a Izquierda todo, otra asociacin de los
operadores de Izquierda a Derecha.
Teniendo presente la prioridad de los operadores podemos deducir que resultado se obtendr al momento
que le programa ejecute una determinada sentencia, compuesta por expresiones que enlazan mediante los
operadores a las variables y datos del programa, predeterminando de esta forma que operador se desarrolla
primero.
Categora #1
1. Ms alta
2. Unaria
3. Miembros de acceso
4. Multiplicativos
5. Aditivo
6. Desplazo
7. Relacional
Operador
()
[]
->
::
.
!
+
++
-&
*
sizeof
new
delete
. *
*
*
/
%
+
<<
>>
<
<=
>
>=
Pgina 25 de 28
UNI FIM
BORLAND C++/VISUAL C++
Categora #2
8. Igualdad
9.
10.
11.
12.
13.
14. Operador Ternario
15. Asignacin
Operador
==
!=
&
^
|
&&
||
?:
=
*=
/=
%=
+=
-=
&=
^=
|=
<< =
>> =
16. La coma
Evaluacin
Todos los operadores de esta tabla pueden ser modificados para un nuevo tipo de datos (operadores
sobrecargados).
Salvo los siguientes:
-. C++ selector de componente directo
.* C++ referencia a un campo
:: C++ acceso / resolucin del alcance
? : Condicional
Pgina 26 de 28
UNI FIM
BORLAND C++/VISUAL C++
Herramientas a usar
a). srand((unsigned)time (NULL)); al inicio y antes de utilzar las funciones que genere los valores
pseudoaleatorios, esta funcin genera valores frescos cada vez que es invocado.
b). rand()%N; genera valores pseudoaleatorios desde 0 hasta( N-1)
Pgina 27 de 28
UNI FIM
BORLAND C++/VISUAL C++
#include<iostream.>
#include<time.h>
#include<stdlib.h> // obligado
Using namespace std;
void main(){
srand((unsigned)time (NULL));
int m;
m=rand()%33 //genera valores desde 0 hasta 32
..
}
Ejemplo
//Simule el lanzamiento de un dado y adivine el valor de la cara en una tirada
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>//librera para los nmeros //pseudoaleatorios
Void main(){ randomize();
int cara=rand()%7;
if (cara==0)
int cara=rand()%7;
cout<< "El Valor de una tirada es " <<cara;
system(pause);
}
Salida
El Valor de una tirada es 5
Pgina 28 de 28