CAPÍTULO 2
Decisiones
En los programas es muy común encontrarse con la necesidad de tomar decisiones. Básicamente se trata de decidir ¿qué camino va a tomar mi programa si se cumple cierta condición?.
Imaginemos el flujo de un programa sencillo, como los que hemos hecho hasta ahora representado por una línea (un camino):
|
Inicio del programa |
pub fn main() void { … |
|
|
|
const n_a = 2 + 1; print("\n{}:", .{n_a});
… |
|
|
Final del programa |
} |
Pero ¿y qué sucede si necesitamos ejecutar un bloque de código sólo si se cumple una cierta condición? Como ejemplo, imaginemos que un usuario ha jugado dos partidas de un mismo videojuego. Si la segunda puntuación es mayor que la primera queremos imprimir un mensaje de felicitación:
better.zig |
|
const std = @import("std"); const print = std.debug.print; pub fn main() void { const n_record = 1200; const n_score = 3000; if (n_score > n_record) { print("¡Felicidades! Has superado el récord.\n", .{}); }
} |
|
$ zig run better.zig |
|
¡Felicidades! Has superado el récord. |
Comparación - Expresiones booleanas y operadores
En el ejemplo anterior, verás un símbolo “>” que significa “mayor que”. Esto es igual que en matemáticas.
Este tipo de símbolos se llaman “operadores de comparación”. La evaluación de un operador de comparación devuelve siempre un valor booleano que tendrá valor true (Verdadero) o false (Falso).
En Zig disponemos de los siguientes operadores:
|
== |
Igual que |
3 == 3 |
|
!= |
Distinto de |
3 != 4 |
|
> |
Mayor que |
7 > 2 |
|
< |
Menor que |
2 < 7 |
|
>= |
Mayor o igual que |
5 >= 5 |
|
<= |
Menor o igual que |
4 <= 5 |
Mira la tercera columna de la tabla anterior a ver si puedes decir qué expresiones de la tabla anterior devuelven true.
