Actualizado el 21 de Marzo del 2018 (Publicado el 8 de Marzo del 2018)
589 visualizaciones desde el 8 de Marzo del 2018
35,6 KB
8 paginas
Creado hace 15a (02/09/2008)
Esquemas Condicionales
en Fortran
Bloque IF (esquemas condicionales 1 y 2)
1. IF (<expresión>) <sentencias> !no lleva THEN ni END IF
2. IF (<expresión>) THEN
<sentencias>
ELSE
<sentencias>
END IF
Ejemplos del caso básico
real::a, b, division
write (*,*) ‘Ingrese dos números reales’
read (*,*) a, b
if (b /= 0.0) then
division = a / b
write(*,*) a, “partido por “, b, “ es “, division
end if
• Condicionales anidados
real:: nota
read (*,*) nota
if(nota < 4.5) then
write (*,*)
nota, “ es un
suspenso” else if (nota < 7.0) then
write (*,*) nota, “ es un aprobado”
else if (nota < 9.0) then
write (*,*) nota, “ es un notable”
else if (nota <= 10.0) then
write (*,*) nota, “ es un sobresaliente”
else
write (*,*) nota, “ no es una nota válida”
end if
Esquemas en Fortran 90
• Select case
(equivalente al esquema condicional
generalizado)
SELECT CASE
(<variable_de_control>)
CASE (<expresion>)
[<sentencias>]
{CASE (<expresion>)
[<sentencias>]} [CASE
DEFAULT [<sentencias>]]
END SELECT
character(len=1)::c
Write(*,*) "Introduzca un caracter entre comillas o apostrofos“
read (*,*) c
select
case(c)
case("1":"9","0")
write (*,*) c, " es numerico“
case("a":"z")
write (*,*) c, " es una minuscula“
case("A":"Z")
write (*,*) c, " es una mayuscula“
case default
write(*,*) "no es alfanumerico“
end select
Esquemas condicionales en Fortran 90
•
•
Los condicionales IF y SELECT CASE pueden llevar
nombre.
El nombre permite hacer referencia desde otras
instrucciones (como se hacía en F77 con etiquetas) y
además aclara a qué se refiere cada bloque.
[nombre: ] IF (<expresión>) THEN
<sentencias>
{[ELSE IF (<expresión>) THEN
<sentencias-2>]}
[ELSE
<sentencias-3>]
END IF [nombre]
real:: nota
read (*,*) nota
calcula_nota: if(nota < 4.5) then
write(*,*) nota, “ es un suspenso”
else if (nota < 7.0) then
write(*,*) nota, “ es un aprobado”
else if (nota < 9.0) then
write(*,*) nota, “ es un notable”
else if (nota < 10.0) then
write(*,*) nota, “ es un sobresaliente”
else
write(*,*) nota, “ no es una nota válida”
end if calcula_nota
[nombre:]
SELECT CASE (<variable de
control>) CASE (<expresion>)
[<sentencias>]
{CASE (<expresion>)
[<sentencias>]}
CASE DEFAULT
[<sentencias>]
END SELECT [nombre]
tipo: select case(c)
case("1":"9","0")
write(*,*) c, " es numerico“
case("a":"z")
write(*,*) c, " es una minuscula“
case("A":"Z")
write(*,*) c, " es una mayuscula“
case default
write(*,*) "no es alfanumerico“
end select tipo
Comentarios de: Esquemas condicionales en Fortran (0)
No hay comentarios