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

{Якщо прапорець “на монітор” ввімкнутий};

Memo1.Lines.Add(Str1+str2+str3+str4);

{то виводимо у Memo протабульовані значення параметрів};

k:=k+k1;

end

end;

6.3.6 Зберігають програму (команда Save All).

6.3.7 Запускають програму (команда Run).

Лабораторна робота №7 Програмування циклів в циклі

7.1 Мета роботи:

Запрограмувати перемикачі вибору матеріалу заготованки, а саме легована чи вуглецева сталь (об’єкти RadioButton) і групу перемикачів, що уточнюють характеристики вибраних матеріалів, тобто різну величину твердості по Брінелю - НВ (об’єкт RadioGrop).

Запрограмувати розрахунок і табулювання значень глибини стружкової канавки h в залежності від вибору величини подачі (підйому) на зуб – а та довжини протягування L; запрограмувати табулювання значень кількості зубів протяжки і тягового зусилля протяжного верстату в залежності від діаметру D, довжини протягування L і характеристик матеріалу – Q. Результати табулювання ввести в багаторядкове поле редагування. Передбачити можливість виведення результатів на тільки на екран, але і в файл. Напрямок виведення задати за допомогою прапорців (об’єкт CheckBox), розташованих на панелі групи об’єктів GroupBox.

7.2 Хід роботи

7.2.1 Відкривають попередню роботу №6 і записують під іменем №7.

7.2.2 Вставляють у форму перемикачі RadioBatton1 i RaduoButton2, перейменовуючи їх відповідно на “вуглецева сталь” і “легована сталь”.

      1. Вставляють у форму групу перемикачів RadioGroup2 і змінюють її властивість Caption на “Твердість”.

      2. Використовують властивість об’єкта RadioGroup2 – Items, щоб внести у групу різні значення твердості HB<197, 197 < HB>229, HB >229.

      3. Запрограмовують цикл об’єкта RadioGroup2, використовуючи властивість ItemIndex (наприклад Itemindex=0, якщо НВ<197). Поруч із значеннями а, користуючись таблицею 4.1, вставляють значення Q. Тепер цикл, запрограмований в попередній роботі, набуде такого вигляду:

if RadioGroup2.Itemindex = 0 then

case RadioGroup1.ItemIndex of

0: begin

a:=0.02;Q:=93;

end;

1: begin

a:=0.05;Q:=160;

end;

2: begin

a:=0.08;Q:=207;

end;

3: begin

a:=0.10;Q:=247;

end;

4: begin

a:=0.15;Q:=338;

end;

5: begin

a:=0.20;Q:=420;

end;

6: begin

a:=0.30;Q:=564;

end;

end;

if RadioGroup2.Itemindex = 1 then

…

if RadioGroup2.Itemindex = 2 then

…

end;

7.2.6 Вводять у процедуру TForm.N1.Click оператори розрахунку

t := 2.5*h;

z := Trunc(L/t +2); {оскільки величина кількості зубів має цілочисельне значення};

P: =Q*b*z*C; {перед цим визначають, що b := p*D};

{C - поправочний коефіціент};

P := P*N ; {N – запас потужності};

      1. До змінних вказаної процедури відносять всі параметри, що є e введених тут операторах.

      2. Для отримання їх числового значення в вносять додаткові процедури Val.

      3. Для отримання на моніторі у рядках Memo1 значень ново введених параметрів у процедуру TForm.N1.Click вводять додаткові процедури Str.

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

      5. Для застосування перемикачів “Легована сталь” і “Вуглецева сталь” слід ще раз запрограмувати команду “Протабулювати”. Після внесення відповідних змін програма “Розрахунок тягового зусилля протяжного верстату” набуде такого вигляду:

procedure TForm1.N1Click(Sender: TObject);

var

a, b, L, h, k, k1, P, C, z, N, D, Q, min, max : real;

cd: integer;

str1, str2, str3, str4, str5, str6 : string;

begin

Val(Edit1.Text, min, cd);

Val(Edit2.Text, max, cd);

Val(Edit3.Text, k1, cd);

Val(Edit4.Text, L, cd);

Val(Edit5.Text, z, cd);

Val(Edit6.Text, P, cd);

Memo1.Lines.Add(‘k a L h z P’);

k: = min;

while k<=max +(k1)/2 do

begin

if RadioButton.Checked = True then

begin

if RadioGroup2.Itemindex = 0 then

case RadioGroup1.ItemIndex of

0: begin

a:=0.02;Q:=93;

end;

1: begin

a:=0.05;Q:=160;

end;

2: begin

a:=0.08;Q:=207;

end;

3: begin

a:=0.10;Q:=247;

end;

4: begin

a:=0.15;Q:=338;

end;

5: begin

a:=0.20;Q:=420;

end;

6: begin

a:=0.30;Q:=564;

end;

end;

if RadioGroup2.Itemindex = 1 then

case RadioGroup1.ItemIndex of

0: begin

a:=0.02;Q:=103;

end;

…

end;

end

else

begin

if RadioGroup2.Itemindex = 0 then

case RadioGroup1.ItemIndex of

0: begin a:=0.02;Q:=124; end;

…

end;

…

end;

end;

h:=1.13*Sqrt(k*L*a);

t:=2.5*h;

z:=Trunc(L/t +2);

b:=p*D;

P:=Q*b*z*C; P:=P*N ;

Str(k:2:1,str1);

Str(a:3:2,str2);

Str(L:4:1,str3);

Str(h:4:2,str4);

Str(z:2:0,str5);

Str(P:7:1,str6);

if CheckBox1.Checked then Memo1.Lines.Add(str1+str2+str3+str4 +str5 +str6);

k:=k+k1;

end;

end;

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