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
ifsimple: 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
ifanidada: Permite incluir una sentenciaifdentro 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_exampleSentencia 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 ifEjemplo:
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_exampleSentencia 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 ifEjemplo:
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_exampleSentencia 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 ifEjemplo:
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_exampleEjercicios 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_numberEjercicio 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_numbersErrores Comunes y Consejos
- Olvidar el
end if: Cada bloqueifdebe 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
