PROGRAM Condicionales IMPLICIT NONE !------------------------------------------------------- ! Variables REAL ::x, resultado INTEGER :: opcion LOGICAL :: error=.FALSE. !------------------------------------------------------- !Pedimos un número PRINT*, "Escribe un número real:" READ*,x !Mostramos un menú con las distintas opciones PRINT*,"Ahora dime que deseas calcular" PRINT*," 1 - Su raiz cuadrada" PRINT*," 2 - Su logaritmo neperiano" PRINT*," 3 - Su cuadrado" READ*,opcion !Si se ha seleccionado la opción de la raiz cuadrada IF (opcion.EQ.1) THEN IF (x<0) THEN error=.TRUE. ELSE resultado =SQRT(x) ENDIF ENDIF !Si se ha seleccionado la opción del log neperiano IF (opcion.EQ.2) THEN IF (x<0) THEN error=.TRUE. ELSE resultado =LOG(x) ENDIF ENDIF !Si se ha seleccionado la opción del cuadrado IF (opcion.EQ.3) resultado =x**2 !Si ha habido un error IF (error) THEN PRINT*,"No es posible realizar la operación" ELSE PRINT*,"El resultado es:", resultado ENDIF END PROGRAM Condicionales !-------------------------------------------------------