Опрацювання величин логічного типу. Вказівка розгалуження

 Мета: ознайомити з правилами опису алгоритмів розгалуження в середовищі Lazarus, формувати вміння реалізовувати алгоритми розгалуження, використовувати величини логічного типу.

Хід заняття

Створити проект товарного чеку, який передбачає введення значень:
1) кількість товару
2) вартість товару,
3) отримана сума.
Запрограмувати кнопки:
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
 Кнопка "Решта"
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 "Агрегатний стан води"

              

ОПРАЦЮВАННЯ ВЕЛИЧИН ЛОГІЧНОГО ТИПУ. КОМАНДА РОЗГАЛУЖЕННЯ

ХІД ЗАНЯТТЯ
І. У підручнику опрацювати параграф 24. (ст.157-160) за планом:
1. Як порівнюють значення величин у програмах? (ст.157-158)
Зверніть увагу:
- Операції порівняння та їх запис Таблиця 24.1
- Порівняння числових величин мовою програмування Мал.24.1

2. Які операції можна виконувати над логічними величинами? (ст.158)
Зверніть увагу
- Талиця істинності Таблиця 24.3

3. Як описати алгоритмічну структуру розгалуження мовами програмування? (ст.159-160)
Зверніть увагу: 
- Оператор неповного розгалуження Таблиця 24.5
- Оператор повного розгалуження Таблиця 24.6
- Вкладені розгалуження Таблиця 24.7

Для кращого розуміння команди розгалуження перегляньте відео

ІІ. Виконання практичних завдань.
Вправа 2. Агрегатний стан води. (ст.161) 

Практичне завдання  можна виконати двома способами.

Спосіб 1.
  • Розробіть проект АГРЕГАТНИЙ СТАН ВОДИ в середовищі  Lazarus.  Запрограмуйте кнопку, що є на формі. Збережіть проект в себе за комп'ютером. 
  • Зробіть скріншот екрану, з розробленим проектом, збережіть його і здайте виконане завдання у Google Клас.
  • Порядок роботи розроблений у підручнику.

Спосіб 2.
Працюємо в зошиті з інформатики
  • Накресліть форму до проекту  АГРЕГАТНИЙ СТАН ВОДИ в зошиті. Напишіть програмний код  до кнопки, що є на формі.
  • Сфотографуйте проект з програмним кодом до кнопки  в себе в зошиті здайте роботу у Google Клас.
  • Порядок роботи розроблений у підручнику.
ІІI. Домашнє завдання:
Опрацювати параграф 24 у підручнику (ст.157-160)