Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
04.03.2016
Размер:
747.62 Кб
Скачать

11. Процедури

Розпочнемо з малюнка

Неважко помітити, що на ньому – ті ж самі прапорці, що й на малюнку 24а, але розташовані вони без певного порядку, тобто цикл застосувати не можна. Що ж робити? Можна, звичайно, спочатку надати Черепашці команди, за якими вона намалює перший прапорець. Потім перевести її до точки, з якої починатиметься малювання другого прапорця. І знову повторити в тексті програми команди для малювання прапорця та перевести Черепашку до початку третього прапорця. І так далі… Виявляється, що послідовність команд

DRAW

FORWARD 20

RIGHT 90

FORWARD 10

RIGHT 135

FORWARD 14

RIGHT 135

BACK 10

NODRAW, за якою Черепашка малює прапорець та стає у вихідне положення, нам доведеться набирати в тексті програми аж п’ять разів. Приємного мало.

От якби можна було б один раз навчити Черепашку команді скажімо, FLAG, під якою вона б розуміла всю відповідну послідовність команд… Тоді б ми могли лише наказувати – викликати: «тут – FLAG, там – FLAG». Зручно!

Така можливість в LOGO є. Її надає використання нового за своєю структурою фрагменту програми, що має назву процедура.

Сутність процедури полягає у наступному: деяку послідовність дій-команд відокремлюють від решти програм, надають цій послідовності певне ім.’я, а потім за її іменем викликають процедуру коли і скільки потрібно.

Прикладом виконання алгоритму з процедурою може бути приготування твоєю бабусею чи мамою вашого «фірмового» домашнього торта, який вони роблять час від часу, на свята, але завжди за одним і тим рецептом, а отже, виконуючи одні й ті ж самі команди, що складають процедуру, іменем якої є назва торту. В кожній процедурі всередині – свій «фірмовий» торт, а отже – своя процедура його приготування з відповідним ім.’ям цієї процедури. Взагалі, кожний рецепт можна розглядати як процедуру приготування тієї чи іншої страви.

Але повернемося до ситуації, в якій ми залишили Черепашку. Пригадаємо малюнок 25. Нам треба спочатку навчити Черепашку малювати прапорець, створивши відповідну процедуру.

Зовнішній вигляд процедури в LOGO такий:

ТО ім.’я процедури

команда

команда

команда

…………

команда

END

Далі в програмі треба викликати процедуру за її іменем. Іменем процедури може бути довільний набір цифр та літер без пробілів, який розпочинається з літери (наприклад, Cirel або KV1 або ALL20equ).

Отже, для створення Черепашкою малюнка 25 складемо наступну програму:

TO FLAG

DRAW

FORWARD 20

RIGHT 90

FORWARD 10

RIGHT 135

FORWARD 14

RIGHT 135

BACK 10

NODRAW

END

FLAG

RIGHT 90

FORWARD 20

LEFT 90

FLAG

BACK 30

FLAG

RIGHT 90

FORWARD 20

LEFT 90

FLAG

RIGHT 90

FORWARD 30

LEFT90

FORWARD30

FLAG

(Зауважимо, що між процедурою та основною частиною програми пропущено рядок винятково для зручності сприйняття нами тексту програми. Робити це не обов’язково.)

Коли ми запустимо програму на виконання, комп’ютер розпочне працювати з її текстом. Зустрівши команду TO FLAG, він розпочне вчити Черепашку новій команді – FLAG, і навчання це закінчиться словом END. Далі, зустрівши в тексті основної частини програми команду FLAG, Черепашка послідовно виконає всі ті дії, які складають процедуру з цим ім.’ям.

Ще раз зауважимо, що та частина програми, яка обмежена словами TO і END, лише навчає Черепашку малювати прапорець, а малює вона його вже потім, зустрівши команду FLAG і згадуючи, яким діям її навчили. До речі, так і медсестру навчили робити Манту в медучилищі, а виконує вона цю процедуру вже потім у школі.

Питання та завдання

1.Наведи приклади процедур у житті.

2.Виконай у зошиті програму:

TOTR1

DRAW

RIGHT 45

FORWARD 14

RIGHT 90

FORWARD 14

RIGHT 135

FORWARD 20

RIGHT 90

NODRAW

END

TR1

BACK 20

TR1

RIGHT 90

FORWARD 30

LEFT 90

FORWARD10

TR1

3.Склади програми для створення наступних малюнків:

Соседние файлы в папке 19 і 20 вибирай головне