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
FISentencia 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
FIEjemplos 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
ENDExplicació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
ENDExplicació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
ENDEjercicio 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
ENDErrores Comunes y Consejos
- Olvidar el
FI: En ALGOL, cada bloqueIFdebe 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
