
лабораторная работа / лабораторные работы по LAZARUS / Программирование разветвляющихся алгоритмов №2 вар10
.doc
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ
САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ
факультет: ИС
кафедра: УИТ
дисциплина: системное программное обеспечение
Лабораторная работа №2
Программирование разветвляющихся алгоритмов
Выполнил:
студент 3-ого курса
гр. УИТ-32
принял:
г. Балаково 2005 г.
Цель лабораторной работы: освоить использование простейших компонентов-переключателей и создать приложение, которое использует разветвляющийся алгоритм.
Задание №10: создать Windows-приложение для вычисления выражения
,
где t=2.2 или t=1,1
по желанию пользователя. В панели
интерфейса предусмотреть возможность
управления контрольным выводом исходных
данных.
Программа:
unit U_lab2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
Edit1: TEdit;
Label1: TLabel;
CheckBox1: TCheckBox;
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.Add('Лабораторная работа №2 - Разветвляющийся алго-ритм');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x,t,z : double; // объявление локальных переменных
begin
x:=StrToFloat(Edit1.Text); // X присваивается содержимое Edit1
// fx присваивается начальное значение
// Выбор функции, соответствующей нажатой кнопке:
case RadioGroup1.ItemIndex of
0: t:=2.2;
1: t:=1.1;
end;
// Вычисление выражения:
if x<0.5 then
z:=(3*ln(x)+x*x)/sqrt(x+t)
else if x=0.5 then
z:=sqrt(x+t)+1/x
else z:=cos(x)+t*sin(x);
// Проверка состояния кнопки CheckBox1:
if CheckBox1.Checked then
Memo1.Lines.Add('X = '+Edit1.Text); // контрольный вывод X, в Memo1
// Вывод результата в Memo1:
Memo1.Lines.Add(' Z = '+FloatToStrF(z,ffFixed,8,3));
end;
end.
end.
Пример полученного результата:
х=2.2
t=2.2
z=1.19