Programming Concept

Condicionales

Operadores lógicos, sentencias if / if-else / if-else-if y el operador ternario.

Capítulo 3 (pp. 65–94) de Computer Science I.

Temas

SecciónPáginaContenido
Operadores Lógicos65Comparación, negación, AND, OR, sentencias compuestas, evaluación de cortocircuito.
La Sentencia If75Ramificación básica.
La Sentencia If-Else76Ramificación de dos vías.
La Sentencia If-Else-If78Ramificación de múltiples vías.
Operador Ternario If-Else82Condicional a nivel de expresión.
Ejemplos82Meal Discount, Look Before You Leap, Comparing Elements, Life & Taxes.

Ideas Clave

  • Evaluación de cortocircuito — la evaluación se detiene una vez determinado el resultado; importa para la protección (p. ej. verificar null antes de desreferenciar).
  • El ejemplo Life & Taxes reaparece en las partes de C, Java y PHP.
  • Comparar elementos motiva la idea de comparador desarrollada en búsqueda y ordenamiento.

Ejemplos

Ramificación de múltiples vías

si puntaje ≥ 90:
  nota ← "A"
si no si puntaje ≥ 80:
  nota ← "B"
si no:
  nota ← "C"

Cortocircuito como guardia

si x ≠ 0 y (10 / x) > 1:
  imprimir "safe"

El lado derecho se ejecuta solo cuando x ≠ 0, así que no hay división por cero.

En Java

String grade;
if (score >= 90)      grade = "A";
else if (score >= 80) grade = "B";
else                  grade = "C";

if (x != 0 && 10 / x > 1)      // && cortocircuita: el lado derecho se omite cuando x == 0
    System.out.println("safe");

Citas

[1] Computer Science I, Cap. 3, pp. 65–94.