Equação do Segundo Grau em Pascal

Mais um problema clássico em Pascal e mais uma vez o segredo está em saber a matemática para implementar a lógica.

Sabendo os valores a,b e c vamos determinar os resultados para X.

a x² + bx + c = 0

Vamos calcular DELTA:

D = b² - 4ac

De acordo com valor de Delta para resolver a equação:

Teremos para Delta > 0 dois resultados:

x' = -b/2a + R[b²-4ac] /2a

x" = -b/2a - R[b²-4ac] /2a

Teremos para Delta < 0 nenhum resultado real e para Delta = 0 apenas um resultado (são dois mas são iguais):

x = -b/2a

Vamos ao programa:

Pascal Segundo Grau.png

Código Fonte:

 Program Equacao_do_Segundo_Grau;  
 uses Crt;  
 var  
  a,b,c : Integer;  
  delta : Real;  
  x1,x2 : Real;  
 begin  
  ClrScr;  
  WriteLn ('Equacao do Segundo Grau');  
  WriteLn;  
  WriteLn (' 2');  
  WriteLn ('aX +bx+c=0');  
  WriteLn;  
  Write ('Entre com o valor de A:'); ReadLn (a);  
  Write ('Entre com o valor de B:'); ReadLn (b);  
  Write ('Entre com o valor de C:'); ReadLn (c);  
  // Calculos  
  delta := b*b-4*a*c;  
  WriteLn ('Delta :',delta:5:2);  
  // Criterio de Delta  
  if delta > 0 then  
  begin  
   x1 := (-b+sqrt(delta))/(2*a);  
   x2 := (-b-sqrt(delta))/(2*a);  
   WriteLn ('Dois resultados reais.');  
   WriteLn ('x1 = ',x1:6:2);  
   WriteLn ('x2 = ',x2:6:2);  
  end  
  else  
  if delta < 0 then  
  begin  
   WriteLn ('Nao ha resultado real');  
  end  
  else  
  begin  
   WriteLn ('Um resultado real.');  
   x1 := (-b)/(2*a);  
   WriteLn ('x = ',x1:6:2);  
  end;  
  ReadLn;  
 end.  

Pascal Segundo Grau 2.png

Você tem uma dúvida em Pascal? Um programa para entregar? Mediante a uma doação estarei fazendo os programas, pois tenho que me dedicar as vossas soluções.

6 comentários:

  1. preciso fazer um programa que simule uma calculadora com as seguintes operações:
    a) Soma
    b) Subtração
    c) Produto
    d) Divisão
    e) Potenciação
    f) Raiz quadrada e cúbica (pesquise um método de aproximação no caso da raiz cúbica)
    g) Fatorial
    h) Informar um valor aproximado para π, onde o usuário decide o parâmetro de
    aproximação.
    Comandos obrigatórios: Procedure, while ou repeat, for, if.
    Ao final de cada operação o usuário deve ter a opção de fazer outra operação.

    ResponderExcluir
  2. Olá, preciso criar um programa que resolva uma equação de 2° no método de falsa posição. É possível alguma ajuda??

    ResponderExcluir
    Respostas
    1. Bom dia Marlene.... quando precisar, me envia um e-mail direto que vejo mais rápido... me envie o enunciado completo para o meu e-mail.

      Excluir
  3. OBRIGADO POR DISPONIBILIZAR ESSES EXEMPLOS MIM AJUDOU MUINTO QUE, DEUS CONTINUE TE ILUMINANDO.

    ResponderExcluir
  4. É possível os resultados das raízes resultarem na forma fracionária?

    ResponderExcluir
  5. Bom dia Paloma,

    é possível sim.... só temos que verificar se a divisão é exata (resto = 0, com MOD), se precisar de uma exemplo me avise.

    Atenciosamente

    ResponderExcluir