Евгения Сендова и Цветелин Андреев
Тема 6. Костенурката
поумнява
(в
която ще научите костенурката да строи кули от квадрати с различен размер с
помощта на собствен блок с вход за дължината на страната на квадрата)
Да научим костенурката да рисува кула, която се
състои от 4 квадрата, намаляващи по големина. Нека например всеки следващ
квадрат има страна, двойно по-малка от страната на предишния.
Създайте четири команди за чертане на квадрати с
размер съответно 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):
Дефинирайте блок с вход, който чертане квадрат с
определен от входа му размер на страна.
Упътване:
1.
Използвайте
проекта от предната задача.
2.
Редактирайте
командата по
следния начин:
.
3.
Добавете
вход с име size,
като щракнете върху малкия бутон + точно до името на командата:
4.
Използвайте
входа като
вход към блока
. С помощта на мишката вземете от
шапката едно блокче със стойността на входа (изглежда така
) и го поставете там, където искате да
го използвате.
5.
Трябва
да получите дефиниция, подобна на следната:
Изпробвайте новия ни блок с различни входове (стойности на входа
за размер на страната
).
Следната последователност от команди ще даде
показания резултат:
|
|
Все още не е кула, но поне елементите ѝ са готови.
За да построи истинска кула, костенурката трябва да постави следващия
квадратен блок, след подходящ скок. Този скок също зависи от дължината на квадрата, затова е разумно също да се опише в
дефиницията на нов блок, който има вход.
Създайте собствен блок с един вход
за размера на скока, така че костенурката да скача върху квадрат с даден
размер.
Упътване:
Едно възможно решение е следната
дефиниция: .
Изпробвайте блока , като го добавите след всяко извикване на блока за
чертане на квадрат. Ще получите намаляващи квадрати един върху друг, но все още
резултатът не прилича напълно на кулата, която скицирахме:
|
|
Не е симетрична!
Променете дефиницията на блока така, че костенурката да чертае
всеки следващ квадрат върху горната страна на предишния, но центриран.
Спрете и помислете.
Преди да четете по-надолу, преценете на какво
разстояние трябва да се премести костенурката, за да се разположи по-горният
квадрат точно в средата на по-долния.
1.
След
като костенурката скочи на горната страна на квадрата я преместете вляво с 1/4
от страната му.
2. Използвайте операцията за деление
Дефинирайте блок (кула), който кара костенурката да начертае кула с
определен размер на първия квадрат, а всеки следващ квадрат да бъде със страна, два пъти по-къса от страната на предния. Блокът да има един вход,
определящ размера на основата на кулата.
Създайте блок (съкратено от polygon – английската дума за многоъгълник), с който костенурката чертае
правилен многоъгълник с входове за размера на страната и броя на ъглите.
Упътване:
1.
Припомнете
си Теоремата за пълното завъртане на костенурката от Тема 4.
2.
За
дефиниция на използвайте скрипта
,
като
на празните места зададете подходящи имена и тип на входовете, например:.
С помощта на командата нарисувайте окръжност.
Упътване:
Преценете каква дължина на страната на многоъгълника, с който ще приближите
окръжността, е подходяща, за да го съберете на екрана.