5 КМИТ, тема 5.2. Създаване и използване на собствени блокове и подпрограми, част 1

ТУК ЩЕ НАУЧИТЕ КАК:

- да планирате движения на компютърен герой;

- да откривате еднотипни действия в компютърна програма;

- да създавате код за анимиране на компютърните герои с подпрограми;

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

Понятие: Подпрограми (блокове, функции)

Описание: Именувана последователност от инструкции, реализираща даден алгоритъм, която може да се използва многократно в компютърна програма.

МИСИЯ 1: Роботко иска да се научи да танцува. Помогнете му това да стане бързо и лесно! Използвайте Роботко и костюмите му от файла Robotko.sb3

Планиране на движенията на компютърен герой: Героите в Scratch имат три вида движения: 

- движения на части от героя без промяна на местоположението му – използват се различни костюми на героя;

- движения с промяна на местоположението му.

- движения с промяна на части от героя и местоположението му.

При работа с героите може да групирате тематично движенията и да им измислите имена, например – скачай (скок), падай (падане), танцувай (танц). Може многократно да използвате тези движения, като ги оформите като подпрограми.

Подпрограма в Scratch

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

Предимства на подпрограмите

- Позволяват разделянето на сложна задача на няколко по-лесни подзадачи.

- Създават се веднъж и лесно се редактират.

- Намаляват дублиращия се код в програма.

- Правят кода на програмата по-прегледен и с това се намалява допускането на грешки.

- Използват се многократно с различни стойности на параметрите.

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

МИСИЯ 1 възможна.

Отворете файл Robotko.sb3 .(може да го изтеглите от тук->) или работете във вашия файл с това име.

1. Отворете група Моите блокове (My blocks)-розовата категория  
2. Натиснете бутона Създай блок (Make a block). 
3/4. Задайте име на блока танцувай  
5. натиснете бутона Добре (OK).
6. В кода на Роботко се появи нов блок  дефинирай Танцувай (Define Dance). 

7. В в него трябва да добавите кода на блока – винаги през 1 секунда да се сменят двата костюма ляво и дясно на Роботко. Ако се затруднявате вижте кода отдолу:


Как да откривате еднотипни действия в компютърна програма? 

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

МИСИЯ 2. Отворете файла GeometryDrawing.sb3 в папка Scratch. (или го свалете от тук -->) Открийте общите и различните елементи. Какви собствени блокове може да създадете, за да намалите дължината на кода? Дефинирайте ги и модифицирайте кода. Запазете проекта с име GeometryDrawing1.

Подпрограма с параметри

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

МИСИЯ 2 ВЪЗМОЖНА. Изпълнете следната задача:

Дефиниране на собствен блок с име многоъгълник.
1. Отворете нов проект.
2. Отворете група Моите блокове и натиснете бутона Създай блок.
3. Задайте име на блока многоъгълник, добавете параметър поле за въвеждане на число или текст с име брой страни и натиснете бутона Добре.
4. Появява се блок , в който трябва да добавите кода на блока:
4.1. цикъл повтори, като за стойност на повторенията провлачвате блока брой страни от блока дефинирай.
4.2. блок премести се със 100 стъпки.
4.3. блок завърти се надясно ... на градуса като делите 360 на блока брой страни.
5. В групата Моите блокове се появява блок и можете да го провлачите в областта за код и да напишете конкретно число за параметъра брой страни.
6. Изпробвайте кода.

Първите две подпрограми са за петоъгълник и шестоъгълник. Третият е дефиниран за многоъгълник  и брой стъпки.
Дефинициите на блоковете

Кода с вмъкнати блокове от моите блокове с въведени стойности за Брой страни/Side numbers и Брой стъпки / Step numper. 

С този код ще получите задачата от урока 5.1Изчертайте геометрично човече Създайте код, който да изрисува показаното отдолу човече, съставено от геометрични фигури с означените дължини на страните.