- •1.Інформатика та інформація
- •Успіхів тобі! Питання та завдання
- •2.Алгоритми та виконавці
- •Питання та завдання
- •3.Виконавець Черепашка
- •Систему команд:
- •4.Команда color
- •6.Програмний режим в logo
- •7.Цикли в logo та в житті
- •8. Коло
- •9.Кругові циклічні орнаменти
- •10. Вкладені цикли
- •11. Процедури
- •12. Програми з кількома процедурами
- •13. Величини в logo
- •14. Процедури з величинами
- •15. Величини в циклі
- •16.Створення орнаментів
10. Вкладені цикли
Згадаємо приклад з медсестрою, яка отримала наказ зробити всім учням школи щеплення Манту (пункт 7). Ми розглянули лише, як вона виконуватиме цикл в одному класі. Але ж вона повинна зайти до кожного класу, розкласти там свої речі, прищепити всіх учнів у цьому класі, зібратися і вийти в коридор. І все це вона повинна проробити стільки разів, скільки класів у школі. Отже, якщо припустити, що на одному поверсі в школі 10 кабінетів, то медсестра має виконати цикл з десяти підряд повторень однієї й тієї ж послідовності дій, яка в свою чергу містить цикл – щеплення всіх учнів у кабінеті.
Інший приклад. Майстру замовили чотири пили по 50 зубців у кожній. Він бере лист заліза, кладе його на свій робочий стіл і напилком 50 разів робить одні й ті ж дії, щоб зробити 50 зубців. Відкладає готову пилу, бере наступний лист заліза. І так стільки разів, скільки пил йому замовили.
Отже, часто виникають ситуації, коли цілком весь цикл та з ним, може, ще деякі інші команди повторюються, не змінюючись, кілька разів підряд. У цьому разі команда циклу є однією з складових тіла іншого, так званого, зовнішнього циклу. Таким чином, всередині циклу відбувається ще один цикл, тобто цикл у циклі – зовнішній і внутрішній. Такі цикли називаються вкладеними.
Розглянемо вкладені цикли LOGO. Хай Черепашці треба намалювати чотири пили по 5 зубів у кожній, як це зображено на малюнку:
Щоб замалювати один зубчик, треба виконати такі дії:
DRAW
RIGHT 45
FORWARD 14
LEFT 45
BACK 10
Таким чином, щоб утворити цілу пилу, треба виконати цикл:
REPEAT 5
[ DRAW
FORWARD 14
LEFT 45
BACK 10 ]
І це буде внутрішній цикл. А що ж робить зовнішній? Він наказує малювати пилу та переходити до наступної, і робити це чотири рази:
REPEAT 4
[ REPEAT 5
[ DRAW
FORWARD 14
LEFT 45
BACK 10 ]
NODRAW
RIGHT 90
FORWARD 10
LEFT 90 ]
Розглянемо більш складний приклад вкладеного циклу:
Маємо шість рядочків по чотири однакові «галочки» в кожному. Отже, внутрішній цикл відповідатиме за створення одного рядочка, тобто чотирьох однакових «галочок» та проміжків між ними:
REPEAT 4
[ RIGHT 135
DRAW
FORWARD 14
LEFT 90
FORWARD 14
NODRAW
RIGHT 45
FORWARD 10
LEFT 90 ]
А зовнішній цикл відповідатиме за повторення таких рядочків шість разів. Маємо програму:
REPEAT 6
[REPEAT 4
[ RIGHT 135
DRAW
FORWARD 14
LEFT 90
FORWARD 14
NODRAW
RIGHT 45
FORWARD 10
LEFT 90 ]
BACK 20
LEFT 90
FORWARD 120
RIGHT90 ]
Слід розібратися з командами всередині тіла зовнішнього циклу, які не входять до внутрішнього циклу. За цими командами Черепашка здійснює перехід від одного рядочка до наступного. Дійсно, вона закінчує малювати рядочок і опиняється у вихідному положенні. Далі за командою ВАСК 20 Черепашка спуститься до наступного рядка. А за командами LEFT90іFORWARD120 перейде на його початок (120 становлять 4 рази по 30: 20 на «галочку» та 10 на проміжок). Останнє – RIGHT90– розвертає Черепашку у вихідне положення.
І ще один приклад:
Виконуючи внутрішній цикл, черепашка створюватиме чотири однакові пелюстки однієї квіточки, а виконуючи зовнішній цикл, вона намалює три такі квітки:
REPEAT 3
[ DRAW
REPEAT 4
[ FORWARD 20
RIGHT 135
FORWARD 14
RIGHT 90
FORWARD 14
LEFT 135 ]
NODRAW
RIGHT 90
FORWARD 50
LEFT 90 ]
Спеціально перед проголошенням внутрішнього циклу стоїть команда DRAW, а по його закінченні – NODRAW, бо саме внутрішній цикл відповідає за малювання квіточки. А щоб зробити між квіточками проміжки, надаються три останні команди зовнішнього циклу: RIGHT 90 – розвертає Черепашку горизонтально вправо, FORWARD 50 (50=20+10+20) – Черепашка переміщується в центр наступної квіточки, LEFT 90 – розвертає виконавця у вихідне положення.
Питання та завдання
1.Наведи приклади вкладених циклів у житті.
2.Виконай у зошиті програму:
REPEAT3
[ RIGHT 45
DRAW
REPEAT 4
[ FORWARD 14
RIGHT 90 ]
RIGHT45
NODRAW
FORWARD30
LEFT90 ]
3.Склади програми для створення наступних малюнків: