Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En ALGOL, las sentencias condicionales se utilizan para ejecutar diferentes bloques de código dependiendo de si una condición es verdadera o falsa.

Conceptos Clave

  1. Condición: Una expresión que se evalúa como verdadera o falsa.
  2. Sentencia IF: Ejecuta un bloque de código si la condición es verdadera.
  3. Sentencia IF-ELSE: Ejecuta un bloque de código si la condición es verdadera y otro bloque si es falsa.
  4. Sentencia IF-ELSEIF-ELSE: Permite evaluar múltiples condiciones en secuencia.

Sintaxis de las Sentencias Condicionales

Sentencia IF

La estructura básica de una sentencia IF en ALGOL es la siguiente:

IF condición THEN
    // Bloque de código a ejecutar si la condición es verdadera
FI

Sentencia IF-ELSE

Para manejar dos posibles caminos de ejecución, se utiliza IF-ELSE:

IF condición THEN
    // Bloque de código a ejecutar si la condición es verdadera
ELSE
    // Bloque de código a ejecutar si la condición es falsa
FI

Sentencia IF-ELSEIF-ELSE

Para evaluar múltiples condiciones, se puede usar IF-ELSEIF-ELSE:

IF condición1 THEN
    // Bloque de código a ejecutar si condición1 es verdadera
ELSEIF condición2 THEN
    // Bloque de código a ejecutar si condición2 es verdadera
ELSE
    // Bloque de código a ejecutar si ninguna condición anterior es verdadera
FI

Ejemplos Prácticos

Ejemplo 1: Sentencia IF

BEGIN
    INTEGER x;
    x := 10;
    IF x > 5 THEN
        print("x es mayor que 5");
    FI
END

Explicación: En este ejemplo, si x es mayor que 5, se imprimirá "x es mayor que 5".

Ejemplo 2: Sentencia IF-ELSE

BEGIN
    INTEGER x;
    x := 3;
    IF x > 5 THEN
        print("x es mayor que 5");
    ELSE
        print("x no es mayor que 5");
    FI
END

Explicación: Aquí, si x no es mayor que 5, se imprimirá "x no es mayor que 5".

Ejemplo 3: Sentencia IF-ELSEIF-ELSE

BEGIN
    INTEGER x;
    x := 7;
    IF x > 10 THEN
        print("x es mayor que 10");
    ELSEIF x > 5 THEN
        print("x es mayor que 5 pero menor o igual a 10");
    ELSE
        print("x es menor o igual a 5");
    FI
END

Explicación: En este caso, se evaluarán las condiciones en secuencia. Si x es mayor que 10, se imprimirá "x es mayor que 10". Si no, pero x es mayor que 5, se imprimirá "x es mayor que 5 pero menor o igual a 10". Si ninguna de las condiciones anteriores es verdadera, se imprimirá "x es menor o igual a 5".

Ejercicios Prácticos

Ejercicio 1

Escribe un programa en ALGOL que verifique si un número es positivo, negativo o cero.

Solución:

BEGIN
    INTEGER num;
    num := -5; // Puedes cambiar este valor para probar diferentes casos
    IF num > 0 THEN
        print("El número es positivo");
    ELSEIF num < 0 THEN
        print("El número es negativo");
    ELSE
        print("El número es cero");
    FI
END

Ejercicio 2

Escribe un programa en ALGOL que determine si un año es bisiesto. Un año es bisiesto si es divisible por 4, pero no por 100, a menos que también sea divisible por 400.

Solución:

BEGIN
    INTEGER year;
    year := 2020; // Puedes cambiar este valor para probar diferentes casos
    IF (year MOD 400 = 0) THEN
        print("El año es bisiesto");
    ELSEIF (year MOD 100 = 0) THEN
        print("El año no es bisiesto");
    ELSEIF (year MOD 4 = 0) THEN
        print("El año es bisiesto");
    ELSE
        print("El año no es bisiesto");
    FI
END

Errores Comunes y Consejos

  1. Olvidar el FI: En ALGOL, cada bloque IF debe terminar con FI.
  2. Condiciones Incorrectas: Asegúrate de que las condiciones sean lógicas y correctas.
  3. Bloques de Código No Indentados: Aunque ALGOL no requiere indentación, es una buena práctica para mejorar la legibilidad del código.

Conclusión

Las sentencias condicionales en ALGOL son herramientas poderosas que permiten a los programadores controlar el flujo de ejecución de sus programas. Comprender y utilizar correctamente IF, IF-ELSE y IF-ELSEIF-ELSE es esencial para escribir programas eficientes y efectivos. Con la práctica, estas estructuras se convertirán en una segunda naturaleza en tu programación diaria.

© Copyright 2024. Todos los derechos reservados