program teste02

use portlib

external subrotinas

! Definição de variáveis (item c)
real :: x, y, soma
integer :: n
real,dimension(:),allocatable :: c

! outras variáveis
integer :: i, fat, dos

! Leitura de dados (item d)
write(*,*) "Informe o valor do angulo y"
read(*,*) y
write(*,*) "Informe o numero de termos n"
read(*,*) n

! Alocação do vetor c (item d)
allocate ( c(n) )

call transforma (y,x)

! Cálculo dos termos do vetor c (item g)
do i = 1, n
	call fatorial (2*(i-1),fat)
	c(i) = ((-1.0)**(i-1.0)) * (x**(2*(i-1.0))) / fat
end do

call somar(c,n,soma)


! Saída de dados (item i)
open(5,file="saida.txt")

write(5,*) "O ângulo y (em graus) vale:", y
write(5,*) "Número de termos informado:", n
write(5,*) "O ângulo x (em rad) vale:  ", x

write(5,*)
write(5,*) "Elementos do conjunto c:"
do i = 1, n
	write(5,*) i, c(i)
end do

write(5,*)
write(5,*) "Soma dos elementos de c:", soma
write(5,*) "Cosseno de x:			", cos(x)

close(5)

dos = system('notepad saida.txt')

end program teste02