Тема: алгоритми з повторенням і розгалуженням.
Мета: познайомитися з командами повторення і розгалуження.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
3. Вивчення нового матеріалу
Умовний оператор (оператор галуження) — це вказівка, що передбачає виконання однієї або іншої вказівки залежно від справдження певного висловлювання (умови).
Всі мови програмування мають такі спеціальні вказівки (оператори) для галуження залежно від справдження певної умови. В категоріі Керувати середовища Scratch
є такі умовні оператори:
Повний оператор (розгалуження) має такий вигляд:
якщо умова вказівка1 інакше вказівка2
При справдженні умови буде виконано вказівку1, інакше — вказівку2.
Тут під вказівками розуміємо як окрему вказівку, так і серію (послідовність) вказівок (у Scretch не існує обмежень на кількість вкладень вказівок розгалуження). Тому у блок-схемі повної вказівки розгалуження замість слова «вказівка» вжито слово «серія».
Якщо у точці розгалуження програми має бути більше двох варіантів вибору, додаткові оператори потрібно вкласти (вставити) в середину секції «інакше». Такі додаткові оператори називають вкладеними умовними операторами. Scretch не обмежує кількість вкладених умовних операторів.
На наступному малюнку на вкладці Скрипти праворуч подано приклад таких вкладених умовних операторів. Їх неможна плутати з послідовним застосуванням умовних операторів (див. приклад ліворуч на тій самій панелі).
Неповна вказівка розгалуження має такий вигляд:
якщо умова вказівка
Під час виконання цієї вказівки при справдженні умови буде виконано вказівку (послідовність вказівок) всередені блока, інакше — здійснено перехід до виконання вказівок, розташованих після вказівки розгалуження.
Умовна пауза встановлює паузу, яка триває доти, доки не почне справджуватися певна умова, після чого буде запущено на виконання наступні (за умовною паузою) вказівки.
Цикл — різновид керівної конструкції мови програмування, призначеної для організації багаторазового виконання послідовності вказівок.
Tіло циклу — послідовність вказівок, призначена для багаторазового виконання.
Ітерація — одноразове виконання тіла циклу.
Умова виходу (завершення) циклу або умова продовження циклу залежно від того, як тлумачити її істинність — як ознаку необхідності завершення чи продовження циклу — висловлювання, що визначає, чи буде виконано наступну ітерацію, чи буде завершено цикл.
Лічильник ітерацій циклу (або просто лічильник циклу) — змінна, величина якої є номером поточної ітерації.
Примітка Нумерацію ітерацій не завжди здійснюють послідовними натуральними числами. Цикл не обов’язково містить лічильник, а лічильників може бути кілька або жодного: умова виходу з циклу може залежати від декількох змінюваних у циклі змінних, а може визначатися зовнішніми умовами. Наприклад, настанням певного часу. В останньому випадку лічильник взагалі зайвий.
Більшість мов програмування надають засоби для дострокового керування циклом. Наприклад:
оператор завершення циклу, тобто виходу з циклу незалежно від істинності умови виходу (у мові С — break);
оператори пропущення ітерації (у мові С — continue).
Цикли, як і умовні оператори, можуть бути вкладеними. У цьому випадку розрізняють зовнішній і внутрішній цикли.
Scretch має такі 4 види циклів:
— безумовний;
— з лічильником;
— з передумовою;
— з післяумовою.
Блок-схема оператора безумовного цикла має такий вигляд:
Тіло такого циклу виконується поки активним є скрипт, частиною якого він є. Зупинити такий цикл можна лише за допомогою заглушок:
Перша зупиняє виконання скрипту, друга — всієї програми.
Цикл з лічильником — цикл, тіло якого виконують певну кількість разів, тобто для всіх послідовних цілих чисел величин лічильника з певного діапазону.
Зазвичай цикл з лічильником використовують, якщо кількість виконуваних повторень (ітерацій) відома заздалегідь хоча б у момент початку виконання циклу. Його блок-схема має такий вигляд.
Цикл з передумовою — цикл, тіло якого виконують при справдженні умови, вказаної перед його початком.
Справдження умови перевіряють кожного разу перед виконанням тіла циклу. Якщо ця умова не справджується при звертанні до циклу (до першої ітерації), то тіло циклу не буде виконано жодного разу.
Цикл з післяумовою — цикл, тіло якого виконують до справдження певної умови.
Справдження умови перевіряють кожного разу після виконання тіла циклу, тому тіло циклу з післяумовою буде виконано принаймні один раз.
4. Закріплення вивченого матеріалу
Завдання 1. Вказати, які структури мови програмування — умовний оператор (повний, неповний, пауза) чи цикл (безумовний, з лічильником, з передумовою чи з післяумовою) — найдоречніше (найзручніше) використати при розв'язанні таких завдань.
Дано два числа. Знайти більше число.
За допомогою мірної посудини об'ємом 1 літр наповнити водою іншу порожню посудину, якщо об'єм останньої: a) відомий; б) невідомий.
Знайти суму чисел від 1 до 100.
Визначити агрегатний стан води (крига, рідина, пара) за її температурою.
На числовій прямій задано дві точки своїми координатами. Знайти, яка з точок знаходиться далі від початку числової осі.
Є порожні діжка і відро, причому відро легко входить у діжку повністю. Використовуючи відро, наповнити діжку водою з криниці натуральною кількістю відер води, не проливши з неї жодної краплини.
Капосний папуга навчився висмикувати у пірата Сільвера волосини, які ще залишилися у того на голові. Почавши з однієї волосини, папуга щодня збільшував кількість волосин удвічі. Через скільки днів пірату не знадобиться гребінець, якщо спочатку в нього на голові було N волосин?
На дверях ліфта висіло загрозливе попередження про те, що двері самі зачиняються в той самий момент, коли зайвий за вагою пасажир переступить поріг ліфта. Котрий пасажир постраждає, якщо ліфт витримує вагу не більше S кг, а вага пасажирів, що стоять у черзі до ліфта, дорівнює відповідно a1, a2, a3, …, an кг.
Є 9 монет, одна з них — фальшива (легша). За допомогою двох зважувань на терезах знайти її.
Завдання 2. Для кожної з 7 структур мови програмування: умовний оператор (повний, неповний, пауза) чи цикл (безумовний, з лічильником, з передумовою чи з післяумовою) сформулювати умови якомога простіших завдань, для виконання яких найдоречніше (найзручніше) використати саме цю структуру. Ці умови мають якомога більше відрізнятися від перелічених у попередньому завданні.
5. Підбиття підсумків уроку
Виставлення оцінок.
6. Домашнє завдання
Повторити матеріал уроку. Доробити завдання, невиконані у класі. Підготуватися до опитування.
Текст упорядкувала Шепель Олена Вікторівна, вчитель інформатики гімназії № 172 «Нивки» Шевченківського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації.