SCRATCH
α
β SCRATCH Увод у програмски језик Скреч Занимљиво програмирање за ученике основних школа Камп физике Сокобања 2012. Владан Ал. Младеновић vladan.al.m@gmail.com
0
SCRATCH
ОСНОВЕ ПРОГРАМИРАЊА СКРЕЧ (SCRATCH) 1.ПРОГРАМИРАЊЕ ОСНОВНИ ПОЈМОВИ
П
ојам ПРОГРАМ сусрећемо у многим областима живота и најчешће значи упутство за решавање неког проблема. РАЧУНАРСКИ ПРОГРАМ је коначан низ наредби разумљивих рачунару којима се решава неки проблем НАРЕДБА је упутство рачунару да изврши једну операцију ПРОГРАМИРАЊе је поступак планирања, писања и тестирања програма ПРОГРАМСКИ ЈЕЗИК је скуп наредби и правила за писање тих наредби разумљивих рачунару. АЛГОРИТАМ је прецизан опис низа поступака којима се решава неки проблем. На пример упутство за одлазак у школу, рецепти за колаче или за кување чаја:
Алгоритам кувања чаја гласи: 1. Узети лонче и сипати воду. 2. Укључити ринглу. 3. Сачекати док вода не прокључа. 4. Кад вода прокључа, скинути лонче и искључити ринглу. 5. Ставити кесицу чаја у лонче. 6. По жељи, додати кашику шећера, млеко или лимун. 7. Сипати чај у шољу.
Алгоритам претставља шематски приказано, поступно решавање неког проблема, тока неког процеса или израде неког предмета.
Шематски алгоритам упоређивања два броја:
Име је добио по лошем преводу имена арапског математичара из IXвека АлХорезмија
Креирање алгоритма је креативан и често врло сложен посао који се може урадити на више различитих начина.
1
SCRATCH У току креирања користимо шематски запис тока програма који нам олакшава каснији запис у неком програмском језику. Постоје на стотине програмских језика, неки се „гасе“, рађају се и развијају нови у складу са потребама. Некада су најпопуларнији били BASIC (бејзик), FORTRAN, PASCAL, данас су Visual Basic (вижуал бејзик), Java, C# (си-шарп)... Сваки од њих има различите називе за поједине наредбе и функције али су им принципи углавном слични. Програм за сабирање два броја у програмском језику BASIC: INPUT A,B C=A+B PRINT C END
2
SCRATCH 2. SCRATCH (СКРЕЧ) http://scratch.mit.edu/
С
креч (енгл. Scratch) је бесплатни програмски језик високог нивоа. То је визуелни програмски језик који садржи елементе објектно оријентисаног програмирања. Омогућава једноставно креирање нити, синхронизацију њиховог рада и међусобну комуникацију. Намењен је младим људима и свима осталим који желе да користе програмирање као начин креативног изражавања. Примењује се у образовању у области мултимедије и програмирања. Скреч је такође и назив за графичко окружење за развој и публиковање програма писаних у програмском језику Скреч. Постоје верзије овог развојног окружења за Линукс, Mac OS X и Мајкрософт виндоуз оперативне системе. Скреч развојно окружење је отвореног кода. Комплетно окружење и програмски језик су прилагођени локализацији. Скреч може да се користи на више од педесет различитих говорних језика. Креиран је на чувеном МИТ-у (Емајти Massachusetts Institute of Technology ) у оквиру пројекта Lifelong Kindergarten Group на MIT Media Lab-уз финансијску подршку National Science Foundation, Intel Foundation i MIT Media Lab research consortia. САД ЗАБОРАВИТЕ СВЕ ОВЕ ДЕФИНИЦИЈЕ СКРЕЧА, ПРЕУЗМИТЕ ГА И ЗАБАВИТЕ СЕ! Сам програм, оригинална упутства, помоћ и милиони других пројеката могу се наћи на: http//scratch.mit.edu
2.1.Преузимање и инсталација На званичном сајту http://scratch.mit.edu/ можете бесплатно и без икаквих услова преузети инсталациони фајл (33Mb). Препоручујемо да се региструјете јер на тај начин можете преузимати туђе радове, делити своје, учествовати у пројектима и форумима.
ЗВАНИЧНИ САЈТ
3
SCRATCH
ИНСТАЛАЦИЈА ЈЕ БРЗА И ЈЕДНОСТАВНА Кад покренете програм можете одабрати један од двадесетак језика :
ПРЕВОДИ На жалост српски није још увек ( 2011.) укључен у званични инсталацију мада постоје два превода на ћирилицу ( Иван Старчевић на http://radojevic.dvorci.info/download/scratch.rar и Милан Цајић http://sites.google.com/site/scratchsrbija2/preuzmite-datoteku-1/sr.po?attredirects=0&d=1 ) Са овог другог преузмите малу датотеку sr.po ископирајте је у фолдер locale на рачунар где сте инсталирали сам програм. И то је то! При следећем покретању Скреча имаћете и српски ћирилични превод.
4
SCRATCH 3. ОСНОВНИ ЕЛЕМЕНТИ СКРЕЧ ПРОЈЕКТА
С
ваки скреч пројекат гради се од објеката којима дефинишемо понашање. То је у ствари програмирање.
ОБЈЕКАТ Основни објекат је ЛИК (енгл. SPRITE- спрајт )
ИЗГЛЕД
Сваки лик може мењати КОСТИМЕ – ( COSTUMES )
ЛИКУ се придружују инструкције- СКРИПТЕ SCRIPTS Скрипте су описи понашања ликова, њихових реакција на друге ликове и опис звукова који их прате. Скрипте се задају комбиновањем графичких елемената БЛОКОВА. Као ЛЕГО коцкице Када се уради двоклик на постављену скрипту, понашање које она дефинише придружује се тренутном лику Иза ликова је СЦЕНА (STAGE-стејџ) на којој можемо мењати различите ПОЗАДИНЕ (BACKGROUNDS- бекграундс)
СЦЕНА (БИНА) има димензије 480х360 пиксела ЦЕНТАР има координате (0,0). Кретање је могуће по х-оси: од -240 до +240 по y-оси: од -180 до +180 УРЕЂИВАЧ СЛИКА (PAINT EDITOR) Сваки елемент Скреч пројекта, лик, костим, позадина, лако се уређује или креира нови коришћењем једноставног али врло ефикасног уређивача. Могу се увозити слике са рачунара или интернета у било ком формату.
5
SCRATCH 4. ИНТЕРФЕЈС ПРОГРАМА СКРЕЧ
А
утори Скреча су се потрудили да не само изглед буде једноставан, функционалан и смислен већ да поред готово сваког дугмета искачу прозорчићи ( pop-up, поп-ап) са натписом
4.1Изглед основног екрана
4.2. СЦЕНА Величина приказа Кликом на дугме за презентацију (Presentation Mode) пројекат се приказује ПРЕКО ЦЕЛОГ ЕКРАНА. Дугме Esc (искејп) враћа приказ пројекта на сцену. Кликом на Дугме за приказ (View Mode) пребацује се са мањег на већи приказ сцене на рачун простора у коме се приказују скрипте. Зелена заставица (СТАРТ) служи за покретање пројекта (скрипте), црвено дугме (СТОП) за заустављање
6
SCRATCH 4.3. МЕНИ
ИЛИ НА ЕНГЛЕСКОМ 1. Кликом на
бирамо језик интерфејса, .
2. Кликом на Сачувај (Save)
памтимо пројекат.
3. Кликом на Подели (Share) можемо пројекат послати на званични сајт и поделити са другима. Потребно је само да сте регистровани корисник 4. Испод избора Датотека су махом добро познате опције. Издвојимо само Уметни пројекат. У том случају добијате могућност да увезете неки од стотинак пројеката већ снимљених на инсталационом фајлу у оквиру десетак фолдера: Анимације, Игре, Уметност, Музика, ...
5. Остале опције су углавном стандардне. Похвалимо само сјајну и богато опремљену опцију Помоћ (Help). Реч је о линку на страницу са приручницима за различите нивое као и о Екрану са примерима скрипти за различите проблеме. КОРИСНО!
4.4, НОВИ ЛИК (NEW SPRITE) Кад год започнете нови пројекат на сцени ће бити један лик мачке. Да би креирали нове, уређивали старе или увезли лик изненађења (случајан одабир) користиће вам ова дугмад. Уређивање је једноставно помоћу Paint Editora. Ако желите да избришете лик кликните на маказе са палете алата а потом на лик. Натравно увек може и десни клик и опција дилит (delete). Десним кликом на сцену добијамо и опцију да део сцене, лик са околином или шта пожелимо селектујемо као нови лик!
7
SCRATCH
4.5. ЛИСТА ЛИКОВА У листи ликова налазе се сви ликови који су употребљени у пројекту, Као и број скрипти које се односе на њега. Кликом на било који од њих добијамо могућност уређивања. За исту намену може да послужи двоклик на лик на сцени.
4.6. ИНФОРМАЦИЈЕ О ТРЕНУТНОМ ЛИКУ И КОСТИМИМА У горњем делу налазе се информације о имену лика, његовој (x, y) позицији, правцу кретања као и о стаусу (откључан/закључан). Од велике важности су и дугмад са леве стране ротације лика.
којима дефинишемо стил
4.6.1.СТИЛ РОТАЦИЈЕ Ротација: Костим (ношња) се окреће када лик мења правац лево-десно кретање : Костим се креће само леводесно Нема ротације: Костим се никад не окреће чак ни када лик промени правац кретања. 4.6.2. КОСТИМИ (НОШЊЕ) ЛИК мачка на слици има тренутно два костима . Први у раскораку а други са сакупљеним ногама. Променом ова два костима можемо у анимацији стварати илузију корачања лика. Постојеће костиме лако уређујемо, можемо цртати нове, убацивати из архиве или са рачунара, снимати камером, ... Ако укључимо таб (језичак) Камера, онда сваким кликом на њега или кликом на спејс на тастатури увозимо по један снимак. Скреч ради са свим уобичајеним форматима слика JPG, GIF, BMP и PNG. 4.6.3. ЗВУЦИ (SOUNDS) Да би видели, чули и уредили звуке придружене неком лику кликните на картицу Звуци (Sounds) . Сама инсталација садржи архиву стотинак звукова које можете добро искористити. Као и слике и звукове можете снимати, увозити са рачунара или интернета.
8
SCRATCH 4.7. ПАЛЕТА АЛАТА (TOOLBAR) Избор алата остварује се кликом на одговарајућу сличицу на палети алата. Затим је потребно да се кликне на објекат на којем желимо да применимо изабрану алатку. КОПИРАЊЕ (Copy): Дуплира ликове, костиме, звукове, блокове и скрипте БРИСАЊЕ (Delete): Брише ликове, костиме, звукове, блокове и скрипте ПОВЕЋАВАЊЕ (Grow): Повећава лик СМАЊИВАЊЕ (Shrink): Смањује лик
4.8. УРЕЂИВАЧ СЛИКА (PAINT EDITOR)
Уређивач слика је једноставан и лак, са опцијама које су углавном заступљене у већини уређивача. Скренимо пажњу само на неке од њих, којима можете креирати корисне ефекте. 4.8.1. Алати за ротацију и обртање Овим алатима се објекат или његов селектовани део окреће за неки угао или обрће у оносу на икс или ипсилон осу.
9
SCRATCH 4.8.2. Алат за писање (Уреди Текст) Стандардни алат, само напомена да поједини костим (ношња) може да садржи само један блок текста. 4.8.3. Алат за печат Издваја правоугаони део слике који можете да умножите жељени број пута на различитим позицијама (Shift+click+превлачење за вишеструко умножавање). 4.8.4. Алат за селекцију Издваја правоугаони део слике који можете да избришете (delete) или преместите на друго место (Shift+delete или Shift+backspace) 4.8.5. Алат за центар ротације костима (Set Costume Center) Овим алатом се бира тачка (локација) на цртежу која ће бити центар, око кога ће тај КОСТИМ да ротира на СЦЕНИ.
4.9. ПАЛЕТА БЛОКА И ОБЛАСТ СКРИПТИ На крају најважније! КАКО СЕ У СТВАРИ ПРОГРАМИРА У СКРЕЧУ?
П
рограмирање се врши тако што се блокови превлаче из ПАЛЕТЕ У област СКРИПТИ. Двокликом на тај превучени блок, он се активира и везује за лик који је на сцени. Креирање скрипти (програма) врши се постављањем блокова једног уз други. За тако сложене и повезане блокове кажемо да образују стек (stack). Двоклик било где у оквиру стека покреће комплетну одговарајућу скрипту. Скрипта се извршава од врха наниже. Увек можете проверити чему служи и шта ради блок тако што кликнете десним кликом и из понуђеног одаберете Помоћ (Help). Када превлачите блок у област скрипти, бели маркери указују где можете поставити блок и исправно га повезати са осталим блоковима. Да би померили стек треба да покажете на његов горњи део. Ако превлачите блок са средине стека, помераће се и сви блокови испод њега. Неки блокови садрже текст(број) који се може мењати, као на пример . Ако је потребно да промените вредност (10) кликните унутар области и промените вредност. У неким блоковима могуће је постављати елипсасте области унутар самог блока
.
Неки блокови садрже падајуће меније као на пример . Потребно је само кликнути на троуглић, отворити падајућу листу и са ње одабрати жељену вредност.
10
SCRATCH 5. ТИПОВИ И ВРСТЕ БЛОКОВА
У
Скречу постоје три основна типа блокова: СТЕК, КАПЕ И РЕПОРТЕРИ. Сва три типа појављују се у оквиру ОСАМ ОСНОВНИХ ВРСТА БЛОКОВА помоћу којих се одређује понашање ликова: КРЕТАЊЕ, УПРАВЉАЊЕ, ИЗГЛЕД, ОСЕЋАЈИ, ЗВУК, ОПЕРАЦИЈЕ, ОЛОВКА И ПРОМЕНЉИВЕ
БЛОКОВИ НА СРПСКОМ
БЛОКОВИ НА ЕНГЛЕСКОМ
5.1. ТИПОВИ БЛОКОВА СТЕК БЛОКОВИ Ово су блокови који формирају стек налажући један уз други. Због тога имају испупчење на дну и/или удубљење на врху као нпр.
. При слагању испупчења једног блока належу у удубљење
другог. Неки стек блокови садрже унутрашњу област у коју можете да укуцате број или да изаберете вредност из падајућег менија
,
. Поједини стек блокови, на пример
, имају „уста“ у облику спљоштеног слова С у која можете уградити друге стек блокове.
КАПЕ БЛОКОВИ Овај тип блокова има заобљен врх и поставља се као капа, на врх стека. Он у ствари дефинише догађај који треба да наступи да би почело извршавање стека испод њега. Догађај може бити клик на зелену заставицу, клик на лик или притисак неког тастера на тастатури.
11
SCRATCH РЕПОРТЕРИ Ови блокови као нпр. или ,направљени су тако да се могу „углавити“ у улазне области( „уста“) других блокова. Постоје две врсте, ОВАЛНИ И УГЛАСТИ. Овални обично садрже бројеве и могу се уградити у блокове који имају заобљену белину Угласти садрже логичке податке типа тачно-нетачно (true/false) одговарајућа лежишта
. и улазе у
. Неки репортерски блокови имају и поље за потврду (chek-
box) . Ако се кликне на поље за потврду, на сцени се појављује МОНИТОР, у коме се приказује текућа вредност монитора. Нарочито је корисно употребити мониторе, ако се израђују пројекти који користе корак-по-корак принцип. Монитор може приказивати вредност репортера у више различитих формата: Мали приказ вредности са именом репортера Велики приказ вредности без имена Клизач који омогућава да се мења вредност репортера (ово је омогућено код променљивих које креира корисник). Десним кликом на клизач подешавају се минимална и максимална вредност Прелазак из једног у други формат је омогућен уз двоклик на монитор.
12
SCRATCH
ОСНОВЕ ПРОГРАМИРАЊА СКРЕЧ (SCRATCH) ЗАДАТАК 1. КРЕИРАЈМО ИГРИЦУ, у којој ћемо моћи да преко тастатуре управљамо кретањем ЛИКА по сцени. При томе ће он наилазити на препреке а и оне на њега, тако да ће морати да их избегава. Сваки додир са нежељеним објектом враћа нас на почетак. Покушаћемо да креирамо и монитор који ће очитавати и бројати сваку успешно избегнуту опасност. Трудите се да размишљате о сваком делу задатка, да га урадите уз нашу помоћ али слободно додајте и нешто своје ако има могућности. Испробајте све што Вам падне на памет. КОРАК 1
ПОСЕТИТЕ ОСНОВНУ СТРАНИЦУ САЈТА http://scratch.mit.edu/ „Процуњајте“ мало по сајту, погледајте садржај Региструјте се! Запишите податке корисничко име:
лозинка:
Користећи упутство из првог дела (2.1) преузмите и инсталирајте програм Scratch. Запишите где сте инсталирали програм да би касније могли да уградите превод на српски језик:
КОРАК 2
ПОКРЕНИТЕ ПРОГРАМ Двокликом на икону наравно покрећемо програм и улазимо у Скреч-свет погледајте упутство на страни 4 и са http://sites.google.com/site/scratchsrbija2/preuzmite-datoteku1/sr.po?attredirects=0&d=1 преузмите и инсталирајте српски превод Покрените поново програм и укључите превод.
13
SCRATCH КОРАК 3
ПРОМЕНИМО ИМЕ ЛИКУ И СМАЊИМО ГА У делу где су информације о лику променимо име у МАЧАК1
Клик на дугме за смањење у палети алата а затим 12-15 пута кликнимо на лик мачка на сцени. Желимо да смањимо ЛИК да би имао већи простор за кретање.
КОРАК 4
МАЧАК СЕ НЕПРЕКИДНО КРЕЋЕ УДЕСНО ПО 10 ТАЧАКА Из наранџасте палете УПРАВЉАЊЕ превуцимо блокове „Када је кликнуто на Зел. Заставицу“ и „понављај“ а из плаве палете КРЕТАЊЕ превуцимо „промени х за 10“ Спојимо у програмску скрипту двокликнимо на њу и посматрајмо шта се дешава! Мачак је отклизао по 10 тачака све до десне ивице. Наредба је и гласила ПОНАВЉАЈ. Ово се зове БЕСКОНАЧНА ПЕТЉА Посматрај шта се дешава ако промениш број 10 у 1 и поново активираш скрипт. Нека остане вредност на 5.
КОРАК 5
МАЧАК СЕ КРЕЋЕ УДЕСНО КАД ПРИТИСКАМО СТРЕЛИЦУ-ДЕСНО Превуците: Из „УПРАВЉАЊА“ - блок „АКО“ Из „ОСЕЋАЈИ“ - блок „ ДИРКА РАЗМАК ЈЕ ПРИТИСНУТА“ Плави блок убацимо у шестоугаону рупу блока „АКО“ У падајућој листи плавог блока уместо „размак“ одаберимо „стрелица десно“ Уклопимо све у скрипт из Корака4, као на слици доле:
14
SCRATCH КОРАК 6
МАЧАК ИДЕ ЛЕВО-ДЕСНО КОРИШЋЕЊЕМ ТАСТАТУРЕ Слично као у Кораку 5, само што се сада користи дирка „стрелица лево“;
Х се мења у супротном (минус) смеру: „промени х за -5“
КОРАК 7
КОРАК 8
МАЧАК СКАЧЕ КАД ПРИТИСНЕМО СТРЕЛИЦУ „ГОРЕ“ ШТА ЗНАЧИ СКАЧЕ? Мења положај по y-оси за неки број (50) мало се задржи (0,5-1 секунде) а онда врати на исто место. Све то кад је дирка „стрелица горе“ притиснута. НАПРАВИТЕ САМИ БЛОК ОНДА ГА УГЛАВИТЕ У ПРЕТХОДНИ. ИСПРОБАЈТЕ ПРОГРАМ, НЕ ЗАБОРАВИТЕ ДА КЛИКНЕТЕ НА ЗАСТАВУ ЗА ПОЧЕТАК ПРОГРАМА
ЧУЈЕ СЕ ЗВУК КАД МАЧАК ПОСКОЧИ Из палете „ЗВУКОВИ“ одаберемо блок „РЕПРОДУКУЈ ЗВУК - мијао“ Убацимо ову наредбу у део скрипта који се односи на скок, одмах иза „промени y за 50“ Ако желимо неки други звук, можемо га снимити или убацити помоћу картице „ЗВУКОВИ“. Клик на увези отвара нам прозор „Увези звук“. У самој инсталацији постоји архива са стотинак употребљивих звукова. Кад одаберете неки онда се он појављује у падајућој листи блока „РЕПРОДУКУЈ ЗВУК мијао“ одмах испод мијао. ПОСЛУШАЈТЕ ЗВУКОВЕ ИЗ АРХИВЕ ТРЕБАЋЕ ВАМ!
15
SCRATCH КОРАК 9
МАЧАК „ПОМЕРА“ НОГЕ ДОК ТРЧИ Да би изгледало да мачак стварно трчи потребно је да стално при кретању сакупља и опружа ноге, ДА ПОСЛЕ СВАКОГ ПОМЕРАЊА ЛЕВО ИЛИ ДЕСНО ЛИК МЕЊА КОСТИМ Кликом на картицу „КОСТИМИ“ видећемо да наш ЛИК већ има два КОСТИМА: „костим1“ и „костим2“. Они се разликују само мало у положају ногу. Ови костими се лако уређују, копирају, убацују нови, ЦРТАЈУ ИЛИ СНИМАЈУ КАМЕРОМ Тренутно су нам довољна ова два.
Из палете „ИЗГЛЕД“ превуцимо два пута блок „СЛЕДЕЋИ КОСТИМ“ и уградимо у програм иза наредби да се креће лево и десно. ШТА СМО ТИМЕ ДОБИЛИ? Увек при кретању лево и десно лик наизменично мења своја два Костима. Без обзира у коме је тренутно он ће облачити следећи са наше ЛИСТЕ костима (листа од чак ДВА члана) Склопите скрипт активирајте га и посматрајте шта се дешава.
КОРАК 10
МАЧАК СЕ ОКРЕЋЕ И ГЛЕДА НА „ПРАВУ“ СТРАНУ ДОК СЕ КРЕЋЕ УГЛОВИ СЕ У Као прво, потребно је да СТИЛ РОТАЦИЈЕ СКРЕЧУ МЕРЕ (види 4.6.1. први део) буде ЛЕВО-ДЕСНО ПОЧЕВ ОД Из палете КРЕТАЊЕ ПРАВЦА Y-ОСЕ два пута превуцимо блок „УСМЕРИ СЕ КА НАГОРЕ 0 90“ . други променимо НАДОЛЕ 180 у -90. ДЕСНО 90 ЛЕВО -90 ЗАТИМ ИХ УГРАДИМО ИСПОД НАРЕДБИ ЗА КРЕТАЊЕ ЛЕВО И ДЕСНО
16
SCRATCH КОРАК 11
ПОЗАДИНА СЦЕНЕ До сада је мачак трчао по белом платну. Променимо то. Лево од листе ликова налази се бела табла (позадина). Кликом на њу мења се језичак код информација и сад уместо Костими пише „ПОЗАДИНЕ“. Кликом на њу можемо креирамо, мењамо или увозимо било какве слике као позадине. У архиви Скреча постоји неколико фолдера са стотинак различитих слика за ту намену. Одаберимо и поставимо овај тротоар са црвеним циглама у позадини. Графити на зиду се лако пишу. ВАЖНО: СПУСТИТЕ МАЧКА ДА ШЕТА ПО ТРОТОАРУ. УОЧИТЕ ДА ЈЕ ТО НА ВИСИНИ КАД ЈЕ Y ОКО -65. СВЕ ВРЕМЕ ИСПОД СЦЕНЕ БРОЈКЕ ПОКАЗУЈУ КООРДИНАТЕ ТРЕНУТНОГ ПОЛОЖАЈА МИША. То ће вам бити од велике користи када будете правили компликованије програме
КОРАК 12
НОВИ КОСТИМ ЗА СКОК ЖЕЛИМО ДА МАЧАК ПРИ СКОКУ ИЗГЛЕДА ЈОШ ПРИРОДНИЈЕ. НА ПРИМЕР ДА ЈОШ МАЛО РАШИРИ НОГЕ КАДА СКОЧИ. За ту сврху треба нам још један КОСТИМ (Костим 3) који ћемо додељивати ЛИКУ када год притиснемо стрелицу на горе. У уређивачу слика се мало поиграјмо. Селектујмо, заротирајмо доцртајмо, развуцимо, сабијмо,... На крају запамтимо то као трећи костим и убацимо наредбу у програм.
17
SCRATCH МЕЂУКОРАК 1 У следећих неколико корака биће објашњено неколико веома важних појмова који се користе у програмирању. Пре свега појам ПРОМЕНЉИВЕ (ВАРИЈАБЛЕ) и УСЛОВНЕ НАРЕДБЕ- АКО ... ОНДА... ИНАЧЕ... (IF …THEN …ELSE…) ПРОМЕНЉИВА је веома важан појам у програмирању и служи да неки појам (објекат) који у току програма мења вредност или особине добије име под којим се са њим ради у програму. Многе величине током извршења програма, игрице, апликације мењају или добијају другачије вредности. Због тога им се на почетку дефинише име, дозвољене вредности, врста, особине. Различити програмски језици имају различите начине и правила којима описују (декларишу) променљиве, али је то нешто што се на примерима брзо научи. На пример:
У ПРОГРАМИРАЊУ
У МАТЕМАТИЦИ
променљива x x=7 променљива y програм за сабирање z y=5 =x+y резултат: z
z=12
БРОЈЧАНЕ
x = 36
ТЕКСТУАЛНЕ
y = 12
x=7 y=5 z=x+y
a = "добар" b = "дан" c=a&""&b
z=48
резултат: z=12
c="добар дан"
УСЛОВНЕ НАРЕДБЕ (IF …THEN …ELSE…) АКО ... ОНДА... ИНАЧЕ... или АКО ... ОНДА... У СУПРОТНОМ... Ова наредба служи да у програму дефинишемо понашање система АКО неки услов буде испуњен, као и шта се ДЕШАВА У СУПРОТНОМ, ако тај услов није испуњен. Овај блок очигледно има намену да коментарише неку ситуацију у трговини .
18
SCRATCH КОРАК 13 ДЕФИНИСАЊЕ ПРОМЕНЉИВЕ „КОСТИМ“ Тренутно имамо три КОСТИМА за ЛИК мачке. При томе се сва три непрекидно смењују („следећи костим“) док се ЛИК креће лево-десно. Костим број 3 се појављује само кад мачак скочи. Желимо да се при кретању лево-десно појављују само костими 1 и 2. Костим 3 се појави при скоку али да се након тога врати претходни костим при доскоку. ЗБОГ ТОГА УВОДИМО ПРОМЕНЉИВУ „КОСТИМ“ КОЈА ЋЕ ПАМТИТИ КОЈИ ЈЕ КОСТИМ БИО АКТИВАН ПРЕ СКОКА. Прво ћемо из Програма ИЗВУЋИ БЛОК „СЛЕДЕЋИ КОСТИМ“ СА ОБА МЕСТА У БЛОКУ ЈЕР НАМ ВИШЕ НЕ ТРЕБА
КРЕИРАЊЕ ПРОМЕНЉИВЕ У ПАЛЕТИ ПРОМЕНЉИВЕ кликнимо на НАПРАВИ ПРОМЕНЉИВУ.
УНЕСИМО ИМЕ И ЧЕКИРАЈМО „САМО ЗА ОВАЈ ЛИК“ (запамтимо да променљиве могу бити дефинисане тако да утичу на све ликове!)
Превуцимо блок „НЕКА КОСТИМ БУДЕ 0“ на део за ПРОГРАМЕ, променимо „НЕКА КОСТИМ БУДЕ 1“ и поставимо на сам врх програма. Одмах ИСПОД ЗЕЛЕНЕ ЗАСТАВЕ а обавезно пре почетка бесконачне петље „ПОНАВЉАЈ“. НА ТАЈ НАЧИН ОБЕЗБЕДИЛИ СМО ДА УВЕК ПРИ СТАРТУ ПОЧЕТНА ВРЕДНОСТ ПРОМЕНЉИВЕ „КОСТИМ“ БУДЕ „Костим1“
КОРАК 14 ПОСТАВЉАЊЕ УСЛОВНИХ НАРЕДБИ „АКО ЈЕ...ОНДА...У СУПРОТНОМ...“ Идеја се састоји у следећем: У блоковима који се односе на кретање десно и кретање лево, поставићемо блокове којима ћемо тестирати тренутну вредност ПРОМЕНЉИВЕ КОСТИМ. Ако буде Костим 1 пребациваће га у Костим 2, а иначе у свим осталим случајевима пребациваће га у Костим 1. Тако добијамо непрекидну смену Костима1 и 2. За упоређивање користимо елемент из палете ОПЕРАЦИЈЕ. У његову леву страну превлачимо ПРОМЕНЉИВУ „КОСТИМ“ а у десну уписујемо 1. Остатак блока формира се од елеменета палете „ПРОМЕНЉИВЕ“ и палете „ИЗГЛЕД“ ОВАЈ СКРИПТ ИСКОПИРАМО И УМЕТНЕМО У ПРОГРАМ НА ДВА МЕСТА: ИСПОД НАРЕДБИ ЗА КРЕТАЊЕ ДЕСНО („ПРОМЕНИ Х ЗА 5“) И ЛЕВО („ПРОМЕНИ Х ЗА -5“)
19
SCRATCH
КОРАК 15
ПОСТАВЉАЊЕ ПРОМЕНЉИВЕ У НАРЕДБУ Ако погледамо наредбу „Пребаци се на костим3“ у палети „ИЗГЛЕД“ видимо да у падајућој листи стоје све три опције, али не и могућност да одаберемо баш ПРОМЕНЉИВУ у општем смислу Превуците шестоугауоник који представља променљиву „КОСТИМ“ из палете „ПРОМЕНЉИВЕ“ у тело наредбе „Пребаци се на костим“
Блок наредбе „Пребаци се на костим –КОСТИМ-“ убаците у програм, на место где се мачак враћа при доскоку (промени y за -50) ШТА ЈЕ ТИМЕ ДОБИЈЕНО? ЛИК добија ОНАЈ КОСТИМ каква је тренутна вредност ПРОМЕНЉИВЕ „КОСТИМ“ Ово се често користи у програмима за различите ситуације!
КОРАК 16 УВОЂЕЊЕ НОВОГ ЛИКА (ОБЈЕКТА) ЖЕЛИМО ДА У ИГРИЦУ УБАЦИМО ЛОПТУ КОЈУ МАЧАК МОЖЕ ДА ПРЕСКАЧЕ Нови лик убацујемо користећи неку од три могућности које су испод сцене. Нови лик можете нацртати, убацити слику из Архиве или одаклегод али можете и одабрати опцију „ Лик изненађења“ Одаберимо нови лик из Архиве самог Скреча (фолдери Animals, Fantasy, Letters, People, Things, Transportation) Обавезно претражите чега све има по овим фолдерима! Овог пута одаберимо кошаркашку лопту, увезимо је и умањимо 20-ак пута. Поставићемо је да се креће у висини (y-оса) ногу мачка. ПРОМЕНИТЕ ИМЕ ЛИКУ У ЛОПТА!
20
SCRATCH
КОРАК 17 АНИМИРАЊЕ НОВОГ ЛИКА ЛОПТА ЋЕ СЕ САМОСТАЛНО, НЕПРЕКИДНО КРЕТАТИ ЛЕВО-ДЕСНО ПО СЦЕНИ. Погледај „програмче“ лево. Ако за ЛИК ЛОПТА унесемо овај скрипт лопт аће радити баш оно што смо и желели. ЗАДАТАК: Упишите шта би требали урадити да лопта изгледа као да се котрља. Пробајте ТО и да урадите! Креирати 3-4костима лопте мало ротиране, убацити наредбу „следећи костим“ иза „иди 3 корака“ КОРАК 18 ЗАУСТАВИ СВЕ КАД МАЧАК ДОДИРНЕ ЛОПТУ У програмирању један исти проблем може бити решен на много различитих начина. Увек је лепо тежити што елегантнијим и свеобухватнијим варијантама. Идеја. Додајемо за ЛИК МАЧАК још један посебан блок. Он се активира као и остали ЗЕЛЕНОМ ЗАСТАВИЦОМ. И НЕ РАДИ НИШТА, ТО НИШТА ПОНАВЉА СВЕ ДОК МАЧАК НЕ ДОДИРНЕ ЛОПТУ А ОНДА ЗАУСТАВИ СВЕ!
ТЕСТИРАЈТЕ ПОНАШАЊЕ ПРОГРАМА! Требало би да функционише све што смо желели. Верујем да сте уочили ПРОБЛЕМ! ПРОГРАМ СЕ ЗАУСТАВИО АЛИ НАКОН РЕСТАРТА НЕ ПОЧИЊЕ ДА РАДИ? РАЗЛОГ ТОМЕ ЈЕ ЧИЊЕНИЦА ДА СУ МАЧАК И ЛОПТА И ДАЉЕ У ДОДИРУ! Потребно је да након заустављања увек вратимо све на почетну позицију. То се може урадити на више начина. О томе је следећи корак. У њему ћемо научити како да скрипте међусобно обавештавамо о неком догађају и како да они реагују на њих
21
SCRATCH
КОРАК 19
КОРАК 20
РАЗГЛАСИ ... , РАЗГЛАСИ... И ЧЕКАЈ, КАДА ПРИМИМ ... - „разгласи хххх и чекај“ је управљачки блок који се ставља након неког догађаја, тај догађај (порука) се именује хххх , и о томе се сви обавештавају - „када примим хххх“ је управљачки капа-блок, њега ћемо придружити сваком ЛИКУ који треба да реагује на наш догађај хххх, а надаље ћемо додати наредбе шта ЛИК треба да уради.
ИМЕНОВАЊЕ ДОГАЂАЈА (ПОРУКЕ) И ОБАВЕШТАВАЊЕ ОСТАЛИХ Клик на падајућу листу унутар блока разгласи даје могућност да креирамо нови догађај/поруку Сада наш скрипт за обавештавање изгледа овако :
Убацимо га у наш скрипт којим заустављамо све. На тај начин сви остали су обавештени, примили су обавештење „заустави све“. Сада можемо направити наредбе којима ћемо и лопти и мачку рећи шта да раде нако што се зауставе!
КОРАК 21 а
ВРАЋАЊЕ ЛИКОВА У ПОЧЕТНИ (ЖЕЉЕНИ) ПОЛОЖАЈ (лопта) ЛОПТА: Овим потпрограмом лопти се наређује да, након што прими ПОРУКУ „ЗАУСТАВИ СВЕ“ (која се емитује при судару): -сачека мало -пребаци се на (220,-80) -усмери се УЛЕВО -преузме изглед свог костима 1 -и стане.
22
SCRATCH КОРАК 21 б
ВРАЋАЊЕ ЛИКОВА У ПОЧЕТНИ (ЖЕЉЕНИ) ПОЛОЖАЈ (мачак) НАКОН ПРИЈЕМА ОБАВЕШТЕЊА „ЗАУСТАВИ СВЕ“ МАЧАК: (УПИШИТЕ) -
КОРАК 22 ПРИКАЗ ОСВОЈЕНИХ ПОЕНА ОВО НИЈЕ НЕКИ ВЕЛИКИ ПРОБЛЕМ. Потребно је дефинисати променљиву ПОЕНИ дат јој вредност 0 (нула), приказати је на сцени и направити скрипт који јој увећава вредност за 1 за случај који ми дефинишемо као поен. Видљивост на СЦЕНИ дефинишемо ЧЕКИРАЊЕМ у палети „ПРОМЕНЉИВЕ“
АЛИ ШТА ДА БУДЕ ПОЕН? Нека ПОЕН буде сваки пут када мачка доскочи, удаљеност од лопте буде мања од 100 и при томе не додирује лопту. Ево БЛОКА КОЈИ ПОКАЗУЈЕ ТАЈ СЛОЖЕНИ УСЛОВ (БЕЗ ДОСКОКА) НАПАРАВИЛИ СМО ГА ОД ЗЕЛЕНИХ БЛОКОВА ЗА ОПЕРАЦИЈЕ И МАЛО ПЛАВИХ (ОСЕЋАЈИ)
ЕВО КОМПЛЕТНОГ СКРИПТА КОЈИ ТРЕБА УБАЦИТИ У СКРИПТ ЗА ЛИК МАЧАК НАКОН ШТО МАЧАК ДОСКОЧИ ПРИ СКОКУ! Да нам поени увек стартују од нуле овај блок треба убацити негде у програм. ГДЕ? УПИШИ ОДГОВОР:
23
SCRATCH
АРХИВА ПРОЈЕКАТА - СКРЕЧ (SCRATCH) ЗАДАТАК 2. У претходном делу креирали смо малу игрицу и при томе схватили основне принципе рада у овом занимљивом програмском језику. Скреч се може употребити за многе различите намене, за игрице, анимације, симулације, уметничке пројекте, музичке пројекте, за програмирањ рада ЛЕГО робота, ... У овом делу обратићете пажњу на 5 различитих пројеката који се већ налазе у сталној Архиви програма. Најважније ће бити да при том увек погледате скрипте и блокове и да пробате да схватите чему шта служи. Слободно копирајте, преписујте јер је Скреч пројекат који подстиче међусобну сарадњу широм планете.
1 2 3 4 5
ФОЛДЕР ANIMATION INTERACTIVE ART MUSIC NAMES SIMULATIONS
ПРОЈЕКАТ TRAMPOLINE PLAY WITH YOUR FACE BREAK DANCE WORDO SIMPLE CIRCUIT
Пронађите, испробајте и проучите ових 5 пројеката 24
SCRATCH
ПРОЈЕКТИ - СКРЕЧ САЈТ ЗАДАТАК 3 :На званичном сајту http://scratch.mit.edu/ ПОТРАЖИТЕ НЕКЕ ОД СИМУЛАЦИЈА КОЈЕ СУ У ВЕЗИ СА ФИЗИКОМ. ЕВО НАШИХ ПРЕДЛОГА. ПОГЛЕДАЈТЕ, ОДАБЕРИТЕ, СПУСТИТЕ НА ВАШ РАЧУНАР И ПРЕРАДИТЕ НА СРПСКИ.
25
SCRATCH
ВЕБ АДРЕСЕ И ЛИТЕРАТУРА: 1. http://info.scratch.mit.edu/Support 2.
Getting Started Guide http://info.scratch.mit.edu/sites/infoscratch.media.mit.edu/files/file/ScratchGettingStartedv14.pdf
3. http://sites.google.com/site/scratchsrbija2/skrec-na-srpskom 4. www.mginformatika.com/.../Interfejs%20programa%20Scratch.doc 5. Токић Теуфик, идр. „Занимљива настава рачунарства и информатике у основним школама“ Електронски факултет у Нишу, ТЕМПУС пројекат ЈЕП 41148 2006 децембар2011-јануар2012 Алексинац-Сокобања Владан Ал. Младеновић vladan.al.m@gmail.com
26