- •1.Інформатика та інформація
- •Успіхів тобі! Питання та завдання
- •2.Алгоритми та виконавці
- •Питання та завдання
- •3.Виконавець Черепашка
- •Систему команд:
- •4.Команда color
- •6.Програмний режим в logo
- •7.Цикли в logo та в житті
- •8. Коло
- •9.Кругові циклічні орнаменти
- •10. Вкладені цикли
- •11. Процедури
- •12. Програми з кількома процедурами
- •13. Величини в logo
- •14. Процедури з величинами
- •15. Величини в циклі
- •16.Створення орнаментів
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.Склади програми для створення наступних малюнків: