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

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.Склади програми для створення наступних малюнків:

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