DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Escrever um algoritmo e um programa que efetua a leitura de três valores (variáveis A, B e C) e calcula as raízes de uma equação de 2º grau, apresentando as duas raízes, se para os valores informados for possível efetuar o referido cálculo, caso os valores não possam ser resolvidos pela fórmula de Báskara, indicar que a equação “não possui raízes reais”.

Solução em Linguagem Algorítmica.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
programa Exercicio26;
 
var
  a, b, c: Real;
  raizPositiva, raizNegativa: Real;
  delta: Real;
inicio
  Escreva('Informe o valor de A: ');
  Leia(a);
 
  Escreva('Informe o valor de B: ');
  Leia(b);
 
  Escreva('Informe o valor de C: ');
  Leia(c);
 
  delta := sqr(b) - (4 * a * c);
 
  { Não existe raiz de número negativo no conjunto dos números reais }
  // sqrt = raiz quadrada
  // sqr = potencia n * n
  se ((delta >= 0) e (a <> 0)) entao
  inicio
    // -b + raiz ( b*b - (4.a.c) ) / 2.a
    raizPositiva := ((b * (-1)) + sqrt(sqr(b) - (4 * a * c))) / 2 * a;
 
    // -b - raiz ( b*b - (4.a.c) ) / 2.a
    raizNegativa := ((b * (-1)) - sqrt(sqr(b) - (4 * a * c))) / 2 * a;
  fim;
 
  se ((delta >= 0) e (a <> 0)) entao
    Escreva('x = ', raizPositiva: 0: 2, ' ou x = ', raizNegativa: 0: 2)
  senao
    Escreva('A equacao nao possui raizes reais!');
fim.

Solução em Pascal, Lazarus, Delphi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
program Exercicio26;
 
uses
  Classes,
  SysUtils;
 
var
  a, b, c: Double;
  raizPositiva, raizNegativa: Double;
  delta: Double;
begin
  try
    Write('Informe o valor de A: ');
    Readln(a);
 
    Write('Informe o valor de B: ');
    Readln(b);
 
    Write('Informe o valor de C: ');
    Readln(c);
 
    delta := sqr(b) - (4 * a * c);
 
    { Não existe raiz de número negativo no conjunto dos números reais }
    // sqrt = raiz quadrada
    // sqr = potencia n * n
    if ((delta >= 0) and (a <> 0)) then
    begin
      // -b + raiz ( b*b - (4.a.c) ) / 2.a
      raizPositiva := ((b * (-1)) + sqrt(sqr(b) - (4 * a * c))) / 2 * a;
 
      // -b - raiz ( b*b - (4.a.c) ) / 2.a
      raizNegativa := ((b * (-1)) - sqrt(sqr(b) - (4 * a * c))) / 2 * a;
    end;
 
    if ((delta >= 0) and (a <> 0)) then
      Writeln('x = ', raizPositiva: 0: 2, ' ou x = ', raizNegativa: 0: 2)
    else
      Writeln('A equacao nao possui raizes reais!');
 
    Write(#10#13#10#13, 'Tecle "Enter" para sair.');
    Readln;
 
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

Outras linguagens? Envie a sua sugestão de resposta para showdelphi@showdelphi.com.br.

Facebook Comments Box
  • InfusTec
  • 11.254 views
  • 0 comentários
  • 4 de fevereiro de 2016

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário


Posts Relacionados - Continue Aprendendo

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados