2. Пригадаймо:
1. Що таке висловлювання?
2. Які висловлювання називають істинними, а які - хибними?
З. Чому висловлювання «Якщо — то» і «Якщо — то — інакше»
називаються умовними?
4. Як перевірити, істинним чи хибним є умовне висловлювання
«Якщо — то — інакше»?
3. Команда присвоювання
http://leontyev.net
Задача 1. Обчислити значення виразу (a-b) * ( c-d) де a, b, c, d -
цілі або дробові числа (символом * в інформатиці позначається
операція множення).
Запишемо алгоритм розв'язування цієї задачі для такого
виконавця в словесній формі.
1. Увести значення змінних а, Ь, с, d.
2. Обчислити значення виразу а - b і результат присвоїти
змінній х (запам'ятати як значення цієї змінної).
3. Обчислити значення виразу с — d і результат присвоїти
змінній у (запам'ятати як значення цієї змінної).
4. Обчислити значення виразу х * у і результат присвоїти
змінній z.
5. Повідомити значення змінної z.
4. http://leontyev.net
У командах 2, 3 і 4 обчислюється значення виразу і результат
обчислення присвоюється (запам'ятовується як значення) певній змінній. Такі
команди називаються командами присвоювання. Для них зручно
використовувати таку форму запису:
2. х:= а - Ь (читається: змінній х
присвоїти значення виразу а — Ь)
3. у:= c - d
4. z:= х * у
Знак := називається знаком присвоювання та складається
з двох символів: двокрапки і дорівнює, які записуються без
пропуску між ними. Команда виду у := с — d називається
командою присвоювання
Команда присвоювання
5. http://leontyev.net
Команда присвоювання
Наведемо блок-схему цього алгоритму:
Проілюструємо виконання цього алгоритму для
значень змінних: a = 3, b = 4, с = -2, d = -5.
Характерною особливістю цього алгоритму є
те, що всі його команди обов’язково виконуються,
причому кожна тільки по одному разу.
Такий алгоритм або такий фрагмент
алгоритму називають лінійним, або слідуванням.
6. Розгалуження в алгоритмі
http://leontyev.net
Задача 2. Обчислити значення виразу ( a-b) / (c-d), де a, b, c, d — цілі або
дробові числа (символом / в інформатиці позначається операція ділення).
Перш за все звернемо увагу на те, що значення цього виразу, на відміну від
поперед нього, можна обчислити не при будь-яких значеннях змінних а, Ь, с,
d. Адже цей вираз містить дію ділення на вираз зі змінними, який може
дорівнювати нулю. Тобто якщо значення різниці с — d дорівнює нулю, то
значення виразу (а — Ь) / (с — d) обчислити не можна, а якщо не дорівнює
— то можна.
Це означає, що система команд виконавця повинна містити команду
порівняння двох чисел, наприклад таку:« S = t?» де s і t - або числа, або
змінні, або вирази, які мають певні числові значення. Така команда є
прикладом команди перевірки умови.
Якщо умова виконується, то вважається, що результатом виконання
команди перевірки умови є істина, або true (англ. true — істина). Інакше,
тобто якщо умова не виконується, то вважається, що результатом
виконання цієї команди є хиба, або false (англ. false — хиба).
7. http://leontyev.net
Розгалуження в алгоритмі
Алгоритм розв'язування цієї задачі виглядатиме так:
1. Увести значення змінних a, b, c, d.
3. х = О?
2. x:=c-d
4. Якщо результат виконання команди перевірки умови
істина, то повідомити «Вираз значення не має: ділення на
нуль», після чого виконати команду 8, інакше (тобто якщо
результат виконання команди перевірки умови хиба)
виконати команду 5.
5. у := а - Ь
6. z := у/х.
7. Повідомити значення змінної z.
8. Закінчити виконання алгоритму.
Хід виконання цього алгоритму залежатиме від результату виконання команди
перевірки умови. І залежно від цього результату (істина чи хиба) виконавець
буде виконувати різні команди. Так, у наведеному алгоритмі, якщо результат
виконання команди перевірки умови істина, то виконуватимуться команда
виведення повідомлення: «Вираз значення не має: ділення на нуль» і команда
8, а якщо результат виконання команди перевірки умови хиба, то
виконуватимуться команди 5—8.
8. http://leontyev.net
Розгалуження в алгоритмі
У блок-схемі алгоритму команду перевірки умови позначає блок
Рішення
Оскільки результатом виконання команди перевірки
умови може бути або істина, або хиба, то із цього блока є
два виходи. Вихід Так означає, що результатом виконання
команди перевірки умови є істина, а вихід Ні — що
результатом виконання команди перевірки умови є хиба.
Розглянемо фрагмент алгоритму на рисунку від
блока Рішення до блока Термінатор (не включаючи
цей блок).
Характерною рисою цього фрагмента алгоритму є те,
що при кожному його виконанні деякі команди
будуть виконуватися, причому кожна по одному
разу, а деякі виконуватись не будуть. Це залежить від
результату виконання команди перевірки умови.
Такий фрагмент алгоритму називають
розгалуженням
Алгоритм, який містить розгалуження, називають
алгоритмом з розгалуженням
10. http://leontyev.net
Розгалуження в алгоритмі
В алгоритмах використовують розгалуження двох видів:
Повне рогзалуження Неповне рогзалуження
Виконання повного розгалуження відбувається так: виконавець виконує команду
перевірки умови: якщо результат виконання цієї команди істина, то виконавець
виконує послідовність команд 1, після чого переходить до виконання першої команди
наступного фрагмента алгоритму; якщо ж результат виконання цієї команди хиба, то
виконавець виконує послідовність команд 2, після чого також переходить до
виконання першої команди наступного фрагмента алгоритму.
Виконання неповного розгалуження відрізняється від виконання повного
розгалуження тим, що за результату виконання команди перевірки умови хиба
виконавець одразу переходить до виконання першої команди наступного фрагмента
алгоритму.
14. Запам’ятайЛінійним, або слідуванням, називають алгоритм або фрагмент алгоритму, у якому
кожна команда обов’язково виконується, причому кожна тільки по одному разу.
Команда перевірки умови визначає істинність чи хибність певної умови.
Якщо умова виконується, то вважається, що результатом виконання команди
перевірки умови є істина, або true. Інакше, тобто якщо умова не виконується, то
вважається, що результатом виконання цієї команди є хиба, або false.
У блок-схемі алгоритму команду перевірки умови позначає блок Рішення
Розгалуженням називають фрагмент алгоритму, що містить команду перевірки
умови і послідовності команд, які будуть виконуватися або не виконуватися
залежно від результату виконання команди перевірки умови.
Характерною рисою розгалуження є те, що при кожному його виконанні деякі
команди будуть виконуватися, причому кожна по одному разу, а деякі -
виконуватися не будуть. Це залежить від результату виконання команди перевірки
умови.
Алгоритм, який містить розгалуження, називають алгоритмом з розгалуженням.
15. Підсумуємо:
1. Який фрагмент алгоритму називається лінійним?
2. Чим відрізняється лінійний фрагмент алгоритму від циклу?
З. Що таке розгалуження в алгоритмі?
4. Які два види розгалуження використовують в алгоритмах? Як виконується кожний з
них?
5. Чим характерне розгалуження як фрагмент алгоритму?
6. Чим відрізняється лінійний фрагмент алгоритм від розгалуження?
7. Чим відрізняється розгалуження від циклу?
8. Як організувати розгалуження в Scratch?