Scratch
Scratch (ағылш. skrætʃ) — балалар мен жасөспірімдерге арналған визуалды блоктық және оқиғаларға негізделген бағдарламалау ортасы.[1] Ол Массачусетс технологиялық институтының (MIT) Media Lab зертханасында Митчел Резниктің жетекшілігімен әзірленген.[2]
Scratch атауы ағылш. scratching сөзінен шыққан. Бұл — хип-хоп ди-джейлері винил пластинкаларын алға-артқа қозғалту арқылы музыкалық композициялар жасайтын немесе араластыратын әдіс.[3]
Scratch бағдарламалау ортасы Logo бағдарламалау тілі мен Лего конструкторының идеяларын жалғастыру мақсатында жасалған.[4] Scratch 1.4 нұсқасы Squeak тілінде жазылды, ал 2.0 және 3.0 нұсқалары негізінен веб-платформаға бейімделді.[5] Scratch 2.0 Flash және ActionScript технологияларын қолданса, қазіргі Scratch 3.0 нұсқасы HTML5 пен WebGL негізінде жасалған, сондықтан ол мобильді құрылғылар мен планшеттерде де жұмыс істейді.[6]
2008 жылы Scratch ортасы Arduino микроконтроллерімен жұмыс істеуге бейімделіп, S4A (Scratch for Arduino) жобасы ұсынылды.[7]
Бағдарламалау
[өңдеу | дереккөзін өңдеу]Scratch бағдарламалары спрайттардан (ағылш. sprite) тұрады.[8] Әрбір спрайттың костюмдер жиынтығы (ағылш. costume), дыбыстары және сценарийлері болады. Костюмдерді өңдеу үшін бағдарламаға кіріктірілген графикалық редактор (ағылш. Paint Editor) қолданылады.[9]
Scratch бағдарламасының орындалуы өлшемі 480 × 360 шартты пиксель болатын сахнада (ағылш. stage) жүзеге асады. Сахнаның өз фондары, дыбыстары және жеке сценарийлері болуы мүмкін.[10]
Scratch-та бағдарламалау drag-and-drop тәсілі арқылы орындалады: пайдаланушы блоктар палитрасынан қажетті блоктарды сценарийлер аймағына сүйреп апарып біріктіреді.[11] Функционалдық қызметіне қарай блоктар 10 топқа бөлінеді және әр топ белгілі бір түспен белгіленеді.[12]
Көптеген блоктарда пайдаланушы енгізетін параметрлерге арналған өңделетін ақ түсті өрістер болады.[13]
Scratch бағдарламалау ортасында блоктар алты негізгі түрге бөлінеді: стек блоктары, тақырып (қалпақша) блоктары, аяқтаушы блоктар, C-блоктар (қамтушы блоктар), логикалық блоктар және есептеу (репортер) блоктары.[14]
Стек блоктары (ағылш. Stack Blocks) — ең көп қолданылатын блоктар. Олардың жоғарғы жағында ойық, ал төменгі жағында шығыңқы бөлігі болады, соның арқасында бірнеше блок бір-біріне жалғанып, стек құрайды.[15] Мұндай стектерді толықтай көшіруге немесе бір бүтін блок ретінде жылжытуға болады. Стек блоктарының ерекше түріне C тәрізді басқару блоктары жатады. Олар циклдер мен шартты операторларды құру үшін пайдаланылады және өз ішіне басқа блоктарды орналастыра алады.[16]
Тақырып блоктары (ағылш. Hat Blocks) жоғарғы жағында дөңес пішінге ие және төменгі жағында басқа блоктарды жалғауға арналған шығыңқы бөлігі болады.[17] Бұл блоктар сценарийдің басталуын анықтайды. Олардың қатарына «қашан…» (ағылш. when...) оқиғалар блогы жатады. Ол пернетақта, тінтуір немесе спрайттар арасында жіберілетін хабарламалар сияқты сыртқы және ішкі оқиғаларды өңдеуге мүмкіндік береді.[18]
Аяқтаушы блоктар сценарийдің орындалуын аяқтайды. Олардың төменгі жағында жалғастыруға арналған шығыңқы бөлік болмайды, сондықтан оларға басқа блоктарды жалғау мүмкін емес.[19]
C-блоктар немесе қамтушы блоктар басқа блоктарды өз ішіне орналастыруға арналған арнайы ойығы бар блоктар болып табылады.[20] Олар циклдерді, қайталау операторларын және шартты тармақталуларды құру үшін пайдаланылады. «Мәңгі» (ағылш. Forever) блогынан басқа барлық C-блоктарда бағдарламаның орындалу барысын анықтайтын логикалық өріс болады.[21]
Логикалық блоктар (ағылш. Boolean Blocks) алтыбұрышты пішінде болады және ақиқат (ағылш. true) немесе жалған (ағылш. false) мәндерін қайтарады.[22] Олар көбінесе «Егер...» және «... дейін қайталау» сияқты басқару блоктарының шарттарын анықтау үшін қолданылады.[23]
Scratch бағдарламалау тілі (Logo тілі сияқты) сандармен, мәтіндік жолдармен, логикалық мәндермен және динамикалық массивтердің қызметін атқаратын тізімдермен жұмыс істейді.[24]
Scratch бағдарламалары өзара оқиғалар арқылы байланысатын спрайттар жиынтығынан тұратындықтан, оның архитектурасы объектіге бағытталған бағдарламалауға ұқсайды.[25] Дегенмен Scratch толыққанды объектіге бағытталған бағдарламалау тілі болып саналмайды, өйткені онда мұрагерлік механизмі қарастырылмаған. Тек кеңейтілген BYOB (кейінгі Snap!) диалектісінде прототиптік мұрагерлік енгізілген.[26]
Дереккөздер
[өңдеу | дереккөзін өңдеу]- ↑ About Scratch. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Mitchel Resnick. MIT Media Lab. Тексерілді, 23 шілде 2026.
- ↑ What is Scratch?. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Scratch. Encyclopædia Britannica. Тексерілді, 23 шілде 2026.
- ↑ Scratch Development. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Scratch Desktop. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Scratch for Arduino. S4A. Тексерілді, 23 шілде 2026.
- ↑ Sprite. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Paint Editor. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Stage. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Getting Started with Scratch. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Blocks. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Blocks. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Category: Blocks. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Stack Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ C Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Hat Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Scratch Ideas. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Cap Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ C Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Forever Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Boolean Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ If () Then Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
- ↑ Scratch. Encyclopædia Britannica. Тексерілді, 23 шілде 2026.
- ↑ About Scratch. Scratch. Тексерілді, 23 шілде 2026.
- ↑ Snap!. Snap!. Тексерілді, 23 шілде 2026.