Branching Flow

If-Else and Else-If Step by Step

Alternative branching and relational chains in C, JavaScript, Python, and Java.

SLIDE 1 / 6

1. Alternative Branching (If-Else)

The `if-else` structure guarantees that exactly one code block executes depending on true/false evaluation.

MUTUALLY EXCLUSIVE FLOW
Condición TrueEjecuta bloque IF
Condición FalseEjecuta bloque ELSE

2. C: else if

En C las cadenas de else-if evalúan secuencialmente hasta encontrar el primer match verdadero.

if_else.c
int nota = 85;
if (nota >= 90) {
    printf("A\n");
} else if (nota >= 80) {
    printf("B\n"); // Match
} else {
    printf("C\n");
}

3. Java: Operador Ternario

Java permite el operador ternario `condicion ? valTrue : valFalse` como expresión que retorna un valor.

Ternary.java
int edad = 20;
String estado = (edad >= 18) ? "Mayor" : "Menor";

4. JavaScript: Short-Circuit

JS usa cortocircuito con `&&` y `||` como alternativas concisas a estructuras `if-else` tradicionales.

short_circuit.js
const usuario = { nombre: "Ana" };
const nombre = usuario && usuario.nombre; // "Ana"

5. Python: elif

Python usa la palabra clave explícita `elif` para encadenar condiciones alternativas con elegancia sintáctica.

if_else.py
score = 85
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
else:
    grade = "C"

6. Branching Evaluator

Select a score to simulate the chosen branch:

C / C++
Rama elegida: IF (nota >= 90) ➔ Imprime "A"
Java
Rama elegida: IF (nota >= 90) ➔ Asigna "A"
JavaScript
Rama elegida: IF (nota >= 90) ➔ Retorna "A"
Python
Rama elegida: IF (nota >= 90) ➔ grade = "A"