Vous êtes sur la page 1sur 26

ESTRUCTURAS CONDI CI ONALES :

IF y SWITCH
Universidad Nacional del Callao
Ingeniera Mecanica Energia
Prof.: JOSE LUIS YUPANQUI PEREZ
Correo: jlyupi@yahoo.es
OPERADORES Y EXPRESIONES
Los programas C++ constan de instrucciones o expresiones.
Una expresin es una ecuacin matemtica, tal como 3+5. En esta expresin,
el smbolo ms (+) es el operador de suma, y los nmeros 3 y 5 se llaman
operandos.
En sntesis, una expresin es una secuencia de operaciones y operandos que
especifica un clculo.
Cuando se utiliza el + entre nmeros (o variables) se denomina operador
binario, debido a que el operador + suma dos nmeros. Otro tipo de
operador de C++ es el operador unitario (<<unario>>), que acta sobre
un nico valor. Si la variable x con-tiene el valor 5, -x es el valor -5. El
signo menos (-) es el operador unitario menos.

OPERADOR DE ASI GNACI N
El operador = asigna el valor de la expresin derecha a la variable situada a
su izquierda.
codigo = 3467 fahrenheit = 123.456; coordX = 525;
2
Operadores de asignacin de C++
3
Equivalencia de operadores de asignacin
OPERADORES ARITMETICOS
4
OPERADORES DE INCREMENTACIN Y
DECREMENTACiN

De las muchas caractersticas de C++ heredadas de C, una de las ms tiles
son los operadores de incremento ++ y decremento --.
Los operadores ++ y --, denominados de incrementacin y decrementacin,
suman o restan 1 a su argumento, respectivamente, cada vez que se
aplican a una variable.

Incrementacion Decrementacion
++ n --n
N + = 1 N - = 1
N = n + 1 n = n - 1

Ejemplo:
a++ es igual que a+1

5
Ejemplo:
int a = 1, b;
b = a++; //b vale 1 y a vale 2

int a = l, b;
b = ++a; //b vale 2 y a vale 2

Si los operadores ++ y estan de prefijos; la operacin de incremento se
efecta antes que la operacin de asignacin, si los operadores ++ y
estn de sufijos, la asignacin se efecta en primer lugar y la
incrementacion o decrementacion a continuacin.

Ejemplo: int i = 10:
int j;

J = i++;
La variable j vale 10, ya que cuando aparece ++ despus del
operando (la variable i) el valor que se asigna a j es el valor de i
(10) Y luego posteriormente se incrementa a i, que toma el valor
1 1.



6
Demostracin del funcionamiento de los
operadores de incremento/decremento.
{
int m = 45, n = 75;
cout " m = " m endl;
cout " n = " n endl;
++m;
--n ;
cout " m = " m " n = " n endl;
m++;
n--;
cout "m=" m " , n= " n endl;
}

Ejecucion:

7
m = 45, n = 75
m = 46, n = 74
m = 46, n = 73
{
int m = 99, n;
n = ++m;
cout << m = << m << , n = << n << endl;
n = m++;
cout << m = << m << , n = << n << endl;
cout << m = << m << endl;
cout << m = << ++m << endl ;
return 0 ;
}

8
m = 100, n = 100
m = 101, n = 100
m = 101
m = 102
m = 103
Operadores relacionales
Operador Ejemplo
Igual a a = = b
No igual a a ! = b
Mayor que a > b
Menor que a < b
Mayor o igual que a >= b
Menor o igual que a < = b



Operador operador lgico ejemplo
Negacin ( ! ) No lgica ! (x >= y)
Y (&&) operando_1 && operando_2 m < n && i > j
O | | operando_1 | | operando_2 m = 5 | | n != 10
9
OPERADORES LOGICOS
10
INCREMENTO Y DECREMENTO
reincremento (++k) : primero se utilizar el
valor de k y luego de eso se incrementara en 1.

posincremento (k++) : Primero incrementa y
despus se utiliza

predecremento (--k) : primero se utilizar el
valor de k y luego de eso se decrementar en 1.

posdecremento (k--) : Primero se decrementa y
despues se utiliza
11
ESTRUCTURA CONDICIONAL - IF
if ( a > b) dentro del parentesis debe colocarse la
condicin, que debe ser del tipo lgica. Se
pueden usar ">=" (mayor igual) "<=" (menor
igual) "!=" (distinto) "==" (igual, notese que son
dos iguales, para que no se confunda con la
asignacin, que es slo un igual a=2)

Inmediatamente despues del if, le sigue la
instruccin que debe ejecutarse en caso de que
la condicin se cumpla, si hay mas de una
condicin se pueden utilizar llaves como en el
ejemplo, dnde todo lo que quede entre { } se
ejecutur slo si la condicin del if es verdadera,
sino es as simplemente se ignorar y continuara
la ejecucin de las otras instrucciones.
12
Variables
Unidad bsica de almacenamiento, la creacin
es la combinacin de un identificador, un tipo
y un mbito. Todas las variables en Visual C++
tienen que ser declaradas antes de ser
usadas. El lugar donde se declaran las
variables puede ser dentro o en la definicin
de una funcin, fuera de todas las funciones.
13
VARIABLES
El nombre de las variables conocido como
identificadores debe cumplir las siguientes
normas. La longitud puede ir de un carcter a 31.
El primero de ellos debe ser siempre una letra. No
puede contener espacios en blanco, ni acentos y
caracteres gramaticales. Hay que tener en cuenta
que el compilador distingue entre maysculas y
minsculas. SINTAXIS:
tipo nombre=valor_numerico;
tipo nombre=letra;
tipo nombre[tamao]=cadena de letras,
tipo nombre=valor_entero
tipo nombre=valor_decimal;
14
CONVERSION (casting):
Las conversiones automticas pueden ser
controladas por el programador. Bastar con
anteponer y encerrar entre parentesis, el tipo al
que se desea convertir. Este tipo de
conversiones solo es temporal y la variable a
convertir mantiene su valor.
SINTAXIS:
variable_destino=(tipo)variable_a_convertir;

variable_destino=(tipo) (variable1+variable2+variableN);
15
EJEMPLO: convertimos 2 variables float para
guardar la suma en un entero.

{
float num1=25.75, num2=10.15, total1;
int total2;
cout << "Primer numero = "<<num1 <<endl;
cout << "Segundo numero = "<<num2 <<endl;
total1=num1+num2;
cout << "resultado de Suma= "<<total1 <<endl;

CONVERSION
total2=(int)num1+(int)num2; // total=(int)(num1+num2);
cout << "resultado de Suma (parte entera) = "<<total2 <<endl;
}
16
LAS CONSTANTES:
Se refieren a los valores fijos que no pueden ser
modificados por el programa. Pueden ser de
cualquier tipo de datos bsicos. Las constantes
de carcter van encerradas en comillas simples.
Las constantes enteras se especifican con
nmeros sin parte decimal y las de coma flotante
con su parte entera separada por un punto de su
parte decimal.
SINTAXIS:
const tipo nombre=valor_entero;
const tipo nombre=valor_entero.valor_decimal;
const tipo nombre=carcter;
17
La directiva #define es un identificador y una
secuencia de caracteres que sustituir se
sustituir cada vez que se encuentre ste en el
archivo fuente. Tambin pueden ser utilizados
para definir valores numricos constantes.
SINTAXIS:
#define IDENTIFICADOR valor_numerico

EJ EMPLO:
#define EURO 166.386
#define TEXTO "Esto es una prueba"
const int peseta=1;
cout <<"El valor del Euro es = "<<EURO;
cout <<"\nEl valor de la Peseta es = " <<peseta;
cout <<"\n Muestra el texto asignado= " <<TEXTO <<endl;

18
ESTRUCTURA CONDICIONAL SIMPLE

If ( condicin )
{
Instruccin_1;
Instruccin_2;
.
Instruccin_P;
}
instruccin_R;
instruccin_S;

Las Instrucciones de la 1,2,P se ejecutan solamente cuando
la respuesta de la condicion es verdadera. Y continua con
las instrucciones R, S ..
Si la Condicin su respuesta es FALSA, no se ejecutan las
instrucciones_1,2,P, solamente se ejecutan las
instrucciones R, S . Porque estan fuera del bloque.
Se ejecutan las Instrucciones
solamente cuando la condicin es
verdadera
19
ESTRUCTURA CONDICIONAL DOBLE

If ( condicin )
{ Instruccin_1;
Instruccin_2;
.
Instruccin_P;
}
Else
{ Instruccin_Q;
Instruccin_R;
.
Instruccin_X;
}
instruccin_Y;
instruccin_Z;
Se ejecutan las Instrucciones
solamente cuando la condicin su
respuesta es verdadera.
Se ejecutan las Instrucciones
solamente cuando la condicin su
respuesta es Falsa
20
Ejemplo: Realizar un programa que pida una edad. Si la edad es
igual o menor a 10 poner el mensaje MENOR DE EDAD, si la
edad es mayor a 65 poner el mensaje JUBILADO, y si la edad es
mayor a 10 y menor o igual 65 poner el mensaje ADULTO.
SOLUCION:
int xedad;
cout <<"Ingrese una Edad = "; cin >> xedad;
if (xedad<= 10)
cout << "MENOR DE EDAD ";
else
if (xedad>10 && xedad<=65)
cout << "ADULTO";
else
cout <<"JUBILADO";
cout << endl;
21
ESTRUCTURA CONDICIONAL MULTIPLE - switch
Realiza distintas operaciones en base al valor de
una nica variable o expresin. Es una sentencia
muy similar a if-else, pero esta es mucho ms
cmoda y fcil de comprender. Si los valores con
los que se compara son nmeros se pone
directamente el pero si es un carcter se debe
encerrar entre comillas simples. Sintaxis:
22
SINTAXIS
Switch (expresin)
{
case valor1: sentencia1; break;
case valor2: sentencia2; break;
case valor3: sentencia3; break;
. . . . .
case valorN: sentenciaN; break;
default:
accion x;
}

El valor de la expresin se compara con cada uno de los literales
de la sentencia case si coincide alguno se ejecuta el cdigo que le
sigue, si ninguno coincide se realiza la sentencia default
(opcional), si no hay sentencia default no se ejecuta nada.
La sentencia break realiza la salida de un bloque de cdigo. En el
caso de sentencia switch realiza el cdigo y cuando ejecuta break
sale de este bloque y sigue con la ejecucin del programa. En el
caso que varias sentencias case realicen la misma ejecucin se
pueden agrupar, utilizando una sola sentencia break.
23
switch (expresin)
{
case valor1: case valor2: case valor5:
sentencia_P;
break;
case valor3: case valor4 : sentencia_Q;
break;
}
24
EJ EMPLO: Programa que ingresa 2 numero y elije la operacin
(+ , - , * , / ) a realizar. Obtener el resultado de la operacion indicada
{
int xn1, xn2, xr=0; char xop;
cout << "INGRESE PRIMER NUMERO = "; cin >> xn1;
cout << "INGRESE SEGUNDO NUMERO = "; cin >> xn2;
cout << "Ingrese Operacion (+, -, * , / ) = "; cin >> xop;
if (xop=='+')
xr = xn1 + xn2;
else
if (xop=='-')
xr = xn1 - xn2;
else
if (xop=='*')
xr = xn1 * xn2;
else
if (xop=='/')
xr = xn1 / xn2;
else
cout << "OPERACION SELECCIONADA INVALIDA *** ";
cout << "\nResultado de Operacion = " << xr << endl;
25
EJ EMPLO: Programa que ingresa 2 numero y elije la operacin
(+ , - , * , / ) a realizar. Obtener el resultado de la operacion indicada
{
int xn1, xn2, xr=0; char xop;
cout << "INGRESE PRIMER NUMERO = "; cin >> xn1;
cout << "INGRESE SEGUNDO NUMERO = "; cin >> xn2;
cout << "Ingrese Operacion (+, -, * , / ) = "; cin >> xop;

/* FORMA DE SOLUCIONAR EL PROBLEMA USANDO SWITCH */

switch(xop)
{
case '+': xr = xn1 + xn2; break;
case '-': xr = xn1 - xn2; break;
case '*': xr = xn1 * xn2; break;
case '/': xr = xn1 / xn2; break;
default:
cout << "OPERACION SELECCIONADA INVALIDA ";
}
cout << "\n\nResultado de Operacion con SWITCH = " << xr << endl;
}
26
EJEMPLO: Ingrese un numero de mesa. Que muestre la
informacin del representante de cada mesa, donde: 1 para
Jess, 2 para Milagros y 3 para JUAN.
{
int nummesa;
cout << "Ingrese numero de mesa = "; cin >> nummesa;
switch(nummesa)
{
case 1:
cout << "La mesa que usted eligio es la numero UNO: " << endl;
cout << "donde el representante es JESUS * " <<endl;
break;
case 2:
cout << "La mesa que usted eligio es la numero DOS: " << endl;
cout << "donde la representante es MILAGROS * " <<endl;
break;
case 3:
cout << "La mesa que usted eligio es la numero TRES: " << endl;
cout << "donde el representante es JUAN * " <<endl;
break;
default:
cout << "Esa mesa no existe" << endl;
break;
}
}

Vous aimerez peut-être aussi