nel sorgente però non c'è la parte del grafico perchè non l'ho ancora fatta cmq:
Codice:
// programma creato da thebigdax
program disequazioni; // nome programma
uses crt,sysutils,math; // unit… utilizzate
var a1,b1,b2,c1,delta1,scelta:integer; //
x1,x2:real; // dichiarazione variabili
ripeti,grafok:char; //
dis1,dis2,dis3,dismag,dismin:string; //
// inizio dichiarazione procedure
procedure inserimento_valori;
begin
writeln;
delay(2000);
write('Inserisci il valore della a ');
readln(a1);
delay(750);
write('Inserisci il valore della b ');
readln(b1);
delay(750);
write('Inserisci il valore della c ');
readln(c1);
writeln;
end;
procedure calcolo_delta;
begin
b2:=sqr(b1);
delta1:=b2+(-4*a1*c1);
if delta1<0 then
begin
writeln('Non ci sono risultati possibili, il delta Š negativo');
writeln('Il delta Š ',delta1);
end;
if delta1>=0 then
begin
writeln('Il delta Š maggiore o uguale 0');
writeln('Il delta Š ',delta1);
end;
writeln
end;
procedure calcola_dis;
begin
x1:=(-b1-(sqrt(delta1)))/(2*a1);
x2:=(-b1+(sqrt(delta1)))/(2*a1);
writeln('I due risultati possibili sono: ',x1:3:2,' e ',x2:3:2);
end;
procedure risultatimag;
begin
if (scelta=1) and (a1>0) then
begin
writeln('Le parti che soddisfano la disequazione sono x<',x1:3:2,' e x>',x2:3:2);
writeln('Il risultato Š stato visualizzato');
delay(2000);
end;
if (scelta=1) and (a1<0) then
begin
writeln('La parte che soddifa la disequazione Š ',x1:3:2,'<x<',x2:3:2);
writeln('Il risultato Š stato visualizzato');
delay(2000);
end;
end;
procedure risultatimin;
begin
if (scelta=2) and (a1<0) then
begin
writeln('Le parti che soddisfano la disequazione sono x<',x1:3:2,' e x>',x2:3:2);
writeln('Il risultato Š stato visualizzato');
delay(2000);
end;
if (scelta=2) and (a1>0) then
begin
writeln('La parte che soddifa la disequazione Š ',x1:3:2,'<x<',x2:3:2);
writeln('Il risultato Š stato visualizzato');
delay(2000);
end;
end;
procedure creazione_dis;
var sa,sb,sc,dis:string; // variabili locali
begin
sa:=INTtoSTR(a1);
sb:=INTtoSTR(b1);
sc:=INTtoSTR(c1);
dis:='La disequazione completa Š ' + sa;
if (b1<0) and (c1<0) then
begin
dis1:=dis + 'x^2' + sb + 'x' + sc;
dismag:=dis1 + '>0';
dismin:=dis1 + '<0';
if scelta=1 then writeln(dismag);
if scelta=2 then writeln(dismin);
end;
if (b1>0) and (c1<0) then
begin
dis2:=dis + 'x^2+' + sb + 'x' + sc;
dismag:=dis2 + '>0';
dismin:=dis2 + '<0';
if scelta=1 then writeln(dismag);
if scelta=2 then writeln(dismin);
end;
if (b1>0) and (c1>0) then
begin
dis3:=dis + 'x^2+' + sb + 'x+' + sc;
dismag:=dis3 + '>0';
dismin:=dis3 + '<0';
if scelta=1 then writeln(dismag);
if scelta=2 then writeln(dismin);
end;
end;
// fine dichiarazioni delle procedure
// inizio programma principale
begin
repeat
textcolor(10);
clrscr;
gotoxy(16,3);
writeln(' == PROGRAMMA CHE RISOLVE ==');
gotoxy(15,4);
writeln(' le disequazioni di secondo grado');
delay(2000);
textcolor(15);
writeln;
writeln('Attendere prego...');
delay(4000);
writeln;
writeln('Che disequazione vuoi risolvere?');
writeln('Seleziona il numero per:');
writeln;
writeln('1. Maggiore');
writeln('2. Minore');
readln(scelta);
if (scelta=1) or (scelta=2) then
begin
inserimento_valori;
writeln;
delay(1500);
writeln;
delay(1500);
writeln('Attendi mentre creo la disequazione');
delay(2000);
creazione_dis;
writeln;
delay(500);
calcolo_delta;
writeln;
writeln('Attendere mentre risolvo la disequazione');
writeln;
delay(4000);
if delta1>=0 then calcola_dis;
if (scelta=1) and (delta1>=0) then risultatimag;
if (scelta=2) and (delta1>=0) then risultatimin;
end
else
begin
writeln;
writeln('Non hai inserito un numero valido');
end;
writeln;
delay(1000);
writeln('Vuoi ripetere il programma? s/n');
readln(ripeti);
until ripeti<>'s';
end.