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

Лабораторна робота №9 Події та їх опрацювання. Застосування генератора випадкових чисел

9.1 Мета роботи

Навчитись створювати у прикладній програмі прогнозування результатів від дії можливих випадкових факторів впливу при використанні таблиці текстових рядків StringGrid і поля редагування Edit.

9.2 Теоретичні відомості

В попередній роботі був проведений розрахунок якості деталей в залежності від їх кількості. При цьому кваліфікація виконавців приймалася найнижчою (а=0). Складена програма дозволяла зафіксувати і інше значення а, та тільки шляхом втручання в текст програми. Для більш дружнього інтерфейсу прикладної програми “Розрахунок партії випуску деталей” бажано внести на форму редагований текст Edit, або ж об’єкт RadioGroup з набором відповідної кількості значень а (властивість Items).

В теоретичному підгрунті до даної комплексної роботи говорилось по те, що при прогнозуванні якості виконання деталей окрім врахованих вище факторів впливу варто запрогнозувати ймовірний вплив певних випадкових факторів. Йдеться про те, що в прикладну програму варто ввести ще одне поле редагування Edit2, куди користувач міг би вводити певну величину b – кількість сторонніх факторів впливу. Вплив b на ймовірні результати обчислень очевидно буде розкиданий у певних межах. Тому функціональна залежність якості деталей qual1 від величини b в тексті програми може бути виражена наступним чином:

Randomize;

qual1:=Random(b);

9.3 Хід роботи

9.3.1 Входять в середовище Delphi і відкривають лабораторну роботу №8.

9.3.2 Вставляють у вікно форми поле редагування Edit2, надавши властивості Text значення “-“.

9.3.3 Над об’єктом Edit2 розміщають об’єкт Label5 для створення тексту “Величина партії деталей”.

9.3.4 Вставляють у форму об’єкт RadioGroup.

9.3.5 У вікні інспектора об’єктів знаходять властивість Items і подвійним клацанням правіше від назви властивості на піктограмці відкривають діалогове вікно String List Editors, де вказують певну кількість величин а. Наприклад, 5 перемикачів у групі.

9.3.6 Під правим стовпцем таблиці рядків StringGrid1 правіше від об’єктів Label3 i Label4 розміщують об’єкти Label6 i Label7 для подачі в них розрахунку кількості якісних деталей і кількості комплектів у залежності від внесених сторонніх факторів впливу.

9.3.7 Подвійним клацанням на об’єкті SpeedButton1 відкривають процедуру SpeedButton1Click і вносять до неї відповідні зміни. Після внесених змін процедура набуде такого вигляду:

procedure TForm1.SpeedButton1Click(Sender: TObject);

var

n, q, qual, qual2, x, z, z1, komp, komp2, a, b, m, cod: Integer;

s: string;

begin

Val(Edit2.Text, b, cod);

q:=100-b*10;

z:=0; z1:=0; qual:=0;

Val(Edit1.Text, m, cod);

case RadioGroup1.ItemIndex of

0: a:=1;

1: a:=2;

2: a:=3;

3: a:=4;

4: a:=5;

end;

for n:=1 to m do

begin

qual:=qual+Round(((a/10+2.6)*(Abs(Sin(Pi/2*n/m)))));

if qual>100 then qual:=100;

Str(qual,s); Form1.StringGrid1.Cells[1, n]:= s+'балів’;

Randomize;

qual2:=Random(b);

qual2:= Round((q+qual2)*qual/100);

if qual2>100 then qual:=100;

Str(qual2,s); Form1.StringGrid1.Cells[2, n]:= s+’балів’;

if qual < 75 then x:=0

else x:=1;

z:=z+x;

komp:=Trunc(z/5);

if qual2 < 75 then x:=0

else x:=1;

z1:=z1+x;

komp2:=Trunc(z1/5);

end;

Str(z,s);

Label3.Caption:=s+'штук';

Str(z1,s);

Label6.Caption:=s+'штук';

Str(komp,s);

Label4.Caption:= s;

Str(komp2,s);

Label7.Caption:=s;

end;

9.3.8 Записують програму і створюють відповідний exe-файл.

9.3.9 Запускають програму і перевіряють її дієздатність.