
412203946
(usa Outra)
Enviado em 07/11/2018 - 18:10h
Olá pessoal.
Estou começando programação agora, e estou com muitas dúvidas. Estou tentando escrever um programa em fortran para cálculo de raízes de uma equação de 2 grau, seguindo uma apostila didática, contudo não consigo compilar.
*****Segue o meu programa:
program qes
implicit none
integer(kind=4) :: a, b, c, d
real (kind=8):: Part_Real, Part_Imag
print*, "Entre com os valores de a, b, c"
read*, a, b, c
if (a /= 0), then
d = b*b - 4*a*c !Cálculo do discriminante
if (d == 0) then !Uma raiz
print*, "Raiz eh ", -b/(2.0*a)
else if (d > 0) then !Raízes reais
print*, "As raizes sao ", (-b + sqrt(real(d)))/(2.0*a),&
"e", (-b - sqrt(real(d)))/(2.0*a)
else
Part_Real = -b/(2.0*a) !Raízes complexas
Part_Imag = (sqrt(real(-d))/(2.0*a))
Print*, "1a raiz ", Part_Real, "+", Part_Imag, "i"
Print*, "2a raiz ", Part_Real, "-", Part_Imag, "i"
end if
else ! a == 0
Print*, "Nao eh uma equacao quadratica"
end if
end program qes
*****Segue os erros quando tento compilar pelo gfortran:
if (a /= 0), then
1
Error: Cannot assign to a named constant at (1)
Teste_01.f90:20:19:
else ! a == 0
1
Error: Unexpected ELSE statement at (1)
Teste_01.f90:22:3:
end if
1
Error: Expecting END PROGRAM statement at (1)
****** Não consigo compreender porque ele não reconhece a variável "a".