More Related Content
Similar to U.cs101 алгоритм программчлал-2 (20)
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
- 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гэжбичлээ.
Эндхэрэв4acгэжилэрхийлэлдүржихтэмдэгбичихгүйбол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