Programa que calcula as raízes de uma equação de segundo grau em Fortran

Calcular as raízes de uma equação de segundo grau em Fortran

Hoje vamos codificar um pequeno programa que permite calcular as raízes de uma equação quadrática polinomial (equação de segundo grau), usando a linguagem Fortran.

Relembrando: uma equação de 2º Grau tem o seguinte formato:

ax2 + bx + c = 0

Nesta equação, o valor x é chamado de “incógnita”, e indica um valor desconhecido. Já as variáveis a, b e c são os coeficientes da equação.

Para resolver uma equação de segundo grau, precisamos determinar os valores reais da incógnita x que tornam a equação verdadeira. Esses valores são as raízes da equação.

Uma equação do segundo grau pode ter zero, uma ou no máximo duas raízes reais. No caso de não ter raízes reais, ela ainda possui raízes complexas – caso que nosso programa também será capaz de calcular.

Vamos ao código.

Código

PROGRAM EQ_SEG_GRAU
IMPLICIT NONE

! Declaração das variáveis
REAL :: a
REAL :: b
REAL :: c
REAL :: delta
REAL :: part_imag
REAL :: part_real
REAL :: x1
REAL :: x2

!Entrada do usuário: coeficientes da equação
WRITE (*,*) 'Programa que calcula as raízes de uma equação de segundo grau'
WRITE (*,*) 'Equação no formato a * x2 + b * x + c = 0'
WRITE (*,*) 'Digite os coeficientes A, B e C:'
READ (*,*) a, b, c

!Coeficientes:
WRITE (*,*) 'Os coeficientes fornecidos A, B e C são: ', a, b, c

!Calcular o delta (discriminante)
delta = b**2 - 4 * a * c

! Calcular as raízes
IF (delta > 0.) THEN ! Existem duas raízes reais
  x1 = (-b + sqrt(delta)) / (2. * a)
  x2 = (-b - sqrt(delta)) / (2. * a)
  WRITE(*,*) 'A equação possui duas raízes reais:'
  WRITE(*,*) 'x1 = ', x1
  WRITE(*,*) 'x2 = ', x2
ELSE IF (delta == 0.) THEN ! Há apenas uma raiz real, repetida
  x1 = (-b) / (2. *a)
  WRITE(*,*) 'A equação possui duas raízes reais idênticas:'
  WRITE(*,*) 'x1 = x2 = ', x1
ELSE ! A equação possui raízes complexas
  part_real = (-b) / (2. * a)
  part_imag = sqrt(abs(delta)) / (2. * a)
  WRITE(*,*) 'A equação possui raízes complexas:'
  WRITE(*,*) 'x1 = ', part_real, ' + ', part_imag, 'i'
  WRITE(*,*) 'x2 = ', part_real, ' - ', part_imag, 'i'
END IF

END PROGRAM EQ_SEG_GRAU

Teste

Vamos executar o programa, passando como valores dos coeficientes a, b e c respectivamente 2, 4 e 1 – ou seja, a equação 2x2 + 4x +1 = 0

Programa que calcula as raízes de uma equação de segundo grau
Equação no formato a * x2 + b * x + c = 0
Digite os coeficientes A, B e C:
2
4
1
Os coeficientes fornecidos A, B e C são: 2.00000000 4.00000000 1.00000000 
A equação possui duas raízes reais:
x1 = -0.292893231 
x2 = -1.70710683

Funcionamento do Código

Inicialmente, são declaradas as variáveis que serão utilizadas no programa. São necessárias variáveis para os coeficientes da equação (a, b e c), o discriminante (delta), as partes real e imaginária das raízes complexas (part_real e part_imag) e para as próprias raízes (x1 e x2).

Na sequência, o programa inicia mostrando algumas mensagens para o usuário, explicando a finalidade do programa e solicitando que o usuário insira os coeficientes da equação (a, b e c). O comando READ é usado para receber esses valores do usuário e armazená-los nas variáveis correspondentes.

Logo após o programa ecoa na tela os coeficientes fornecidos pelo usuário, apenas para confirmar que os valores foram lidos corretamente.

Então são iniciados os cálculos necessários, sendo calculado primeiramente o discriminante (delta) usando a fórmula Δ = b² – 4ac, que é a parte crítica para determinar o tipo de raízes da equação.

Após calcular o valor do discriminante, o programa determina o tipo de raízes com base no valor de delta. Se delta for maior que zero, há duas raízes reais distintas, que são calculadas usando a fórmula quadrática. Se delta for igual a zero, há apenas uma raiz real (repetida). Caso contrário, existem raízes complexas, e suas partes real e imaginária são calculadas e exibidas.

Após calcular e exibir as raízes na tela, o programa é encerrado.

Resumindo, o programa solicita coeficientes ao usuário, calcula o discriminante (delta) e, com base em seu valor, determina o tipo de raízes da equação de segundo grau, exibindo-as no final.

Conclusão

Vimos neste tutorial como criar um programa simples em Fortran para calcular as raízes de uma equação quadrática. Nos próximos tutoriais vamos trabalhar com outros problemas matemáticos e lógicos, criando algoritmos esta linguagem.

Até.

Colabore com a Bóson Treinamentos

Ajude o canal adquirindo meus cursos na Udemy:

Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: https://www.amazon.com.br/shop/bosontreinamentos

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*