Від організаторів Всеукраїнських
інтерактивнихпедагогічних марафонів
Від організаторів Всеукраїнських
інтерактивних педагогічних марафонів
Видавництво «Ранок»
Весняна сесія:
20 березня – 8 квітня 2017 р.
День 9
2.
Видавництво «Ранок»
Інформатика. 8клас.
Алгоритми з повтореннями
та розгалуженнями
Пилипчук Олександр Павлович,
учитель інформатики та фізики Гаврилівської загальноосвітньої
школи І–ІІІ ступенів Теофіпольської райради Хмельницької області,
співавтор підручника — переможця Всеукраїнського конкурсу
Видавництво «Ранок»
Програма, 7клас. Учні вже щось знають і вміють
7 клас. Алгоритми з повторенням і розгалуженням (9 год)
•Базові алгоритмічні структури: структури повторення та розгалуження.
•Алгоритми з повторенням. Складання та виконання алгоритмів з повторенням
у визначеному навчальному середовищі виконання алгоритмів.
•Висловлювання. Істинні та хибні висловлювання. Умовне висловлювання «Якщо – то».
Алгоритми з розгалуженням .
•Складання та виконання алгоритмів з повторенням і розгалуженням для виконавців
у визначеному навчальному середовищі виконання алгоритмів.
•Практична робота 3. Складання та виконання алгоритмів з повторенням у визначеному
навчальному середовищі виконання алгоритмів.
•Практична робота 4. Складання та виконання алгоритмів з розгалуженням у визначеному
навчальному середовищі виконання алгоритмів.
•Практична робота 5. Складання та виконання алгоритмів з повторенням і розгалуженням
у визначеному навчальному середовищі виконання алгоритмів.
5.
Видавництво «Ранок»
Учень
…
розрізняє:
•алгоритмічні структурислідування, розгалуження, повторення;
•правильні (істинні) та неправильні (хибні) висловлювання;
…
формулює:
•умовні висловлювання «Якщо – то»;
уміє:
•…
•складати та виконувати алгоритми з повторенням у визначеному
навчальному середовищі;
•складати та виконувати алгоритми з розгалуженням у визначеному
навчальному середовищі;
•складати та виконувати алгоритми з повторенням та розгалуженням у
визначеному навчальному середовищі
Програма, 7 клас. Учні вже щось знають і вміють
6.
Видавництво «Ранок»
Алгоритми роботиз об’єктами та величинами (20 год)
…
Алгоритми з повтореннями та розгалуженнями для опрацювання
величин
…
Практична робота 12. Складання та виконання алгоритмів
з повтореннями та розгалуженнями для опрацювання величин
Тема в чинній програмі для 8 класу
7.
Видавництво «Ранок»
Алгоритми зповтореннями та розгалуженнями (9 год)
•Алгоритми з розгалуженнями
•Складання програм з розгалуженнями
•Поліваріантне розгалуження
•Компоненти вибору
•Алгоритми з повтореннями. Цикл із передумовою
•Алгоритми з повтореннями. Цикл із післяумовою
•Алгоритми з повтореннями. Цикл із параметром
•Складання циклічних алгоритмів опрацювання величин
•Практична робота 15. Складання та виконання алгоритмів з повтореннями
та розгалуженнями для опрацювання величин
Тема в підручнику для 8 класу
Видавництво «Ранок»
Складений оператор
Якщона місці, де вимагається оператор, потрібно записати декілька
операторів, їх об’єднують у складений оператор begin…end
(операторні дужки).
12.
Видавництво «Ранок»
Оператори. Розгалуження
Упопередньому розділі «Алгоритми роботи з об’єктами
та величинами» були розглянуті логічнийтип даних (boolean)
і логічні операції (or, and, not), отже учні можуть записувати
складені умови.
13.
Видавництво «Ранок»
Елементи керування
Длязабезпечення можливості вибору використовують елементи
керування Прапорець (TCheckBox) і Перемикач (TRadioButton).
Прапорець Перемикач
14.
Видавництво «Ранок»
Елементи керування.Прапорець
Основна властивість елемента керування
Прапорець — Checked (позначений).
Checkbox1.Checked = true
Checkbox1.Checked = false
15.
Видавництво «Ранок»
Основна властивістьелемента керування
Прапорець — Checked (позначений).
Checkbox1.Checked = true
Checkbox1.Checked = false
При клацанні стан прапорця
змінюється, тому в обробнику
слід забезпечити перевірку:
if Checkbox1.Checked
then begin … end
else begin … end
Елементи керування. Прапорець
16.
Видавництво «Ранок»
Елементи керуванняПеремикач (TRadioButton)
використовують групами по 2 або більше.
При клацанні одного перемикача
з групи він стає позначеним, тому
в обробнику його властивість
Checked можна не перевіряти.
Елементи керування. Прапорець
Видавництво «Ранок»
Оператори. Цикліз післяумовою
У кінці кожної ітерації
перевіряється умова припинення.
У Scratch цикл з післяумовою
відсутній.
Існує ризик зациклення, якщо тіло циклу не впливає на умову.
20.
Видавництво «Ранок»
Оператори. Цикліз параметром
Відмінність: в Pascal застосовується керувальна змінна-
параметр, значення якої можна використовувати в тілі циклу.
Видавництво «Ранок»
Оператори. Циклза переліком
S може бути рядком, масивом, множиною або ідентифікатором зліченого типу
Перевага: не треба знати кількість елементів в S.
Опрацьовані будуть всі.
Видавництво «Ранок»
Оператори. Специфічніцикли в Scratch
Завдяки паралельним обчисленням Scratch підтримує такі цикли:
«Дослівний» їх «переклад» на Pascal спричинить зациклення!
Проте засоби для підтримки багатопотоковості в Pascal є.
25.
Видавництво «Ранок»
Оператори. Специфічніцикли
Ще один спосіб забезпечення багаторазового виконання певних операторів
у середовищі Lazarus — використання таймера (TTimer на вкладці System):
через рівні проміжки часу виконується обробник події OnTimer.
Властивості:
Interval: проміжок часу в мілісекундах
Enabled: true — працює, false — не працює
Видавництво «Ранок»
Тривіальні прикладивикористання операторів
розгалуження і циклів у алгоритмах розглянуті
в підручнику і не повинні викликати проблем.
Розглянемо інші приклади, пов’язані з розробкою
хоч і простих, але повноцінних програм.
Видавництво «Ранок»
Приклад 1.Кубик
Завдання. Скласти програму,
яка моделює кидок грального кубика.
Вікно програми
Завдання сформульовано
в загальному вигляді, тому деталі
добираємо самостійно:
• вікно без зайвих елементів;
• при клацанні на ньому
з’являється або зникає результат
«кидка»;
• вихід при натисканні Esc.
30.
Видавництво «Ранок»
Зайві елементивікна вимикаємо,
вибравши форму і встановивши
для її властивості BorderStyle
значення bsNone.
Приклад 1. Кубик
31.
Видавництво «Ранок»
Приклад 1.Кубик
Розміщуємо на формі 7 кругів —
компонент TShape на вкладці Additional.
Надалі, керуючи видимістю цих кругів,
будемо формувати з них результати кидків.
32.
Видавництво «Ранок»
Вихід зпрограми за натисканням клавіші Esc реалізуємо,
обробивши для форми подію «відпускання клавіші» — OnKeyUp.
Щоб використати константу VK_ESCAPE, слід до переліку
модулів (розділ uses) додати модуль LCLType.
Приклад 1. Кубик
33.
Видавництво «Ранок»
І, нарешті,наш «кубик» має запрацювати.
Підготовчий етап:
• створимо змінну логічного типу
pusto — ознака того, чи показано
результат кидка;
• в обробнику події «створення форми»
(OnFormCreate) надамо їй значення
true.
Приклад 1. Кубик
Видавництво «Ранок»
Завдання. Створитигру з таким сценарієм:
• на формі розташовано багато кнопок;
• потрібно в довільному порядку клацати їх мишею —
кнопка при цьому зникає;
• не можна клацати мимо — це означає програш;
• через 20 секунд успішної роботи виводиться результат —
число натиснутих кнопок.
Приклад 2. Гра «Клац-клац»
39.
Видавництво «Ранок»
Очевидно, щологіка
обробки події «клацання
кнопки» для всіх кнопок
однакова — збільшити
змінну лічильник і сховати
кнопку.
Випробуємо його на одній
кнопці, доданій на форму.
Приклад 2. Гра «Клац-клац»
40.
Видавництво «Ранок»
Проблема. Якзробити, щоб цей обробник правильно реагував на різні
кнопки, а не лише на кнопку з назвою Button1?
Скористаємось параметром Sender, який передається в обробник при
виклику. Sender — це посилання на об’єкт, який спричинив виклик. При
цьому слід уточнити, що цей об’єкт розглядається саме як кнопка
(TButton):
Кнопку Button1 тепер можна вилучити.
Приклад 2. Гра «Клац-клац»
41.
Видавництво «Ранок»
Проблема. Якпобудувати «багато» (наприклад, 400) кнопок і змусити
їх працювати?
Кнопки створимо не вручну, а програмним шляхом, тобто вже після
запуску програми — в обробнику події «створення форми»
(OnFormCreate).
При цьому для кожної з кнопок потрібно буде розрахувати і задати
координати розташування на формі і встановити бажані розміри.
Приклад 2. Гра «Клац-клац»
Видавництво «Ранок»
Залишилось подбатипро облік часу (слід додати таймер),
виведення результату та обробку промаху.
Пропоную зацікавленим зробити це самостійно
Приклад 2. Гра «Клац-клац»