ПРАКТИЧНА РОБОТА

 Складання та виконання алгоритмів з повтореннями й розгалуженнями для опрацювання величин.

Завдання:
1. Повторіть § 24, 25 підручника. 
2. Виконайте завдання  1 та 3, що на ст. 179-180 підручника. 
3. Здайте виконане завдання у Google клас. 

 Завдання 1 (підручник ст.179). 
Розрахунок оплати за електроенергію
 
     В Україні за споживання електроенергії визначено такий порядок оплати залежно від спожитого обсягу: вартість 1 кВт при споживанні електроенергії до 100 кВт за місяць – 45,6 грн, від 100 кВт до 600 кВт – 78,9 грн, понад 600 кВт – 147,9 грн.
     Деяким споживачам надається пільговий обсяг безоплатного користування електроенергією, наприклад, 30 кВт. Якщо така пільга є, то її віднімають від спожитого обсягу, а далі розрахунок здійснюється за прийнятими тарифами. Розробіть у вибраному середовищі програмування проект Оплата за електроенергію, у якому користувач вносить у текстове поле обсяг спожитої електроенергії, та позначає за допомогою елементів управління (визначте самостійно) наявність пільги. Після натиснення кнопки Розрахувати отримує у вікні повідомлення розмір суми для оплати за електроенергію.



Завдання 3 (підручник ст.180). 
Шалені знижки 
У магазині на деякі товари (молоко, фрукти, овочі, печиво) прийняли систему знижок: товар, який не проданий за тиждень, наступного тижня дешевшає на 10%, ще через тиждень – на 20 % і т. д.
Розробіть у вибраному середовищі програмування проект Знижки, у якому користувач обирає зі списку товар й у текстове поле вносить номер тижня покупки. Після натиснення кнопки Розрахувати у вікні повідомлення – отримує ціну товару на дату покупки. Візьміть до уваги, що відсотки знижки розраховуються, починаючи із другого тижня за формулою:
price2=price1∙(100-1∙10)/100
price3=price2∙(100-2∙10)/100



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

 Мета: ознайомити учнів з особливістю використання циклів у мовах програмування.

ХІД ЗАНЯТТЯ

І. У підручнику опрацювати параграф 25 п.2-3 

Як мовами програмування описують цикл з лічильником? (ст.172-173)

Зверніть увагу: 
- Структура циклу з лічильником Мал.25.3
- Опис циклу з лічильником мовою програмування  Таблиця 25.2

Для кращого розуміння ЦИКЛУ З ЛІЧИЛЬНИКОМ перегляньте відео

Як мовами програмування описують цикл із післяумовою? (ст.174)
Для кращого розуміння ЦИКЛУ З ПІСЛЯУМОВОЮ перегляньте відео


ІІ. Домашнє завдання
Опрацюйте вивчений матеріал

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

Мета: ознайомити учнів з особливістю використання циклів у мовах програмування.

ХІД ЗАНЯТТЯ
І. У підручнику опрацювати параграф 25 П.1 
Як мовами програмування описують цикл із передумовою? (ст.170-171)
Зверніть увагу:
- Структура циклу з передумовою Мал.25.1
- Опис циклу з передумовою мовою програмування Таблиця 25.1

Для кращого розуміння ЦИКЛУ З ПЕРЕДУМОВОЮ перегляньте відео

ІІ. Розробіть проєкт Кількість доданків 
    (І спосіб - середовище Lazarus, ІІ спосіб - зошит з інформатики)

 Завдання. 
Скільки потрібно взяти доданків, перший з яких дорівнює заданому дійсному числу, а кожний наступний на 3 більший від попереднього, щоб їх сума перевищила 100 (можна скористатися підказкою у відео).
Здайте виконане завдання у Google Клас.

ІІІ. Домашнє завдання
Опрацюйте вивчений матеріал
.



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

 Мета: ознайомити з правилами опису алгоритмів розгалуження в середовищі 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). 

ТЕКСТОВІ ВЕЛИЧИНИ ТА ОПЕРАЦІЇ НАД НИМИ

Мета: сформувати уявлення про символьний тип даних і операції, які можна виконувати над символами.


ХІД ЗАНЯТТЯ
І. У підручнику опрацювати параграф 22. (ст.143-148) за планом:
1. Як вводять та описують текстові величини мовами програмування?                (ст.143-144)
Зверніть увагу:
- Типи величин та їх запис Таблиця 22.2
- Опис змінних мовою програмування Мал.22.3

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

3. Які функції застосовують для опрацювання текстових величин? (ст.148)
Зверніть увагу: 
- Опис функції мовою програмування Таблиця 22.6

ІІ. Робота за комп'ютером:
ст. 145 Вправа 1. Вітальна листівка
Виконайте завдання. В зошити запишіть програмний код до кнопки (можна скористатися поясненням в підручнику ст.145 або  відеопідказкою)

Домашнє завдання:
1. Опрацювати параграф 22 у підручнику (ст.143-148). 
2. Переглянути відео:

Числові величини. Створення та реалізація проекту.

Хід уроку

1. Створення проекту, з використанням числових величин.

Підручник ст.141 Завдання 3
У середовищі програмування Lazarus розробіть проект ЕЛЕКТРИКА, за допомого якого можна визначити опір електричного кола R, якщо в ньому провідники з опорами R1, R2, R3, R4 з'єднані:
1) послідовно R=R1+R2+R3+R4;
2) паралельно R=1/R1+1/R2+1/R3+1/R4.
Порівняйте програмні коди знаходження значення змінної R. Перевірте виконання проекту для R1=2, R2=3, R3=4, R4=5 Ом.


Для реалізації проекту створимо форму, з усіма необхідними об'єктами:
  • написи Label 1, Label 2,..,Label 6, з відповідними назвами;
  • текстове поле Edit 1,...Edit 5 пусте - без назв;
  • кнопки Button 1,.....Button 5, з відповідними назвами.
Дивись зразок:

Спочатку запрограмуємо кнопку ПОСЛІДОВНЕ З'ЄДНАННЯ, натиснувши на яку, в текстовому полі Edit 5 отримаємо опір кола за відповідною формулою.
Поміркуємо про кількість змінних в даній задачі. Змінюватися будуть опори  R1, R2, R3, R4, залежно від введених чисел у текстове поле, а також загальний опір R. Отже, маємо п'ять змінних R1, R2, R3, R4, R. 
Нагадаємо, змінні в програмному коді описуються після службового слова Var, яке записують перед словом begin.

Програмний код для кнопки ПОСЛІДОВНЕ З'ЄДНАННЯ
procedure TForm1.Button1Click(Sender: TObject);
  Var R1,R2,R3,R4,R:real; (змінні дійсного типу)
begin
   R1:=StrToFloat(Edit1.Text);(перетворює значення рядкового типу з поля Edit1, в значення дійсного типу)
   R2:=StrToFloat(Edit2.Text);(перетворює значення рядкового типу з поля Edit2, в значення дійсного типу)
   R3:=StrToFloat(Edit3.Text);(перетворює значення рядкового типу з поля Edit3, в значення дійсного типу)
   R4:=StrToFloat(Edit4.Text);(перетворює значення рядкового типу з поля Edit4, в значення дійсного типу)
   R:=R1+R2+R3+R4;(обчислення загального опору за формулою послідовного з'єднання)
   Edit5.Text:=FloatToStr(R);(виведення в поле Edit5 значення R загального опору)
end;   
                                                     
Проаналізуйте програмний код кнопки ПОСЛІДОВНЕ З'ЄДНАННЯ. 
Поміркуйте, чим буде відрізнятися програмний код кнопки ПАРАЛЕЛЬНЕ З'ЄДНАННЯ, натиснувши на яку в текстовому полі Edit 5, отримаємо опір кола за відповідною формулою. Спробуйте самостійно запрограмувати кнопку.

Нагадаємо, як програмується кнопка, за допомогою якої можна очистити текстове поле від попередніх записів.
Програмний код для кнопки ОЧИСТИТИ
procedure TForm1.Button3Click(Sender: TObject);
begin
  Edit1.Text:=' ';
  Edit2.Text:=' ';
  Edit3.Text:=' ';
  Edit4.Text:=' ';
  Edit5.Text:=' ';
end;    

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

Спосіб 1.
1) Встановіть  собі на комп'ютер чи ноутбук програмне середовище Lazarus (скористайтесь підказками з Інтернету, або попросіть допомоги у батьків) 
2) Розробіть проект ЕЛЕКТРИКА. Запрограмувавши всі чотири кнопки, що є на формі. 

  • ПОСЛІДОВНЕ З'ЄДНАННЯ - програмний код для кнопки розроблений, 
  • ПАРАЛЕЛЬНЕ З'ЄДНАННЯ - програмний код для кнопки розробіть самі за аналогією до попереднього,  
  • ОЧИСТИТИ - програмний код для кнопки описаний вище,
  • ВИХІД - програмний код для кнопки пригадайте з попередніх уроків.
Збережіть проект ЕЛЕКТРИКА в себе за комп'ютером. Запустіть на виконання, якщо будуть помилки виправте їх. Перевірте виконання проекту для R1=2, R2=3, R3=4, R4=5 Ом. Зробіть скріншот екрану, з розробленим проектом (додайте скріншот до Google документу з назвою "Електрика_Прізвище") і здайте виконане завдання у Google Клас.
Дивись зразок.


Спосіб 2.
1) Якщо не вдалося встановити  собі на комп'ютер чи ноутбук програмне середовище Lazarus, або немає такої можливості тоді проацюємо в зошиті з інформатики. 
2) Накресліть форму до проекту  ЕЛЕКТРИКА в зошиті. Напишіть програмний код до всіх чотирьох кнопок, що є на формі:

  • ПОСЛІДОВНЕ З'ЄДНАННЯ - програмний код для кнопки розроблений, 
  • ПАРАЛЕЛЬНЕ З'ЄДНАННЯ - програмний код для кнопки розробіть самі за аналогією до попереднього,  
  • ОЧИСТИТИ - програмний код для кнопки описаний вище,
  • ВИХІД - програмний код для кнопки пригадайте з попередніх уроків.
Сфотографуйте проект ЕЛЕКТРИКА в себе в зошиті і відправте фото у Google Клас.