Мета: ознайомити з правилами опису алгоритмів розгалуження в середовищі Lazarus, формувати вміння реалізовувати алгоритми розгалуження, використовувати величини логічного типу.
Хід заняття
Створити проект товарного чеку, який передбачає введення значень:
1) кількість товару
2) вартість товару,
1) кількість товару
2) вартість товару,
3) отримана сума.
Запрограмувати кнопки:
1) Сплатити
2) Решта
3) Очистити
4) Вихід
Запрограмувати кнопки:
1) Сплатити
2) Решта
3) Очистити
4) Вихід
1) Кнопка "Вихід"
procedure TForm1.Button4Click(Sender: TObject);
begin
Form1.Close;
end;
2) Кнопка "Очистити"
procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text:=' ';
Edit2.Text:=' ';
....
end;
3) Кнопка "Сума до сплати"
procedure TForm1.Button1Click(Sender: TObject);
var x: integer; y,z:real;
begin
x:=strtoint(edit1.Text);
y:=strtofloat(edit2.Text);
z:=x*y;
edit3.Text:=floattostr(z);
end;
4) Кнопка "Решта"
procedure TForm1.Button2Click(Sender: TObject);
var x,y,z:real;
begin
x:=strtofloat(edit3.Text);
y:=strtofloat(edit4.Text);
z:=y-x;
edit5.Text:=floattostr(z);
end;
Виконати проект для значень:
1) кількість товару - 5
2) вартість товару, - 10,2
3) отримана сума - 200
Проаналізувати результат
Виконати проект для значень:
1) кількість товару - 5
2) вартість товару, - 10,2
3) отримана сума - 25
Проаналізувати результат
Отже, чи завжди ми можемо обчислити решту? Що потрібно додати до програмного коду, щоб алгоритм працював при будь-яких значеннях? Якого типу є даний алгоритм?
Так в даному випадку ми повинні перевірити чи отримана сума більша або рівна "Сумі до сплати" і лише тоді обчислювати решту або повідомити, що даних коштів не вистачає. Алгоритми такого типу ми називаємо "Алгоритми з розгалуженням"
Як описати алгоритмічну структуру розгалуження мовами програмування? (ст.159-160)
Зверніть увагу:
- Оператор неповного розгалуження Таблиця 24.5
- Оператор повного розгалуження Таблиця 24.6
- Вкладені розгалуження Таблиця 24.7
Зверніть увагу:
- Оператор неповного розгалуження Таблиця 24.5
- Оператор повного розгалуження Таблиця 24.6
- Вкладені розгалуження Таблиця 24.7
Кнопка "Решта"
procedure TForm1.Button2Click(Sender: TObject);
var x,y,z:real;
begin
x:=strtofloat(edit3.Text);
y:=strtofloat(edit4.Text);
if y>=x then
begin z:=y-x;
edit5.Text:=floattostr(z);
end
else edit5.Text:='Коштів не вистачає'
end;
Домашнє завдання: Прочитати п. 24 стор. 157-161
Переглянути відеоматеріал:
Індивідуальне завдання: Виконати вправу 2 стор. 161 "Агрегатний стан води"

Немає коментарів:
Дописати коментар