SlideShare a Scribd company logo
1 of 31
1 
ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, 
Е-НЭЭЛТТЭЙ ИНСТИТУТ 
Алгоритм ба програмчлал 
Лекц - 2 
Код: U.IT101 www.emust.edu.mn
U.CS101- Алгоритм ба програмчлал 
Сэдэв: Алгоритмын хэмжигдхүүн, үндсэн 
алхамууд 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Агуулга: 
01 Алгоритм зохиох 
02 Алгоритмд хэрэглэх үндсэн үйлдлүүд 
03 Функц ашиглах 
04 Гаргах үйлдэл 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
2.1 АЛГОРИТМ ЗОХИОХ 
Компьютерийн тусламжтайгаар бодлого бодох үйл ажиллагаа 
нь хэд хэдэн үе шаттайгаар явагдах бөгөөд тэдгээр үе 
шатнуудын гол гурван үе шат нь 
• бодлогыг шинжлэх, 
• алгоритмчлах, 
• програм бичих 
үе шатууд юм. Бодлогыг шинжлэх үе шатанд бодлогоо 
нарийвчлан томьёолох, бодлогоо сайтар ойлгох, өгөгдөл ба 
үр дүнгүүдийг тодорхойлох хэрэгтэй юм. Бодлогоо хэр сайн 
шинжлэснээс алгоритмчлалын дараачийн үе шатны үр дүн 
хамаарна. Иймээс бодлогоо сайн ойлгож танин мэдэхийн тулд 
дараах асуудлуудад хариулт өгөх нь зүйтэй. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
1. Бодлогын оролт буюу өгөгдөл нь юу, юунаас бүрдэхийг 
тогтоох 
2. Бодлогын гаралт буюу хариу нь юу байхыг тодорхойлох 
3. Өгөгдлийн хамгийн энгийн тохиолдолд бодлогыг гараар 
бодож харгалзах хариуг нь олж болох эсэхэд хариулт өгөх 
4. Бодлогын алгоритмд тооцооны хурд ямар байхыг тогтоох 
5. Бодлогын оновчтой хариуг яг олох нь тухайн бодлогын 
хувьд ямар ач холбогдолтой нягтлах 
6. Бодлогын төрлийг тогтоох, тухайлбал бодлого нь тоон 
хэмжигдхүүний бодлого, геометрийн бодлого, графын 
бодлого, мөр хэмжигдхүүний бодлого зэргийн аль вэ 
гэдэгт хариулах 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Алгоритмчлах үе шатыг алгоритм зохиох, алгоритмыг шалгах, 
алгоритмыг шинжлэх гэсэн үйл ажиллагаануудад хувааж болох 
бөгөөд эхлээд алгоритм зохиох үе шатыг авч үзье. 
Алгоритм зохиох гэдэг нь алдаагүй ажилладаг, ажиллах хугацаа 
нь аль болох богино, компьютерийн тусламжтайгаар хэрэгжүүлэх 
хариуг олох алгоритмыг байгуулах явдал юм. Ийм алгоритмыг 
зохиоход дараах хоёр төрлийн мэдлэг хэрэгтэй. 
• Арга зүйн мэдлэг 
Үүнд алгоритм зохиоход хэрэглэгдэх суурь буюу тухайлбал 
өгөгдлийн бүтэц, хуваан эзлэх аргачлал, хайлтын аргууд динамик 
программчлал гэх мэт арга техникүүд багтана. 
• Практик мэдлэг 
Тухайн бодлоготой төсөөтэй болон сонгодог бодлогуудын 
алгоритмууд энэ бүлэгт орно. 
Алгоритм зохиох үйл ажиллагааг амжилттай гүйцэтгэхийн тулд уг 
үйл ажиллагааг дараах үйлдлүүдэд хувааж тэдгээрийг гүйцэтгэх 
нь зүйтэй. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
1. Алгоритмын бүрэлдхүүн хэсгүүдийг тодорхойлж алгоритмыг 
бүдүүвч байдлаар дүрсэлнэ. Энэ үйл ажиллагааг алгоритмын 
ерөнхий зохиомжийг гаргах гэнэ. Алгоритмын ерөнхий 
зохиомжийг үгээр эсвэл блок схемээр дүрслэнэ. 
2. Бүрэлдхүүн хэсэг тус бүрийг бодох арга, алгоритмын 
сонголтыг хийнэ. Үүний тулд дараахь асуултуудад хариулах 
нь зүйтэй 
 Уг бодлоготой төсөөтэй бодлогуудыг өмнө нь бодож 
байсан эсэх 
 Энэ бодлого тухайн тохиолдол нь болж чадах ерөнхий 
бодлого байгаа эсэх 
 Өмнөх бодлогуудын бодолтыг нэгтгэн тухайн бодлогыг 
бодож болох эсэх 
 Тухайн бодлогыг бодож болох аргуудын жагсаалтыг гаргах 
 Бодлогыг бодох хамгийн тохиромжтой аргын сонголтыг 
хийх 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
3. Алгоритмд хэрэглэгдэх хэмжигдхүүнүүдийг тодорхойлно. Энэ 
нь хэмжигдхүүний тоо, төрөл, нэрийг зааж өгнө гэсэн хэрэг юм. 
Алгоритмд тогтмол, хувьсагч гэсэн ойлголтыг хэрэглэх бөгөөд 
тэдгээрийг ерөнхийд нь хэмжигдхүүн гэнэ. Хэмжигдхүүнүүдийг өөр 
хооронд ялгах, үйлдэл хийхийн тулд тэдгээрт нэр олгох бөгөөд нэр 
нь үсгээр эхэлсэн, үсэг цифрүүдийн дараалал байна. Энэ нэр нь 
тухайн хэмжигдхүүний утгыг хадгалах санах ойн хаягийг 
илэрхийлнэ. Алгоритмд хэрэглэгдэх хэмжигдхүүнүүдийг өөр хооронд 
ялгах, үйлдэл хийхийн тулд тэдгээрт нэр олгох бөгөөд нэр нь үсгээр 
эхэлсэн, үсэг цифрүүдийн дараалал байна. Энэ нэр нь тухайн 
хэмжигдхүүний утгыг хадгалах, санах ойн хаягийг илэрхийлнэ. 
Алгоритмд хэрэглэгдэх хэмжигдхүүнүүдийг тодорхойлохдоо юуны 
өмнө алгоритмынхаа өгөгдөл буюу оролт, гаралт буюу хариунд хаяг 
буюу нэр оноох хэрэгтэй. Үүний дараа өгөгдлийг ашиглан хариуг 
олоход хэрэглэгдэх завсарын хэмжигдхүүнүүдийг тогтоож мөн 
тэдгээрт нэр олгоно. Хэмжигдхүүнүүдэд хаяг оноох нь алгоритм 
зохиогчийн хувьд чөлөөтэй боловч хэт олон завсарын хэмжигдхүүн 
хэрэглэхээс зайлсхийх хэрэгтэй юм. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
4. Хэмжигдхүүнүүдийн хамаарлыг математикийн 
илэрхийлэл, томьёо, нөхцөл, тэгшитгэл ашиглан бичнэ. 
Алгоритмд хэмжигдхүүнүүдийг үйлдлийн тэмдгээр холбож 
илэрхийллийг үүсгэдэг. Илэрхийлэлд дараах үйлдлүүдийг 
бичиж болно. 
 Нэмэх, хасах, үржих, хуваах, тогтмол зэрэгт 
дэвшүүлэх үйлдлүүд 
 Хэмжигдхүүний утгуудыг жиших (>=, <=, =, <>, ><) 
үйлдлүүд 
 Логик нэмэх (OR), логик үржих (AND), логик үгүйсгэх 
(NOT) үйлдлүүд 
 Математикийн функцүүд 
5. Математикийн томьёо, нөхцлүүдийг биелэгдэх дэс 
дарааллыг тогтооно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
6. Алгоритмын бүрэлдхүүн хэсэг бүрийн алгоритмыг 
зохионо. Алгоритм зохиоход алгоритмын хэмжигдхүүнүүдийн 
хамааралтай уялдуулан энгийн ба тусгай аргуудыг 
хэрэглэнэ. Алгоритм зохиох энгийн арга нь алгоритмыг 
алгоритмын үндсэн алхамуудаар шууд илэрхийлэн бичих 
арга бөгөөд түүнийг алгоритмын хэмжигдхүүнд энгийн 
хамааралтай байхад хэрэглэнэ. Энэ тохиолдолд алгоритмын 
үндсэн алхамууд, тэдгээрийг дүрслэн бичих хэлбэрүүдийн 
болон алгоритмын төрлүүдийн тухай мэдлэг хэрэгтэй юм. 
7. Алгоритмын бүрэлдэхүүн хэсггдийн алгоритмуудыг 
нэгтгэн өгсөн бодлогын алгоритмыг бичнэ. 
Эндээс алгоритм зохиох үйл ажиллагааны гол түлхүүр нь 
өөрийн бодол санаа, хийх үйлдлээ чиглүүлэх асуултуудыг 
өөртөө тавьж ажиллах явдал гэж дүгнэж болно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Жишээ: 
Өгсөн бодит тоо х, өгсөн натурал тоо n- 
ын хувьд 1+x/1!+x/2!+…+xn/n! 
нийлбэрийг олох алгоритм зохиоё. 
Бодолт: 
1. Энэ алгоритмын гол үйлдлүүд нь 
өгөгдлийг оруулах, ээлжит 
нэмэгдхүүнийг олох, 
нэмэгдэхүүнүүдийг нийлбэрчлэх, үр 
дүнг хэвлэх үйлдлүүдийг болно. 
Тухайлбал алгоритмын ерөнхий 
зохиомжийг дараах байдлаар үгээр 
дүрсэлж болно. 
 Өгөгдлийг оруулах 
 Ээлжит хэмжигдхүүнийг олох 
 Нэмэгдхүүнийг нийлбэрчлэх 
 Үр дүнг хэвлэх 
Дээрх бодлогын алгоритмд дараахь 
хэмжигдхүүнүүд хэрэглэгдэнэ гэдгийг 
тогтоож болно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
 Нэмэгдхүүний дугаарыг зах хэмжигдхүүн. Энэ хэмжигдхүүний 
төрөл нь бүхэл байна. Түүнийг I гэе 
 Ээлжит нэмэгдүүний хүртвэр ба хуваарийг заах хэмжигдхүүнүүд. 
Тэдгээрийг харгалзан a, k гэж нэрлэе. Энд а нь бодит, к нь бүхэл 
төрлийн хэмжигдхүүн байна. 
 Нийлбэрийг хадгалах хэмжигдхүүн. Үүнийг s гэе. Энэ 
хэмжигдхүүний төрөл бодит байна 
 Өгөгдөл x, n хэмжигдхүүнүүд 
3. Алгоритмчлалд нийлбэрийн өмнөх утга дээр шинэ нэмэгдхүүнийг 
нэмэхэд гарах утгыг уг нийлбэрийнхээ хаягаар хадгалах зарчмаар 
нийлбэрийг олдог. Математикийн гэх мэтчлэн нэмнэ гэсэн бичлэгийг 
хэрэглэхгүй. Иймээс нийлбэр олох томьёо нь манай тохиолдолд 
s=s+a/k байна. Үржвэрийг олоход үржвэрийн өмнөх утгыг ээлжит 
үржигдхүүнээр үржүүлэх зарчмыг хэрэглэнэ. Тэгвэл a, k 
хэмжигдхүүнүүдийг олох томьёонуудыг харгалзан a=a*x, k=k*I гэж 
бичиж болно. Энд a, k, s, I хувьсагчийн утгууд бүгд 1 байна. 
Дээрх жишээний хувьд a, k, s, i-г олох үйлдлүүд нь дараахь дэс 
дарааллаар хийгдэнэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Жишээ: Хүснэгтийн хамгийн их ба 
бага элементийг ол 
Бодолт: Бүлэг хэмжигдхүүнүүдийн 
хамгийн их эсвэл багыг олоход 
тэдгээрийн аль нэгийг нь хамгийн их 
эсвэл хамгийн бага гэж үзээд 
түүнийгээ хүснэгтийн бусад 
элементүүдтэй дэс дараалан жиших 
аргыг хэрэглэдэг. Харин дурын хоёр 
элементийг хооронд жиших замаар 
олдоггүй гэдгийг анхаарах хэрэгтэй. 
Хүснэгтийн хамгийн их элементийг 
олоход хамгийн их элементийг эсвэл 
хамгийн их элементийн дугаарыг үр 
дүн болгож авах эсэхээ шийдэх 
хэрэгтэй юм. 
a[k]>a(i) 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn 
алг-6 
Бүхэл а[100] 
n 
i=0 
i<n 
k=0 
i=0 
i<n 
i=i+1 
k=i 
a(i) 
i=i+1 
a[k] 
төгсгөл 
+ 
- 
+ - 
+ -
Энд хамгийн их элементийн дугаарыг олох шийдлийг сонгоё. Өгсөн 
хүснэгтийг а-аар, элементийн тоог n-ээр, элементийн дугаарыг i, 
хамгийн их элементийн дугаарыг k гэж тус тус хаяглая. Эхлээд 
хүснэгтийн 1-р элементийг хамгийн их гэж үзээд k-д 1-ийг олгоё. 
Тэгээд i-ийн 2-оос n хүртэлх утга бүрийн хувьд a(i)>a(k) нөхцөлийг 
шалгаж нөхцөл үнэн байвал k-д i-ийг олгоод дараачийн 
жишилтийг, нөхцөл худал байвал шууд дараачийн жишилтийг 
хийнэ. Алгоритмыг дараах блок схемээр дүрсэлж болно. 
Энд хүснэгтийн бүх элементүүдийг эхлээд гараас давталтаар 
оруулан a[n] хүснэгтэнд хадгалсны дараа бодолт хийгдэнэ. 
Алгоритм биелэгдсэний дараа бүх өгөгдөл санах ойд хадгалагдаж 
үлдэх ёстой. Энэ нь өгөгдлүүдийг бодлогын үр дүнтэй хамт хэвлэн 
өгөгдөл, үр дүнгүүдийг харьцуулан харж үр дүнгээ зөв эсэхийг 
шууд харахад тустай юм. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
2.2 АЛГОРИТМД ХЭРЭГЛЭХ ҮНДСЭН ҮЙЛДЛҮҮД 
Алгоритмаар гүйцэтгэгдэж байгаа процесс гүйцэтгэгчийн 
биелүүлж чадах үйлдлүүдэд хуваагдсан байх ёстой. Иймд 
компьютерийн алгоритм нь компьютерийн биелүүлж чадах 
үйлдлүүдийн дараалал хэлбэртэй байна. Компьютер (үнэндээ 
түүний процесор) нь мэдээлэл оруулах; санах ойд байгаа 
мэдээллийг хувиргаж боловсруулах буюу арифметикийн болон 
логикийн үйлдэл хийх; тодорхой нөхцөл шалгаж түүний үр 
дүнгээс хамааран бодолтыг ялгаатай замаар үргэлжлүүлэх; 
бүлэг үйлдлийг давтаж биелүүлэх; програмын үр дүн 
мэдээллийг гаргах гэсэн цөөн тооны энгийн үйлдлийг биелүүлж 
чаддаг. Ийм учраас компьютерийн аливаа алгоритм нь дээрх 
үйлдлүүдээс тогтсон байх ёстой. Гэхдээ алгоритмыг 
програмчлалын хэлээр бичиж компьютерт оруулдаг тул дээрх 
үйлдлүүдийг илэрхийлж бичих боломжийг програмчлалын бүх 
хэлэнд тусгасан байдаг. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
МЭДЭЭЛЭЛ ОРУУЛАХ ҮЙЛДЭЛ 
Мэдээллийг компьютерээр боловсруулахын тулд түүнийг 
санах ойд бичсэн байх шаардлагатай. Ийм учраас бодлогын 
нөхцөлд өгөгдсөн зайлшгүй шаардлагатай хэмжигдэхүүний 
анхны утга-өгөгдлийг компьютерт оруулах уйлдэл хэрэгтэй 
болдог. 
Жишээлбэл: у = ах2+bх + с функцийн утгыг х = х0 цэг дээр 
бодох шаардлагатай бол а,b,с - коэффициентүүдийн утга 
өгөгдсөн үед л тодорхой функц болж түүний утгыг 
аргументийн өгсөн утганд бодох боломжтой болох тул 
коэффициентүүд ба х0-ын утга гэсэн дөрвөн утгыг оруулах 
шаардлагатай болно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Мэдээлэл оруулах үйлдэл 
Хэмжигдэхүүний утгыг компьютерийн гараас оруулах 
үйлдлийг алгоритмд параллелограмаар (Зураг 2.1) 
дүрсэлж, утгыг нь оруулах хэмжигдэхүүний нэрийг дотор 
нь бичиж тэмдэглэе. Тэгэхдээ хэд хэдэн хэмжигдэхүүний 
утгыг нэг үйлдлээр оруулах шаардлагатай бол нэрийг 
хооронд нь таслалаар тусгаарлаж бичнэ. Жишээлбэл: 2.1 
Зураг дээрх үйлдлийг монгол хэлэнд "а, b, с, хО -ийн утгыг 
оруул" гэж уншиж болох ба энэ үйлдлийг биелүүлэхдээ 
компьютерийн гараас утга өгөхийг шаардах бөгөөд 
оруулсан утгыг энэ дөрвөн хувьсагчийн утга болгон санах 
ойн үүрт санана. Иймд оруулах үйлдэл биелэгдсэний дараа 
энэ дөрвөн хэмжигдэхүүн тодорхой утгатай болно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Бодолт ба утга олгох үйлдэл 
Компьютерийн үндсэн зориулалт нь мэдээллийг хувиргаж 
боловсруулах явдал байдаг. Ийм учраас тодорхой томьёогоор 
өгөгдсөн математикийн илэрхийллийн утгыг бодож, гарсан үр 
дүнг ямар нэгэн хувьсагчийн утга болгон ойд хадгалах үйлдэл 
алгоритмд зайлшгүй хэрэгтэй байдаг. Ийм үйлдлийг бид утга 
олгох үйлдэл гэж нэрлээд цаашид тэгш өнцөгт дүрсээр 
дүрсэлж, "ямар илэрхийллийн утгыг бодож ямар хувьсагчийн 
утга болгон санахыг" зааж 
хувьсагч := илэрхийлэл 
хэлбэртэй илэрхийллийг тэгш өнцөгт дотор нь бичиж 
тэмдэглэнэ. Энд ":=" тэмдгийг утга олгох үйлдлийн тэмдэг гэж 
нэрлэнэ. 
Хувьсагч := илэрхийлэл 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Бодолт ба утга олгох үйлдэл 
Утга олгох үйлдлийг биелүүлэхдээ эхлээд илэрхийллийн 
утгыг бодно. Ийм учраас түүнд орсон бүх хэмжигдэхүүн өмнө 
нь тодорхой утгатай болсон байхыг шаардана. Бодож 
гаргасан утгыг санах ойн өгсөн нэртэй үүрт санана. Иймд 
утга олгох үйлдлээр өгсөн хувьсагч тодорхой утгатай 
болно. 
Хувьсагчийн нэрийг үйлдлийн тэмдгийн зүүн талд бичиж 
байгааг анхаарах хэрэгтэй. Нэгэнт алгоритмд зөвхөн 
гүйцэтгэгчийн биелүүлж чадах үйлдэл орсон байх ёстой 
учраас "илэрхийлэл" мөн зөвхөн компьютерийн биелүүлж 
чадах үйлдлүүдээр зохиогдсон байх ёстой. Гэхдээ 
алгоритмыг тодорхой програмчлалын хэлээр бичих учраас 
тэр хэлний үйлдлүүдээр бичдэг. Иймд компьютерийн 
илэрхийлэлд гол төлөв дараах үйлдлүүдийг зөвшөөрдөг 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
1.Арифметикийн үйлдэл 
Нэмэх (+), хасах (-), үржих (•), хуваах (/), бүхэл тоог бүхэл тоонд 
хуваахад гарах үлдэгдлийг өгөх () гэсэн арифметикийн таван 
үйлдлийг хэрэглэнэ. Гэхдээ хуваах (/) үйлдлийн хувьд бүхэл тоог бүхэл 
тоонд хуваахад үр дүн нь ноогдворын бүхэл хэсэгтэй тэнцүү бүхэл тоо 
байх ба харин хуваагдагч, хуваагчийн ядаж нэг нь бодит тоо бол 
"хуваах үйлдлийн үр дүн бодит тоо байна" гэж тогтъё. 
Жишээлбэл, 1/2 = 0 ба харин 1.0/2 = 1/2.0 = 1.0/2.0 = 0.5 байна. 
Натурал тоог натурал тоонд хуваахад гарах үйлдэгдлийг олоход гол 
төлөв  үйлдлийг ашигладаг, гэвч "бүхэл тоог бүхэл тоонд хуваахад 
гарах үлдэгдэл нь уг хоёр тооны абсолют хэмжигдэхүүнүүдийг 
хуваахад гарах үлдэгдлийг хүртвэрийн тэмдэгтэй авсантай тэнцуү 
байна" гэж  үйлдлийг тодорхойлж ашигладаг. 
52=1, 5-2=1, -52=-1, -5-2=-1 
() үйлдлийг арифметикийн үндсэн дөрвөн үйлдлээр илэрхийлж болно, 
жишээлбэл хэрвээ i, j бүхэл хувьсагч бол ij=i-(i/j) j байна. 
Алгоритм, програмд х", (-1)' гэх мэт зэрэг дэвшүүлэх үйлдлийг бичиж 
болохгүй. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
2. Логикийн үйлдэл 
Зөвхөн "үнэн" ба "худал" утга авдаг хэмжигдэхүүнийг логик 
хэмжигдэхүүн гэж нэрлэх бөгөөд түүнийг аливаа шалгах 
нөхцөлийг бичихэд өргөн ашигладаг. Бид цаашид "үнэн" утгыг 
"1"-ээр ба "худал" утгыг "0"-ээр тэмдэглэе. Логик хэмжигдэхүүн 
дээр дараах хүснэгтээр утга нь тодорхойлогдох not, or, and, xor 
үйлдлүүдийг хийдэг. 
Математик логикийн бусад 
үйлдлүүдийг энэ 
үйлдлүүдээр илэрхийлэн 
бичиж болдог. Жишээлбэл: 
x → у = (not x) or y ба 
x ≡ y = (x and y) or 
(not x and not y) 
байж болно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
3. Жиших үйлдэл 
Аливаа хоёр хэмжигдэхүүний юмуу арифметикийн хоёр 
илэрхийллийн утгыг хооронд нь 
< | = | > |  |  |  
гэсэн тэмдэгт үйлдлээр жишиж болох бөгөөд үйлдлийн 
үр дүн нь логик утга гарна. Иймээс жиших ба 
логик үйлдэл орсон илэрхийлэл бичиж болно. 
Жишээ нь: (-1<х) and (х<1) илэрхийлэл хэрэв х]-1;1[ 
бол 1 буюу "үнэн", бусад бүх утганд "худал" утгатай, 
(х<1) ог (1 <х) илэрхийлэл хэрэв х  ]-;-1][1;+[ 
бол 1, бусад бүх утганд "худал" утгатай байна. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Үсэг, цифр, цэг тэмдэг гэж мэт бичигдэж дүрслэгддэг 
тэмдэгтүүдийн дарааллыг бичвэр буюу стринг (string) 
хэмжигдэхүүн гэж нэрлэнэ. Ийм хэмжигдэхүүний утгыг, 
тэмдэгтүүдийн кодын дараалал хэлбэртэй, санах ойн дэс 
дараалсан үүрт хадгалж боловсруулдаг. Тоон илэрхийлэл зохиож 
бичих үед 1, 100, 3.1415 гэх мэт тогтмол утгыг бичих шаардлага 
гардагтай төстэй бичвэр төрлийн тогтмолыг бичих шаардлага 
гардаг. Иймд тэмдэгтүүдийн дарааллыг апостроф (") тэмдгээр 
зааглаж тогтмол бичвэрийг бичиж тэмдэглэнэ. Жишээлбэл: 'энэ 
бол тогтмол бичвэр', 'тэгшитгэл шийдгүй', 'тайлбар' гэх мэтээр 
тогтмол бичвэрийг бичнэ. Монгол хэлэнд бид үеүүдийг холбон үг, 
үгүүдийг холбон өгүүлбэр үүсгэдэг. Үүнтэй төстэй хоёр бичвэрийг 
холбох үйлдлийг нэмэх тэмдгээр (+) тэмдэглэж s1+s2 (үүнд s1, s2 
хоёулаа бичвэр төрлийн хэмжигдэхүүн) хэлбэртэй бичнэ. 
Жишээлбэл: 'квадрат' + ' тэгшитгэл шийдгүй' илэрхийллийн утга 
'квадрат тэгшитгэл шийдгүй' гэсэн бичвэр гарна. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
2.3 Функц ашиглах 
Програмчлалын 
аливаахэлэндматематикийнэлементарфункцүүдийнутгыгаргументийнөг 
сөнутгандбодожөгдөгхэрэгсэл (програм) байдаг. 
Иймхэрэгслийгбидстандартфункцгэжнэрлэе. 
Жишээлбэл:хбодиттооныхувьдsinx, cosx, tgx, arctgx, lnx, lgx, ex, 푥, |х|- 
тоонымодуль, [х]- бодиттооныбүхэлхэсэг, {х}- 
бодиттооныбутархайхэсэг, 
х2гэхмэтфункцийгилэрхийлэлдшуудорууланбичижболно. 
Хэрэвямарнэгфункцийнутгыгбоддогстандартфункцбайхгүйболтүүнийгд 
ээрхфункцүүдээрилэрхийлэхюмууэсвэлшаардлагатайфункцийнутгыгбод 
догфункцийналгоритмыгөөрөөзохиожтүүнийгээашигладаг. 
Апивааилэрхийллийгбичихдээ 
1. Хаалтандоторхдэдилэрхийллийнутгыгэхэлжбодно. 
2. Функцийнутгыгбодно. 
3. Үржих, хуваахүйлдлүүдийгбиелүүлнэ. 
4. Нэмэхийнтөрлийн (нэмэх, хасах, I) үйлдлүүдийгбиелүүлнэ 
гэсэнүйлдлүүдийнбиелэгдэхэрэмбийгтооцож, 
шаардлагатайилэрхийллийг () хаалтандбичижөгнө. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Утга олгох үйлдлийн жишээ 
1. х:=0 /х- хувьсагчид тэг утга олгож байна. Энэ нь ойн үүрт шинэ 
утга бичих үйлдэл учраас үүрийн хуучин утга устаж 0 бичигдэж 
үлдэнэ. "Тэг дээр ямарч тоог нэмэхэд тэр тоо өөрөө гардаг" учраас 
сүүлд ашиглах зорилгоор хувьсагчийг бэлдэхэд гол төлөв энэ 
үйлдлийг хэрэглэдэг учраас "х- хувьсагчийг цэвэрлэх" үйлдэл гэж 
заримдаа ярьдаг уламжлалтай. 
2. х:=у 1у- хувьсагчийн утгатай тэнцүү утгыг х- хувьсагчид олгоно. 
Энэ үйлдлээр у - хувьсагчийн утгыг уншаад х- хувьсагчид олгож 
бичнэ. Санах ойн үүрийн шинж ёсоор у- хувьсагчийн утга 
өөрчлөгдөхгүй үлдэж, харин х- хувьсагчийн хуучин утга устана. 
3. i:=i + 1 / Энэ үйлдэл биелэхийн өмнө i- хувьсагч тодорхой утгатай 
болсон байхыг шаардах ба уг үйлдлээр i- хувьсагчийн утгыг уншиж 
(ингэхэд түүний утга өөрчлөгдөхгүй) түүн дээр нэгийг нэмж гарсан 
утгыг мөн г- хувьсагчид олгож бичнэ (ингэхэд түүний хуучин утга 
устана). Үр дүнд нь х- хувьсагчийн утга нэгээр нэмэгдэж үлдэнэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
4. t:=-t /t хувьсагчийнутгынтэмдгийгэсрэгболгоодмөнt 
хувьсагчидэргүүлжсанахучраасэнэньt 
хувьсагчийнутгынтэмдгийгэсрэгболгохүйлдэлюм. 
5. d:=b2 -4ас 
/Илэрхийлэлдзэрэгдэвшүүлэхүйлдэлбичижболохгүйгэждээрхэлсэн. 
Гэвчквадратзэрэгдэвшүүлэхфункцбайдагучирзөвхөнтовчилжбичихзор 
илгоорбидb2гэжбичлээ. 
Эндхэрэв4acгэжилэрхийлэлдүржихтэмдэгбичихгүйбол4асгэсэналдаат 
айбичсэннэгнэргэжойлгогдоходхүрэхучирүржихтэмдгийгзаавалбичдэг 
. 
6. F:=sin(х)/х / 
푠푖푛푥 
푥 
бутархайнутгыгбодожf хувьсагчийнутгаболгон 
санана. Алгоритм, 
програмчлалдзтхгэсэнхувьсагчийннэрбайжболохучраастүүнээсялгажөгөх 
ийнтулдэндзаавалзт(х) хэлбэртэйбичихийгшаарддагюм. Мөнsin(x)/x 
илэхийллийнутгыгбодоходх хувьсагчтэгээсялгаатайутгатайбайхёстой. 
7. s := 'тэгшитгэлшийдгүй' /s - бичвэртөрлийнхувьсагчбайна. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
2.4 Гаргах үйлдэл 
Алгоритм, програмын үр дүнг буюу компьютерээр хийсэн ажлын 
үр дүнг мэдэж авахын тулд энэ үр дүнг хүнд ойлгогдох янз 
бүрийн хэлбэрээр гаргах үйлдлүүд шаардлагатай болдог. 
Тэгэхдээ тоон болон үсгэн мэдээллийг дэлгэц дээр текст 
хэлбэртэй гаргах үйлдэл илүү түгээмэл шаардагдана. Ийм 
үйлдлийг зураг дээр үзүүлсэн дүрсээр дүрсэлж түүн дотор утгыг 
нь бичиж гаргах хувьсагчийн нэрүүдийг таслалаар зааглаж 
бичнэ. Програмын үр дүн мэдээллийг дэлгэц, цаасан дээр 
гаргахад янз бүрийн тайлбар бичиг буюу тогтмол бичвэр гаргах 
хэрэгтэй болдог. Тогтмол бичвэрийг 'тайлбар', 'үр дүн', 'п- гэсэн 
хэлбэртэй шууд бичнэ. 
L, S, V тайлбар 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Алгоритмын үйлдлийг тэмдэглэсэн дүрсийг блок гэж нэрлэдэг 
учир хоорондоо холбогдсон геометрийн дүрсээр алгоритмыг 
дүрслэхийг блок-схемээр дүрслэх гэж нэрлэдэг. Ингэж блок- 
схемээр алгоритмыг дүрслэхэд үйлдлүүдийн биелэгдэх дэс 
дарааллыг болон алгоритмын эхлэл, төгсгөлийг бас тусгайлан 
тэмдэглэж зааж өгдөг. Үйлдлүүдийн биелэх дарааллыг 
тэмдэглэхийн тулд сумтай ба сумгүй хэрчмийг хэрэглэнэ. 
Тэгэхдээ гол төлөв алгоритмыг дээрээс доош, эхлэлээс нь төгсгөл 
рүү нь зохиож дүрслэх учраас дээрээс доошоо шилжсэн 
шилжилтийг үндсэн чиглэл гэж нэрлээд сумгүй хэрчмээр 
дүрсэлж, харин доороос дээшээ шилжсэн шилжилтийг сумтай 
хэрчмээр тэмдэглэх нь илүү тохиромжтой байдаг. 
Бусад бүх блок-үйлдлийн хувьд өмнөх үйлдэл биелэгдсэний 
дараа тухайн үйлдэлд удирдлага ирэх ба энэ үйлдэл 
биелэгдсэний дараа дараачийн үйлдэлд удирдлага шилжих 
учраас блокод урсгалын нэг шугам ирсэн мөн нэг шугам гарсан 
байгаа юм. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Удирдлага дамжуулах үйлдэл 
Алгоритм нь гүйцэтгэгчийн биелүүлж чадах үйлдлүүдийн 
дараалал хэлбэртэй байна. Дээр үзсэн оруулах, утга олгох, 
гаргах үйлдлүүдээс бүтсэн алгоритмд үйлдлүүд нь бичигдсэн 
дарааллаараа биелэгдэнэ. Ийм алгоритмыг шугаман алгоритм 
гэнэ. Гэтэл алгоритмд үйлдлүүдийн биелэгдэх дарааллыг 
өөрчилж удирдах үйлдэл шаардлагатай болдог. Ингэж 
үйлдлүүдийн биелэгдэх дарааллыг өөрчлөх үйлдлийг удирдлага 
дамжуулах үйлдэл гэж нэрлэдэг. 
Алгоритмын тодорхой нэг алхам биелэгдэх үед өөр нэг алхамд 
шилжиж улмаар тэр үйлдлээс бодолтыг үргэлжлүүлэх 
боломжийг хангадаг үйлдлийг нөхцөлт биш удирдлага 
дамжуулах буюу шилжих үйлдэл гэнэ. Алгоритмыг блок-схемээр 
дүрслэх үед шилжих үйлдлийг сумтай хэрчмээр дүрсэлдэг. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Жишээ 2: r1, r2, r3,……(ri>0, i) байх бодит тоо 
өгөдсөн бол ri радиустай бүх тойргийн урт, 
дугуйн талбай болон бөмбөрцгийн 
эзэлхүүнийг олох алгоритм зохио. 
Энэ бодлогыг бодохын тулд радиусын 
өгөгдсөн утганд L, S, V гурван 
хэмжигдэхүүнийг бодож гаргах алгоритмд 
бичсэн үйлдлийг олон дахин бичих 
шаардлагатай болох ба хамгийн гол нь хэдэн 
удаа бичих нь мэдэгдэхгүй байна. Иймээс L, S, 
V хэмжигдэхүүнүүдийн утгыг бодож гаргасны 
дараа радиусын дараачийн утгыг оруулж 
бодолтыг хийхийн тулд радиусын утгыг 
оруулах үйлдэлд шилжиж улмаар радиусын 
шинэ утгыг оруулж тооцоо хийдэг алгоритмыг 
зохиовол бидний ажил хялбарчлагдана. Гэвч 
энэ нь алгоритм төгсдөг байх шинжийг 
хангахгүй учраас зөв алгоритм болж чадахгүй. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn

More Related Content

What's hot

U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
Badral Khurelbaatar
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогууд
Баярсайхан Л
 
тооллын систем
тооллын системтооллын систем
тооллын систем
Munkhuu Buyanaa
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-4-zasah
U.cs101   алгоритм программчлал-4-zasahU.cs101   алгоритм программчлал-4-zasah
U.cs101 алгоритм программчлал-4-zasah
Badral Khurelbaatar
 
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
Badral Khurelbaatar
 

What's hot (20)

U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогууд
 
тооллын систем
тооллын системтооллын систем
тооллын систем
 
салаалсан алгоритм
салаалсан алгоритмсалаалсан алгоритм
салаалсан алгоритм
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
 
U.cs101 алгоритм программчлал-4-zasah
U.cs101   алгоритм программчлал-4-zasahU.cs101   алгоритм программчлал-4-zasah
U.cs101 алгоритм программчлал-4-zasah
 
C++
C++C++
C++
 
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
 
Lecture1
Lecture1Lecture1
Lecture1
 
алгоритм
алгоритмалгоритм
алгоритм
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
бодлого C++
бодлого C++бодлого C++
бодлого C++
 
C cons
C consC cons
C cons
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
Тоон электроник /монгол/
Тоон электроник /монгол/Тоон электроник /монгол/
Тоон электроник /монгол/
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
 
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
 
Мэдээлэл, мэдээллийг хэмжих нэгж
Мэдээлэл, мэдээллийг хэмжих нэгжМэдээлэл, мэдээллийг хэмжих нэгж
Мэдээлэл, мэдээллийг хэмжих нэгж
 
Багц мэдээлэл
Багц мэдээлэлБагц мэдээлэл
Багц мэдээлэл
 

Viewers also liked

алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
Gombo Tumuruu
 
хиех ба хбех
хиех ба хбеххиех ба хбех
хиех ба хбех
Horloo Ebika
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
Renchindorj Monkhzul
 
шилжилтийн 7 анхны тоон үржигдэхүүнд задлах
шилжилтийн 7 анхны тоон үржигдэхүүнд задлахшилжилтийн 7 анхны тоон үржигдэхүүнд задлах
шилжилтийн 7 анхны тоон үржигдэхүүнд задлах
delger_9g
 
Algortmin parametrt dawtalt hicheel
Algortmin parametrt dawtalt  hicheelAlgortmin parametrt dawtalt  hicheel
Algortmin parametrt dawtalt hicheel
Munkhuu Buyanaa
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9
Badral Khurelbaatar
 
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
Ganbaatar ch
 
Dsi lec1
Dsi lec1Dsi lec1
Dsi lec1
ggmo86
 
For давталт ашиглах
For давталт ашиглахFor давталт ашиглах
For давталт ашиглах
Onon Tuul
 
Its150 l1
Its150 l1Its150 l1
Its150 l1
oz
 

Viewers also liked (18)

Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
хиех ба хбех
хиех ба хбеххиех ба хбех
хиех ба хбех
 
u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3
 
Lab 8
Lab 8Lab 8
Lab 8
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
Lab-7
Lab-7Lab-7
Lab-7
 
Vizual programchilal cu lekts
Vizual programchilal cu lektsVizual programchilal cu lekts
Vizual programchilal cu lekts
 
U.cs101 лаборатори 5
U.cs101 лаборатори 5U.cs101 лаборатори 5
U.cs101 лаборатори 5
 
шилжилтийн 7 анхны тоон үржигдэхүүнд задлах
шилжилтийн 7 анхны тоон үржигдэхүүнд задлахшилжилтийн 7 анхны тоон үржигдэхүүнд задлах
шилжилтийн 7 анхны тоон үржигдэхүүнд задлах
 
U.cs101 lecture 6
U.cs101   lecture 6U.cs101   lecture 6
U.cs101 lecture 6
 
Algortmin parametrt dawtalt hicheel
Algortmin parametrt dawtalt  hicheelAlgortmin parametrt dawtalt  hicheel
Algortmin parametrt dawtalt hicheel
 
Лекц 10: (Рекурс)
Лекц 10: (Рекурс)Лекц 10: (Рекурс)
Лекц 10: (Рекурс)
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9
 
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
 
Dsi lec1
Dsi lec1Dsi lec1
Dsi lec1
 
For давталт ашиглах
For давталт ашиглахFor давталт ашиглах
For давталт ашиглах
 
Its150 l1
Its150 l1Its150 l1
Its150 l1
 

Similar to U.cs101 алгоритм программчлал-2 (20)

U.cs101 алгоритм программчлал-5
U.cs101   алгоритм программчлал-5U.cs101   алгоритм программчлал-5
U.cs101 алгоритм программчлал-5
 
Mathcad beginning-part1
Mathcad beginning-part1Mathcad beginning-part1
Mathcad beginning-part1
 
Mtms3 mathematical softs
Mtms3   mathematical softsMtms3   mathematical softs
Mtms3 mathematical softs
 
5 algorithm
5 algorithm5 algorithm
5 algorithm
 
Алгоритм
АлгоритмАлгоритм
Алгоритм
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
It101 lab 4
It101 lab 4It101 lab 4
It101 lab 4
 
Lects 12
Lects 12Lects 12
Lects 12
 
U.cs101 алгоритм программчлал-15
U.cs101   алгоритм программчлал-15U.cs101   алгоритм программчлал-15
U.cs101 алгоритм программчлал-15
 
It101 lab 4
It101 lab 4It101 lab 4
It101 lab 4
 
It101 lab 4
It101 lab 4It101 lab 4
It101 lab 4
 
Datastructure algoritm
Datastructure algoritmDatastructure algoritm
Datastructure algoritm
 
Excel
ExcelExcel
Excel
 
Excel
ExcelExcel
Excel
 
It101 9
It101 9It101 9
It101 9
 
9 salaalsan algkritm (1)
9 salaalsan algkritm (1)9 salaalsan algkritm (1)
9 salaalsan algkritm (1)
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
Pp Lect9 10 1
Pp Lect9 10 1Pp Lect9 10 1
Pp Lect9 10 1
 
Pp Lect10 11
Pp Lect10 11Pp Lect10 11
Pp Lect10 11
 
Ooad
OoadOoad
Ooad
 

U.cs101 алгоритм программчлал-2

  • 1. 1 ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, Е-НЭЭЛТТЭЙ ИНСТИТУТ Алгоритм ба програмчлал Лекц - 2 Код: U.IT101 www.emust.edu.mn
  • 2. U.CS101- Алгоритм ба програмчлал Сэдэв: Алгоритмын хэмжигдхүүн, үндсэн алхамууд Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 3. Агуулга: 01 Алгоритм зохиох 02 Алгоритмд хэрэглэх үндсэн үйлдлүүд 03 Функц ашиглах 04 Гаргах үйлдэл Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 4. 2.1 АЛГОРИТМ ЗОХИОХ Компьютерийн тусламжтайгаар бодлого бодох үйл ажиллагаа нь хэд хэдэн үе шаттайгаар явагдах бөгөөд тэдгээр үе шатнуудын гол гурван үе шат нь • бодлогыг шинжлэх, • алгоритмчлах, • програм бичих үе шатууд юм. Бодлогыг шинжлэх үе шатанд бодлогоо нарийвчлан томьёолох, бодлогоо сайтар ойлгох, өгөгдөл ба үр дүнгүүдийг тодорхойлох хэрэгтэй юм. Бодлогоо хэр сайн шинжлэснээс алгоритмчлалын дараачийн үе шатны үр дүн хамаарна. Иймээс бодлогоо сайн ойлгож танин мэдэхийн тулд дараах асуудлуудад хариулт өгөх нь зүйтэй. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 5. 1. Бодлогын оролт буюу өгөгдөл нь юу, юунаас бүрдэхийг тогтоох 2. Бодлогын гаралт буюу хариу нь юу байхыг тодорхойлох 3. Өгөгдлийн хамгийн энгийн тохиолдолд бодлогыг гараар бодож харгалзах хариуг нь олж болох эсэхэд хариулт өгөх 4. Бодлогын алгоритмд тооцооны хурд ямар байхыг тогтоох 5. Бодлогын оновчтой хариуг яг олох нь тухайн бодлогын хувьд ямар ач холбогдолтой нягтлах 6. Бодлогын төрлийг тогтоох, тухайлбал бодлого нь тоон хэмжигдхүүний бодлого, геометрийн бодлого, графын бодлого, мөр хэмжигдхүүний бодлого зэргийн аль вэ гэдэгт хариулах Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 6. Алгоритмчлах үе шатыг алгоритм зохиох, алгоритмыг шалгах, алгоритмыг шинжлэх гэсэн үйл ажиллагаануудад хувааж болох бөгөөд эхлээд алгоритм зохиох үе шатыг авч үзье. Алгоритм зохиох гэдэг нь алдаагүй ажилладаг, ажиллах хугацаа нь аль болох богино, компьютерийн тусламжтайгаар хэрэгжүүлэх хариуг олох алгоритмыг байгуулах явдал юм. Ийм алгоритмыг зохиоход дараах хоёр төрлийн мэдлэг хэрэгтэй. • Арга зүйн мэдлэг Үүнд алгоритм зохиоход хэрэглэгдэх суурь буюу тухайлбал өгөгдлийн бүтэц, хуваан эзлэх аргачлал, хайлтын аргууд динамик программчлал гэх мэт арга техникүүд багтана. • Практик мэдлэг Тухайн бодлоготой төсөөтэй болон сонгодог бодлогуудын алгоритмууд энэ бүлэгт орно. Алгоритм зохиох үйл ажиллагааг амжилттай гүйцэтгэхийн тулд уг үйл ажиллагааг дараах үйлдлүүдэд хувааж тэдгээрийг гүйцэтгэх нь зүйтэй. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 7. 1. Алгоритмын бүрэлдхүүн хэсгүүдийг тодорхойлж алгоритмыг бүдүүвч байдлаар дүрсэлнэ. Энэ үйл ажиллагааг алгоритмын ерөнхий зохиомжийг гаргах гэнэ. Алгоритмын ерөнхий зохиомжийг үгээр эсвэл блок схемээр дүрслэнэ. 2. Бүрэлдхүүн хэсэг тус бүрийг бодох арга, алгоритмын сонголтыг хийнэ. Үүний тулд дараахь асуултуудад хариулах нь зүйтэй  Уг бодлоготой төсөөтэй бодлогуудыг өмнө нь бодож байсан эсэх  Энэ бодлого тухайн тохиолдол нь болж чадах ерөнхий бодлого байгаа эсэх  Өмнөх бодлогуудын бодолтыг нэгтгэн тухайн бодлогыг бодож болох эсэх  Тухайн бодлогыг бодож болох аргуудын жагсаалтыг гаргах  Бодлогыг бодох хамгийн тохиромжтой аргын сонголтыг хийх Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 8. 3. Алгоритмд хэрэглэгдэх хэмжигдхүүнүүдийг тодорхойлно. Энэ нь хэмжигдхүүний тоо, төрөл, нэрийг зааж өгнө гэсэн хэрэг юм. Алгоритмд тогтмол, хувьсагч гэсэн ойлголтыг хэрэглэх бөгөөд тэдгээрийг ерөнхийд нь хэмжигдхүүн гэнэ. Хэмжигдхүүнүүдийг өөр хооронд ялгах, үйлдэл хийхийн тулд тэдгээрт нэр олгох бөгөөд нэр нь үсгээр эхэлсэн, үсэг цифрүүдийн дараалал байна. Энэ нэр нь тухайн хэмжигдхүүний утгыг хадгалах санах ойн хаягийг илэрхийлнэ. Алгоритмд хэрэглэгдэх хэмжигдхүүнүүдийг өөр хооронд ялгах, үйлдэл хийхийн тулд тэдгээрт нэр олгох бөгөөд нэр нь үсгээр эхэлсэн, үсэг цифрүүдийн дараалал байна. Энэ нэр нь тухайн хэмжигдхүүний утгыг хадгалах, санах ойн хаягийг илэрхийлнэ. Алгоритмд хэрэглэгдэх хэмжигдхүүнүүдийг тодорхойлохдоо юуны өмнө алгоритмынхаа өгөгдөл буюу оролт, гаралт буюу хариунд хаяг буюу нэр оноох хэрэгтэй. Үүний дараа өгөгдлийг ашиглан хариуг олоход хэрэглэгдэх завсарын хэмжигдхүүнүүдийг тогтоож мөн тэдгээрт нэр олгоно. Хэмжигдхүүнүүдэд хаяг оноох нь алгоритм зохиогчийн хувьд чөлөөтэй боловч хэт олон завсарын хэмжигдхүүн хэрэглэхээс зайлсхийх хэрэгтэй юм. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 9. 4. Хэмжигдхүүнүүдийн хамаарлыг математикийн илэрхийлэл, томьёо, нөхцөл, тэгшитгэл ашиглан бичнэ. Алгоритмд хэмжигдхүүнүүдийг үйлдлийн тэмдгээр холбож илэрхийллийг үүсгэдэг. Илэрхийлэлд дараах үйлдлүүдийг бичиж болно.  Нэмэх, хасах, үржих, хуваах, тогтмол зэрэгт дэвшүүлэх үйлдлүүд  Хэмжигдхүүний утгуудыг жиших (>=, <=, =, <>, ><) үйлдлүүд  Логик нэмэх (OR), логик үржих (AND), логик үгүйсгэх (NOT) үйлдлүүд  Математикийн функцүүд 5. Математикийн томьёо, нөхцлүүдийг биелэгдэх дэс дарааллыг тогтооно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 10. 6. Алгоритмын бүрэлдхүүн хэсэг бүрийн алгоритмыг зохионо. Алгоритм зохиоход алгоритмын хэмжигдхүүнүүдийн хамааралтай уялдуулан энгийн ба тусгай аргуудыг хэрэглэнэ. Алгоритм зохиох энгийн арга нь алгоритмыг алгоритмын үндсэн алхамуудаар шууд илэрхийлэн бичих арга бөгөөд түүнийг алгоритмын хэмжигдхүүнд энгийн хамааралтай байхад хэрэглэнэ. Энэ тохиолдолд алгоритмын үндсэн алхамууд, тэдгээрийг дүрслэн бичих хэлбэрүүдийн болон алгоритмын төрлүүдийн тухай мэдлэг хэрэгтэй юм. 7. Алгоритмын бүрэлдэхүүн хэсггдийн алгоритмуудыг нэгтгэн өгсөн бодлогын алгоритмыг бичнэ. Эндээс алгоритм зохиох үйл ажиллагааны гол түлхүүр нь өөрийн бодол санаа, хийх үйлдлээ чиглүүлэх асуултуудыг өөртөө тавьж ажиллах явдал гэж дүгнэж болно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 11. Жишээ: Өгсөн бодит тоо х, өгсөн натурал тоо n- ын хувьд 1+x/1!+x/2!+…+xn/n! нийлбэрийг олох алгоритм зохиоё. Бодолт: 1. Энэ алгоритмын гол үйлдлүүд нь өгөгдлийг оруулах, ээлжит нэмэгдхүүнийг олох, нэмэгдэхүүнүүдийг нийлбэрчлэх, үр дүнг хэвлэх үйлдлүүдийг болно. Тухайлбал алгоритмын ерөнхий зохиомжийг дараах байдлаар үгээр дүрсэлж болно.  Өгөгдлийг оруулах  Ээлжит хэмжигдхүүнийг олох  Нэмэгдхүүнийг нийлбэрчлэх  Үр дүнг хэвлэх Дээрх бодлогын алгоритмд дараахь хэмжигдхүүнүүд хэрэглэгдэнэ гэдгийг тогтоож болно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 12.  Нэмэгдхүүний дугаарыг зах хэмжигдхүүн. Энэ хэмжигдхүүний төрөл нь бүхэл байна. Түүнийг I гэе  Ээлжит нэмэгдүүний хүртвэр ба хуваарийг заах хэмжигдхүүнүүд. Тэдгээрийг харгалзан a, k гэж нэрлэе. Энд а нь бодит, к нь бүхэл төрлийн хэмжигдхүүн байна.  Нийлбэрийг хадгалах хэмжигдхүүн. Үүнийг s гэе. Энэ хэмжигдхүүний төрөл бодит байна  Өгөгдөл x, n хэмжигдхүүнүүд 3. Алгоритмчлалд нийлбэрийн өмнөх утга дээр шинэ нэмэгдхүүнийг нэмэхэд гарах утгыг уг нийлбэрийнхээ хаягаар хадгалах зарчмаар нийлбэрийг олдог. Математикийн гэх мэтчлэн нэмнэ гэсэн бичлэгийг хэрэглэхгүй. Иймээс нийлбэр олох томьёо нь манай тохиолдолд s=s+a/k байна. Үржвэрийг олоход үржвэрийн өмнөх утгыг ээлжит үржигдхүүнээр үржүүлэх зарчмыг хэрэглэнэ. Тэгвэл a, k хэмжигдхүүнүүдийг олох томьёонуудыг харгалзан a=a*x, k=k*I гэж бичиж болно. Энд a, k, s, I хувьсагчийн утгууд бүгд 1 байна. Дээрх жишээний хувьд a, k, s, i-г олох үйлдлүүд нь дараахь дэс дарааллаар хийгдэнэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 13. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 14. Жишээ: Хүснэгтийн хамгийн их ба бага элементийг ол Бодолт: Бүлэг хэмжигдхүүнүүдийн хамгийн их эсвэл багыг олоход тэдгээрийн аль нэгийг нь хамгийн их эсвэл хамгийн бага гэж үзээд түүнийгээ хүснэгтийн бусад элементүүдтэй дэс дараалан жиших аргыг хэрэглэдэг. Харин дурын хоёр элементийг хооронд жиших замаар олдоггүй гэдгийг анхаарах хэрэгтэй. Хүснэгтийн хамгийн их элементийг олоход хамгийн их элементийг эсвэл хамгийн их элементийн дугаарыг үр дүн болгож авах эсэхээ шийдэх хэрэгтэй юм. a[k]>a(i) Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn алг-6 Бүхэл а[100] n i=0 i<n k=0 i=0 i<n i=i+1 k=i a(i) i=i+1 a[k] төгсгөл + - + - + -
  • 15. Энд хамгийн их элементийн дугаарыг олох шийдлийг сонгоё. Өгсөн хүснэгтийг а-аар, элементийн тоог n-ээр, элементийн дугаарыг i, хамгийн их элементийн дугаарыг k гэж тус тус хаяглая. Эхлээд хүснэгтийн 1-р элементийг хамгийн их гэж үзээд k-д 1-ийг олгоё. Тэгээд i-ийн 2-оос n хүртэлх утга бүрийн хувьд a(i)>a(k) нөхцөлийг шалгаж нөхцөл үнэн байвал k-д i-ийг олгоод дараачийн жишилтийг, нөхцөл худал байвал шууд дараачийн жишилтийг хийнэ. Алгоритмыг дараах блок схемээр дүрсэлж болно. Энд хүснэгтийн бүх элементүүдийг эхлээд гараас давталтаар оруулан a[n] хүснэгтэнд хадгалсны дараа бодолт хийгдэнэ. Алгоритм биелэгдсэний дараа бүх өгөгдөл санах ойд хадгалагдаж үлдэх ёстой. Энэ нь өгөгдлүүдийг бодлогын үр дүнтэй хамт хэвлэн өгөгдөл, үр дүнгүүдийг харьцуулан харж үр дүнгээ зөв эсэхийг шууд харахад тустай юм. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 16. 2.2 АЛГОРИТМД ХЭРЭГЛЭХ ҮНДСЭН ҮЙЛДЛҮҮД Алгоритмаар гүйцэтгэгдэж байгаа процесс гүйцэтгэгчийн биелүүлж чадах үйлдлүүдэд хуваагдсан байх ёстой. Иймд компьютерийн алгоритм нь компьютерийн биелүүлж чадах үйлдлүүдийн дараалал хэлбэртэй байна. Компьютер (үнэндээ түүний процесор) нь мэдээлэл оруулах; санах ойд байгаа мэдээллийг хувиргаж боловсруулах буюу арифметикийн болон логикийн үйлдэл хийх; тодорхой нөхцөл шалгаж түүний үр дүнгээс хамааран бодолтыг ялгаатай замаар үргэлжлүүлэх; бүлэг үйлдлийг давтаж биелүүлэх; програмын үр дүн мэдээллийг гаргах гэсэн цөөн тооны энгийн үйлдлийг биелүүлж чаддаг. Ийм учраас компьютерийн аливаа алгоритм нь дээрх үйлдлүүдээс тогтсон байх ёстой. Гэхдээ алгоритмыг програмчлалын хэлээр бичиж компьютерт оруулдаг тул дээрх үйлдлүүдийг илэрхийлж бичих боломжийг програмчлалын бүх хэлэнд тусгасан байдаг. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 17. МЭДЭЭЛЭЛ ОРУУЛАХ ҮЙЛДЭЛ Мэдээллийг компьютерээр боловсруулахын тулд түүнийг санах ойд бичсэн байх шаардлагатай. Ийм учраас бодлогын нөхцөлд өгөгдсөн зайлшгүй шаардлагатай хэмжигдэхүүний анхны утга-өгөгдлийг компьютерт оруулах уйлдэл хэрэгтэй болдог. Жишээлбэл: у = ах2+bх + с функцийн утгыг х = х0 цэг дээр бодох шаардлагатай бол а,b,с - коэффициентүүдийн утга өгөгдсөн үед л тодорхой функц болж түүний утгыг аргументийн өгсөн утганд бодох боломжтой болох тул коэффициентүүд ба х0-ын утга гэсэн дөрвөн утгыг оруулах шаардлагатай болно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 18. Мэдээлэл оруулах үйлдэл Хэмжигдэхүүний утгыг компьютерийн гараас оруулах үйлдлийг алгоритмд параллелограмаар (Зураг 2.1) дүрсэлж, утгыг нь оруулах хэмжигдэхүүний нэрийг дотор нь бичиж тэмдэглэе. Тэгэхдээ хэд хэдэн хэмжигдэхүүний утгыг нэг үйлдлээр оруулах шаардлагатай бол нэрийг хооронд нь таслалаар тусгаарлаж бичнэ. Жишээлбэл: 2.1 Зураг дээрх үйлдлийг монгол хэлэнд "а, b, с, хО -ийн утгыг оруул" гэж уншиж болох ба энэ үйлдлийг биелүүлэхдээ компьютерийн гараас утга өгөхийг шаардах бөгөөд оруулсан утгыг энэ дөрвөн хувьсагчийн утга болгон санах ойн үүрт санана. Иймд оруулах үйлдэл биелэгдсэний дараа энэ дөрвөн хэмжигдэхүүн тодорхой утгатай болно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 19. Бодолт ба утга олгох үйлдэл Компьютерийн үндсэн зориулалт нь мэдээллийг хувиргаж боловсруулах явдал байдаг. Ийм учраас тодорхой томьёогоор өгөгдсөн математикийн илэрхийллийн утгыг бодож, гарсан үр дүнг ямар нэгэн хувьсагчийн утга болгон ойд хадгалах үйлдэл алгоритмд зайлшгүй хэрэгтэй байдаг. Ийм үйлдлийг бид утга олгох үйлдэл гэж нэрлээд цаашид тэгш өнцөгт дүрсээр дүрсэлж, "ямар илэрхийллийн утгыг бодож ямар хувьсагчийн утга болгон санахыг" зааж хувьсагч := илэрхийлэл хэлбэртэй илэрхийллийг тэгш өнцөгт дотор нь бичиж тэмдэглэнэ. Энд ":=" тэмдгийг утга олгох үйлдлийн тэмдэг гэж нэрлэнэ. Хувьсагч := илэрхийлэл Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 20. Бодолт ба утга олгох үйлдэл Утга олгох үйлдлийг биелүүлэхдээ эхлээд илэрхийллийн утгыг бодно. Ийм учраас түүнд орсон бүх хэмжигдэхүүн өмнө нь тодорхой утгатай болсон байхыг шаардана. Бодож гаргасан утгыг санах ойн өгсөн нэртэй үүрт санана. Иймд утга олгох үйлдлээр өгсөн хувьсагч тодорхой утгатай болно. Хувьсагчийн нэрийг үйлдлийн тэмдгийн зүүн талд бичиж байгааг анхаарах хэрэгтэй. Нэгэнт алгоритмд зөвхөн гүйцэтгэгчийн биелүүлж чадах үйлдэл орсон байх ёстой учраас "илэрхийлэл" мөн зөвхөн компьютерийн биелүүлж чадах үйлдлүүдээр зохиогдсон байх ёстой. Гэхдээ алгоритмыг тодорхой програмчлалын хэлээр бичих учраас тэр хэлний үйлдлүүдээр бичдэг. Иймд компьютерийн илэрхийлэлд гол төлөв дараах үйлдлүүдийг зөвшөөрдөг Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 21. 1.Арифметикийн үйлдэл Нэмэх (+), хасах (-), үржих (•), хуваах (/), бүхэл тоог бүхэл тоонд хуваахад гарах үлдэгдлийг өгөх () гэсэн арифметикийн таван үйлдлийг хэрэглэнэ. Гэхдээ хуваах (/) үйлдлийн хувьд бүхэл тоог бүхэл тоонд хуваахад үр дүн нь ноогдворын бүхэл хэсэгтэй тэнцүү бүхэл тоо байх ба харин хуваагдагч, хуваагчийн ядаж нэг нь бодит тоо бол "хуваах үйлдлийн үр дүн бодит тоо байна" гэж тогтъё. Жишээлбэл, 1/2 = 0 ба харин 1.0/2 = 1/2.0 = 1.0/2.0 = 0.5 байна. Натурал тоог натурал тоонд хуваахад гарах үйлдэгдлийг олоход гол төлөв үйлдлийг ашигладаг, гэвч "бүхэл тоог бүхэл тоонд хуваахад гарах үлдэгдэл нь уг хоёр тооны абсолют хэмжигдэхүүнүүдийг хуваахад гарах үлдэгдлийг хүртвэрийн тэмдэгтэй авсантай тэнцуү байна" гэж үйлдлийг тодорхойлж ашигладаг. 52=1, 5-2=1, -52=-1, -5-2=-1 () үйлдлийг арифметикийн үндсэн дөрвөн үйлдлээр илэрхийлж болно, жишээлбэл хэрвээ i, j бүхэл хувьсагч бол ij=i-(i/j) j байна. Алгоритм, програмд х", (-1)' гэх мэт зэрэг дэвшүүлэх үйлдлийг бичиж болохгүй. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 22. 2. Логикийн үйлдэл Зөвхөн "үнэн" ба "худал" утга авдаг хэмжигдэхүүнийг логик хэмжигдэхүүн гэж нэрлэх бөгөөд түүнийг аливаа шалгах нөхцөлийг бичихэд өргөн ашигладаг. Бид цаашид "үнэн" утгыг "1"-ээр ба "худал" утгыг "0"-ээр тэмдэглэе. Логик хэмжигдэхүүн дээр дараах хүснэгтээр утга нь тодорхойлогдох not, or, and, xor үйлдлүүдийг хийдэг. Математик логикийн бусад үйлдлүүдийг энэ үйлдлүүдээр илэрхийлэн бичиж болдог. Жишээлбэл: x → у = (not x) or y ба x ≡ y = (x and y) or (not x and not y) байж болно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 23. 3. Жиших үйлдэл Аливаа хоёр хэмжигдэхүүний юмуу арифметикийн хоёр илэрхийллийн утгыг хооронд нь < | = | > |  |  |  гэсэн тэмдэгт үйлдлээр жишиж болох бөгөөд үйлдлийн үр дүн нь логик утга гарна. Иймээс жиших ба логик үйлдэл орсон илэрхийлэл бичиж болно. Жишээ нь: (-1<х) and (х<1) илэрхийлэл хэрэв х]-1;1[ бол 1 буюу "үнэн", бусад бүх утганд "худал" утгатай, (х<1) ог (1 <х) илэрхийлэл хэрэв х  ]-;-1][1;+[ бол 1, бусад бүх утганд "худал" утгатай байна. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 24. Үсэг, цифр, цэг тэмдэг гэж мэт бичигдэж дүрслэгддэг тэмдэгтүүдийн дарааллыг бичвэр буюу стринг (string) хэмжигдэхүүн гэж нэрлэнэ. Ийм хэмжигдэхүүний утгыг, тэмдэгтүүдийн кодын дараалал хэлбэртэй, санах ойн дэс дараалсан үүрт хадгалж боловсруулдаг. Тоон илэрхийлэл зохиож бичих үед 1, 100, 3.1415 гэх мэт тогтмол утгыг бичих шаардлага гардагтай төстэй бичвэр төрлийн тогтмолыг бичих шаардлага гардаг. Иймд тэмдэгтүүдийн дарааллыг апостроф (") тэмдгээр зааглаж тогтмол бичвэрийг бичиж тэмдэглэнэ. Жишээлбэл: 'энэ бол тогтмол бичвэр', 'тэгшитгэл шийдгүй', 'тайлбар' гэх мэтээр тогтмол бичвэрийг бичнэ. Монгол хэлэнд бид үеүүдийг холбон үг, үгүүдийг холбон өгүүлбэр үүсгэдэг. Үүнтэй төстэй хоёр бичвэрийг холбох үйлдлийг нэмэх тэмдгээр (+) тэмдэглэж s1+s2 (үүнд s1, s2 хоёулаа бичвэр төрлийн хэмжигдэхүүн) хэлбэртэй бичнэ. Жишээлбэл: 'квадрат' + ' тэгшитгэл шийдгүй' илэрхийллийн утга 'квадрат тэгшитгэл шийдгүй' гэсэн бичвэр гарна. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 25. 2.3 Функц ашиглах Програмчлалын аливаахэлэндматематикийнэлементарфункцүүдийнутгыгаргументийнөг сөнутгандбодожөгдөгхэрэгсэл (програм) байдаг. Иймхэрэгслийгбидстандартфункцгэжнэрлэе. Жишээлбэл:хбодиттооныхувьдsinx, cosx, tgx, arctgx, lnx, lgx, ex, 푥, |х|- тоонымодуль, [х]- бодиттооныбүхэлхэсэг, {х}- бодиттооныбутархайхэсэг, х2гэхмэтфункцийгилэрхийлэлдшуудорууланбичижболно. Хэрэвямарнэгфункцийнутгыгбоддогстандартфункцбайхгүйболтүүнийгд ээрхфункцүүдээрилэрхийлэхюмууэсвэлшаардлагатайфункцийнутгыгбод догфункцийналгоритмыгөөрөөзохиожтүүнийгээашигладаг. Апивааилэрхийллийгбичихдээ 1. Хаалтандоторхдэдилэрхийллийнутгыгэхэлжбодно. 2. Функцийнутгыгбодно. 3. Үржих, хуваахүйлдлүүдийгбиелүүлнэ. 4. Нэмэхийнтөрлийн (нэмэх, хасах, I) үйлдлүүдийгбиелүүлнэ гэсэнүйлдлүүдийнбиелэгдэхэрэмбийгтооцож, шаардлагатайилэрхийллийг () хаалтандбичижөгнө. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 26. Утга олгох үйлдлийн жишээ 1. х:=0 /х- хувьсагчид тэг утга олгож байна. Энэ нь ойн үүрт шинэ утга бичих үйлдэл учраас үүрийн хуучин утга устаж 0 бичигдэж үлдэнэ. "Тэг дээр ямарч тоог нэмэхэд тэр тоо өөрөө гардаг" учраас сүүлд ашиглах зорилгоор хувьсагчийг бэлдэхэд гол төлөв энэ үйлдлийг хэрэглэдэг учраас "х- хувьсагчийг цэвэрлэх" үйлдэл гэж заримдаа ярьдаг уламжлалтай. 2. х:=у 1у- хувьсагчийн утгатай тэнцүү утгыг х- хувьсагчид олгоно. Энэ үйлдлээр у - хувьсагчийн утгыг уншаад х- хувьсагчид олгож бичнэ. Санах ойн үүрийн шинж ёсоор у- хувьсагчийн утга өөрчлөгдөхгүй үлдэж, харин х- хувьсагчийн хуучин утга устана. 3. i:=i + 1 / Энэ үйлдэл биелэхийн өмнө i- хувьсагч тодорхой утгатай болсон байхыг шаардах ба уг үйлдлээр i- хувьсагчийн утгыг уншиж (ингэхэд түүний утга өөрчлөгдөхгүй) түүн дээр нэгийг нэмж гарсан утгыг мөн г- хувьсагчид олгож бичнэ (ингэхэд түүний хуучин утга устана). Үр дүнд нь х- хувьсагчийн утга нэгээр нэмэгдэж үлдэнэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 27. 4. t:=-t /t хувьсагчийнутгынтэмдгийгэсрэгболгоодмөнt хувьсагчидэргүүлжсанахучраасэнэньt хувьсагчийнутгынтэмдгийгэсрэгболгохүйлдэлюм. 5. d:=b2 -4ас /Илэрхийлэлдзэрэгдэвшүүлэхүйлдэлбичижболохгүйгэждээрхэлсэн. Гэвчквадратзэрэгдэвшүүлэхфункцбайдагучирзөвхөнтовчилжбичихзор илгоорбидb2гэжбичлээ. Эндхэрэв4acгэжилэрхийлэлдүржихтэмдэгбичихгүйбол4асгэсэналдаат айбичсэннэгнэргэжойлгогдоходхүрэхучирүржихтэмдгийгзаавалбичдэг . 6. F:=sin(х)/х / 푠푖푛푥 푥 бутархайнутгыгбодожf хувьсагчийнутгаболгон санана. Алгоритм, програмчлалдзтхгэсэнхувьсагчийннэрбайжболохучраастүүнээсялгажөгөх ийнтулдэндзаавалзт(х) хэлбэртэйбичихийгшаарддагюм. Мөнsin(x)/x илэхийллийнутгыгбодоходх хувьсагчтэгээсялгаатайутгатайбайхёстой. 7. s := 'тэгшитгэлшийдгүй' /s - бичвэртөрлийнхувьсагчбайна. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 28. 2.4 Гаргах үйлдэл Алгоритм, програмын үр дүнг буюу компьютерээр хийсэн ажлын үр дүнг мэдэж авахын тулд энэ үр дүнг хүнд ойлгогдох янз бүрийн хэлбэрээр гаргах үйлдлүүд шаардлагатай болдог. Тэгэхдээ тоон болон үсгэн мэдээллийг дэлгэц дээр текст хэлбэртэй гаргах үйлдэл илүү түгээмэл шаардагдана. Ийм үйлдлийг зураг дээр үзүүлсэн дүрсээр дүрсэлж түүн дотор утгыг нь бичиж гаргах хувьсагчийн нэрүүдийг таслалаар зааглаж бичнэ. Програмын үр дүн мэдээллийг дэлгэц, цаасан дээр гаргахад янз бүрийн тайлбар бичиг буюу тогтмол бичвэр гаргах хэрэгтэй болдог. Тогтмол бичвэрийг 'тайлбар', 'үр дүн', 'п- гэсэн хэлбэртэй шууд бичнэ. L, S, V тайлбар Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 29. Алгоритмын үйлдлийг тэмдэглэсэн дүрсийг блок гэж нэрлэдэг учир хоорондоо холбогдсон геометрийн дүрсээр алгоритмыг дүрслэхийг блок-схемээр дүрслэх гэж нэрлэдэг. Ингэж блок- схемээр алгоритмыг дүрслэхэд үйлдлүүдийн биелэгдэх дэс дарааллыг болон алгоритмын эхлэл, төгсгөлийг бас тусгайлан тэмдэглэж зааж өгдөг. Үйлдлүүдийн биелэх дарааллыг тэмдэглэхийн тулд сумтай ба сумгүй хэрчмийг хэрэглэнэ. Тэгэхдээ гол төлөв алгоритмыг дээрээс доош, эхлэлээс нь төгсгөл рүү нь зохиож дүрслэх учраас дээрээс доошоо шилжсэн шилжилтийг үндсэн чиглэл гэж нэрлээд сумгүй хэрчмээр дүрсэлж, харин доороос дээшээ шилжсэн шилжилтийг сумтай хэрчмээр тэмдэглэх нь илүү тохиромжтой байдаг. Бусад бүх блок-үйлдлийн хувьд өмнөх үйлдэл биелэгдсэний дараа тухайн үйлдэлд удирдлага ирэх ба энэ үйлдэл биелэгдсэний дараа дараачийн үйлдэлд удирдлага шилжих учраас блокод урсгалын нэг шугам ирсэн мөн нэг шугам гарсан байгаа юм. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 30. Удирдлага дамжуулах үйлдэл Алгоритм нь гүйцэтгэгчийн биелүүлж чадах үйлдлүүдийн дараалал хэлбэртэй байна. Дээр үзсэн оруулах, утга олгох, гаргах үйлдлүүдээс бүтсэн алгоритмд үйлдлүүд нь бичигдсэн дарааллаараа биелэгдэнэ. Ийм алгоритмыг шугаман алгоритм гэнэ. Гэтэл алгоритмд үйлдлүүдийн биелэгдэх дарааллыг өөрчилж удирдах үйлдэл шаардлагатай болдог. Ингэж үйлдлүүдийн биелэгдэх дарааллыг өөрчлөх үйлдлийг удирдлага дамжуулах үйлдэл гэж нэрлэдэг. Алгоритмын тодорхой нэг алхам биелэгдэх үед өөр нэг алхамд шилжиж улмаар тэр үйлдлээс бодолтыг үргэлжлүүлэх боломжийг хангадаг үйлдлийг нөхцөлт биш удирдлага дамжуулах буюу шилжих үйлдэл гэнэ. Алгоритмыг блок-схемээр дүрслэх үед шилжих үйлдлийг сумтай хэрчмээр дүрсэлдэг. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 31. Жишээ 2: r1, r2, r3,……(ri>0, i) байх бодит тоо өгөдсөн бол ri радиустай бүх тойргийн урт, дугуйн талбай болон бөмбөрцгийн эзэлхүүнийг олох алгоритм зохио. Энэ бодлогыг бодохын тулд радиусын өгөгдсөн утганд L, S, V гурван хэмжигдэхүүнийг бодож гаргах алгоритмд бичсэн үйлдлийг олон дахин бичих шаардлагатай болох ба хамгийн гол нь хэдэн удаа бичих нь мэдэгдэхгүй байна. Иймээс L, S, V хэмжигдэхүүнүүдийн утгыг бодож гаргасны дараа радиусын дараачийн утгыг оруулж бодолтыг хийхийн тулд радиусын утгыг оруулах үйлдэлд шилжиж улмаар радиусын шинэ утгыг оруулж тооцоо хийдэг алгоритмыг зохиовол бидний ажил хялбарчлагдана. Гэвч энэ нь алгоритм төгсдөг байх шинжийг хангахгүй учраас зөв алгоритм болж чадахгүй. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn