Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная работа / лабораторные работы по LAZARUS / Программирование разветвляющихся алгоритмов №2 вар10

.doc
Скачиваний:
58
Добавлен:
11.02.2014
Размер:
29.18 Кб
Скачать

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ

САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ

факультет: ИС

кафедра: УИТ

дисциплина: системное программное обеспечение

Лабораторная работа №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