unit rkwadrat; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) parameters_group: TGroupBox; input_a: TEdit; input_b: TEdit; input_c: TEdit; label_a: TLabel; label_b: TLabel; label_c: TLabel; equation: TLabel; solution_group: TGroupBox; solve_button: TButton; solution: TLabel; procedure solve_buttonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function solveEquation(a,b,c:real): string; var delta,x1,x2: real; begin if a=0 then { mamy do czynienia z równaniem liniowym } begin if b=0 then begin if c<>0 then Result:='Brak miejsc zerowych' else Result:='Nieskonczenie wiele miejsc zerowych'; end else begin x1:=-c/b; Result:=Format('Funkcja ma jedno miejsce zerowe: %.5f',[x1]); end; end else { mamy do czynienia z równaniem kwadratowym } begin delta:=b*b-4*a*c; if delta < 0 then begin { Brak pierwiastków (delta ujemna) } Result:='Brak pierwiastków równania!'; end else if delta > 0 then begin { Dwa pierwiastki (delta dodatnia) } x1:= (-b-sqrt(delta))/(2*a); x2:= (-b+sqrt(delta))/(2*a); Result:=Format('Funkcja ma dwa pierwiastki: %.5f oraz %.5f',[x1,x2]); end else begin { Pierwiastek podwójny (delta zerowa) } x1:= -b/(2*a); Result:=Format('Funkcja ma jeden pierwiastek podwójny: %.5f',[x1]); end; end; end; procedure TForm1.solve_buttonClick(Sender: TObject); var a,b,c: real; begin a:=strtoint(input_a.text); b:=strtoint(input_b.text); c:=strtoint(input_c.text); { rozwiazujemy! } solution.Caption:=solveEquation(a,b,c); end; end.