Гіпермаркет Знань>>Інформатика>>Інформатика 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 клас
Надіслано читачами з інтернет-сайту
Плани уроків з інформатики, конспекти, підручники онлайн, електронні видання безкоштовно, реферати
Зміст уроку
конспект уроку і опорний каркас
презентація уроку
акселеративні методи та інтерактивні технології
закриті вправи (тільки для використання вчителями)
оцінювання
Практика
задачі та вправи,самоперевірка
практикуми, лабораторні, кейси
рівень складності задач: звичайний, високий, олімпійський
домашнє завдання
Ілюстрації
ілюстрації: відеокліпи, аудіо, фотографії, графіки, таблиці, комікси, мультимедіа
реферати
фішки для допитливих
шпаргалки
гумор, притчі, приколи, приказки, кросворди, цитати
Доповнення
зовнішнє незалежне тестування (ЗНТ)
підручники основні і допоміжні
тематичні свята, девізи
статті
національні особливості
словник термінів
інше
Тільки для вчителів
ідеальні уроки
календарний план на рік
методичні рекомендації
програми
обговорення
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.
|