Las estructuras de control son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En Fortran, la sentencia if
es una de las estructuras de control más utilizadas para la toma de decisiones.
Conceptos Clave
- Sentencia
if
simple: Ejecuta un bloque de código si una condición es verdadera. - Sentencia
if-else
: Ejecuta un bloque de código si una condición es verdadera y otro bloque si es falsa. - Sentencia
if-else if-else
: Permite evaluar múltiples condiciones en secuencia. - Sentencia
if
anidada: Permite incluir una sentenciaif
dentro de otra.
Sintaxis y Ejemplos
Sentencia if
Simple
La estructura básica de una sentencia if
en Fortran es la siguiente:
Ejemplo:
program if_example implicit none integer :: a a = 10 if (a > 5) then print *, "a es mayor que 5" end if end program if_example
Sentencia if-else
Para manejar dos posibles caminos de ejecución, se utiliza la sentencia 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 end if
Ejemplo:
program if_else_example implicit none integer :: a a = 3 if (a > 5) then print *, "a es mayor que 5" else print *, "a no es mayor que 5" end if end program if_else_example
Sentencia if-else if-else
Para evaluar múltiples condiciones, se utiliza la estructura if-else if-else
:
if (condición1) then ! Bloque de código a ejecutar si la condición1 es verdadera else if (condición2) then ! Bloque de código a ejecutar si la condición2 es verdadera else ! Bloque de código a ejecutar si ninguna de las condiciones anteriores es verdadera end if
Ejemplo:
program if_elseif_else_example implicit none integer :: a a = 7 if (a > 10) then print *, "a es mayor que 10" else if (a > 5) then print *, "a es mayor que 5 pero menor o igual a 10" else print *, "a es menor o igual a 5" end if end program if_elseif_else_example
Sentencia if
Anidada
Las sentencias if
pueden anidarse para evaluar condiciones más complejas:
if (condición1) then if (condición2) then ! Bloque de código a ejecutar si ambas condiciones son verdaderas end if end if
Ejemplo:
program nested_if_example implicit none integer :: a, b a = 8 b = 12 if (a > 5) then if (b > 10) then print *, "a es mayor que 5 y b es mayor que 10" end if end if end program nested_if_example
Ejercicios Prácticos
Ejercicio 1
Escribe un programa que lea un número entero y determine si es positivo, negativo o cero.
Solución:
program check_number implicit none integer :: num print *, "Introduce un número entero:" read *, num if (num > 0) then print *, "El número es positivo." else if (num < 0) then print *, "El número es negativo." else print *, "El número es cero." end if end program check_number
Ejercicio 2
Escribe un programa que lea dos números enteros y determine cuál es mayor, o si son iguales.
Solución:
program compare_numbers implicit none integer :: num1, num2 print *, "Introduce el primer número entero:" read *, num1 print *, "Introduce el segundo número entero:" read *, num2 if (num1 > num2) then print *, "El primer número es mayor que el segundo." else if (num1 < num2) then print *, "El segundo número es mayor que el primero." else print *, "Ambos números son iguales." end if end program compare_numbers
Errores Comunes y Consejos
- Olvidar el
end if
: Cada bloqueif
debe cerrarse conend if
. - Condiciones incorrectas: Asegúrate de que las condiciones sean lógicas y correctas.
- Indentación: Mantén una buena práctica de indentación para mejorar la legibilidad del código.
Conclusión
Las sentencias if
en Fortran son esenciales para la toma de decisiones en los programas. Comprender cómo utilizarlas correctamente te permitirá escribir código más flexible y robusto. En el próximo tema, exploraremos las estructuras de control de bucles, que te permitirán repetir bloques de código bajo ciertas condiciones.
Curso de Programación en Fortran
Módulo 1: Introducción a Fortran
- Introducción a Fortran
- Configuración del Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa en Fortran
Módulo 2: Conceptos Básicos
- Variables y Tipos de Datos
- Operadores y Expresiones
- Entrada y Salida
- Estructuras de Control: Sentencias If
- Estructuras de Control: Bucles
Módulo 3: Arreglos y Cadenas
- Introducción a los Arreglos
- Arreglos Multidimensionales
- Manejo de Cadenas
- Operaciones con Arreglos y Cadenas
Módulo 4: Procedimientos y Funciones
Módulo 5: Estructuras de Datos Avanzadas
Módulo 6: Manejo de Archivos
- Lectura de Archivos
- Escritura de Archivos
- Posicionamiento de Archivos
- Operaciones con Archivos Binarios
Módulo 7: Temas Avanzados
Módulo 8: Mejores Prácticas y Optimización
- Técnicas de Optimización de Código
- Depuración y Perfilado
- Escribiendo Código Mantenible
- Estándares y Portabilidad de Fortran