Tema 3 Anexo - Facultad de Informática

Anuncio
Fundamentos de la programación 3A
GradoenIngenieríaInformática
GradoenIngenieríadelSoftware
GradoenIngenieríadeComputadores
LuisHernándezYáñez
FacultaddeInformática
UniversidadComplutense
Luis Hernández Yáñez
Expresióncondicional
Condición
Exp1
?
Dosalternativas
— Condición:Expresiónlógica
— Exp1 yExp2:Expresiones
SiCondición seevalúaatrue,
elresultadoesExp1;
siCondición seevalúaafalse,
elresultadoesExp2.
+ ‐
int a = 5, b = 3, c;
< <= > >=
c = (a + b == 10) ? 2 : 3;
== !=
c = ( 8
||
== 10) ? 2 : 3;
c = false
? 2 : 3;
:
Exp2
Operadores (prioridad)
++ ‐‐ (postfijos)
Llamadasafunciones
Moldes
++ ‐‐ (prefijos) !
‐ (cambiodesigno)
* / %
&&
?:
= += ‐= *= /= %=
c = 3;
Fundamentos de la programación: Tipos e instrucciones II (Anexo I)
Página 399
Equivalenciaconunif‐else
c = (a + b == 10) ? 2 : 3;
Esequivalentea:
if (a + b == 10) c = 2;
else c = 3;
Sepuedenconcatenar:
cout << (nota == 10 ? "MH" : (nota >= 9 ? "SB" : (nota >= 7 ? "NT" : (nota >= 5 ? "AP" : "SS"))))
Luis Hernández Yáñez
Estoesequivalentealaescalaif‐else‐if delasiguientesección.
Fundamentos de la programación: Tipos e instrucciones II (Anexo I)
Página 400
Escalaif ...else if ...equivalente
cout << (nota == 10 ? "MH" : (nota >= 9 ? "SB" : (nota >= 7 ? "NT" : (nota >= 5 ? "AP" : "SS"))))
Luis Hernández Yáñez
Sinota == 10 entoncesMH
sino,sinota >= 9 entoncesSB
sino,sinota >= 7 entoncesNT
sino,sinota >= 5 entoncesAP
sinoSS
double nota;
cin >> nota;
if (nota == 10) { cout << "MH"; }
else if (nota >= 9) { cout << "SB"; }
else if (nota >= 7) { cout << "NT"; }
else if (nota >= 5) { cout << "AP"; }
else { cout << "SS"; }
true
"MH"
== 10
false
true
"SB"
>= 9
false
true
"NT"
>= 7
false
true
>= 5
"AP"
false
Fundamentos de la programación: Tipos e instrucciones II (Anexo I)
"SS"
Página 401
Descargar