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. |
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. |
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 [email protected].
Post Views: 11.291
-
InfusTec
-
- 0 comentários
- 4 de fevereiro de 2016