!Programa de revisão (comentários em códigos foram apresentados no capítulo 2)

!Comando USE foi apresentado no capítulo 5
USE PORTLIB

!Comando INTEGER foi apresentado no capítulo 2
INTEGER :: VER, I, J

!Comando REAL foi apresentado no capítulo 3
REAL :: A, B, C, D, Pi, RAD

!Comando CHARACTER foi apresentado no capítulo 4
CHARACTER(20) :: NOME, DATAHOJE

!Comando WRITE foi apresentado no capítulo 1
WRITE(*,*) "REVISAO dos capitulos 1 a 6"

!A função do primeiro asterísco foi apresentada no capítulo 5
WRITE(6,*) "Entre com um conteudo para a variavel NOME"

!O comando READ foi apresentado no capítulo 2
READ(*,*) NOME

WRITE(*,*) "Informe o conteudo de DATAHOJE"

!Os números 6 e 5 são os padrões para a escrita (WRITE) e leitura (READ) na tela do DOS
READ(5,*) DATAHOJE

WRITE(6,*) "I e J sao inteiros"
WRITE(6,*) "A, B e C (graus) sao reais"
WRITE(6,*) "Entre com os valores de I, J, A, B e C"
READ(5,*) I, J, A, B, C
!1,2,1.4,7.2,30

!Os comandos OPEN e CLOSE foram apresentados no capítulo 5
OPEN(1, file="Saída.txt")

	!Os comandos TRIM e ADJUSTL foram apresentados no capítulo 4
	WRITE(1,4) "Nome:", TRIM(ADJUSTL(NOME))
	WRITE(1,4) "Data de hoje:", TRIM(ADJUSTL(DATAHOJE))

	WRITE(1,*)
	WRITE(1,*) "Dados de entrada"
	WRITE(1,5) "I =", I, "J =", J, "A =", A, "B =", B, "C =", C

	D = I/J
	WRITE(1,*) "I/J =", D, " Valor possívelmente incorreto!"

	!Regras adotadas nas operações matemáticas foram apresentadas no capítulo 3
	WRITE(1,*) "I/J =", I*1.0/J, " Valor correto!"

	WRITE(1,*)

	!Funções matemáticas intrínsecas foram apresentadas no capítulo 5
	A = ABS(A)

	D = LOG(A)

	!A função do segundo asterísco foi apresentada no capítulo 6	
	WRITE(1,1) D

	WRITE(1,2) LOG10(A)

	D = ( I + 1 ) / B * ( SQRT(A) * EXP(2.0) ) ** ( 1   / J )

	WRITE(1,3) "( I + 1 ) / B * ( SQRT(A) * EXP(2.0) ) ** ( 1   / J ) =", D, "Valor possívelmente incorreto!"

	D = ( I + 1 ) / B * ( SQRT(A) * EXP(2.0) ) ** ( 1.0 / J )

	WRITE(1,3) "( I + 1 ) / B * ( SQRT(A) * EXP(2.0) ) ** ( 1.0 / J ) =",D, "Valor correto!"

	Pi = ACOS(-1.0)

	RAD = C * Pi / 180

	D = SIN(RAD)

	WRITE(1,*)
	
	WRITE(1,3) "SIN(RAD) =", D, "Usando a função SIN e ângulo converdido"

	D = SIND(C)

	WRITE(1,3) "SIND(C)  =", D, "Usando a função SIND e ângulo em graus"

	D = SIN(C)

	WRITE(1,3) "SIN(C)   =", D, "Usando a função SIN e ângulo em graus, valor incorreto"

CLOSE(1)

!O comando SYSTEM foi apresentado no capítulo 5
VER = SYSTEM("Notepad Saída.txt")

!O comando FORMAT e aqueles usados dentro dele foram apresentados no capítulo 6
1 FORMAT("Logaritmo natural    do módulo de A =", 1x, 1pe10.3)
2 FORMAT("Logaritmo de base 10 do módulo de A =", 1x, 1pe10.3, 1/)
3 FORMAT(A,1x,1pe10.3,1x,A)
4 FORMAT(A,1x,A)
5 FORMAT(2(A,i2,1/), 3(A,1pe10.3,1/))

!O comando END foi apresentado no capítulo 1
END




