Condicionales
Informática Fortran 90
Marta Cordero Gracia Mariola Gómez López
Dpto. Matemática Aplicada y Estadística
ETSI Aeronáuticos
Universidad Politécnica de Madrid
1 Fortran 90– p. 1
Estructura condicional
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Estructura condicional simple
Dpto.Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Una estructura condicional es aquella que ejecuta un conjunto u otro de sentencias, dependiendo de si se cumple o no una determinada condición. Existen tres tipos de estructuras condicionales: simples dobles múltiples
Evalúa una única condición dada por una expresión lógica escalar.
c d .true. dd.false. expr. dlógica d d c
sentencia 1 sentencia n
c
Fortran 90– p. 2
q q q
c
c
Fortran 90– p. 3
Estructura condicional simple
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Estructura condicional simple
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Evalúa una única condición dada por una expresión lógica escalar. [nombre:] if (expr. lógica) thensentencia 1
q q q
Escribir un programa para intercambiar el valor de las variables x e y
sentencia n
end if [nombre]
Fortran 90– p. 4
Fortran 90– p. 5
Estructura condicional simple
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Estructura condicional simple
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Escribir un programa paraintercambiar el valor de las variables x e y Escribir un programa que, dadas las variables x e y, tras la ejecución, x tenga el valor máximo de los dos e y el mínimo.
Si solo hay una sentencia de ejecución dentro de la estructura, el lenguaje permite la siguiente variación
if (expr. lógica) sentencia
Fortran 90– p. 5
Fortran 90– p. 6
Estructura condicional simple
programValorAbsoluto real :: x write(*,*) ’Introducir el valor de x’ read(*,*) x if (x < 0.0) x = -x write(*,*) ’Valor absoluto de x:’, x end program ValorAbsoluto
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Estructura condicional simple
program main integer :: n
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
write(*,*) ’Introducir un entero positivo’read(*,*) n if ((n/2)*2 == n) write(*,*) ’Lo es’ end program main
Fortran 90– p. 7
Fortran 90– p. 8
Estructura condicional doble
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Estructura condicional doble
[nombre:] if (expr. lógica) then sentencia1_1
q q q
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Evalúa una única condición dada poruna expresión lógica escalar.
c d .true. dd.false. expr. dlógica d d c c
sentencia1_n
else
sentencia1_1
q q q
sentencia2_1
q q q
sentencia2_1
q q q
sentencia1_n
c c
sentencia2_n
c
Fortran 90– p. 9
sentencia2_n
end if [nombre]
Fortran 90– p. 10
Estructura condicional doble
program raiz real :: a, b, x write(*,*) ’Introducir a y b’ read(*,*) a, b if (a/= 0.0) then x = -b/a write(*,*) ’La solucion es x=’, x else write(*,*) ’Ecuacion incorrecta’ end if end program raiz
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Estructura condicional múltiple
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Construcción if Se evalúan diversas codiciones, todas ellas dadas por una expresión lógica escalarConstrucción select Se evalúa el valor de un dato simple de tipo integer, character o logical
Fortran 90– p. 11
Fortran 90– p. 12
Constucción if múltiple
d d expr. d .true. d .false. d lógica 1 d d d c
Dpto. Matemática Aplicada y Estadística E.T.S.I. Aeronáuticos (UPM)
Constucción if múltiple
[nombre:] if (expr. lógica 1) then sentencia1_1
q q
Dpto. Matemática...
Regístrate para leer el documento completo.