Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторні роботи_ООП.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
7.3 Mб
Скачать

Лабораторна робота №5

Тема: Розробка програм на розгалуження та цикли.

Мета роботи: навчитися користуватися простими компонентами організації перемикань (TСheckBox, TRadioGroup). Написати і відладити програму алгоритму, що розгалужується.

Завдання

Ввести три числа – x,y,z. Обчислити по розгалуженні u=sin(x) або u=cos(x), або u=tg(x). Знайти за бажанням максимальне з трьох чисел: max(u,y,z), або max (|u|,|y|,|z|).

Хід роботи

  1. Створити папку С:\Delphi\lab_5.

  2. Завантажити середовище візуального програмування Delphi.

  3. Створити форму, представлену|уявляти| на малюнку, і написати відповідну програму, скоректувавши текст написів Label|надписів| і положення|становище| вікон TEdit|. Крім того, розмістіть на формі компонент Memo для відображення інформації про виконання роботи, а також кнопку для запуску обчислень програми.

|

4. Виберіть в меню компонентів Standard піктограму і помістите її в потрібне місце форми. За допомогою інспектора об'єктів зміните заголовок (Caption) на “maxabs”. У тексті програми з'явилася змінна CheckBox1 типу TСheckBox. Тепер залежно від того, натиснута чи ні кнопка, булева змінна CheckBox1.Checked набуватиме значень true або false.

5. Виберіть в меню компонентів Standard| піктограму і помістите її в потрібне місце|місце-милю| форми. На формі з'явиться|появлятиметься| облямований лінією чистий прямокутник із|із| заголовком RadioGroup1|. Заміните заголовок (Caption|) на U(x). Для того, щоб розмістити на компоненті кнопки, необхідна властивість Columns| встановити рівним одиниці (кнопки розміщуються в одному стовпці). Двічі клацніть|лускайте| по правій частині|частці| властивості Items| мишею, з'явиться|появлятиметься| рядковий редактор списку заголовків кнопок. Наберіть три рядки з|із| іменами: у першому рядку - cos|(x), в другій - sin|(x), в третій - tg|(x), натисніть|натискуйте| ОК. Після|потім| цього на формі усередині|всередині| оздоблення|облямовувати| з'явиться|появлятиметься| три кнопки-перемикачі з|із| введеними|запроваджувати| написами|надписами|. Зверніть увагу на те, що в тексті програми з'явилася змінна RadioGroup1 типу TRadioGroup. Тепер при натисненні однієї з кнопок групи в змінній цілого типу RadioGroup1.ItemIndex знаходитиметься номер натиснутої клавіші (відлічується від нуля), що використовується в тексті приведеної програми.

6. Створити процедури-обробники подій FormСreate| і Button1Сlick|, текст процедур приведений нижче.

procedure| TForm1|.FormCreate(Sender|: TObject|);

begin|

Edit1|.text:='0,1';

Edit2|.text:='0,356';

Edit3|.text:='0';

Memo1|.Clear;

Memo1|.Lines.Add('Виконав студент групи ПК-32');

end|;

procedure| TForm1|.Button1Click(Sender|: TObject|);

var| x,y,z,u,ma:extended|;

begin|

// Введення початкових|вихідних| даних і їх вивід|висновок| у вікно Memo1|

x:=StrToFloat|(Edit1|.Text);

Memo1|.Lines.Add(' x='+Edit1|.Text);

y:=StrToFloat|(Edit2|.Text);

Memo1|.Lines.Add(' y='+Edit2|.Text);

z:=StrToFloat|(Edit3|.Text);

Memo1|.Lines.Add(' z='+Edit3|.Text);

// Перевірка номера натиснутої|натискувати| кнопки і вибір відповідної нею функції

case| RadioGroup1|.ItemIndex of|

0: u:=cos|(x);

1: u:=sin|(x);

2: u:=sin|(x) /cos(x);

end|;

// Перевірка стану|достатку| кнопки CheckBox1|

if| CheckBox1|.Checked then|

begin| u:=abs|(u);

y:=abs|(y);

z:=abs|(z) end|;

// Знаходження максимального з|із| трьох чисел

if| u>y| then| ma:=u| else| ma:=y|;

if| z>ma| then| ma:=z|;

if| CheckBox1|.Checked then|

Memo1|.Lines.Add(' maxabs='+FloatToStrF|(ma,ffFixed,8,2|))

else|

Memo1|.Lines.Add(' max='+FloatToStrF|(ma,ffGeneral,8,2|));

end|;

7. Запустити проект та перевірити правильність його виконання.

||