Канцэпцыі праграмавання ў Scratch

Канцэпцыі праграмавання ў Scratch

Шматлікім знакам Scratch - дзіцячае асяроддзе праграмавання, навучанне ў якой звычайна зводзіцца да стварэння творчых праектаў па прынцыпе "ад простага да складанага". Пры гэтым «класічны падыход» да вывучэння праграмавання (зменныя → галінавання → цыклы → функцыі → структуры → аб'екты → …) у Scratch цяжкі.

Аднак змена паслядоўнасці вывучэння паняццяў (назавем іх канцэпцыямі) структурнага, аб'ектна- і падзейна-арыентаванага праграмавання, іх утойванне за яркімі спрайтамі і інтэрактыўнай анімацыяй, не азначае, што на канцэпцыях не варта рабіць акцэнт. Асабліва, калі мэтай ставіцца не столькі развіццё творчых здольнасцей, колькі навучанне праграмаванню. Гэтую ідэю я пастаралася адлюстраваць у сваім курсе.

Першым, з чым сутыкаецца пачатковец скрэтчар, з'яўляюцца спрайт. Хоць у Scratch як такога аб'ектна-арыентаванага праграмавання няма, спрайт можна лічыць аб'ектамі. На гэтым этапе які навучаецца бачыць, што ў праграме можа быць мноства аб'ектаў, паводзінамі якіх кіруюць вонкавыя для іх скрыпты. Спрайт атрымліваюць каманды або па патрабаванні перадаюць інфармацыю аб сваім стане, гэта значыць праграмаванне зводзіцца да кіравання аб'ектамі.

Другім, што ў Scratch адразу звальваецца на галаву юнага праграміста, з'яўляецца паняцце аб шматструменнасці. Кожны спрайт можа мець па некалькі скрыптоў, якія выконваюцца адначасова. Некалькі спрайтаў таксама могуць выконваць свае праграмы адначасова сябар з сябрам. Прычым аказваецца складаней арганізаваць паслядоўнае выкананне.

Канцэпцыі праграмавання ў Scratch

Канцэпцыі праграмавання ў Scratch

Ужо на першым занятку мы не можам пазбегнуць знаёмствы з цыкламі. Інакш кот асабліва не разбяжыцца. На гэтым этапе знаёмства даводзіцца пакідаць інтуітыўным і павярхоўным. Мы абмяжоўваем яго цыкламі "паўтараць заўсёды" і "паўтарыць … раз", якія больш простыя для разумення. Цыкл з умовай вывучаецца ва ўроку, спецыяльна прысвечаным цыклам. Гэты ўрок мяркуе веданне лагічных выразаў і зменных.

Паколькі Scratch падзейна-арыентаванае асяроддзе, блокі ўмоўнага аператара зручней вывучыць да зменных. Умовай могуць выступаць тыя ці іншыя падзеі.

Канцэпцыі праграмавання ў Scratch

На мой погляд, такая паслядоўнасць лепшая, бо за кожны ўрок мы ўводзім мінімум паняццяў.

Калі ж спачатку вывучаць зменныя, тое іх прызначэнне і карысць складана прадэманстраваць, паколькі да гэтага не вывучаны ўмоўны аператар, увод дадзеных і генерацыя выпадковых лікаў.

У Scratch, не лічачы спісаў, праграміст сутыкаецца з трыма тыпамі дадзеных: лікамі, радкамі і булевым тыпам. Пры гэтым тып прывязаны да значэння, а не зменнай. Ператвараць радкі ў лікі і зваротна не патрабуецца. Радкі ў двукоссі не складаюцца.

Блок, які вяртае лагічнае значэнне і мелых характэрную для яго вуглаватую форму, можна ўстаўляць у круглявыя палі. Адваротнае не дакладна: там дзе мяркуецца лагічны выраз, нельга ўставіць звычайную зменную.

Канцэпцыі праграмавання ў Scratch

Scratch рэалізаваны так, каб падчас выкананні не ўзнікала крытычных памылак. Мабыць таму, калі паспрабаваць выкарыстаць радок у арыфметычнай аперацыі, яна замяняецца банкрутам (гл. першы скрін).

Праграміст павінен ведаць, што магчымасці моў праграмавання пашыраюцца бібліятэкамі. Працуючы ў Scratch, вучань можа далучаць дапаўненні, якія прыводзяць да з'яўлення ў асяроддзі новых каманд.

Канцэпцыі праграмавання ў Scratch

Функцыі ў Scratch рэалізаваны ў раздзеле "Іншыя блокі", дзе з аднаго боку вы ствараеце ўласны блок, які можна ўстаўляць у іншыя скрыпты. З іншага боку - павінны сабраць функцыянальнасць гэтага блока, гэта значыць тое, што ён будзе рабіць.

Канцэпцыі праграмавання ў Scratch

Вяртання значэнні са скрэтч-функцыі няма.

Такім чынам, вывучэнне канцэпцый праграмавання ў падзейна-арыентаваным асяроддзі накладвае свой адбітак. Па сутнасці мы спачатку вывучаем больш складаныя і абстрактныя паняцці і, толькі паглыбляючыся ў працэс, пераходзім да элементаў структурнага праграмавання. Плюс гэта ці мінус для першага знаёмства - пытанне спрэчнае.

Крыніца: habr.com

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster