- •1.Інформатика та інформація
- •Успіхів тобі! Питання та завдання
- •2.Алгоритми та виконавці
- •Питання та завдання
- •3.Виконавець Черепашка
- •Систему команд:
- •4.Команда color
- •6.Програмний режим в logo
- •7.Цикли в logo та в житті
- •8. Коло
- •9.Кругові циклічні орнаменти
- •10. Вкладені цикли
- •11. Процедури
- •12. Програми з кількома процедурами
- •13. Величини в logo
- •14. Процедури з величинами
- •15. Величини в циклі
- •16.Створення орнаментів
14. Процедури з величинами
Розберемося спочатку з процедурами, які містять одну величину. Той самий рецепт напою (див. п.13) є прикладом процедури з однією величиною. Роль величини тут відіграє ємність, а її значення можуть бути стакан, склянка, відро тощо. Отже, процедуру цю можна виконувати скільки завгодно разів з різними значеннями величини. При цьому якісно ми будемо робити одне й те саме – напій за вказаним рецептом, а кількісно – різне.
Розглянемо малюнок 30. Якісно – одне й те саме: три квадратики, але з кількісної точки зору – різне.
Ми вже знаємо, як навчити Черепашку малювати квадрат з конкретною стороною за допомогою процедури. Ми також вже вміємо складати програму для створення Черепашкою квадратика з використанням величини. Поєднаємо ці навички – складемо процедуру з величиною а для малювання квадратика зі стороною а.
TO KV :a
DRAW
FORWARD :a
RIGHT 90
FORWARD :a
RIGHT 90
FORWARD :a
RIGHT 90
FORWARD :a
BACK :a
RIGHT 90
NODRAW
END
:a=10
KV :a
:B=30
KV:B
KV20
Треба звернути увагу на оду деталь у тексті процедури: за командою BACK :а Черепашці доведеться перейти у вихідне положення, з якого малюватиметься наступний квадратик.
Беручи до уваги все вищесказане, ти можеш самостійно скласти програми для створення малюнків 31а та 31б.
Для цього треба в програмі, яку ми щойно розібрали, змінити порядок виклику процедури KV:a,а також внести ще деякі зміни до тексту основної частини програми.
А щоб Черепашка намалювала наступний малюнок,
треба наказати їй виконати програму, що містить вже знайому нам процедуру для малювання прямокутника, довжина якого вдвічі більша за ширину:
TO PR :X
DRAW
FORWARD :X
RIGHT 90
FORWARD :X*2
RIGHT 90
FORWARD :X
RIGHT 90
FORWARD :X*2
BACK :X*2
RIGHT 90
NODRAW
END
PR 20
PR 10
PR 30
PR 10
RIGHT 90
FORWARD 20
LEFT 90
PR20
А тепер розглянемо більш складний випадок – процедури з кількома величинами. Іноді в житті зустрічаються процеси, в яких мають місце дві величини, або більше. Скажімо, коли кравець шиє одяг, то йому обов’язково треба виміряти по меншій мірі дві незалежні одна від одної величини, наприклад, довжину спідниці та обсяг талії.
Працюють процедури з кількома величинами і в LOGO. Розглянемо, що намалює Черепашка, виконуючи наступну програму:
TO PR :A :B
DRAW
FORWARD :A
RIGHT 90
FORWARD :B
RIGHT 90
FORWARD :A
RIGHT 90
FORWARD :B
NODRAW
BACK :B+10
RIGHT 90
END
:C=10
:E=15
PR :C :E
PR 20 20
Навіть з імені процедури зрозуміло, що вона вчить Черепаху малювати прямокутник із сторонами А та В. Виконуючи останні три команди процедури, Черепашка відійде з піднятим хвостом на 10 кроків від намальованого нею прямокутника. А з викликом процедури ти вже знайомий. Отже, матимемо намальовані поруч прямокутник із сторонами 10 та 15 і квадратик із стороною 20.
Питання та завдання
1.Наведи приклди процедур з однією та багатьма величинами з життя.
2.Використавши процедури з величинами для малювання рівностороннього трикутника, склади програми для створення наступних малюнків:
3.За допомогою процедур навчи Черепашку малювати наступні літери довільних розмірів: Н П Ш Е Т.
4.Склади програму з використанням процедури KV:a для створення малюнка 31а та 31б.
5.Не виконуючи в зошиті та без допомогт Черепашки, спробуй сказати, що буде результатом виконання наступних програм:
TO M :X TO K :X
FORWARD :X FORWARD :X
RIGHT 135 BACK :X/2
FORWARD :X/2 RIGHT 45
LEFT 90 FORWARD :X/2
FORWARD :X/2 BACK :X/2
LEFT 45 RIGHT 90
BACK :X FORWARD :X/2
END BACK :X/2
M 80 LEFT 135
BACK :X/2
END
K 80