понеділок, 27 лютого 2017 р.

На допомогу вчителю: тема 26

Модель проведення заняття
Для організації роботи над виконанням практичних завдань запропонуйте дітям на вибір наступні два завдання: 
1) вправу 1 або вправу 2;
2) одну із вправ 3, 4, 5.
Якщо ви працюєте із двома мовами програмування, то для розв'язування кожного із завдань запропонуйте обрати інше середовище виконання. 
Отримаємо наступну схему оцінювання за умови їх правильного виконання:
37 балів - оцінка 12;
35-34 бали - оцінка 11;
32-28 балів - оцінка 10.

Завдання 1. Розрахунок оплати за електроенергію

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


  • У середовищі Lazarus проект Оплата за електроенергію може мати наступну екранну форму:

Програмний код:

  • У середовищі PyCharm проект Оплата за електроенергію може мати наступну екранну форму:


Програмний код:


Завдання 2. Пенсійний калькулятор

Мама восьмикласника Максима працює у відділенні Пенсійного фонду. Вона запропонувала розробити для неї програму, як вона може використати у своїй роботі.
В Україні визначено наступний порядок оподаткування пенсії із фізичних осіб:
· встановлюється мінімальна заробітна плата (наприклад, з січня по квітень 1378 гривень, з травня по листопад - 1450 гривень, з грудня - 1550 гривень).
· якщо сума нарахування s менша за три мінімальні заробітні плати, то пенсія не оподатковується
· якщо сума нарахування s більша за три мінімальні заробітні плати, але не перевищує 10 мінімальних заробітних плат, то з суми, яка перевищує 3*min нараховують 15% податку;
· якщо сума нарахування s більша 10 мінімальних заробітних плат, то оподатковується сума, що перевищує 3*min. Із суми, що залишилась до 10 мінімальних заробітних плат нараховують 15% податку, а з суми, що перевищує 10 мінімальних заробітних плат нараховують 20% податку. Розробіть у вибраному середовищі програмування проект Пенсійний калькулятор, у якому користувач вносить у текстове поле розмір нарахованої пенсії та обирає за допомогою елементів управління (визначте самостійно) розмір мінімальної заробітної плати. Після натиснення кнопки Розрахувати у текстових полях, захищених від змін, отримує розміри суми нарахованої пенсії та податку.

У середовищі Lazarus проект Пенсійний калькулятор може мати наступну екранну форму:
Програмний код:
  • У середовищі PyCharm проект  Пенсійний калькулятор може мати наступну екранну форму:

Програмний код:

Завдання 3. Шалені знижки

У магазині на деякі товари (молоко, фрукти, овочі, печиво) прийняли систему знижок: товар, який не проданий за тиждень, наступного тижня дешевшає на 10%, ще через тиждень – на 20% і т.д. Розробіть у вибраному середовищі програмування проект Знижки, у якому користувач обирає із списку товар та у текстове поле вносить номер тижня покупки. Після натиснення кнопки Розрахувати у вікні повідомлення отримує ціну товару на дату покупки.

У середовищі Lazarus проект Шалені знижки може мати наступну екранну форму:
Властивості  Items списку надано значення:
Програмний код:
  • У середовищі PyCharm проект  Шалені знижки може мати наступну екранну форму:

Програмний код:

Завдання 4. Кролеферма

Ваш дідусь у селі вирішив розводити кроликів. Він знає, що ще у ХІІІ столітті Леонардо Пізанський вивів формулу закону розмноження кроликів, яка визначає ряд чисел, що отримали назву чисел Фібоначчі: 1,1,2,3,5,8…
Можна помітити, що починаючи з третього числа, кожне наступне дорівнює сумі двох попередніх, тобто має місце формула
Розробіть проект у визначеному середовищі програмування, за яким після натиснення кнопки Розрахувати за введеним у текстове поле порядковим номером, який визначає послідовність етапу розмноження кроликів, у вікні повідомлення буде відображено відповідне число Фібоначчі.


У середовищі Lazarus проект Кролеферма може мати наступну екранну форму:

 Програмний код:


  • У середовищі PyCharm проект  Кролеферма може мати наступну екранну форму:

Програмний код

Завдання 5. Порівняння

Члени математичного гуртка ознайомились із поняттям факторіала числа - добутку натуральних чисел від 1 до даного числа: n!=1*2*3*,,,*n.
Розробіть проект у визначеному середовищі програмування, за допомогою якого можна буде порівняти значення факторіала числа та його квадрата.

У середовищі Lazarus проект Порівняння може мати наступну екранну форму:
Програмний код:

У середовищі PyCharm проект Порівняння може мати наступну екранну форму:
Програмний код


13 коментарів:

  1. Відповіді
    1. Вдалих уроків! Раді, що навчаєтесь разом із нами та дітьми :)

      Видалити
  2. Відповіді
    1. Пані Світлано, а в чому помилка? У запропонованому Вами коді подано іншу методику обчислення вартості електроенергії, яка відмінна від тієї, що запропонована у задачі. На час написання підручника запропоновані дані були актуальними. Ми пропонуємо дітям розв'язати задачу із запропонованими тарифами та внести зміни у програмний код, згідно встановлених Мінфіном тарифів на дату розвязування: http://index.minfin.com.ua/tarif/electric/electric2016-09.php . Окрім цього, у вашому коді використано неповне розгалуження, у нашому є коді - повне, вкладене розгалуження.

      Видалити
    2. У вашому коді, коли вводиш 200 квт програма всі 200 квт підраховує по ціні 0.99 грн

      Видалити
    3. Пані Світлано, а як Ви хочете, щоб програма підраховувала? Дивіться в умову: від 100 до 600 - за ціною 0,99 грн. Хіба 200 не входить в цей діапазон?

      Видалити
    4. По вашому коду отримаємо правильний результат, якщо змінити трішки формули. Перевірте будь-ласка.
      if s<100 then r:=s*0.57
      else if s>600 then r:=550+(s-600)*1.56
      else r:=57+(s-100)*0.99;

      Видалити
    5. Як я розумію, коли я вводу 200 квт програма повинна підрахувати 100 квт по одній сумі, а залишок по іншій, а вона всі 200 рахує по одній сумі 0,99 грн.

      Видалити
    6. Дякую. Я тепер зрозуміла що Ви маєте на увазі. Ми не ускладнювали настільки завдання, щоб програма вираховувала суми попереднього тарифу. У такому вигляді завдання мало б звучати таким чином:
      вартість 1 кВт при споживанні електроенергії до 100 кВт за місяць – 0,57 грн., за залишок обсягу, що перевищує від 100 кВт до 600 кВт – 0,99 грн., за залишок обсягу понад 600 кВт – 1,56 грн.
      Тоді формула була б такою, яку Ви пропонуєте.

      Видалити