KNOWLEDGE HYPERMARKET


Тема 37. Команди розгалуження та присвоювання

Гіпермаркет Знань>>Інформатика>>Інформатика 7 клас>>Інформатика: Команди розгалуження та присвоювання

Команди розгалуження та присвоювання
1. Наведіть приклади ситуацій, у яких виконуються різні дії в залежності від результату перевірки певної умови.
2. З яких команд складається і як виконується розгалуження в алгоритмі?
3. Чим відрізняється лінійна частина алгоритму від розгалуження?
4. Наведіть приклади розгалужень, з якими ви зустрічалися при вивченні шкільних предметів.
5. Якщо  в алгоритмі використовується  процедура
Малюнок (х, у), то що відбувається по команді Малюнок (3, 4)?

Команди розгалуження
Восьминіжка стоїть перед коридором відомої довжини. У верхній стіні цього коридору в невідомих місцях є одноклітинні виступи. Потрібно зафарбувати клітинки в цих виступах.
Очевидно, Восьминіжка має йти по коридору і перевіряти, чи є зверху перешкода. Якщо перешкоди немає, то зайти у виступ, зафарбувати клітинку, повернутися назад у коридор і рухатися далі. Якщо перешкода є, то просто рухатися далі по коридору.
Отже, маємо ситуацію, коли Восьминіжка має виконати різні дії в залежності від результату перевірки умови. Тобто маємо знайоме нам розгалуження в алгоритмі.
Восьминіжка може виконувати таку команду розгалуження:
Якщо <умова>
< Послідовність команд 1 > Інакше
<Послідовність команд 2> Все
Блок-схемою цю команду можна зобразити так:
 Inf 7 29.jpeg


Нагадаємо, що виконується ця команда розгалуження таким чином: виконується команда перевірки умови; якщо результат виконання цієї команди Так, то виконується <Послідовність команд 1>, а <Послідовність команд 2> не виконується; якщо ж результат виконання команди перевірки умови Ні, то виконується <Послідовність команд 2>, а <Послідовність команд 1> не виконується. Система команд виконавця Восьминіжка містить такі команди перевірки умови:
 

Inf 7 30.jpeg
Крім зазначених команд перевірки умови з системи команд виконавця Восьминіжка, умовами можуть бути звичайні рівності або нерівності. Наприклад, 15 > 7, 5 <0, а >3.
Алгоритм розв'язування поставленої задачі буде такий: Вправо
Повтори 10 разів Якщо Зверху ВІЛЬНО Вгору Зафарбуй Вниз Вправо Інакше
Вправо Все Все

Звертаємо увагу на те, що й у випадку, коли результат перевірки умови Зверху вільні   - Так, і в протилежному випадку повинна виконати команду Вправо. У таких випадках цю команду можна вилучити з команди розгалуження і поставити її після неї. Але тоді після слова Інакше взагалі команди відсутні. Для таких випадків використовується інший вид команди розгалуження:
Якщо <умова>
<Послідовність команд> Все
Блок-схемою цю форму команди розгалуження можна зобразити так:
 Inf 7 31.jpeg


Виконується ця команда розгалуження так: виконується команда перевір умови; якщо результат виконання цієї команди , то виконуєть <Послідовність команд ; якщо ж результат виконання команди перевірки умо Ні, то одразу виконується наступна команда алгоритму.
З використанням такої команди розгалуження алгоритм для розв'язування п передньої задачі буде такий: Вправо
Повтори 10 разів Якщо Зверху вільно Вгору Зафарбуй Вниз Все Вправо Все
Перша з розглянутих форм команди розгалуження називається повною, а друга— неповною.

Команда присвоювання
Раніше ви складали алгоритми для різних виконавців, виконуючи які, вони створювали рисунки, саджали дерева, переходили з однієї позиції до іншої. Тепер настав час розглянути алгоритми, у ході виконання яких виконуються певні обчислення.
Нехай Восьминіжка знаходиться перед горизонтальним коридором заданої довжини, деякі клітинки якого зафарбовані. Потрібно підрахувати кількість зафарбованих клітинок.
Очевидно, повинна, виконуючи команди циклу, йти по коридору і кожну клітинку перевіряти на зафарбованість. Якщо їй зустрінеться зафарбована і клітинка, потрібно збільшити кількість зафарбованих клітинок на 1.
Для підрахунку кількості зафарбованих клітинок використаємо змінну з іменем кількість. Перед початком руху Восьминіжки по коридору присвоїмо Ннадамо) цій змінній значення 0. Це абсолютно логічно, адже Восьминіжка поки що не знайшла в коридорі жодної зафарбованої клітинки. Це можна зробити ко-I пандою: кількість := 0.
Зі змінними ви вже зустрічалися і в 6-му, і в 7-му класах, коли використовували процедури з аргументами. Ці змінні набували своїх значень при кожному виклику такої процедури, і ці значення вказувалися саме в команді виклику.
Взагалі, для того щоб змінній присвоїти (надати) певне значення, використовується спеціальна команда - команда присвоювання. її загальний вигляд такий:
<ім'я змінної> := <число, ім'я змінної або арифметичний вираз>. Знак ":=" називається знаком присвоювання.
Наведемо приклади таких команд:
X := 45;     а :=-496;     ЧИСЛО := а;     у := X;     X := 4 * 5  + 22;
сума := 2 * с + а;    КІЛЬКІСТЬ := 4;    кількість := кількість + 2.
Звертаємо увагу на те, що ім'я змінної може містити літери латинського та українського алфавітів, а також цифри. Але цифра не може бути першим символом імені.
Звертаємо увагу на те, що дія множення, на відміну від математики, позначається значком *, а дія ділення - значком /.
Якщо в правій частині команди присвоювання стоїть число, то в результаті її виконання значення змінної, ім'я якої вказано в лівій частині команди, дорівнюватиме цьому числу. Наприклад, після виконання команди а := -496 змінна а матиме значення - 496.
Якщо в правій частині команди присвоювання стоїть ім'я змінної, то в результаті її виконання змінна, ім'я якої вказано в лівій частині команди, одержує зна-
чення змінної, ім'я якої стоїть у правій частині команди. Наприклад, після виконання команди y:=х змінна матиме значення, що дорівнює значенню змінної на момент виконання цієї команди. Зазначимо, що після виконання цієї команди значення змінної   не змінюється.
Якщо в правій частині команди присвоювання стоїть арифметичний вираз, то спочатку обчислюється значення цього виразу, а потім змінна, ім'я якої вказано в лівій частині команди, одержує значення, що дорівнює обчисленому. Наприклад, після виконання команди х:= 4*5+22 змінна х буде мати значення 42. А при виконанні команди х:= 2*с+а комп'ютер помножить поточне значення змінної с на 2, до результату додасть поточне значення змінної , після чого одержане значення присвоїть змінній х. Так, якщо на момент виконання цієї команди с = 25 і а =55, то після її виконання змінна  х матиме значення 105.
Якщо в результаті виконання команди присвоювання деяка змінна набула певного значення, то вона зберігає його при подальшому виконанні програми до того часу, поки в програмі не виконається інша команда присвоювання, у лівій частині якої буде вказано ім'я цієї змінної.
Звернемо особливу увагу на такі приклади команди присвоювання:
кількість := 4; кількість :=+2 . У першій з них змінна кількість одержує значення 4  , а в другій до цього значення додається 2, у результаті чого змінна одержує нове значення   6. Іншими словами, виконання команди кількість:= кількість+2 збільшує значення змінної кількість на 2. Аналогічно, виконання команди с:= с-1 зменшує значення змінної   на 1, а команда і := і * 4 множить поточне значення змінної і на 4.
Зважаючи на вищесказане, алгоритм для розв'язування поставленої задачі виглядатиме так:
Вправо
кількість := 0
Повтори 9 разів
Якщо Зафарбовано
КІЛЬКІСТЬ := КІЛЬКІСТЬ + 1
Все
Вправо
Все

Повідомлення ("Кількість зафарбованих клітинок у коридорі:"( кількість)
Звертаємо увагу на те, що останній алгоритм містить нову команду - команду виведення повідомлення. За цією командою відкриваєть спеціальне вікно, у якому й виводиться повідомлення. Текст, як узято в лапки, виводиться повністю, як він і записаний у самій ком ді. Потім після коми вказано ім'я змінної, значення якої потріб вивести.

Ломаковська Г.В., Ривкінд Й.Я. Інформатика, 7 клас

Надіслано читачами з інтернет-сайту


Плани уроків з інформатики, конспекти, підручники онлайн, електронні видання безкоштовно, реферати

1236084776 kr.jpg акселеративні методи на уроці                        1236084776 kr.jpg національні особливості
1236084776 kr.jpg виділити головне в уроці - опорний каркас            1236084776 kr.jpg нічого собі уроки
1236084776 kr.jpg відеокліпи                                           1236084776 kr.jpg нова система освіти
1236084776 kr.jpg вправи на пошук інформації                           1236084776 kr.jpg підручники основні допоміжні
1236084776 kr.jpg гумор, притчі, приколи, приказки, цитати             1236084776 kr.jpg презентація уроку
1236084776 kr.jpg додаткові доповнення                               1236084776 kr.jpg реферати
1236084776 kr.jpg домашнє завдання                                     1236084776 kr.jpg речовки та вікторизми
1236084776 kr.jpg задачі та вправи (рішення та відповіді)              1236084776 kr.jpg риторичні питання від учнів
1236084776 kr.jpg закриті вправи (тільки для використання вчителями)   1236084776 kr.jpg рівень складності звичайний І
1236084776 kr.jpg знайди інформацію сам                                1236084776 kr.jpg рівень складності високий ІІ 

1236084776 kr.jpg ідеальні уроки                                     1236084776 kr.jpg рівень складності олімпійський III
1236084776 kr.jpg ілюстрації, графіки, таблиці                         1236084776 kr.jpg самоперевірка
1236084776 kr.jpg інтерактивні технології                              1236084776 kr.jpg система оцінювання
1236084776 kr.jpg календарний план на рік                              1236084776 kr.jpg скласти пазл з різних частин інформації
1236084776 kr.jpg кейси та практикуми                                  1236084776 kr.jpg словник термінів 
1236084776 kr.jpg комікси                                              1236084776 kr.jpg статті
1236084776 kr.jpg коментарі та обговорення                           1236084776 kr.jpg тематичні свята
1236084776 kr.jpg конспект уроку                                       1236084776 kr.jpg тести
1236084776 kr.jpg методичні рекомендації                               1236084776 kr.jpg шпаргалка 
1236084776 kr.jpg навчальні програми                                   1236084776 kr.jpg що ще не відомо, не відкрито вченими

Если у вас есть исправления или предложения к данному уроку, напишите нам.

Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.