PROGRAM OP_BASIC
IMPLICIT NONE

INTEGER::NUM, OPC
REAL::A,B,SUM,RES,MUL,DIV


WRITE (*,4)
4 FORMAT (20X,'UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO',//,28X,'FACULTAD DE INGENIERIA',//,23X,'DIVISON DE &
CIENCIAS DE LA TIERRA',//,21X,'SIMULACION MATEMATICA DE YACIMIENTOS',//,34X,'TAREA',///,20X,'ALUMNO:'&
//,25X,'Tu Nombre Aki',/////)
PAUSE
CALL SYSTEM ('CLS')

200 WRITE (*,2)
READ (*,*)A,B

100 WRITE (*,1)
1 FORMAT (/,1X,'ELIGE LA OPERACION A REALIZAR',//,'1. SUMA',/,'2. RESTA',/,'3. MULTIPLICACION',/,'4. DIVISION',/)

READ (*,*) NUM

IF (NUM .LT. 1 .OR. NUM .GT. 5)THEN
WRITE (*,*)'SOLO HAY 4 OPCIONES'
GO TO 100
ELSE

END IF 

SELECT CASE (NUM)

    CASE (1)
        RES=A+B
        WRITE (*,3)RES
    CASE (2)
        RES=A-B
        WRITE (*,3)RES
    CASE (3)
        RES=A*B
        WRITE (*,3)RES
    CASE (4)
        RES=A/B
        WRITE (*,3)RES
END SELECT 

2 FORMAT (5X,'DAME EL VALOR DE A Y B')
3 FORMAT (3X,'EL RESULTADO ES:',F6.3)

400 WRITE (*,5)
READ (*,*) OPC
5 FORMAT (3X,/,'¿DESEAS REALIZAR OTRA OPERACION?',//,2X,'1. SI',/,2X,'2. NO')

IF (OPC .LT. 1 .OR. OPC .GT. 2)THEN
WRITE (*,6)
GO TO 400
PAUSE
ELSE
END IF 
6 FORMAT (/,2X,'LAS OPCIONES SON 1. SI o 2. NO')

IF (OPC == 1) THEN
GO TO 200
ELSE
GOTO 300
END IF

300 END PROGRAM
