Гіпермаркет Знань>>Інформатика>>Інформатика 7 клас>>Інформатика: Команди розгалуження та присвоювання
Команди розгалуження та присвоювання 1. Наведіть приклади ситуацій, у яких виконуються різні дії в залежності від результату перевірки певної умови. 2. З яких команд складається і як виконується розгалуження в алгоритмі? 3. Чим відрізняється лінійна частина алгоритму від розгалуження? 4. Наведіть приклади розгалужень, з якими ви зустрічалися при вивченні шкільних предметів. 5. Якщо в алгоритмі використовується процедура Малюнок (х, у), то що відбувається по команді Малюнок (3, 4)?
Команди розгалуження Восьминіжка стоїть перед коридором відомої довжини. У верхній стіні цього коридору в невідомих місцях є одноклітинні виступи. Потрібно зафарбувати клітинки в цих виступах. Очевидно, Восьминіжка має йти по коридору і перевіряти, чи є зверху перешкода. Якщо перешкоди немає, то зайти у виступ, зафарбувати клітинку, повернутися назад у коридор і рухатися далі. Якщо перешкода є, то просто рухатися далі по коридору. Отже, маємо ситуацію, коли Восьминіжка має виконати різні дії в залежності від результату перевірки умови. Тобто маємо знайоме нам розгалуження в алгоритмі. Восьминіжка може виконувати таку команду розгалуження: Якщо <умова> < Послідовність команд 1 > Інакше <Послідовність команд 2> Все Блок-схемою цю команду можна зобразити так:
Нагадаємо, що виконується ця команда розгалуження таким чином: виконується команда перевірки умови; якщо результат виконання цієї команди Так, то виконується <Послідовність команд 1>, а <Послідовність команд 2> не виконується; якщо ж результат виконання команди перевірки умови Ні, то виконується <Послідовність команд 2>, а <Послідовність команд 1> не виконується. Система команд виконавця Восьминіжка містить такі команди перевірки умови:
Крім зазначених команд перевірки умови з системи команд виконавця Восьминіжка, умовами можуть бути звичайні рівності або нерівності. Наприклад, 15 > 7, 5 <0, а >3. Алгоритм розв'язування поставленої задачі буде такий: Вправо Повтори 10 разів Якщо Зверху ВІЛЬНО Вгору Зафарбуй Вниз Вправо Інакше Вправо Все Все
Звертаємо увагу на те, що й у випадку, коли результат перевірки умови Зверху вільні - Так, і в протилежному випадку повинна виконати команду Вправо. У таких випадках цю команду можна вилучити з команди розгалуження і поставити її після неї. Але тоді після слова Інакше взагалі команди відсутні. Для таких випадків використовується інший вид команди розгалуження: Якщо <умова> <Послідовність команд> Все Блок-схемою цю форму команди розгалуження можна зобразити так:
Виконується ця команда розгалуження так: виконується команда перевір умови; якщо результат виконання цієї команди , то виконуєть <Послідовність команд ; якщо ж результат виконання команди перевірки умо Ні, то одразу виконується наступна команда алгоритму. З використанням такої команди розгалуження алгоритм для розв'язування п передньої задачі буде такий: Вправо Повтори 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 клас
Надіслано читачами з інтернет-сайту
Плани уроків з інформатики, конспекти, підручники онлайн, електронні видання безкоштовно, реферати
Зміст уроку
конспект уроку і опорний каркас
презентація уроку
акселеративні методи та інтерактивні технології
закриті вправи (тільки для використання вчителями)
оцінювання
Практика
задачі та вправи,самоперевірка
практикуми, лабораторні, кейси
рівень складності задач: звичайний, високий, олімпійський
домашнє завдання
Ілюстрації
ілюстрації: відеокліпи, аудіо, фотографії, графіки, таблиці, комікси, мультимедіа
реферати
фішки для допитливих
шпаргалки
гумор, притчі, приколи, приказки, кросворди, цитати
Доповнення
зовнішнє незалежне тестування (ЗНТ)
підручники основні і допоміжні
тематичні свята, девізи
статті
національні особливості
словник термінів
інше
Тільки для вчителів
ідеальні уроки
календарний план на рік
методичні рекомендації
програми
обговорення
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.
|