Published using Google Docs
Урок 11 7 клас
Updated automatically every 5 minutes

Урок 11                                                                Інформатика 7 клас


                                             

Базова алгоритмічна структура розгалуження. Алгоритми з розгалуженням. Складання та виконання алгоритмів з розгалуженням у визначеному навчальному середовищі виконання алгоритмів.


Мета.

Формування ключових компетентностей:

Формування предметних компетентностей:

Навчальна. Сформувати поняття

Розвиваюча. Розвивати логічне мислення, пам'ять, увагу.

Виховна. Сприяти вихованню в учнів інформаційної культури, виховувати старанність.

ІКТ-компетентність: Тип уроку. Урок засвоєння нових знань.

Обладнання: комп'ютери, інструктивні картки, картки із завданнями.

Матеріали для роботи з учнями.

План

Хід уроку


1. Організаційний момент.


2. Актуалізація опорних знань.

Фронтальне опитування

  1. Що таке висловлювання? Наведіть приклади істинних і хибних вислов­лювань. Наведіть приклад речення, яке не є висловлюванням.
  2. Які висловлювання називаються умовними? Наведіть приклади.
  3. Наведіть приклад висловлювання із змінною. Наведіть приклад значення змінної, при якому це висловлювання є істинним, і значення змінної, при якому це висловлювання є хибним.

3. Тестування.


4. Мотивація навчальної діяльності.


5. Вивчення нового матеріалу.

1.png

КОМАНДА ПРИСВОЮВАННЯ

Розглянемо задачу на обчислення значення виразу.

Задача 1. Обчислити значення виразу (а - b) * (c - d), де а, b, с, d - цілі або дробові числа (символом * в інформатиці позначається операція множення).

Розглянемо виконавця, який уміє отримувати (уводити) значення змін­них, виконувати арифметичні операції над цілими і дробовими числами, запам'ятовувати результати арифметичних операцій і повідомляти результат.

Запишемо алгоритм розв’язування цієї задачі для такого виконавця в словесній формі.

  1. Увести значення змінних а, b, с, d.
  2. Обчислити значення виразу а-b і результат присвоїти змінній х (запам’ятати як значення цієї змінної).
  3. Обчислити значення виразу с-d і результат присвоїти змінній у (запам’ятати як значення цієї змінної).
  4. Обчислити значення виразу х * у і результат присвоїти змінній z.
  5. Повідомити значення змінної z.

У командах 2, 3 і 4 обчислюється значення виразу і результат обчислення присвоюється (запам’ятовується як значення) невній змінній. Такі команди називаються командами присвоювання. Для них зручно використовувати таку форму запису:

2.  х := а-b (читається: змінній х присвоїти значення виразу а-b)

3.  у:= с-d

4. z := х * у

Знак := називається знаком присвоювання та складається з двох символів: двокрапки і дорівнює, які записуються без пропуску між ними. Команда виду у := с - d, називається командою присвоювання.

Наведемо блок-схему цього алгоритму (рис. 3.17).

Проілюструємо виконання цього алгоритму для значень змінних:

а = 3, b = 4, с = -2, d = -5.

1.png

Характерною особливістю цього алгоритму є те, що всі його команди обов'язково виконуються, причому кожна тільки по одному разу.

Такий алгоритм або такий фрагмент алгоритму називається лінійним, або слідуванням.

РОЗГАЛУЖЕННЯ В АЛГОРИТМІ

Розглянемо тепер задачу на обчислення значення іншого виразу.

Задача 2. Обчислити значення виразу (а-b)/(с-d), де а, b, с, d - ці­лі або дробові числа (символом / в інформатиці позначається операція ділення).

Перш за все звернемо увагу на те, що значення цього виразу, на від­міну від попереднього, можна обчислити не при будь-яких значеннях змінних а, b, c, d. Адже цей вираз містить дію ділення на вираз зі змін­ними, який може дорівнювати нулю. Тобто якщо значення різниці с-d дорівнює нулю, то значення виразу (а-b)/(с-d) обчислити не можна, а якщо не дорівнює - то можна.

Це означає, що система команд виконавця повинна містити команду порівняння двох чисел, наприклад таку: «8 = t?», де s і t - або числа, або змінні, або вирази, які мають певні числові значення. Така команда є прикладом команди перевірки умови.

Якщо умова виконується, то вважається, що результатом виконання команди перевірки умови є істина, або truе (англ. truе - істина). Інакше, тобто якщо умова не виконується, то вважається, що результатом вико­нання цієї команди є хиба, або false (англ. false - хиба).

Алгоритм розв’язування цієї задачі виглядатиме так:

  1. Увести значення змінних а, b, с, d.
  2. х := с - d.
  3.  х = 0?
  4. Якщо результат виконання команди перевірки умови істина, то пові­домити «Вираз значення не має: ділення на нуль», після чого вико­нати команду 8, інакше (тобто якщо результат виконання команди перевірки умови хиба) виконати команду 5.
  5. у := а - b.
  6. z := у/х.
  7. Повідомити значення змінної 2.
  8. Закінчити виконання алгоритму.

Хід виконання цього алгоритму залежатиме від результату виконання команди неревірки умови. І залежно від цього результату (істина чи хиба) виконавець буде виконувати різні команди. Так, у наведеному алгоритмі, якщо результат виконання команди перевірки умови істина, то виконува­тимуться команда виведення повідомлення: «Вираз значення не має: ді­лення на нуль» і команда 8, а якщо результат виконання команди перевірки умови хиба, то виконуватимуться команди 5-8.

У блок-схемі алгоритму команду неревірки умови позначає блок Рішення .  Оскільки результатом виконання команди перевірки умови може бути або істина, або хиба, то із цього блока є два виходи. Вихід Так означає, що результатом виконання команди перевірки умови є істина, а вихід Ні - що результатом виконання команди неревірки умови є хиба. Наведемо блок-схему цього алгоритму (рис. 3.18).

1.png

Розглянемо фрагмент алгоритму на рисунку 3.18 від блока Рішення до блока Термінатор (не включаючи цей блок).

Характерною рисою цього фрагмента алгоритму є те, що при кожно­му його виконанні деякі команди будуть виконуватися, причому кожна по одному разу, а деякі - виконуватися не будуть. Це залежить від ре­зультату виконання команди перевірки умови.

Такий фрагмент алгоритму називають розгалуженням.

Алгоритм, який містить розгалуження, називають алгоритмом з роз­галуженням.

Проілюструємо виконання вищенаведеного алгоритму для двох наборів значень змінних. Ці два набори значень підберемо так, щоб проілюструва­ти хід виконання алгоритму для кожного з двох можливих результатів виконання команди перевірки умови.

1.png

Звертаємо вашу увагу, цей алгоритм містить як лінійний фрагмент (слідування), так і розгалуження.

В алгоритмах використовують розгалуження двох видів: повне розга­луження (рис. 3.19) і неповне розгалуження (рис. 3.20)

1.png

Виконання повного розгалуження відбувається так: виконавець вико­нує команду перевірки умови: якщо результат виконання цієї команди істина, то виконавець виконує послідовність команд 1, після чого пере­ходить до виконання першої команди наступного фрагмента алгоритму; якщо ж результат виконання цієї команди хиба, то виконавець виконує послідовність команд 2, після чого також переходить до виконання пер­шої команди наступного фрагмента алгоритму.

Виконання неповного розгалуження відрізняється від виконання пов­ного розгалуження тим, що за результату виконання команди перевірки умови хиба виконавець одразу переходить до виконання першої команди наступного фрагмента алгоритму.

РОЗГАЛУЖЕННЯ В SCRATCH

У Scratch можна використати команду якщо-інакше 1.png  для організації повного розгалуження і команду якщо 1.png для організації неповного розгалуження.

Складемо алгоритм, за яким виконавець рухатиметься Сценою вправо. Після того як виконавець дійде до правої границі Сцени, він повинен з’явитися біля лівої границі Сцени і продовжити рух вправо.

На Сцені введено систему координат (рис. 3.21) для того, щоб положен­ня виконавця на Сцені можна було задавати значеннями двох координат: х і у.

За замовчуванням довжина видимої частини Сцени 480 кроків вико­навця, а ширина - 360 кроків. Тому якщо виконавець розміщується у видимій частині Сцени, то абсциса його положення може змінюватися від -240 до 240, а ордината - від -180 до 180.

Ця система координат може відображатися на Сцені, а може й не відо­бражатися.

1.png

Па початку алгоритму, наведеному на рисунку 3.22, використано команду 1.png з групи Рух для орієнтації виконавця на Сцені в потрібному напрямку.

1.png

Щоб виконавець багаторазово виконував команду переміститися на 10 кроків, її включено в тіло циклу Завжди 1.png. Команди тіла цього циклу виконуються доти, поки не буде натиснута кнопка Зупинити все.

У тілі цього циклу використано команду розгалуження  1.png.У ході кожного виконання в тілі циклу цієї команди виконується команда перевірки умови значення х > 240. Якщо результат виконання цієї команди Так (тобто виконавець вийшов за нраву границю Сцени), то виконується команда задати значення х -240 і виконавець з’являється біля лівої границі Сцени. Після цього команди тіла циклу по­чинають виконуватися в черговий раз і виконавець переміщується вправо. Якщо результат виконання команди перевірки умови Ні (тобто викона­вець ще не вийшов за праву границю Сцени), то команда задати значення х -240 не виконується. Після цього команди тіла циклу починають вико­нуватися в черговий раз і виконавець переміщується вправо.


6. Фізкультхвилинка.

А тепер у нас розминка,

А тепер фізкультхвилинка.

Встали рівно біля парт,

Починаємо наш старт.

Ось зігнули так ручата

Й полетіли, мов качата.

Ніжками затупотіли,

Потім разом всі присіли.

До сонечка потяглися

І у боки так взялися.

Вправо разом нахилились,

Вліво, щоб не помилились.

Руки вниз ми опустили

Й трохи ними потрусили.

Шию трішки розім'яли

І за парти посідали.

А тепер мерщій до справ,

Кожен вченим з нас щоб став.


7. Робота з комп’ютером.

Увага! Під час роботи з комп’ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.

1.png


8. Найважливіше на цьому уроці.

Лінійним, або слідуванням, називають алгоритм або фрагмент алгорит­му, у якому кожна команда обов’язково виконується, иричому кожна тільки по одному разу.

Команда перевірки умови визначає істинність чи хибність певної умови.

Якщо умова виконується, то вважається, що результатом виконання команди перевірки умови є істина, або trие. Інакше, тобто якщо умова не виконується, то вважається, що результатом виконання цієї команди є хиба, або falsе.

У блок-схемі алгоритму команду перевірки умови позначає блок Рішення  .

Розгалуженням називають фрагмент алгоритму, що містить команду неревірки умови і послідовності команд, які будуть виконуватися або не виконуватися залежно від результату виконання команди перевірки умови.

Характерною рисою розгалуження є те, що при кожному його виконан­ні деякі команди будуть виконуватися, причому кожна по одному разу, а деякі - виконуватися не будуть. Це залежить від результату виконання команди перевірки умови.

Алгоритм, який містить розгалуження, називають алгоритмом з роз­галуженням.


9. Усвідомлення вивченого матеріалу.

Фронтальне опитування

  1. Який фрагмент алгоритму називається лінійним?
  2. Чим відрізняється лінійний фрагмент алгоритму від циклу?
  3. Що таке розгалуження в алгоритмі?
  4. Які два види розгалуження використовують в алгоритмах? Як ви­конується кожний з них?
  5. Чим характерне розгалуження як фрагмент алгоритму?
  6. Чим відрізняється розгалуження від циклу?
  7. Як організувати розгалуження в Scratch?

10. Закріплення вивченого.

Виконати завдання - на уроці 1, 2, 3, 5, 8.


11. Завдання до уроку.

  1. Виконайте алгоритм:

1. Записати в зошит два цілих числа.

2. Записати в зошит суму записаних чисел.

3. Визначити, істинна чи хибна умова «Записана сума більша ніж 30?».

4. Якщо умова істинна, то записати в зошит «Сума більша ніж 30» і виконати команду 8, якщо умова хибна, виконати команду 5.

5. Визначити, істинна чи хибна умова «Записана сума менша ніж ЗО?».

6. Якщо умова істинна, повідомити «Сума менша ніж 30» і виконати команду 8, якщо умова хибна, то виконати команду 7.

7. Повідомити «Сума дорівнює 30».

8. Закінчити виконання алгоритму.

  1. Виконайте алгоритм визначення більшого з двох різних чисел за наведеною блок-схемою (рис. 3.24) для таких наборів значень змін­них: а) а = -5,4, b = -3,2; б) а = 7,1, b = -0,9.

1.png

  1. Виконайте алгоритм порівняння двох чисел за наведеною блок- схемою (рис. 3.25) для таких наборів значень змінних: а) а = 5,1, b = -2,8; б) а = 3,1, b = 3,1; в) а = -4,5, b = -3,7. Наведіть три ін­ших набори значень змінних, щоб для різних наборів виконання алгоритму відбувалося по-різному.
  2. Складіть блок-схему алгоритму, наведеного в завданні 1. Виконай­те цей алгоритм для трьох різних пар цілих чисел. Доберіть ці нари так, щоб для різних нар виконання алгоритму відбувалося по- різному.
  3. Складіть блок-схему алгоритму обчислення значення виразу (а + b) - с : а. Виконайте його при різних значеннях а, b, с. Добе­ріть значення так, щоб для різних наборів значень виконання алго­ритму відбувалося по-різному.
  4. Складіть блок-схему алгоритму обчислення значення виразу (а + b) - с : (а - 2b). Виконайте його при різних значеннях а, b, с. Доберіть значення так, щоб для різних наборів значень виконання алгоритму відбувалося по-різному.
  5. Є дев’ять однакових на вигляд монет. Відомо, що серед них є одна фальшива і вона важча за справжню. Складіть алгоритм виявлення фальшивої монети найменшою кількістю зважувань на шалькових терезах без важків.
  6. Складіть алгоритм руху виконавця вліво в середовищі Scratch. Дійшовши до лівої границі Сцени, виконавець повинен з’явитися біля правої границі Сцени і продовжувати рух уліво. Збережіть створений проект у своїй папці у файлі з іменем завдання 3.3.8.
  7. Складіть алгоритм руху виконавця вгору в середовищі Scratch. Дійшовши до верхньої границі Сцени, виконавець повинен з’явитися біля нижньої границі Сцени і продовжити рух угору. Збережіть створений проект у своїй папці у файлі з іменем завдан­ня 3.3.9.

12. Підсумки.

Рефлексія

1.  Під час уроку я

2.  Найбільше мені сподобалося...

3.  На уроках найкраще в мене виходило...

4.  Я мав (-ла) труднощі з...

5.  Я хотів би ще дізнатися про...


13. Домашнє завдання.

  1. Вивчити теоретичний матеріал (підручник п. 3.3)
  2. Вправа 4, 6, 7*, 9.
  3. Виконати вправу працюємо з комп’ютером.