|
Scratch dasturi va uning imkoniyatlari
|
bet | 2/4 | Sana | 15.01.2024 | Hajmi | 1,32 Mb. | | #137671 |
Bog'liq Yoldoshev (2)1. Scratch dasturi va uning imkoniyatlari
Scratch (скреч, skrech) dasturlash tili oddiy va tushunarli bo‘lganligi sababli, unda nafaqat o‘quvchilar, balki bog‘cha yoshidagi bolalar ham o‘z loyihalarini amalga oshirishlari mumkin.Scratch dasturlash muhitiga LEGO konstruktorlik dasturi asos qilib olingan, shu boisdan ham uning davomchisi hisoblanadi. Loyihalarni tashqi vositalar yordamida mustaqil HTML5, Android ilovalari, Bundle (macOS) va EXE fayllariga eksport qilish mumkin. Xizmat MIT Media Laboratoriyasi tomonidan ishlab chiqilgan bo'lib, 70 dan ortiq tillarga tarjima qilingan va dunyoning aksariyat qismlarida qo'llaniladi. Scratch o'qitiladi va maktabdan keyingi markazlarda, maktablar va kollejlarda, shuningdek, boshqa davlat bilim muassasalarida qo'llaniladi. 2023-yil 15-fevral holatiga ko‘ra, tilning rasmiy veb-saytidagi hamjamiyat statistikasi 103 milliondan ortiq foydalanuvchi tomonidan baham ko‘rilgan 123 milliondan ortiq loyihani, hozirgacha yaratilgan jami 804 milliondan ortiq loyihalarni (shu jumladan, baham ko‘rilmagan loyihalarni) va veb-saytlarga oyiga 95 milliondan ortiq tashrifni ko‘rsatadi.
Scratch dasturlash muhiti asosiy tushunchalari (Skript, Sprayt va Sahna)lar hisoblanadi.
Skript (dastur) — ma’lum algoritm asosida ketma-ket taxlangan rangli bloklar
Sprite (sprayt – asraguvchi ruh, farishta) — Scratch dasturi stilida yaratilgan obyekt
(qahramon). Spraytlar o‘z liboslari (costumes) va ularni harakatga keltiruvchi buyruqlardan
(skriptlar) tashkil topgan.
Stage (sahna) — dastur ishga tushirilgach, spraytlar harakatini kuzatish mumkin bo‘lgan ishchioyna. Jamiyat va dasturiy muhiti veb-sayti quyidagi manzilda joylashgan https://scratch.mit.edu/. Global ijtimoiy tarmoq bo'lgani uchun sayt interfeysi tili ingliz tilida bo'lishi mumkin. Saytda ro'yxatdan o'tish uchun saytning yuqori qismida joylashgan "ishtirok etish"tugmasini bosiladi. Shundan so'ng, ekranda dialog oynasi paydo bo'ladi, unda taxallus, parol bilan tanishish, boshqa maydonlarni to'ldirish so'raladi. Bundan tashqari, elektron pochta manzilingiz bo'lishi kerak. Ro'yxatga olgandan so'ng, unga Scratch saytida hisobingizni tasdiqlaydigan havolani bosish orqali xat keladi.Scratch logotipidan so'ng saytning sarlavhasida to'rtta tugma mavjud: "yaratish", "tadqiqot", "Ideas" (g'oyalar), "loyiha haqida". Agar siz "yaratish" tugmasini bossangiz, Scratch dasturlash muhiti ochiladi. Agar siz bu erga kirsangiz va qanday qilib chiqishni bilmasangiz, yuqori chap burchakdagi Scratch logotipini bosing. Bu sizni saytning asosiy sahifasiga qaytaradi.Agar siz "tadqiqot" tugmasini bossangiz, boshqa odamlarning loyihalarini ko'rishingiz mumkin bo'lgan sahifaga o'tasiz. Ulardan ba'zilari asosiy sahifadan ham mavjud.Boshqa birovning loyihasini ko'rish uchun uni bosishingiz kerak. Chap tomonda loyihaning o'zi, o'ngda – uning tavsifi, pastki qismida – sharhlar bo'lgan sahifa ochiladi. Loyiha ishlash rejimida bo'ladi, ya'ni siz qanday dasturlashtirilganligi va qaysi bloklardan to'plangani emas, balki tayyor ishni ko'rasiz.O'yinni boshlash uchun yashil bayroqni bosishingiz kerak. To'xtatish uchun-qizil doira. To'rt o'q belgisi o'yinni katta ekran maydoniga aylantiradi.Agar siz "loyihani kiritish" tugmasini bossangiz, siz o'zingizni Scratch dasturlash muhitida topasiz va loyihaning ichki tuzilishini, uning mantig'ini ko'rishingiz mumkin. Boshqa birovning loyihasi asosida siz o'zingizni yaratishingiz mumkin, ya'ni remix. Biroq, avvalo, dasturiy muhitda ishlashni o'rganishingiz va o'zingizning oddiy loyihalaringizni yaratishingiz kerak.Sayt qopqog'iga qaytib, o'ngdagi menyuni ko'rib chiqing:
Avvalo, biz "mening ishlarim"havolasiga qiziqamiz. O'z loyihalaringiz mavjud bo'lgan sahifani ochadi. Ushbu sahifaga menyudagi papka tasvirini bosish orqali ham o'tishingiz mumkin.Yangi loyihani boshlash uchun "+ yangi loyiha"tugmasini bosing. Xuddi shu dasturlash muhiti ochiladi, yuqoridagi "yaratish" havolasini bosganingizda. Agar ilgari yaratilgan loyihani boshqarishni istasangiz, "loyihaning ichki qismiga kirish" tugmasini bosing. Ammo loyiha nomini bosish uni ishlash rejimida, ya'ni ko'rish rejimida ochadi. Xo'sh, biz yangi loyiha yaratamiz va chizish interfeysini o'rganamiz:Agar muharrir rus tilida ochilmasa, yuqoridagi Chapdagi globusni bosing va rus tilini tanlang, yoki boshqa til.Odatiy bo'lib, loyiha "Untitled" (nomlanmagan) deb ataladi. Ushbu so'z yozilgan maydonda siz ko'proq mazmunli ismni belgilashingiz mumkin. U avtomatik ravishda saqlanadi.Agar "nashr" tugmasini bosing bo'lsa, loyiha ko'rish uchun har bir kishi uchun mavjud bo'ladi. Odatda xom loyihalar nashr etilmaydi va ular faqat o'z ijodkorlariga taqdim etiladi.Ekranning asosiy maydonida chap tomonda "kod" ko'rinishida qurilish bloklari mavjud. Ular o'yin tuvalida yoki sahnada o'ng tomonda ko'rgan narsalarning xatti-harakatlarini o'rnatadilar . Endi faqat mushuk bor.O'rtada katta bo'sh joy eng muhim maydon – kod muharriri. Bu erda siz kodni "yozing", aksincha, uni chapdan sudrab olib tashlaydigan bloklardan qurasiz.Chapdagi qurilish bloklari "harakat", "tashqi ko'rinish", "ovoz" va shunga o'xshash bo'limlarga bo'linadi. Tegishli rangli doirani bosish orqali siz tezda kerakli bo'limning bloklariga o'tasiz. "Go 10 ta qadam" blokini oling va uni kod muharriri ichiga tashlang. Endi sichqonchani bosing. Har bir sekin urishdan sahnada mushuk qisqa masofaga qanday o'tishini ko'rasiz.Agar tuvaldagi mushuk o'rtasidan uzoq bo'lsa, uni sichqoncha bilan olib, tuvalning yangi joyiga sudrab borish mumkin.Nazariy jihatdan, dastur biz kabi jamoa blokida emas, balki tuvali yashil bayroqni bosganda ishga tushishi kerak. Agar biz hozirda bayroqni bosgan bo'lsak, hech narsa sodir bo'lmaydi.Buni tuzatish uchun biz "katakchani bosganda" buyrug'ini talab qilamiz ("katak" so'zi o'rniga jamoada yashil bayroq tasviri bo'ladi). Ushbu buyruq "voqealar" ning sariq qismida joylashgan. Bu erga o'ting va "katakchani bosganingizda" kod muharriri-ga o'ting.
Shundan so'ng, ikkita blok – "bayroq bosilganda" va "10 qadam" - Lego dizaynerining elementlari kabi ulanish kerak.Bloklar ketma-ketligi muhim ahamiyatga ega. Yuqorida joylashgan jamoa quyida joylashgan jamoaga qaraganda tezroq amalga oshiriladi. Ko'pincha, bloklarning konfiguratsiyasi ularni qanday ulash kerakligini ko'rsatadi. Misol uchun, biz hech qachon "katakchani bosganda" buyrug'ini ikkinchi, uchinchi yoki birinchi bo'lib boshqa hech narsa qila olmaymiz. Ushbu blokning yuqori qismida hech qanday chiziq yo'q, bu erda boshqa blokni kiritish mumkin bo'ladi. Dastur har doim "katagiga bosilganda"buyrug'i bilan boshlanadi.Endi Tuval ustidagi yashil bayroqni bosganingizda mushuk harakatlanadi.Biroq, har bir sekin urishdan, mushuk hali ham 10 pikselda bir joyga boradi va biz hech qanday oddiy harakatlanuvchi animatsiyani ko'rmayapmiz."Go 10 qadamlar" jamoasi tahrir bir qator bilan maydon ekanligini unutmang. U erda har qanday raqamni yozishingiz mumkin. Ya'ni, jamoa shunday bo'lishi mumkin:"go 100 ta qadam". Yoki shunday: "go -25 qadam". Shuning uchun, bu buyruqni quyidagi tarzda eslatib o'tish to'g'ri: "boringlar ... qadamlar", bu erda uchlik o'rniga o'zboshimchalik sonini bildiradi.Biz o'rniga soni bo'lsa, deb taxmin qilish mumkin 10 buyruq "borish 10 qadamlar" soni katta mos, keyin mushuk katta masofa harakat qiladi. Bu to'g'ri. Kod harakat qiladi. Biroq, animatsiya hali ham mavjud emas. Mushuk har bir sekin urishdan katta sakrashni amalga oshiradi.Shuning uchun, biz 10 va hatto 5 yoki 1 raqamini qaytaramiz.Keling, haqiqatga qaytaylik va biz qanday qilib yurishimiz haqida o'ylab ko'raylik. Aslida, biz ko'p marta bir xil narsani qilamiz: chap qadam, o'ng qadam, chap qadam, o'ng qadam. Biz bu qadamni bir necha marta takrorlaymiz. "Biz aylanish jarayonida yuramiz"deb aytish to'g'ri.Xuddi shunday, Scratch da amalga oshiriladi. Har qanday tsiklda "borish ... qadamlar" buyrug'ini qo'yish kerak. Tsikllar ham qurilish bloklari va dasturlashning eng muhim tushunchalaridan biridir. Tsikllar alohida darsga bag'ishlanishi kerak. Ammo, endi yo'qoladi bo'lmaydi, apelsin bo'limiga o'ting "boshqarish" va kod muharriri bir blok otish "takrorlash 10 marta".Biroq, uni qaerga qo'shish kerak? Agar biz tsikl blokini pastki qismdan "go ... Steps" buyrug'iga almashtirsak, bu noto'g'ri bo'ladi. Dasturlashda mantiq muhim ahamiyatga ega. Bu mushuk birinchi navbatda qadamlar qo'yadi va keyin 10 marta nima aniq emasligini takrorlaydi. Aslida, hech narsa, tsiklning tanasi bo'sh bo'lgani uchun, ya'ni blok "takrorlash ... bir marta" hech narsa ramkaga ega emas, hech narsa o'z ichiga olmaydi.Dasturni qayta tuzish kerak. Buni amalga oshirish uchun avval "o'tish ... qadam" blokini "katakchani bosganingizda"dan ajratib olishingiz kerak. Bloklar orasidagi aloqani uzish uchun siz pastki blokni tortib olishingiz kerak.Endi "10 marta takrorlang" tsiklining ichida "10 qadamlarga boring" buyrug'ini qo'ying va tsikl "katakchani bosganda"blokiga biriktiriladi.
Bunday holda, mushuk jami 100 qadamni oladi, chunki 10 marta 10 qadam bilan ko'paytiriladi 100 qadam bo'ladi. Biroq, agar biz "go 100 ta qadam"buyrug'ini bergan bo'lsak, bu dastur boshqacha. Har bir takrorlashdan oldin tsiklda ko'zga ko'rinmas kechikish bo'ladi, natijada nisbatan silliq animatsiya kuzatiladi.Agar siz kamroq qadamlar va takroriy sonlarni belgilasangiz, animatsiyani yanada yumshoqroq qilish mumkin. Misol uchun, 1 qadam va 200 takrorlash. Lekin bu holda, mushuk sekin harakat qiladi. Shunday qilib, ob'ektning harakatlanish tezligini sozlash mumkin: tsiklning bir marta takrorlanishi uchun qanchalik ko'p qadamlar bo'lsa, uning tezligi qanchalik katta bo'ladi.Bizning dasturimizda "takrorlash ... bir marta" tsiklini "har doim takrorlang". Ushbu jamoa "Menejment" ning to'q sariq qismida joylashgan. Dasturni ishga tushiring. Mushuk ekranning chetiga kelganda nima bo'ladi? U to'xtaydi. Dastur ishlashni davom ettirmoqda, lekin mushuk hech qanday joyga bormaydi.Dasturni to'xtatishga majbur qilish uchun tuvalning ustidagi qizil doira ustiga bosing.Agar biz mushukni har doim harakat qilishni istasak, hech bo'lmaganda dasturni to'xtatmagunimizcha, yana bir buyruq – "agar qirg'oqqa tegsa, uni chetga surib qo'ying". Ushbu blok "harakat" ning ko'k qismida joylashgan."Agar chetga tegsa, itarish" buyrug'i tsiklga joylashtirilishi kerak. Ammo "10 qadam" yoki undan keyin "go 10" buyrug'idan oldin bu juda muhim emas. Mushuk birinchi navbatda 10 qadam qo'yishi mumkin, keyin tuvalning chetiga tegsa, uni aylantiring. Yoki u avval tuvalning chetiga tegmasligini tekshiradi, keyin u aylanadi.Bunday dasturni ishga tushirganingizda, mushuk chap tomondan o'ngga, oxirigacha, dasturni o'zingiz to'xtatmaguningizcha yuradi. Biroq, ehtimol, sizning mushukingiz biroz g'alati yurishadi: chap oyoqlaringiz bilan ketadi va o'ngga-boshingizga tushadi.Aslida, Scratch-da, inqilob paytida ob'ektlar aylanada aylanadi. Bu nimani anglatadi? To'liq doira 360 daraja ekanligini bilishingiz kerak. Qarama-qarshi tomonga o'girilganda, biz aylananing yarmini, ya'ni 180 darajasida aylantiramiz.Lekin biz qanday qilib qaytamiz, ya'ni aylanish jarayonini qanday amalga oshiramiz, natija boshqacha bo'lishi mumkin. Tasavvur qiling-a, siz chap tomonga qaraysiz. Keyin vertikal o'qi atrofida keskin burilib, tepadan To'piqlarga o'tadi. Bu inson uchun tabiiy burilish, shuning uchun hamma narsa yaxshi. Siz oyoqlaringiz ustida turishni davom ettirasiz, faqat boshqa tomonga qarang.Endi tasavvur qiling-a, siz qo'llaringizni va ustuningizni belbog ' darajasida ushlab turishingiz uchun chizg'ichga tortilgansiz. Va siz bu chiziq atrofida 180 darajaga o'tishga qaror qildingiz. Shundan keyin sizning boshingiz pastda bo'ladi. Siz xohlagan joyga qaraysiz: agar siz chapga qarasangiz, o'ng tomonga qaraysiz.Taxminan bir xil virtual mushuk bilan sodir bo'ladi. Biroq, bu xatti-harakatni "chapga va o'ngga aylantirish usulini o'rnatish" buyrug'i bilan almashtirishimiz mumkin. U "harakat" bo'limida. Buyruq bir marta bajarish uchun etarli, shuning uchun uni tsikldan oldin joylashtiring.Ushbu jamoa juda o'zgaruvchan. Chap-o'ng o'rniga "aylana" yoki "aylanmaslik"ni tanlashingiz mumkin. Biz allaqachon ko'rgan doira, standart ob'ektlar kabi muomala. Agar siz "qaytmaslik" ni tanlasangiz, repelling paytida ob'ekt hech qanday tarzda aylanmaydi. U tuvalning old tomoniga tegib, orqaga qarab harakat qiladi va u orqa tomonga burilib ketganda oldinga siljiydi.
Bu bizning birinchi darsni tugatamiz, uning maqsadi skretch bilan tanishish, dasturlash muhitida ishlashning asosiy tamoyillarini tushunish edi. Quyidagi darslarda biz boshqa til buyruqlari va dasturlash xususiyatlarini o'rganamiz.Ushbu bosqichda tushunishingiz kerak bo'lgan asosiy masalalardan biri-ko'plab jamoalar mavjud va ularning kombinatsiyasi son-sanoqsiz. Shuning uchun dasturlash nafaqat ilm-fan, balki san'at va ijodkorlikdir.
|
| |