logotipo Blog Giovani Da Cruz
Algoritmos com Se, Senão e Caso

Exercício: raízes da equação do 2º grau (Bhaskara)

4 min de leitura 555 visualizações

Developer Giovani

Oi turma, hoje vamos a um exercício em legal para aperfeiçoar nossas habilidades com a programação.

Neste exercício vamos fazer leitura, escrita, cálculos e testes. Então vamos ao exercício:

 

Desenvolva um algoritmo e um programa que solicite ao usuário informar 3 valores a, b e c, coeficientes de uma equação de segundo grau.

Calcule e mostre na tela as raízes da equação em ordem crescente.

Caso a equação não tiver raízes reais, mostre na tela a mensagem “A equação não possui raízes reais”.

As raízes de uma equação podem ser calculadas pela fórmula de Bhaskara.

Fórmula de Baskhara

x = (-b ± √(b² – 4ac)) / (2a)

ou na forma visual

x= −b ∓ √b2−4 .a. c
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
2. a

Obs:

Uma equação não possui raízes se reais se b2 − 4 . a . c < 0 .
Exemplo: se o usuário informar na tela os valores a = 1, b= 2, c=3, o programa deverá mostrar
na tela a mensagem “A equação não possui raízes reais”. Se o usuário informar os valores a = 1, b= 8,
c=7, o programa deverá calcular e mostrar na tela os valores -7 e -1 (ordem crescente de valores!).

 

Resposta em Pascal / Delphi / Lazarus

{

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

}
program RaizesEquacaoSegundoGrau;
uses crt;

var
  a, b, c, delta, x1, x2: real;

begin
  clrscr;
  
  writeln('Informe os coeficientes da equacao de segundo grau:');
  write('a: ');
  readln(a);
  write('b: ');
  readln(b);
  write('c: ');
  readln(c);
  
  delta := (b * b) - (4 * a * c);
  
  if delta < 0 then
  begin
    writeln('A equacao nao possui raizes reais.');
  end
  else if delta = 0 then
  begin
    x1 := -b / (2 * a);
    writeln('A equacao possui uma raiz real: x = ', x1:0:2);
  end
  else
  begin
    x1 := (-b + sqrt(delta)) / (2 * a);
    x2 := (-b - sqrt(delta)) / (2 * a);
    
    writeln('A equacao possui duas raizes reais:');
    writeln('x1 = ', x1:0:2);
    writeln('x2 = ', x2:0:2);
  end;
  
  readln;
end.

Explicação do código em Pascal

  1. Primeiro, o programa solicita ao usuário que informe os coeficientes a, b e c da equação de segundo grau.
  2. Em seguida, o programa calcula o valor do delta utilizando a fórmula de Bhaskara: delta = (b * b) – (4 * a * c).
  3. O programa faz a verificação dos casos:
    • Se o valor do delta for menor que zero, significa que a equação não possui raízes reais. Nesse caso, o programa exibe a mensagem “A equação não possui raízes reais”.
    • Se o valor do delta for igual a zero, significa que a equação possui uma única raiz real. Nesse caso, o programa calcula a raiz utilizando a fórmula: x1 = -b / (2 * a). Em seguida, exibe a mensagem “A equação possui uma raiz real: x = ” seguida do valor da raiz.
    • Caso contrário, se o valor do delta for maior que zero, significa que a equação possui duas raízes reais distintas. O programa calcula as raízes utilizando as fórmulas: x1 = (-b + sqrt(delta)) / (2 * a) e x2 = (-b – sqrt(delta)) / (2 * a). Em seguida, exibe a mensagem “A equação possui duas raízes reais:” seguida dos valores das raízes x1 e x2.
  4. O programa aguarda o usuário pressionar qualquer tecla para encerrar a execução.

O objetivo do programa é calcular e exibir as raízes de uma equação de segundo grau em ordem crescente. Caso a equação não tenha raízes reais, é exibida uma mensagem informando isso.

 

Beleza pessoal?

Dúvidas ou sugestão em outras linguagens? Deixe o seu comentário!

Um abraço e até o próximo post. Valeu!

Deixe um comentário

Seu e-mail não será publicado.