Урок 11 Інформатика 7 клас
Базова алгоритмічна структура розгалуження. Алгоритми з розгалуженням. Складання та виконання алгоритмів з розгалуженням у визначеному навчальному середовищі виконання алгоритмів.
Мета.
Формування ключових компетентностей:
Формування предметних компетентностей:
Навчальна. Сформувати поняття
Розвиваюча. Розвивати логічне мислення, пам'ять, увагу.
Виховна. Сприяти вихованню в учнів інформаційної культури, виховувати старанність.
ІКТ-компетентність: Тип уроку. Урок засвоєння нових знань.
Обладнання: комп'ютери, інструктивні картки, картки із завданнями.
Матеріали для роботи з учнями.
План
Хід уроку
1. Організаційний момент.
2. Актуалізація опорних знань.
Фронтальне опитування
3. Тестування.
4. Мотивація навчальної діяльності.
5. Вивчення нового матеріалу.
КОМАНДА ПРИСВОЮВАННЯ
Розглянемо задачу на обчислення значення виразу.
Задача 1. Обчислити значення виразу (а - b) * (c - d), де а, b, с, d - цілі або дробові числа (символом * в інформатиці позначається операція множення).
Розглянемо виконавця, який уміє отримувати (уводити) значення змінних, виконувати арифметичні операції над цілими і дробовими числами, запам'ятовувати результати арифметичних операцій і повідомляти результат.
Запишемо алгоритм розв’язування цієї задачі для такого виконавця в словесній формі.
У командах 2, 3 і 4 обчислюється значення виразу і результат обчислення присвоюється (запам’ятовується як значення) невній змінній. Такі команди називаються командами присвоювання. Для них зручно використовувати таку форму запису:
2. х := а-b (читається: змінній х присвоїти значення виразу а-b)
3. у:= с-d
4. z := х * у
Знак := називається знаком присвоювання та складається з двох символів: двокрапки і дорівнює, які записуються без пропуску між ними. Команда виду у := с - d, називається командою присвоювання.
Наведемо блок-схему цього алгоритму (рис. 3.17).
Проілюструємо виконання цього алгоритму для значень змінних:
а = 3, b = 4, с = -2, d = -5.
Характерною особливістю цього алгоритму є те, що всі його команди обов'язково виконуються, причому кожна тільки по одному разу.
Такий алгоритм або такий фрагмент алгоритму називається лінійним, або слідуванням.
РОЗГАЛУЖЕННЯ В АЛГОРИТМІ
Розглянемо тепер задачу на обчислення значення іншого виразу.
Задача 2. Обчислити значення виразу (а-b)/(с-d), де а, b, с, d - цілі або дробові числа (символом / в інформатиці позначається операція ділення).
Перш за все звернемо увагу на те, що значення цього виразу, на відміну від попереднього, можна обчислити не при будь-яких значеннях змінних а, b, c, d. Адже цей вираз містить дію ділення на вираз зі змінними, який може дорівнювати нулю. Тобто якщо значення різниці с-d дорівнює нулю, то значення виразу (а-b)/(с-d) обчислити не можна, а якщо не дорівнює - то можна.
Це означає, що система команд виконавця повинна містити команду порівняння двох чисел, наприклад таку: «8 = t?», де s і t - або числа, або змінні, або вирази, які мають певні числові значення. Така команда є прикладом команди перевірки умови.
Якщо умова виконується, то вважається, що результатом виконання команди перевірки умови є істина, або truе (англ. truе - істина). Інакше, тобто якщо умова не виконується, то вважається, що результатом виконання цієї команди є хиба, або false (англ. false - хиба).
Алгоритм розв’язування цієї задачі виглядатиме так:
Хід виконання цього алгоритму залежатиме від результату виконання команди неревірки умови. І залежно від цього результату (істина чи хиба) виконавець буде виконувати різні команди. Так, у наведеному алгоритмі, якщо результат виконання команди перевірки умови істина, то виконуватимуться команда виведення повідомлення: «Вираз значення не має: ділення на нуль» і команда 8, а якщо результат виконання команди перевірки умови хиба, то виконуватимуться команди 5-8.
У блок-схемі алгоритму команду неревірки умови позначає блок Рішення . Оскільки результатом виконання команди перевірки умови може бути або істина, або хиба, то із цього блока є два виходи. Вихід Так означає, що результатом виконання команди перевірки умови є істина, а вихід Ні - що результатом виконання команди неревірки умови є хиба. Наведемо блок-схему цього алгоритму (рис. 3.18).
Розглянемо фрагмент алгоритму на рисунку 3.18 від блока Рішення до блока Термінатор (не включаючи цей блок).
Характерною рисою цього фрагмента алгоритму є те, що при кожному його виконанні деякі команди будуть виконуватися, причому кожна по одному разу, а деякі - виконуватися не будуть. Це залежить від результату виконання команди перевірки умови.
Такий фрагмент алгоритму називають розгалуженням.
Алгоритм, який містить розгалуження, називають алгоритмом з розгалуженням.
Проілюструємо виконання вищенаведеного алгоритму для двох наборів значень змінних. Ці два набори значень підберемо так, щоб проілюструвати хід виконання алгоритму для кожного з двох можливих результатів виконання команди перевірки умови.
Звертаємо вашу увагу, цей алгоритм містить як лінійний фрагмент (слідування), так і розгалуження.
В алгоритмах використовують розгалуження двох видів: повне розгалуження (рис. 3.19) і неповне розгалуження (рис. 3.20)
Виконання повного розгалуження відбувається так: виконавець виконує команду перевірки умови: якщо результат виконання цієї команди істина, то виконавець виконує послідовність команд 1, після чого переходить до виконання першої команди наступного фрагмента алгоритму; якщо ж результат виконання цієї команди хиба, то виконавець виконує послідовність команд 2, після чого також переходить до виконання першої команди наступного фрагмента алгоритму.
Виконання неповного розгалуження відрізняється від виконання повного розгалуження тим, що за результату виконання команди перевірки умови хиба виконавець одразу переходить до виконання першої команди наступного фрагмента алгоритму.
РОЗГАЛУЖЕННЯ В SCRATCH
У Scratch можна використати команду якщо-інакше для організації повного розгалуження і команду якщо для організації неповного розгалуження.
Складемо алгоритм, за яким виконавець рухатиметься Сценою вправо. Після того як виконавець дійде до правої границі Сцени, він повинен з’явитися біля лівої границі Сцени і продовжити рух вправо.
На Сцені введено систему координат (рис. 3.21) для того, щоб положення виконавця на Сцені можна було задавати значеннями двох координат: х і у.
За замовчуванням довжина видимої частини Сцени 480 кроків виконавця, а ширина - 360 кроків. Тому якщо виконавець розміщується у видимій частині Сцени, то абсциса його положення може змінюватися від -240 до 240, а ордината - від -180 до 180.
Ця система координат може відображатися на Сцені, а може й не відображатися.
Па початку алгоритму, наведеному на рисунку 3.22, використано команду з групи Рух для орієнтації виконавця на Сцені в потрібному напрямку.
Щоб виконавець багаторазово виконував команду переміститися на 10 кроків, її включено в тіло циклу Завжди . Команди тіла цього циклу виконуються доти, поки не буде натиснута кнопка Зупинити все.
У тілі цього циклу використано команду розгалуження .У ході кожного виконання в тілі циклу цієї команди виконується команда перевірки умови значення х > 240. Якщо результат виконання цієї команди Так (тобто виконавець вийшов за нраву границю Сцени), то виконується команда задати значення х -240 і виконавець з’являється біля лівої границі Сцени. Після цього команди тіла циклу починають виконуватися в черговий раз і виконавець переміщується вправо. Якщо результат виконання команди перевірки умови Ні (тобто виконавець ще не вийшов за праву границю Сцени), то команда задати значення х -240 не виконується. Після цього команди тіла циклу починають виконуватися в черговий раз і виконавець переміщується вправо.
6. Фізкультхвилинка.
А тепер у нас розминка,
А тепер фізкультхвилинка.
Встали рівно біля парт,
Починаємо наш старт.
Ось зігнули так ручата
Й полетіли, мов качата.
Ніжками затупотіли,
Потім разом всі присіли.
До сонечка потяглися
І у боки так взялися.
Вправо разом нахилились,
Вліво, щоб не помилились.
Руки вниз ми опустили
Й трохи ними потрусили.
Шию трішки розім'яли
І за парти посідали.
А тепер мерщій до справ,
Кожен вченим з нас щоб став.
7. Робота з комп’ютером.
Увага! Під час роботи з комп’ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.
8. Найважливіше на цьому уроці.
Лінійним, або слідуванням, називають алгоритм або фрагмент алгоритму, у якому кожна команда обов’язково виконується, иричому кожна тільки по одному разу.
Команда перевірки умови визначає істинність чи хибність певної умови.
Якщо умова виконується, то вважається, що результатом виконання команди перевірки умови є істина, або trие. Інакше, тобто якщо умова не виконується, то вважається, що результатом виконання цієї команди є хиба, або falsе.
У блок-схемі алгоритму команду перевірки умови позначає блок Рішення .
Розгалуженням називають фрагмент алгоритму, що містить команду неревірки умови і послідовності команд, які будуть виконуватися або не виконуватися залежно від результату виконання команди перевірки умови.
Характерною рисою розгалуження є те, що при кожному його виконанні деякі команди будуть виконуватися, причому кожна по одному разу, а деякі - виконуватися не будуть. Це залежить від результату виконання команди перевірки умови.
Алгоритм, який містить розгалуження, називають алгоритмом з розгалуженням.
9. Усвідомлення вивченого матеріалу.
Фронтальне опитування
10. Закріплення вивченого.
Виконати завдання - на уроці 1, 2, 3, 5, 8.
11. Завдання до уроку.
1. Записати в зошит два цілих числа.
2. Записати в зошит суму записаних чисел.
3. Визначити, істинна чи хибна умова «Записана сума більша ніж 30?».
4. Якщо умова істинна, то записати в зошит «Сума більша ніж 30» і виконати команду 8, якщо умова хибна, виконати команду 5.
5. Визначити, істинна чи хибна умова «Записана сума менша ніж ЗО?».
6. Якщо умова істинна, повідомити «Сума менша ніж 30» і виконати команду 8, якщо умова хибна, то виконати команду 7.
7. Повідомити «Сума дорівнює 30».
8. Закінчити виконання алгоритму.
12. Підсумки.
Рефлексія
1. Під час уроку я
2. Найбільше мені сподобалося...
3. На уроках найкраще в мене виходило...
4. Я мав (-ла) труднощі з...
5. Я хотів би ще дізнатися про...
13. Домашнє завдання.