Практическая работа по "Программированию"
Автор: Abylaikhan Galymzhanov • Декабрь 15, 2022 • Практическая работа • 4,391 Слов (18 Страниц) • 186 Просмотры
Тәжірибелік жұмыс №8
a, b және c коэффициенттерімен берілген квадрат теңдеуді шешудің Delphi-қосымшасын төмендегі программа кодын пайдаланып құрыңыз.
unit Kvur;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,c: real;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress (Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin Key:=#0; Edit2.SetFocus; end;
if ((Key<'0') or (Key>'9')) and (Key<>',') and (Key<>’-’) then Key:=#0;
end;
procedure TForm1.Edit2KeyPress (Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin Key:=#0; Edit3.SetFocus; end;
if ((Key<'0') or (Key>'9')) and (Key<>',') and (Key<>’-’) then Key:=#0;
end;
procedure TForm1.Edit3KeyPress (Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin Key:=#0; Button2.SetFocus; end;
if ((Key<'0') or (Key>'9')) and (Key<>',') and (Key<>’-’) then Key:=#0;
end;
procedure TForm1.Button1Click (Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Label6.Caption:='';
Label7.Caption:='';
Label8.Caption:='';
Edit1.SetFocus;
end;
procedure TForm1.FormCreate (Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Label6.Caption:='';
Label7.Caption:='';
Label8.Caption:='';
end;
procedure TForm1.Button3Click (Sender: TObject);
begin
Close;
end;
procedure TForm1.Button2Click (Sender: TObject);
var d,x1,x2: real;
begin
try
a:=StrToFloat(Edit1.Text);
except
ShowMessage('a коэффициенті дұрыс берілмеген');
Exit;
end;
try
b:=StrToFloat(Edit2.Text);
except
ShowMessage('b коэффициенті дұрыс берілмеген');
Exit;
end;
try
c:=StrToFloat(Edit3.Text);
except
ShowMessage('c коэффициенті дұрыс берілмеген');
Exit;
end;
if a=0 then
begin
ShowMessage(' a коэффициенті 0-ге тең болмауы керек!');
Exit;
end;
d:=sqr(b)-4*a*c;
if d<0 then Label6.Caption:='Теңдеудің нақты түбірі жоқ'
else
begin
x1:=(-b-sqrt(d))/(2*a); x2:=(-b+sqrt(d))/(2*a);
Label7.Caption:='Теңдеудің 1-ші түбірі: '+FloatToStr(Round(x1*1E3)/1E3);
Label8.Caption:='Теңдеудің 2-ші түбірі: '+FloatToStr(Round(x2*1E3)/1E3);
end;
end;
end.
Әдебиет:
1. Негізгі –1, 2, 7, 13
2. Қосымша - 14
Сызықты алгоритмдерді программалау.
Бақылау сұрақтары мен тапсырмалар
1. Object Раsсаl тіліндегі процедуралар мен функциялардьщ қызметі қандай және олар қалай сипатталады?
2. Рекурсия дегеніміз не?
3. Жергілікті және глобальды атаулар деп қандай атауларды айтамыз?
4. Процедуралар мен функциялардың орналасуының қандай ерекшелігі бар?
5. Қосалқы программаларға қолданылатын қандай стандартты директивалар бар?
6. Формальды параметрлер дегеніміз не?
...