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:
- Bancos de Dados com MySQL Básico: https://bit.ly/35QdWE4
- Lógica de Programação com Português Estruturado: https://bit.ly/3QKPn22
- Programação em Python do Zero: https://bit.ly/python-boson
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
Escreva um comentário