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

  1. Sentencia if simple: Ejecuta un bloque de código si una condición es verdadera.
  2. Sentencia if-else: Ejecuta un bloque de código si una condición es verdadera y otro bloque si es falsa.
  3. Sentencia if-else if-else: Permite evaluar múltiples condiciones en secuencia.
  4. Sentencia if anidada: Permite incluir una sentencia if dentro de otra.

Sintaxis y Ejemplos

Sentencia if Simple

La estructura básica de una sentencia if en Fortran es la siguiente:

if (condición) then
    ! Bloque de código a ejecutar si la condición es verdadera
end if

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

  1. Olvidar el end if: Cada bloque if debe cerrarse con end if.
  2. Condiciones incorrectas: Asegúrate de que las condiciones sean lógicas y correctas.
  3. 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.

© Copyright 2024. Todos los derechos reservados