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.

Resumen del capítulo
If
© 2025 Zen of Zig