non è uno scherzo..... devo consegniarlo dopo domani al prof di info.... è un programma che risolve equazioni di secondo grado...
ditemi se per qualche valore non va o se si può migliorare
codice:
Program equaazioni;
uses crt;
var a,b,c,x1,x2:real;
r:char;
begin
clrscr;
Repeat
writeln(' inserire se si vuole risolvere una equazione di secondo grado ');
writeln(' Pura (ax^2 + c ), Spuria (ax^2 + bx), Monomia (ax^2) o a ');
writeln(' Coefficienti maggiori di zero (ax^2 bx c). Il programma risolvere l''equazione ');
writeln(' inserire "P" per pura, "S" per spuria, "M" per monomia e "C" ');
writeln(' per equazioni con tutti e tre i coefficienti maggiori di zero ');
writeln(' scrivere minuscolo ');
readln(r);
until (r='p') or (r='s') or (r='m') or (r='c');
repeat
writeln(' inserire il valore di a ');
readln(a);
until a<>0;
if r='p'
then
begin
writeln(' inserire il valore di c ');
readln(c);
if -(c/a)<0
then writeln(' equazione pura impossibile ')
else
begin
x1:= sqrt(-(c/a));
x2:= -(sqrt(-(c/a)));
writeln(' x1=',x1:0:2,' e x2=',x2:0:2,' ');
end;
end
else
if r='s'
then
begin
writeln(' inserire il valore di b');
readln(b);
x2:=-(b/a);
writeln(' x1=0 e x2=',x2:0:2,' ');
end
else
if r='m'
then
writeln(' x1=0 e x2=0 ')
else
if r='c'
then
begin
writeln(' inserire il valore di b e c ');
readln(b,c);
if sqr(b)-(4*a*c)<0
then writeln(' equazione impossibile ')
else
if sqr(b)-(4*a*c)=0
then
begin
x1:=-b/(2*a);
writeln(' x1=',x1:0:2,' ');
end
else
begin
x1:=(-b - sqrt( sqr(b) + 4*a*c))/(2*a);
x2:=(-b + sqrt( sqr(b) + 4*a*c))/(2*a);
writeln(' x1=',x1:0:2,' e x2=',x2:0:2,' ');
end;
end;
readln;
end.