View
228
Download
0
Category
Preview:
Citation preview
7/22/2019 Estructura Selectiva y Switch (1)
1/26
ESTRUCTURAS CONDICIONALES :
IF y SWIT H
Universidad Nacional del Callao
Ingeniera MecanicaEnergia
Prof.: JOSE LUIS YUPANQUI PEREZ
Correo: jlyupi@yahoo.es
7/22/2019 Estructura Selectiva y Switch (1)
2/26
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 (), 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 ASIGNACIN
El operador = asigna el valor de la expresin derecha a la variable situada a
su izquierda.
codigo = 3467 fahrenheit = 123.456; coordX = 525;
2
7/22/2019 Estructura Selectiva y Switch (1)
3/26
Operadores de asignacin de C++
3
Equivalencia de operadores de asignacin
7/22/2019 Estructura Selectiva y Switch (1)
4/26
OPERADORES ARITMETICOS
4
7/22/2019 Estructura Selectiva y Switch (1)
5/26
OPERADORES DE INCREMENTACIN YDECREMENTACiN
De las muchas caractersticas de C++ heredadas de C, una de las ms tilesson 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
7/22/2019 Estructura Selectiva y Switch (1)
6/26
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 ++ yestan 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
7/22/2019 Estructura Selectiva y Switch (1)
7/26
Demostracin del funcionamiento de losoperadores 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 = 75m = 46, n = 74
m = 46, n = 73
7/22/2019 Estructura Selectiva y Switch (1)
8/26
{
int m = 99, n;
n = ++m;
cout
7/22/2019 Estructura Selectiva y Switch (1)
9/26
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
7/22/2019 Estructura Selectiva y Switch (1)
10/2610
IN REMENTO Y DE REMENTO
reincremento (++k): primero se u ti lizar elvalor de k y luego de eso se incrementara en 1.
posinc remento (k++): Primero incrementa ydespus se u ti l iza
predecremento (--k): primero se u ti lizar el
valo r de k y luego de eso se decrementar en 1.
posdecremento (k --) : Pr imero se decrementa y
despues se ut i l iza
7/22/2019 Estructura Selectiva y Switch (1)
11/2611
ESTRUCTURA CONDICIONAL - IF
i f ( a > b)dentro del parentesis debe colocarse lacondicin, que debe ser del tipo lgica. Sepueden usar ">=" (mayor igual) "
7/22/2019 Estructura Selectiva y Switch (1)
12/2612
Variables
Unidad bsica de almacenamiento, la creacines 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.
7/22/2019 Estructura Selectiva y Switch (1)
13/2613
VARIABLES
El nombre de las variables conocido comoident i f icadores 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 ycaracteres 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;
7/22/2019 Estructura Selectiva y Switch (1)
14/2614
CONVERSION (casting):
Las conversiones automticas pueden sercontroladas 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);
7/22/2019 Estructura Selectiva y Switch (1)
15/2615
EJEMPLO: convertimos 2 variables float para
guardar la suma en un entero.
{float num1=25.75, num2=10.15, total1;
int total2;
cout
7/22/2019 Estructura Selectiva y Switch (1)
16/2616
LAS CONSTANTES:
Se refieren a los valores fijos que no pueden sermodificados por el programa. Pueden ser decualquier tipo de datos bsicos. Las constantesde carcter van encerradas en comillas simples.Las constantes enteras se especifican con
nmeros sin parte decimal y las de coma flotantecon su parte entera separada por un punto de suparte decimal.
SINTAXIS:
const tipo nombre=valor_entero; const tipo nombre=valor_entero.valor_decimal;
const tipo nombre=carcter;
7/22/2019 Estructura Selectiva y Switch (1)
17/26
17
La directiva #define es un identificador y unasecuencia de caracteres que sustituir sesustituir cada vez que se encuentre ste en elarchivo fuente. Tambin pueden ser utilizadospara definir valores numricos constantes.
SINTAXIS:#define IDENTIFICADOR valor_numerico
EJEMPLO:
#define EURO 166.386
#define TEXTO "Esto es una prueba"
const int peseta=1;
cout
7/22/2019 Estructura Selectiva y Switch (1)
18/26
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 cuandola respuesta de la condicion es verdadera. Y continua conlas instrucciones R, S ..
Si la Condicin su respuesta es FALSA, no se ejecutan lasinstrucciones_1,2,P, solamente se ejecutan lasinstrucciones R, S . Porque estan fuera del bloque.
Se ejecutan las Instruccionessolamente cuando la condicin esverdadera
7/22/2019 Estructura Selectiva y Switch (1)
19/26
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
7/22/2019 Estructura Selectiva y Switch (1)
20/26
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 xedad;
if (xedad
7/22/2019 Estructura Selectiva y Switch (1)
21/26
21
ESTRUCTURA CONDICIONAL MULTIPLE - switch
Realiza distintas operaciones en base al valor deuna 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 ponedirectamente el pero si es un carcter se debe
encerrar entre comillas simples. Sintaxis:
7/22/2019 Estructura Selectiva y Switch (1)
22/26
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 literalesde 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 elcaso de sentencia switch realiza el cdigo y cuando ejecuta breaksale de este bloque y sigue con la ejecucin del programa. En elcaso que varias sentencias case realicen la misma ejecucin sepueden agrupar, utilizando una sola sentencia break.
7/22/2019 Estructura Selectiva y Switch (1)
23/26
23
switch (expresin)
{
case valor1: case valor2: case valor5:
sentencia_P;break;
case valor3: case valor4 : sentencia_Q;
break;
}
7/22/2019 Estructura Selectiva y Switch (1)
24/26
24
EJEMPLO: 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 > xn1;
cout > xn2;
cout > 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
7/22/2019 Estructura Selectiva y Switch (1)
25/26
25
EJEMPLO: 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 > xn1;
cout > xn2;
cout > 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
7/22/2019 Estructura Selectiva y Switch (1)
26/26
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 > nummesa;
switch(nummesa)
{
case 1:
cout
Recommended