Съдържание
Тема 6. Костенурката поумнява

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

Тема 6. Костенурката поумнява

(в която ще научите костенурката да строи кули от квадрати с различен размер с помощта на собствен блок с вход за дължината на страната на квадрата)

Костенурката строи кула

Да научим костенурката да рисува кула, която се състои от 4 квадрата, намаляващи по големина. Нека например всеки следващ квадрат има страна, двойно по-малка от страната на предишния.

Задача 1

Създайте четири команди за чертане на квадрати с размер съответно 80, 40, 20 и 10 стъпки.

Упътване:

Наглед ни предстои досадната работа да дефинираме 4 блока за чертане на квадрат, като разликата в техните скриптове е само във входа към блока за движение . За утешение имаме възможност да дублираме описанието на дефинирания от нас блок:

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

2.       Дублирайте дефиницията на  като изберете duplicate block definition от контекстно ѝ меню (натиснете с десния бутон на мишката върху блока):

3.       Променете в скриптовете на новите команди размера на страната на квадратите ето така:

   

Да дублираш и променяш толкова пъти, само за да кажеш на костенурката да нарисува по-малки квадрати се оказва не по-малко досадно! Представете си, ако искате кулата с повече етажи, какво би станало … Колко по-добре би било блока  да приема вход (както е при ), например така:  и към входа да подадем дължината на страната на квадрата.

За радост това е възможно. Добавянето на вход към блок става като натиснем малкия бутон +, който се намира в блока-шапка на дефиницията. В следващото видео е показано как може да стане това.

Демонстрация на добавяне на вход към блок. https://www.youtube.com/watch?v=W7OTmCsdKQc

Забележете, че след като въведем името на входа, избираме неговия тип. В случая избираме тип число (Number). Това определя овалната форма на входа на блокчето и знака # след името на входа в дефиницията (в случая size):

Задача 2

Дефинирайте блок с вход, който чертане квадрат с определен от входа му размер на страна.

Упътване:

1.       Използвайте проекта от предната задача.

2.       Редактирайте командата  по следния начин:

.

3.       Добавете вход с име size, като щракнете върху малкия бутон + точно до името на командата:

4.       Използвайте входа  като вход към блока . С помощта на мишката вземете от шапката едно блокче със стойността на входа (изглежда така ) и го поставете там, където искате да го използвате.

5.       Трябва да получите дефиниция, подобна на следната:

Задача 3

Изпробвайте новия ни блок  с различни входове (стойности на входа за размер на страната ).

Следната последователност от команди ще даде показания резултат:

Все още не е кула, но поне елементите ѝ са готови. За да построи истинска кула, костенурката трябва да постави следващия квадратен блок, след подходящ скок. Този скок също зависи от дължината на квадрата, затова е разумно също да се опише в дефиницията на нов блок, който има вход.

Задача 4

Създайте собствен блок   с един вход за размера на скока, така че костенурката да скача върху квадрат с даден размер.

Упътване:

Едно възможно решение е следната дефиниция: .


 

Задача 5

Изпробвайте блока , като го добавите след всяко извикване на блока за чертане на квадрат. Ще получите намаляващи квадрати един върху друг, но все още резултатът не прилича напълно на кулата, която скицирахме:

Не е симетрична!

Задача 6

Променете дефиницията на блока  така, че костенурката да чертае всеки следващ квадрат върху горната страна на предишния, но центриран.

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

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

1.       След като костенурката скочи на горната страна на квадрата я преместете вляво с 1/4 от страната му.

2.       Използвайте операцията за деление  

Задача 7

Дефинирайте блок  (кула), който кара костенурката да начертае кула с определен размер на първия квадрат, а всеки следващ квадрат да бъде със страна, два пъти по-къса от страната на предния. Блокът да има един вход, определящ размера на основата на кулата.

Задача 8

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

Упътване:

1.       Припомнете си Теоремата за пълното завъртане на костенурката от Тема 4.

2.       За дефиниция на  използвайте скрипта

,

като на празните места зададете подходящи имена и тип на входовете, например:.

Задача 9

С помощта на командата  нарисувайте окръжност.

Упътване:

Преценете каква дължина на страната на многоъгълника, с който ще приближите окръжността, е подходяща, за да го съберете на екрана.