- •1.Інформатика та інформація
- •Успіхів тобі! Питання та завдання
- •2.Алгоритми та виконавці
- •Питання та завдання
- •3.Виконавець Черепашка
- •Систему команд:
- •4.Команда color
- •6.Програмний режим в logo
- •7.Цикли в logo та в житті
- •8. Коло
- •9.Кругові циклічні орнаменти
- •10. Вкладені цикли
- •11. Процедури
- •12. Програми з кількома процедурами
- •13. Величини в logo
- •14. Процедури з величинами
- •15. Величини в циклі
- •16.Створення орнаментів
15. Величини в циклі
Поглянь на малюнки:
Усі вони складаються з квадратиків. Квадратиків багато. Тому доцільно скористатися процедурою. А оскільки сторона квадратика змінюється, то це буде процедура з величиною. Тобто програма для створення малюнку 35а могла б мати такий вигляд:
TO KV :a
REPEAT 4
[ FORWARD 4
RIGHT 90 ]
END
:b=10
KV :b
:b=20
KV :b
:b=30
KV :b
:b=40
KV :b
:b=50
KV :b
:b=60
KV :b
Напевно, ти помітив, що в основній частині програми 6 разів повторюється пара команд Черепашці:
1)поклади певне число в шухлядку з іменем b;
2)зазирни в шухлядку та намалюй квадратик з такою стороною.
На мал. 35а та 35б сторони квадратиків збільшуються кожного разу на 10 кроків, а на мал. 35в – на 20.
Тому змінювати величину bможна в циклі командою :b=:b+10. За цією командою Черепашка повинна зазирнути в шухлядку з іменем b, збільшити її вміст на 10 і покласти нове значення у цю ж шухлядку.
Отже, використовуючи цикл, матимемо такий запис основної частини програми:
:b=10
REPEAT 6
[ KV :b
:b=:b+10 ]
Уяви себе на деякий час Черепашкою і виконай у зошиті цю програму, промовляючи собі вголос кожну команду:
-кладу в шухлядку з іменем b число 10;
-приступаю до виконання циклу:
-малюю квадратик із стороною 10;
-збільшую вміст шухлядки b на 10 (тепер у цій шухлядці лежить число 20);
-приступаю до другого проходу циклу:
-малюю квадратик із стороною 20;
-збільшую вміст шухлядки b на 10 (тепер у цій шухлядці лежить число 30);
………………………………….
-останній раз проходжу цикл:
-малюю квадратик із стороною 60;
-збільшую вміст шухлядки b на 10 (у шухлядці b – число 70).
Зверни увагу на те, що завжди перед роботою з будь-якою шухлядкою до неї необхідно покласти певне число. Без цього програма працювати не буде і на екрані з’явиться повідомлення про помилку!
Використання циклу значно скорочує запис програми. Але зручнішим такий запис буде лише для нас. Черепашці байдуже: в обох випадках їй доведеться виконувати однакову кількість команд.
Зазначимо, що процедура KVскладена таким чином, що після закінчення її виконання Черепашка стоїть у вихідному положенні. Тобто для малювання наступного квадратика їй не треба нікуди переміщуватись чи розвертатись.
Цього не можна сказати про малюнок 35б. Доведеться виходити з цієї ситуації через зміну основної частини програми, яка може мати, наприклад, такий вигляд:
:B=10
REPEAT 5
[ KV :B
RIGHT 90
FORWARD :B
LEFT 90
:B=:B+10 ]
Те ж саме стосується і малюнка 35в. Теж змінимо основну частину програми, та ще й змусимо Черепашку кожний наступний квадратик малювати іншим кольором.
:C=1
:B=10
REPEAT 3
[ COLOR :C
DRAW
KV :B
NODRAW
BACK 10
LEFT 90
FORWARD 10
RIGHT 90
:C=:C+1
:B=:B+20 ]
Ти, мабуть, здогадався, що за різнокольоровість відповідає команда С, яку ми змінюємо, збільшуючи її значення кожного разу.
Повернемося до малюнка 35. Чи можна застосувати цикл у циклі для створення малюнка 35г?
Для кожного конкретного малюнка тобі треба буде щойно вирішувати: чи можливе для його створення використання.
А чи доцільніше воно у цьому випадку?
Питання та завдання
1.Виконай у зошиті наступну програму, використовуючи процедуру KV:a:
:B=10
:C=1
REPEAT 8
[ COLOR :C
KV :B
RIGHT45
:B=:B+10
:C=:C+1 ]
2.Склади програми для створення наступних малюнків:
Хай на мал. 36б кожен наступний трикутник буде іншого кольору. (Ти не забув, що Черепашка починає виконання програми з центра поля. Тому, перш ніж працювати з циклом, їй треба відійти вліво.)
3.Створи програми для малювання кольорових спіралей:
4.Пригадай, як ми створювали кругові циклічні орнаменти та коло (п. 8,0)