Actualizado el 15 de Junio del 2021 (Publicado el 6 de Diciembre del 2018)
1.067 visualizaciones desde el 6 de Diciembre del 2018
269,0 KB
2 paginas
Creado hace 11a (03/09/2013)
Fundamentos de la programación
3A
Grado en Ingeniería Informática
Grado en Ingeniería del Software
Grado en Ingeniería de Computadores
Facultad de Informática
Luis Hernández Yáñez
Universidad Complutense
Condición
Expresión condicional
Dos alternativas
— Condición: Expresión lógica
— Exp1y Exp2: Expresiones
Si Condiciónse evalúa a true,
el resultado es Exp1;
si Condiciónse evalúa a false,
el resultado es Exp2.
int a = 5, b = 3, c;
c = (a + b == 10) ? 2 : 3;
c = ( 8
== 10) ? 2 : 3;
c = false
c = 3;
? 2 : 3;
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
?
Exp1
:
Exp2
Operadores (prioridad)
++ ‐‐(postfijos)
Llamadas a funciones
Moldes
++ ‐‐(prefijos) !
‐(cambio de signo)
* / %
+ ‐
< <= > >=
== !=
&&
||
?:
= += ‐= *= /= %=
Fundamentos de la programación: Tipos e instrucciones II (Anexo I)
Página 399
Equivalencia con un if‐else
c = (a + b == 10) ? 2 : 3;
if (a + b == 10) c = 2;
else c = 3;
Es equivalente a:
Se pueden concatenar:
Esto es equivalente a la escala if‐else‐ifde la siguiente sección.
cout << (nota == 10 ? "MH" : (nota >= 9 ? "SB" :
(nota >= 7 ? "NT" : (nota >= 5 ? "AP" : "SS"))))
Fundamentos de la programación: Tipos e instrucciones II (Anexo I)
Página 400
Escala if... else if... equivalente
Si nota == 10entonces MH
si no, si nota >= 9entonces SB
si no, si nota >= 7entonces NT
si no, si nota >= 5entonces AP
si no SS
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"; }
cout << (nota == 10 ? "MH" : (nota >= 9 ? "SB" :
(nota >= 7 ? "NT" : (nota >= 5 ? "AP" : "SS"))))
true
true
true
true
true
true
true
true
== 10
false
false
false
false
false
false
false
false
>= 9
>= 7
>= 5
"MH"
"SB"
"NT"
"AP"
"SS"
Fundamentos de la programación: Tipos e instrucciones II (Anexo I)
Página 401
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Comentarios de: 3A. El operador ternario? (0)
No hay comentarios