KNOWLEDGE HYPERMARKET


ПРОЦЕДУРИ

ПРОЦЕДУРИ


1. В яких випадках при складанні алгоритму для Черепашки можна використовувати цикли?
2. Пригадайте випадки, коли ви виконували одну й ту саму послідовність дій, але через різні проміжки часу.

Алгоритм з процедурою
Маємо все ті ж рівнобедрені прямокутні трикутники(4).
Вам відома послідовність команд для малювання одного такого трикутника:

Опусти хвостик

Вперед на 50

Вправо на 90

Вперед на 50

Вліво на 45

Назад на 70

Підніми хвостик

Оскільки маємо чотири рівні між собою трикутники, то в таких випадках ви використовували команду циклу. До цього циклу включалися також і команди переходу від одного трикутника до іншого.


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

Якщо ж не використовувати команду циклу, то потрібно в алгоритмі чотири рази повторити одні й ті ж самі сім команд малювання трикутника. Це незручно і зробить алгоритм досить громіздким. А якщо таких трикутників буде не 4, а значно більше?


Щоб спростити запис такого алгоритму, команди, що повинні повторюватись, виносять в окрему частину і дають їй ім'я. Таку частину алгоритму називають процедурою.
Щоб викликати на виконання команди процедури, потрібно лише вказати її ім'я. Команда, що складається з імені процедури, називається командою виклику процедури.
Ім'я процедури — це довільна послідовність букв і цифр, в якій першою є буква. Великі та малі букви в імені не розрізняються.


Для наведеного малюнка процедура для малювання прямокутного трикутника ПрямТр виглядатиме так:

Проц ПрямТр
Початок
Опусти хвостик
Вперед на 50
Вправо на 90
Вперед на 50
Вліво на 45
Назад на 70
Підніми хвостик
Кінець

А сам алгоритм малювання чотирьох трикутників буде таким:
Проц ПрямТр
Початок
Опусти хвостик
Вперед на 50
Вправо на 90
Вперед на 50
Вліво на 45
Назад на 70
Підніми хвостик
Кінець

ПрямТр
Вправо на 45
Вперед на 60
Вліво на 90
ПрямТр
Вправо на 45
Вперед на 80
Вліво на 90
ПрямТр
Вправо на 45
Вперед на 70
Вліво на 90
ПрямТр


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


Якщо алгоритм містить процедуру, то його запис розпочинається із запису цієї процедури.


Запис процедури розпочинається зрядка заголовка, який має вигляд Проц ім'я процедури. У наступному рядку записується спеціальне слово Початок, далі йдуть команди, що входять до процедури, і закінчується запис процедури спеціальним словом Кінець Після цього записуються команди основної частини алгоритму.
Зауважимо, що в наведеному прикладі між процедурою і основною частиною алгоритму пропущено один рядок. Це зроблено для зручності сприйняття алгоритму в цілому. Рекомендуємо вам завжди так робити.

Виконання алгоритму з процедурою
Черепашка розпочинає виконання алгоритму з процедурою з першої команди основної частини алгоритму. У наведеному алгоритмі це команда ПрямТр. У системі команд виконавця Черепашка команди ПрямТр немає. Це означає, що в алгоритмі повинна бути процедура з таким іменем, і Черепашка починає послідовно виконувати її команди.

Після закінчення виконання команд процедури Черепашка викопує наступну команду основної частини алгоритму Вправо на 45. Коли в основній частині алгоритму знову зустрінеться команда ПрямТр, Черепашка знову виконає команди цієї процедури, після чого виконає наступну команду основної частини алгоритму. І так далі, доки Черепашка не ви конає всі команди основної частини алгоритму.

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


Наведемо приклад такого алгоритму для малюнка.
Ass15.jpg

Малюнок складається з трьох рівних між собою рівносторонніх трикутників і двох рівних між собою квадратів. Відстані між ними різні. Тому доцільно використати в алгоритмі дві процедури: процедуру для малювання рівностороннього трикутника і процедуру для малювання квадрата.


Проц РівнТр

Початок

Опусти хвостик

Повтори 3 рази

[
Вперед на 40

Вправо на 120
]
Підніми хвостик

Кінець


Проц Квадрат

Початок

Опусти хвостик

Повтори 4 рази
[
Вперед на ЗО

Вправо на 90
]
Підніми хвостик

Кінець
Вправо на ЗО

РівнТр
Вправо на 60
Вперед на 50

Вліво на 90

РівнТр Вправо на 60

Вперед на 55

Вліво на 90

Квадрат

Вправо на 90

Вперед на 60

Вліво на 60

РівнТр Вправо на 60

Вперед на 65

Вліво на 90

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


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


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

Це дає змогу створити бібліотеку процедур малювання найбільш поширених об'єктів і використовувати її для складання різноманітних алгоритмів.

Запитання та завдання
1. Що таке процедура?
2. В яких випадках використовують процедури при складанні алгоритмів?
3. Наведіть приклади процедур з оточуючого життя.
4. Як записуються процедури в алгоритмі?
5. Що може бути іменем процедури?
6. Як виглядає команда викл ику процедури?
7. Як виконавець виконує алгоритм, який містить процедури?
8. У чому полягає суть процедурного методу при складанні алгоритму?
9. Складіть    алгоритми    для    Черепашки,    використовуючи процедури:

Ass16.jpg


Ass17.jpg


Ass18.jpg


10. Виконайте в зошиті алгоритм (процедури РівиТр, ПрямТр, Квадрат наведені на сторінках 78 і 80):

а) РівнТр Вправо на 90 Вперед на 60 Вліво на 90 РівнТр Вправо на 90 Вперед на 70 Вліво на 90 РівнТр Вправо на 90 Вперед на 80 Вліво на 90 Назад на 50 РівнТр

б) Вправо на 45 ПрямТр Вперед на 80 Вліво на 45 ПрямТр Вперед на 90 Вліво на 45 ПрямТр Вперед на 100 Вліво на 45 ПрямТр

в)Повтори 3 рази [ Вліво на 45 ПрямТр Назад на 80 ]

г) Проц Гірямокутникі Початок Опусти хвостик Повтори 2 рази [ Вперед на 20 Вправо на 90 Вперед на 40 Вправо на 90 ] Підніми хвостик Кінець
Прямокутник1 Вправо 90 Вперед на 50 Прямокутникі Вправо 90 Вперед на 60 Прямокутникі Вправо 90 Вперед на 70 Прямокутник1

д) Проц Прямокутник2 Початок Опусти хвостик Повтори 2 рази [ Вперед на 20 Вправо на 90 Вперед на 30 Вправо на 90 ] Підніми хвостик Кінець
Повтори 3 рази [ Вправо на 45 Прямокутники Вправо на 45 Вперед на 50 Вліво на 90 ]

е) Повтори 3 рази [ ПрямТр Вправо на 45 Вперед на 70 Вліво на 90 Квадрат Вправо на 90 Вперед на 40 Вліво на 90 ]


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

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



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 що ще не відомо, не відкрито вченими