PROGRAM FormulaResolvente2;
USES crt; (* Só para a utilização do ClrScr. *)
var a, b, c : real; // Parâmetros de Ax^2 + Bx + C = 0
d : real; // Discriminante
x1, x2 : real; // Raízes reais
vx, vy : real; // Vértice
opc : char; // Opção de saída
BEGIN
ClrScr;
writeln('FORMULA RESOLVENTE, ax^2 + bx + c = 0');
writeln;
repeat
write('a? ');
readln(a);
if (a=0) then writeln('[ERRO! A=0]');
until (a<>0);
write('b? ');
readln(b);
write('c? ');
readln(c);
// Cálculo do discriminante
d := sqr(b) - 4*a*c;
// Cálculo das raízes
if (d>=0) then begin
x1 := (-b + sqrt(d)) / (2*a);
x2 := (-b - sqrt(d)) / (2*a);
end;
// Cálculo dos pontos X e Y do vértice
vx := -b / (2*a);
vy := a*sqr(vx) + b*vx + c;
// Output dos resultados
writeln;
writeln('DISCRIMINANTE:');
writeln(' d = ', d, ' (', d:15:10, ')');
writeln;
writeln('RAIZES:');
if (d>=0) then begin
writeln(' x1 = ', x1, ' (', x1:15:10, ')');
writeln(' x2 = ', x2, ' (', x2:15:10, ')');
if (d=0) then writeln(' [ATENCAO: Raiz dupla!]');
end else writeln(' [ERRO MATEMATICO: Sem raizes reais!]');
writeln;
writeln('VERTICE:');
writeln(' X = ', vx, ' (', vx:15:10, ')');
writeln(' Y = ', vy, ' (', vy:15:10, ')');
END.
UFJPR1JBTSBGb3JtdWxhUmVzb2x2ZW50ZTI7ClVTRVMgY3J0OyAgKCogU8OzIHBhcmEgYSB1dGlsaXphw6fDo28gZG8gQ2xyU2NyLiAqKQoKdmFyIGEsIGIsIGMgOiByZWFsOyAgLy8gUGFyw6JtZXRyb3MgZGUgQXheMiArIEJ4ICsgQyA9IDAKICAgIGQgOiByZWFsOyAgICAgICAgLy8gRGlzY3JpbWluYW50ZQogICAgeDEsIHgyIDogcmVhbDsgICAvLyBSYcOtemVzIHJlYWlzCiAgICB2eCwgdnkgOiByZWFsOyAgIC8vIFbDqXJ0aWNlCiAgICBvcGMgOiBjaGFyOyAgICAgIC8vIE9ww6fDo28gZGUgc2HDrWRhCgpCRUdJTgogICAgIENsclNjcjsKICAgICB3cml0ZWxuKCdGT1JNVUxBIFJFU09MVkVOVEUsIGF4XjIgKyBieCArIGMgPSAwJyk7CiAgICAgd3JpdGVsbjsKCiAgICAgcmVwZWF0CiAgICAgICAgICAgd3JpdGUoJ2E/ICcpOwogICAgICAgICAgIHJlYWRsbihhKTsKICAgICAgICAgICBpZiAoYT0wKSB0aGVuIHdyaXRlbG4oJ1tFUlJPISBBPTBdJyk7CiAgICAgdW50aWwgKGE8PjApOwoKICAgICB3cml0ZSgnYj8gJyk7CiAgICAgcmVhZGxuKGIpOwoKICAgICB3cml0ZSgnYz8gJyk7CiAgICAgcmVhZGxuKGMpOwoKICAgICAvLyBDw6FsY3VsbyBkbyBkaXNjcmltaW5hbnRlCiAgICAgZCA6PSBzcXIoYikgLSA0KmEqYzsKCiAgICAgLy8gQ8OhbGN1bG8gZGFzIHJhw616ZXMKICAgICBpZiAoZD49MCkgdGhlbiBiZWdpbgogICAgICAgIHgxIDo9ICgtYiArIHNxcnQoZCkpIC8gKDIqYSk7CiAgICAgICAgeDIgOj0gKC1iIC0gc3FydChkKSkgLyAoMiphKTsKICAgICBlbmQ7CgogICAgIC8vIEPDoWxjdWxvIGRvcyBwb250b3MgWCBlIFkgZG8gdsOpcnRpY2UKICAgICB2eCA6PSAtYiAvICgyKmEpOwogICAgIHZ5IDo9IGEqc3FyKHZ4KSArIGIqdnggKyBjOwoKICAgICAvLyBPdXRwdXQgZG9zIHJlc3VsdGFkb3MKICAgICB3cml0ZWxuOwogICAgIHdyaXRlbG4oJ0RJU0NSSU1JTkFOVEU6Jyk7CiAgICAgd3JpdGVsbignICAgZCA9ICcsICBkLCAnICAoJywgIGQ6MTU6MTAsICcpJyk7CgogICAgIHdyaXRlbG47CiAgICAgd3JpdGVsbignUkFJWkVTOicpOwogICAgIGlmIChkPj0wKSB0aGVuIGJlZ2luCiAgICAgICAgd3JpdGVsbignICB4MSA9ICcsIHgxLCAnICAoJywgeDE6MTU6MTAsICcpJyk7CiAgICAgICAgd3JpdGVsbignICB4MiA9ICcsIHgyLCAnICAoJywgeDI6MTU6MTAsICcpJyk7CiAgICAgICAgaWYgKGQ9MCkgdGhlbiB3cml0ZWxuKCcgIFtBVEVOQ0FPOiBSYWl6IGR1cGxhIV0nKTsKICAgICBlbmQgZWxzZSB3cml0ZWxuKCcgIFtFUlJPIE1BVEVNQVRJQ086IFNlbSByYWl6ZXMgcmVhaXMhXScpOwoKICAgICB3cml0ZWxuOwogICAgIHdyaXRlbG4oJ1ZFUlRJQ0U6Jyk7CiAgICAgd3JpdGVsbignICAgWCA9ICcsIHZ4LCAnICAoJywgdng6MTU6MTAsICcpJyk7CiAgICAgd3JpdGVsbignICAgWSA9ICcsIHZ5LCAnICAoJywgdnk6MTU6MTAsICcpJyk7CkVORC4=