**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 ishchi oyna.

Scratch kabi veb-sayt foydalanuvchilarga turli xil medialarni (jumladan, grafika, ovoz va boshqa dasturlarni) ijodiy yo'llar bilan, masalan, video o'yinlar, animatsiyalar, musiqa va simulyatsiyalar kabi loyihalarni yaratish va "remikslash" orqali aralashtirish imkonini beradi.Blok — dasturning eng kichik (minimal) fragmenti (bo‘lagi). U buyruq, operator, o‘zgaruvchi

yoki funksiya bo‘lishi mumkin. Bloklar vazifasiga ko‘ra 9 ta rangga ajratilgan.

 Bosilganda fonni o'zgartirish va belgini gapiradigan dastur

Scratchdagi bloklar| Bloklar | Buyruqlar |
| --- | --- |
|  | Harakat | Burchaklar va yo'nalishlar kabi spritlarning harakat bloklari |
|  | Ko'rinish | Spraytning vizual tasvirlarini boshqaradi ya'ni tashqi ko'rinish(kostyumlar) |
|  | Ovoz | Audio fayllar va effektlarni ijro etadi
ovoz, musiqa bloki hisoblanadi |
|  | Voqealar | Voqealar boshqaruvchilari va eshittirishlar.Jarayonlar bloki |
|  | Boshqaruv | Shartlar, sikllar va klonlash ya'ni boshqaruv bloki |
|  | Sensing | Spraytlar boshqa spraytlar, sichqoncha ko'rsatkichi va fon bilan o'zaro aloqada bo'lishi mumkin.qisqa nom bilan sensor bloki |
|  | Operatorlar | Matematik operatorlar va taqqoslashlar |
|  | O'zgaruvchilar va ro'yxatlar | O'zgaruvchilarga kirish va o'rnatishni bloklaydi. Bulutli o'zgaruvchilarga loyihaning barcha ishlaydigan versiyalari kirishi mumkin. |
|  | Mening bloklarim | Foydalanuvchi tomonidan belgilangan funktsiyalar, bloklar sifatida foydalanish mumkin. Ular ekranni yangilamasdan ishlash imkoniyatiga ega. |
|  | Kengaytmalar | Quyida tushu

Havolalar

|  |  |
| --- | --- |
|  | Vikiomborda ***Scratch (dasturlash tili)*** haqida turkum mavjud |

 
* rasmiy sayt
* Scratch Curlie katalogida
 |