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
- Condición: Una expresión que se evalúa como verdadera o falsa.
- Sentencia IF: Ejecuta un bloque de código si la condición es verdadera.
- Sentencia IF-ELSE: Ejecuta un bloque de código si la condición es verdadera y otro bloque si es falsa.
- 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:
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
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
- Olvidar el
FI
: En ALGOL, cada bloqueIF
debe terminar conFI
. - Condiciones Incorrectas: Asegúrate de que las condiciones sean lógicas y correctas.
- 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.
Curso de Programación en ALGOL
Módulo 1: Introducción a ALGOL
- ¿Qué es ALGOL?
- Historia y Evolución de ALGOL
- Configuración del Entorno ALGOL
- Primer Programa en ALGOL
Módulo 2: Sintaxis y Estructura Básica
- Estructura del Programa ALGOL
- Variables y Tipos de Datos
- Entrada y Salida Básica
- Operadores y Expresiones
Módulo 3: Estructuras de Control
Módulo 4: Funciones y Procedimientos
- Definición de Funciones
- Parámetros de Función y Valores de Retorno
- Funciones Recursivas
- Procedimientos en ALGOL
Módulo 5: Estructuras de Datos
Módulo 6: Temas Avanzados
Módulo 7: Aplicaciones Prácticas
- Métodos Numéricos
- Implementación de Algoritmos
- Construcción de un Compilador Simple
- Estudios de Caso y Proyectos