You are on page 1of 4

−𝑏±√𝑏 2 −4𝑎𝑐

Kreirati aplikaciju za rešavanje kvadratne jednačine ax2+bx+c=0, po formuli 𝑥1,2 = , gde je D = 𝑏 2 − 4𝑎𝑐. Ako
2𝑎
jednačina nema realna rešenja (D < 0) prikazati poruku “jednačina nema realno rešenje”. Ako jednačina ima jedno
rešenje (D = 0) prikazati poruku “jednačina ima jedno rešenje”, i prikazati resenje (x1 = -b/2a). Ako jednačina ima dva
rešenja (D > 0) prikazati poruku “jednačina ima dva rešenja”, a zatim ih oba prikazati.
Po pokretanju aplikacija treba da izgleda kao na slici 1. Pritiskom na dugme „RAČUNAJ“ treba da se prikaže
odgovarajuća poruka u labeli za prikaz poruke, da dugme „PONIŠTI“ postane aktivno i ako ima rešenja da se prikažu u
edit poljima, a parametri više ne mogu da se unose (slika 2). Ako jednačina nema realno rešenje ne prikazuju se ni edit
polja ni labele uz njih (slika 3). Ako jednačina ima jedno rešenje prikazuje samo x1 (slika 4). Ako se dugme „RAČUNAJ“
pritisne dok nisu uneti sva tri parametra prikazati odgovarajuću poruku i vratiti na unos (slika 5). U edit polja u kojima
se prikazuju rešenja se ne može unositi vrednost. U labeli gde je pre unosa parametara prikazan opšti oblik kvadratne
jednačine (ax^2+bx+c=0) po unosu parametra i pritiska na „RAČUNAJ“ treba da se prikažu vrednosti koje su unete za
parametre a, b i c. Pritiskom na dugme „PONIŠTI“ brišu se sve unete i prikazane vrednosti i aplikacija ima izgled kao
pri pokretanju (slika 6).
Proveriti za sledeće jednačine: a) -2x2+16x-32=0; b) 8x2+9x+3=0; c) 3x2+5x-6=0;

BBoojjaa ffoorrm
mee::
00008800FFFF8800
BBoojjaa llaabbeellaa ii eeddiitt kkoonnttrroollaa::
0000FFFF8800FFFF
var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);


var a,b,c,d:integer; x1,x2:real;
begin
if edit1.Text='' then begin
showmessage('niste uneli parametar a'); edit1.SetFocus;end
else
if edit2.Text= '' then begin
showmessage('niste uneli parametar b'); edit2.SetFocus;
end
else
if edit3.Text='' then begin
showmessage('niste uneli parametar c'); edit3.SetFocus;
end
else
begin
if not trystrtoint(edit1.Text,a)then begin
showmessage('greska'); edit1.SelectAll; edit1.SetFocus;end else
begin
a:=strtoint(edit1.Text ) ;
if not trystrtoint(edit2.Text,b)then begin
showmessage('greska');edit2.SelectAll; edit2.SetFocus;end else
begin
b:=strtoint(edit2.Text);
if not trystrtoint(edit3.Text,c)then begin
showmessage('greska');edit3.SelectAll; edit3.SetFocus;end else

begin
c:=strtoint(edit3.Text);
d:=sqr(b)-4*a*c;
label3.Caption:=edit1.Text+'X^2+('+edit2.Text+')X+(' + edit3.Text+')=0';
if d<0 then lbporuka.Caption:='jednačina nema realno rešenje'
else
if d=0 then begin
lbporuka.Caption:='jednačina ima jedno realno rešenje';
label8.Visible:=true;
edx1.Visible:=true;
edx1.Text:= floattostr(-b/2*a);
end
else
if d>0 then begin
lbporuka.Caption:='jednačina ima dva realna rešenja';
label8.Visible:=true;
edx1.Visible:=true;
label9.Visible:=true;
edx2.Visible:=true;
edx1.Text:= floattostrf((-b+sqrt(b*b-4*a*c))/(2*a),fffixed,15,2);
edx2.Text:= floattostrf((-b-sqrt(b*b-4*a*c))/(2*a),fffixed,15,2);
end;
edit1.Enabled:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
label4.Font.Color:=clgray;
label5.Font.Color:=clgray;
label6.Font.Color:=clgray;
button2.Enabled:=true;
button1.Enabled:=false;

end; end; end; end;

end;

procedure TForm1.Button2Click(Sender: TObject);


begin

edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
label4.Font.Color:=clblack;
label5.Font.Color:=clblack;
label6.Font.Color:=clblack; edit1.SetFocus;
label8.Visible:=false;
label9.Visible:=false;
edx1.Visible:=false;
edx2.Visible:=false;
lbporuka.Caption:='';
button2.Enabled:=false;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
button1.Enabled:=true;
label3.Caption:='aX^2+bX+c=0';
end;

procedure TForm1.Button3Click(Sender: TObject);


begin
close
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
label4.Font.Color:=clblack;
label5.Font.Color:=clblack;
label6.Font.Color:=clblack;
end;

end.

You might also like