Отчёт по СП. Отчёт. Создание проекта разветвляющейся структуры
Скачать 1.14 Mb.
|
Практическая работа 03 Тема: Создание проекта разветвляющейся структуры. Цель: научиться пользоваться простейшими компонентами организации переключений (TСheckBox). Написать и отладить программу разветвляющегося алгоритма. Задания: 1) Вычислить и вывести на экран значения функции F. Где а, b, с — действительные числа. Значения а, b, с, x ввести с клавиатуры 1)Написать программу, позволяющая получить словесное наименование оценок. Выполнение работы 2.1 Блок-схема: Простая форма Укрупнённый алгоритм Действия на форме Детальный алгоритм 2.2 Программный код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label4: TLabel; Memo1: TMemo; Button1: TButton; CheckBox1: TCheckBox; Label5: TLabel; Edit4: TEdit; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Edit3KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit4KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; a,b,c,F:extended; x:real; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Clear; a:=strtofloat(Edit1.Text); b:=strtofloat(Edit2.Text); c:=strtofloat(Edit3.Text); x:=strtofloat(Edit4.Text); Memo1.Lines.Add('Исходные данные:'); Memo1.Lines.Add('Значение a='+FloatToStrF(a,fffixed,8,3)); Memo1.Lines.Add('Значение b='+FloatToStrF(b,fffixed,8,3)); Memo1.Lines.Add('Значение c='+FloatToStrF(c,fffixed,8,3)); Memo1.Lines.Add('Значение x='+FloatToStrF(x,fffixed,8,3)); if ((x<0) and (b<>0)) then F:=a*x*x+b else if ((x>0) and (b=0)) then F:=(x-a)/(x-c) else F:=x/c; if CheckBox1.Checked then Memo1.Lines.Add('Результат F: '+FloatToStr(Round(F))) else Memo1.Lines.Add('Результат F: '+FloatToStrF(F,fffixed,8,3)); end; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Text:=('2'); Edit2.Text:=('0'); Edit3.Text:=('6'); Edit4.Text:=('4'); end; procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9',#8,'-',',']) then key:=#0; end; procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9',#8,'-',',']) then key:=#0; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9',#8,'-',',']) then key:=#0; end; procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9',#8,'-',',']) then key:=#0; end; end. 2.3 Скриншот программы: 2.4 Блок-схема: Простая форма Укрупнённый алгоритм Действия на форме Детальный алгоритм 2.5 Программный код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; k:byte; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin k:=strtoint(Edit1.Text); case k of 1: Label3.Caption:='Кол'; 2: Label3.Caption:='Неудовлетворительно'; 3: Label3.Caption:='Удовлетворительно'; 4: Label3.Caption:='Хорошо'; 5: Label3.Caption:='Отлично'; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Text:='5'; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['1'..'5',#8]) then key:=#0; end; end. 2.6 Скриншот программы: |