Съдържание
Тема 4. Всичко се повтаря

Евгения Сендова и Цветелин Андреев

Тема 4. Всичко се повтаря

(в която ще разберете как да програмирате по-лесно неща, които се повтарят. Ще научите костенурката да рисува правилни многоъгълници, розетки и орнаменти с помощта на командата за повторение)

Квадрат? - Всеки знае как изглежда!

В програмата Художник (Тема 1) видяхме как костенурката чертае квадратната основа на къща с помощта на клавишите стрелки. Сега искаме да накараме костенурката да начертае квадрат, като изпълни последователност от команди на Snap!. За целта е достатъчно да се изпълнят само две команди – за движение напред и завъртане надясно – и да се повторят четири пъти.

Например за квадрат с големина на страната 80 стъпки можем да направим следното:

1.       Поставете  в полето за скриптове и под него долепете .

2.       Под тях долепете още 3 такива двойки команди, за да получите следната последователност (скрипт):

3.       Щракнете с мишката върху скрипта, за да стартирате изпълнението му.

Всъщност квадратът би бил готов и без последната команда за завъртане, но добрият стил на програмиране изисква да връщаме костенурката в началните положение и посока, а освен това така по-лесно ще инструктираме костенурката какво да повтаря.

Сега накарайте костенурката да начертае по-голям квадрат, като редактирате готовия скрипт. Ясно е, че трябва да смените дължината на страната на всички четири места.

Добре че, имахте за редактиране скрипт за квадрат, а не за 100-ъгълник или повечеъгълник

На помощ ни идва блокът за повторение от категорията Control на палитрата:

Той има по-особена форма:  (повтори 4 <последователност от команди>) и очаква информация на две места – число (за броя на повторенията) и последователност от команди, които да добавим в кухината на блока.

Ето как изглеждат скриптовете за чертане на квадрат със и без използване на блока за повторение:

 

С блока за повторение костенурката повтаря вместо нас. Сега за да начертаем по-голям квадрат, е нужно да сменим дължината на страната само на едно място.

Може би вече сте се убедили сами във важността на тази команда, но докато се почувствате по удобно в средата Snap!, ето ви демонстрация на казаното до тук:

Демонстрация на командата за повторение https://www.youtube.com/watch?v=2ap_AhRhOrE

Триъгълник? – Още по-лесно!

Дали е така?

Опитайте се да начертайте равностранен триъгълник със страна 100 стъпки, като редактирате скрипта за квадрат.

Успяхте ли от първия път? Повечето хора правят грешка, но няма страшно! После можем да впрегнем грешката в още по-интересна задача.

Правилен многоъгълник?

За правилни N-ъгълници с повече от 3 страни вече е достатъчно да редактирате скрипта за триъгълник или да попълнете входове на дадените блокове в следния скрипт:

За какви входове на блоковете костенурката ще начертае:

1.       равностранен триъгълник със страна 90 стъпки;

2.       правилен петоъгълник със страна 40 стъпки;

3.       правилен шестоъгълник със страна 30 стъпки;

4.       правилен 36-ъгълник със страна 10 стъпки?

Упътване:

1.       Отворете проекта за редакция на адрес https://snap.berkeley.edu/snap/snap.html#present:Username=tsvetelin&ProjectName=Assignment%20Regular%20polygon&editMode&noRun

2.       Попълнете входовете на блоковете спрямо условието.

Теоремата за пълното завъртане на костенурката

Каква закономерност има между броя повторения и ъгъла на завъртане при чертане на правилни многоъгълници от предната задача?

 Спрете и помислете:

Подредете стойностите от предната задача в таблица. Например:

Правилен многоъгълник

Брой повторения

Ъгъл на завъртане

Триъгълник

3

120

Квадрат

4

90

Петоъгълник

5

72

Сигурно вече сте забелязали, че произведението на числата на всеки ред е винаги 360⁰. Теоремата за пълното завъртане на костенурката гласи: Ако костенурката направи пълна обиколка, като завърши в началната си позиция и посока, то сборът на ъглите, на които се е завъртяла по време на обиколката, е 360⁰.

В случая когато костенурката обикаля по контура на правилни многоъгълници, теоремата ни дава възможност да накараме компютъра да изчисли ъгъла на завъртане вместо нас. Той ще е равен на 360, разделено на броя на ъглите на многоъгълника. Пресмятането можем да направим с блока операция за деление . Сигурно сте забелязали, че този блок има различна форма от тази на командните блокове. Това е така, защото този блок връща резултат – в случая резултата от делението на подадените в двата хода числа. Блоковете, които връщат резултат се наричат операции или блокове репортери.

Блокът се намира в категория Operators, която има същия зелен цвят:

Ето как можем да променим скрипта за чертане на правилни многоъгълници:

Тук броят повторения съвпада с броя на върховете (ъглите) на многоъгълника и с делителя в блока за деление.

 

Кръг? Как без център и радиус?

Накарайте костенурката на нарисува кръг с помощта на командата за повторение.

 Спрете и помислете:

1.       Поставете се на мястото на костенурката. Застанете прави и се опитайте да опишете кръг ходейки.

2.       Какви движения изпълнявате?

3.       Преведете движенията, които правите, на езика на костенурката.

А ако повторим повтореното?

Това наистина би ни спестило доста усилия!

В тялото на блока за повторение можем да сложим друг такъв блок.

Например можем да направим модел на прозорец, като начертаем квадрат, след това завъртим костенурката на 90⁰ и повторим тези действия няколко пъти:

Фиг. 1 Модел на прозорец и скрипт, който го чертае

Ако променим ъгъла на завъртане след начертаването на квадрата на 15⁰, ще получим модел на ветрило:

Фиг. 2 Модел на ветрило

Розетки от многоъгълници

Ветрилото може да ви вдъхнови за нови фигури (розетки), съставени от многоъгълници. Опитайте се да начертаете с помощта на костенурката следните розетки:

1)2)

Фиг. 3 Розетки

Упътване:

Ако се вгледате внимателно в първата фигура, ще забележите, че тя се състои от 5 шестоъгълника. Сумарното завъртане (сборът от всички ъгли на завъртане) на костенурката е 360⁰. Остава да съобразите на какъв ъгъл да се завърти костенурката след начертаването на поредния шестоъгълник.

Вариации на тема „Розетки“

Казват, че вариациите на дадена тема са сърцевината на творчеството и изследователския дух.

След като имаме скрипт, с който начертахме няколко розетки, можем да правим различни експерименти.

Например, ако погледнем по внимателно фигурата по-долу, можем да съобразим, че тя е получена от трикратно изпълнение на скрипта за розетка от 7 шестоъгълника със смяна на цвета и дебелината на молива на костенурката:

Фиг. 4 Няколко розетки една върху друга

Сега можете да генерирате нови розетки, като сменяте вида на многоъгълниците и броя им, А след това – да ги разкрасите, като варирате цветовете и дебелината на молива.

Проект Снежинки

Да моделираме сега няколко снежинки. Да започнем с една по-простичка на вид:

 

Фиг. 5 Модел на снежинка

Прилича на розетка, но сега вместо многоъгълник, е завъртяно клонче във формата на Y. Вече се сещате какво да смените в скрипта за розетки.

Експериментирайте с дължините на отсечките и ъглите на завъртане и вижте какво се получава. Повторете следата на костенурката с бял цвят и по-тънък молив.

Фиг. 6 Вариации на модели на снежинки

Може ли да смените броя на клончетата? За да сте сигурни, разгледайте снимки на снежинки с достатъчно увеличение и открийте какво е общото при тях.

Полезни ресурси

1.       Български екип от ИМИ-БАН по проекта Mascil (2013) Да си направим снежинки http://www.math.bas.bg/omi/mascil/docs/task-Snowflakes-bg.pdf

2.       Т. Чехларова Снежинка https://cabinet.bg/content/bg/html/d22054.html