Мазмұнға өту

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]

Дереккөздер

[өңдеу | дереккөзін өңдеу]
  1. ↑ About Scratch. Scratch. Тексерілді, 23 шілде 2026.
  2. ↑ Mitchel Resnick. MIT Media Lab. Тексерілді, 23 шілде 2026.
  3. ↑ What is Scratch?. Scratch. Тексерілді, 23 шілде 2026.
  4. ↑ Scratch. Encyclopædia Britannica. Тексерілді, 23 шілде 2026.
  5. ↑ Scratch Development. Scratch. Тексерілді, 23 шілде 2026.
  6. ↑ Scratch Desktop. Scratch. Тексерілді, 23 шілде 2026.
  7. ↑ Scratch for Arduino. S4A. Тексерілді, 23 шілде 2026.
  8. ↑ Sprite. Scratch Wiki. Тексерілді, 23 шілде 2026.
  9. ↑ Paint Editor. Scratch Wiki. Тексерілді, 23 шілде 2026.
  10. ↑ Stage. Scratch Wiki. Тексерілді, 23 шілде 2026.
  11. ↑ Getting Started with Scratch. Scratch. Тексерілді, 23 шілде 2026.
  12. ↑ Blocks. Scratch Wiki. Тексерілді, 23 шілде 2026.
  13. ↑ Blocks. Scratch Wiki. Тексерілді, 23 шілде 2026.
  14. ↑ Category: Blocks. Scratch Wiki. Тексерілді, 23 шілде 2026.
  15. ↑ Stack Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  16. ↑ C Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  17. ↑ Hat Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  18. ↑ Scratch Ideas. Scratch. Тексерілді, 23 шілде 2026.
  19. ↑ Cap Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  20. ↑ C Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  21. ↑ Forever Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  22. ↑ Boolean Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  23. ↑ If () Then Block. Scratch Wiki. Тексерілді, 23 шілде 2026.
  24. ↑ Scratch. Encyclopædia Britannica. Тексерілді, 23 шілде 2026.
  25. ↑ About Scratch. Scratch. Тексерілді, 23 шілде 2026.
  26. ↑ Snap!. Snap!. Тексерілді, 23 шілде 2026.