LA OTRA VARIANTE:
IF(Condicion1)THEN
SENTENCIAA
ELSEIF(Condicion2)THEN
SENTENCIA B
ELSEIF(Condicion3)THEN
SENTENCIAC
END IF
SENTENCIA a
CASE(Lista2)
SENTENCIA b
CASE(Lista3)
SENTENCIA c
..
..
CASE DEFAULT Opcional
SENTENCIA xxx
END SELECT
La variable opcional y Lista1.ListaN son de tipo entero o de carcter.
!EJEMPLO DE DECICON SIMPLE
PROGRAM USO_DECISION
INTEGER::X,Y
PRINT*,"INGRESE VALOR A X"
READ*,X
IF (X>0)THE
Y=X**2
PRINT*,"VALOR DE Y= ",Y
END IF
END PROGRAM USO_DECISION
!DESICION DOBLE
PROGRAM IF_DOBLE
INTEGER::X
PRINT*,"INGRESE UN VALOR DE TIPO ENTERO"
READ*,X
IF (X>0)THEN
PRINT*,"VALOR INGRESADO ES POSITIVO"
ELSE
PRINT*,"VALOR INGRESADO ES NEGATIVO"
END IF
END PROGRAM IF_DOBLE
N2
N3
N4
Total=N1+N2+N3+N4
Promedio= Total/4
Promedio esta entre 0 y 6 Superjalado
Promedio esta entre 6 y 10 Jalado
Promedio esta entre 10 y 15 Aprobado
Promedio esta entre 15 y 20 Superaprobado
!N1 N2 N3 N4
!TOTAL=N1+N2+N3+N4
!PROMEDIO= TOTAL/4
!PROMEDIO ESTA ENTRE 0 Y 6 ?"SUPERJALADO"
!PROMEDIO ESTA ENTRE 6 Y 10 ?"JALADO"
!PROMEDIO ESTA ENTRE 10 Y 15 ?"APROBADO"
!PROMEDIO ESTA ENTRE 15 Y 20 ?"SUPERAPROBADO"
PROGRAM DESICIONES_ANIDADAS
INTEGER::N1,N2,N3,N4,TOTAL
REAL::PROM !PROMEDIO
PRINT*,"INGRESE CUATRO NOTAS"
READ*,N1,N2,N3,N4
TOTAL=N1+N2+N3+N4
PROM= TOTAL/4
IF (PROM>=0 .AND. PROM<6)THEN
PRINT*,"SUPERJALADO ", PROM
ELSE
IF (PROM>=6 .AND. PROM<10) THEN
PRINT*,"JALADO ", PROM
ELSE
IF (PROM>=10 .AND. PROM<15) THEN
PRINT*,"APROBADO ", PROM
ELSE
IF (PROM>=15 .AND. PROM<20) THEN
PRINT*,"SUPERAPROBADO ", PROM
END IF
END IF
END IF
END IF
!N1 N2 N3 N4
!TOTAL=N1+N2+N3+N4
!PROMEDIO= TOTAL/4
!PROMEDIO ESTA ENTRE 0 Y 6 ?"SUPERJALADO"
!PROMEDIO ESTA ENTRE 6 Y 10 ?"JALADO"
!PROMEDIO ESTA ENTRE 10 Y 15 ?"APROBADO"
!PROMEDIO ESTA ENTRE 15 Y 20 ?"SUPERAPROBADO"
PROGRAM DESICIONES_ANIDADAS
INTEGER::N1,N2,N3,N4,TOTAL
REAL::PROM !PROMEDIO
PRINT*,"INGRESE CUATRO NOTAS"
READ*,N1,N2,N3,N4
TOTAL=N1+N2+N3+N4
PROM= TOTAL/4
IF (PROM>=0 .AND. PROM<6)THEN
PRINT*,"SUPERJALADO ", PROM
ELSEIF (PROM>=6 .AND. PROM<10) THEN
PRINT*,"JALADO ", PROM
ELSEIF (PROM>=10 .AND. PROM<15) THEN
PRINT*,"APROBADO ", PROM
ELSEIF (PROM>=15 .AND. PROM<20) THEN
PRINT*,"SUPERAPROBADO ", PROM
END IF
END PROGRAM DESICIONES_ANIDADAS
EJEMPLO PARA EL USO DE LA SWENTENCIA DE SELECCIN
READ*,BMAY,BMEN
PRINT*,"INGRESE LA ALTURA"
READ*,ALTURA
AREA=((BMAY+BMEN)/2.)*ALTURA
PRINT*,"VALOR DEL AREA: ",AREA
CASE(4)
PRINT*,"AREA DEL TRIANGULO"
PRINT*,"iNGRESE EL VALOR DE LA BASE"
READ*,BMAY
PRINT*,"iNGRESE EL VALOR DE LA ALTURA"
READ*,ALTURA
AREA=(BMAY*ALTURA)/2
PRINT*,"VALOR DEL AREA: ",AREA
END SELECT
END PROGRAM SELECCIN