Компьютерийн хэлнүүдийн бүтэц, зохион байгуулалт нь өөр өөр байдаг. Харин компьютерийн бүх хэлнүүдийн ажиллах зарчим нь нэг ижил логик дээр үндэслэдэг. Иймээс, компьютерийн бүх програмууд ижил төстэй байдлаар ажилладаг бөгөөд дараалал гэсэн програмчлалын үндсэн логикийг баримталдаг.
СКРАТЧ-д програмын логик урсгал нь хамгийн дээд талын блокоос эхлэн үйлдэл бүрийг нэг удаа гүйцэтгэх ба хамгийн доод талын блокоор үйлдлийг дуусгана. Давталт-ыг ашигласан програмууд нь мөн энэ дарааллыг баримталдаг. Тухайн давталт доторх үйлдлүүд нь дарааллын дагуу гүйцэтгэгдэх бөгөөд давталтын сүүлд хүрмэгц, давталтын дээд хэсэгт буцаж очоод, үйлдлийг дахин эхлүүлнэ. Хэдийгээр давталтын ажиллагаа нь үндсэн логикоос өөр мэт харагдах ч эдгээр програмууд нь дээрээс-доошоо гэсэн дарааллын логик урсгалыг дагасан хэвээр байна.
Үндсэн програм гэж юу вэ?
Үндсэн програм гэдэг нь програмын эхлэх болон дуусах үйлдлийг тодорхойлох програмын гол хэсэг юм.
CКРАТЧ орчинд үндсэн програм нь when_clicked блокоос эхэлдэг бөгөөд энэ блок нь бусад блокуудтай холбогдон ажиллана.
СКРАТЧ програмчлалын орчин дахь МИКРО ЛИОН роботын үндсэн програмын ажиллагаа нь хамгийн дээд талын when_clicked блокоос эхлээд, дарааллын дагуу дараагийн блокуудын үйлдлийг гүйцэтгэнэ.
Өөрөөр хэлбэл,блокийн үйлдэл бүрийг сүүлийн блок хүртэл гүйцэтгэдэг гэсэн үг юм.
Дэд програм гэж юу вэ?
Дэд програм гэдэг нь үндсэн програмаас тусдаа үйлдэл гүйцэтгэх чадвар бүхий нэмэлт програмын хэсэг
юм. Дэд програм үндсэн програм дотор програмын нэгэн хэсэг болон ажиллаж болно. Өөрөөр хэлбэл, үндсэн програмаас тухайн дэд програмын нэрийг дуудах үед програмын ажиллагаа дэд програмын хэсэгт шилжинэ. Програмын ажиллагаа нь дэд програм дахь блокуудын үйлдлийг дуусгаад үндсэн програм дээр буцаж очдог.
Дэд програмууд (Sub-routines)
Дэд програмууд нь таны үндсэн програмын дотор жижиг програмууд үүсгэх боломжийг олгодог бөгөөд шаардлагатай үед нь ажиллуулж болдог. Ингэснээр програм хэтэрхий төвөгтэй болохоос сэргийлдэг. Мөн нэг давуу тал нь, та ижил кодыг дахин ашиглах шаардлагатай үед дэд програмыг програмынхаа олон хэсэгт ашиглаж болдог.
Доорх програмд дэд програм ашиглаагүй “Scratch тооны машин” програмын эхлэлийн кодыг харуулсан байна .

Энэ программ нь дараах үйлдлүүдийг гүйцэтгэнэ. Үүнд:
- Хэрэглэгчээс 1 эсвэл 2 гэсэн сонголтын аль нэгийг оруулахыг хүснэ.
2.Хэрэглэгчийн өгсөн хариунаас хамааран, програм нь тоонуудыг нэмэх эсвэл хасах үйлдэл хийнэ. Харин хэрэглэгч өөр зүйл оруулбал, програм зөв утга оруулахыг дахин хүснэ.
Энэ жишээнд зөв утга гэж 1 эсвэл 2 гэсэн тоонуудыг хэлж байна.
3. Хэрвээ энэ програмыг цааш нь үргэлжлүүлэн өргөтгөвөл, түүнийг ойлгож дагахад хүндрэлтэй болж магадгүй.
Тиймээс програмыг илүү ойлгомжтой болгохын тулд дэд програмууд (sub-routines) ашиглаж болно.
Доорх зурагт дээрхтэй яг ижил програмыг дэд програмууд ашиглан хийсэн жишээ байна:


Одоо тооцоолол бүр тусдаа дэд програмд байрлаж байна. Мөн broadcast гэж бичсэн блок байдаг бөгөөд түүний дараа дэд програмын нэр гарч ирдэг. Энэ нь үндсэн програмыг илүү ойлгомжтой болгох бөгөөд эдгээр дэд програмуудыг хүссэн үедээ дахин ашиглах боломжтой болгодог.
Урсгал диаграмм (Flowchart) дахь дэд програмууд
Эдгээр дэд програмуудыг урсгал диаграмм дээр мөн дүрсэлж болдог. Тэд дараах тэмдгийг ашигладаг.
Дээрх Scratch програмд дэд програм ашигласан урсгал диаграммын жишээ энд байна.

энэ урсгал диаграмм (flowchart) алдаатай бөгөөд дээр тайлбарласан шиг зөв ажиллахгүй байна.
Тиймээс урсгал диаграммыг засварлаж, дээр дурдсан шаардлагын дагуу зөв ажилладаг болгоорой.
Програм нь хэд хэдэн асуулт агуулсан байна.
- Програмын төгсгөлд бүх өөр өөр хариунуудыг нэг өгүүлбэрт нэгтгэн харуулна.
- Мөн тоон утгатай хариунуудыг хооронд нь нэмээд, төгсгөлд нь “star number” гэж харуулна.
Програм дараах асуултуудыг асуух ёстой:
- Таны нэр хэн бэ?
- Таны дуртай өнгө юу вэ?
- Нэг долоо хоногт хэдэн өдөр байдаг вэ?
- Нэг цагт хэдэн секунд байдаг вэ?
- Таны дуртай хобби юу вэ?
- Нэг жилд (өндөр жил биш үед) хэдэн өдөр байдаг вэ?
Энэ нь таны програмыг ажиллуулсан үед хэрхэн харагдаж болох жишээ юм.
Доор энэ даалгаврын урсгал диаграммын (flowchart) хэсэг үзүүлсэн байна. Урсгал диаграммыг засварлаж, бүх процессыг бүрэн харуулах ёстой.



