More Related Content
Similar to U.cs101 алгоритм программчлал-5 zasvar badral(1)
Similar to U.cs101 алгоритм программчлал-5 zasvar badral(1) (20)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
- 1. ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ,
Е-НЭЭЛТТЭЙ ИНСТИТУТ
Алгоритм ба програмчлал
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
www.emust.edu.mn
Лекц - 5
- 2. U.CS101- Алгоритм ба програмчлал
Сэдэв: Алгоритмын нөхцөл шалгах үйлдлүүд,
энгийн болон олон нөхцөлт үйлдлүүд,
тэдгээрийн хэрэглээ
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
www.emust.edu.mn
- 4. Салаалсан алгоритм
Алгоритм нь гүйцэтгэгчийн биелүүлж чадах үйлдлүүдийн
дараалал хэлбэртэй байна. Бичигдсэн дарааллаараа
биелэгддэг алгоритмыг шугаман алгоритм гэдэг.
Үйлдлүүдийн дарааллыг өөрчилж зохицуулахад
зориулагдсан үйлдэл зайлшгүй шаардлагатай болдог. Ийм
үйлдлийг удирдлага дамжуулах үйлдэл гэдэг.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 5. Нөхцөлт биш удирдлага дамжуулах үйлдэл
Алгоритмын ямар алхмаас тодорхой алхам үйлдэлд шилжиж
улмаар бодолтын тухайн алхамаас цааш үргэлжлүүлэн
биелүүлэх боломжийг хангасан үйлдлийг нөхцөлт биш
удирдлага дамжуулах үйлдэл гэнэ
Нөхцөлт удирдлага дамжуулах үйлдэл
Алгоритмд тодорхой нөхцөл шалгаж энэ нөхцөл биелэх
эсэхээс шалтгаалж бодлогыг ялгаатай замаар үргэлжлүүлэх
шаардлага гардаг. Алгоритмд тодорхой нөхцөл шалгаж
түүний үнэн, худлаас хамаарч ялгаатай замаар бодолтыг
үргэлжлүүлэх үйлдэл шаардлагатай болдог.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 6. Энэ үйлдлийг нөхцөл шалгах үйлдэл гэж нэрлэдэг. Ромбоор
тэмдэглэж гаралтыг нь үнэн ба худал эсвэл 1, 0 гэж
тэмдэглэдэг. Нөхцөл шалгах үйлдэл нь 1 оролт 2 гаралттай
байна . Логик холбоосыг ашиглан хоёр буюу түүнээс дээш
нөхцөлийг зэрэг шалгаж болно.
And холбоосоор 2 нөхцөл хоёулаа биелэгдэх үед үнэн утгыг
авдаг харин or холбоосоор холбосон 2 нөхцөлийн аль нэг нь
биелэгдэх үед үнэн утгыг авч 1(Үнэн) гэж тэмдэглэсэн
командаас эхлэн ажиллаж эхэлнэ. Not оператор нь зөвхөн 1
нөхцөлтэй байх ба тухайн нөхцөл үнэн бол худал, худал бол
үнэн утгатай байна.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 7. Олон нөхцөл шалгах үйлдэл
Олон нөхцөл шалгах үйлдлийг блок схем дээр нөхцөл шалгах
үйлдлийг дарааллуулан хэрэглэх замаар илэрхийлдэг. Харин
программчлалын аль нэгэн хэлэнд олон нөхцөл шалгах
команд байдаг. Үүнийг үгээр илэрхийлбэл
нэгийг сонгох(нөхцөл)
тохиолдол утга1: команд1
тохиолдол утга2: команд2
бусад: команд3
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 8. Удирдлага дамжуулах үйлдэл
Алгоритм нь гүйцэтгэгчийн биелүүлж чадах үйлдлүүдийн дараалал
хэлбэртэй байна. Дээр үзсэн оруулах, утга олгох, гаргах үйлдлүүдээс
бүтсэн алгоритмд үйлдлүүд нь бичигдсэн дарааллаараа биелэгдэнэ.
Ийм алгоритмыг шугаман алгоритм гэнэ. Гэтэл алгоритмд үйлдлүүдийн
биелэгдэх дарааллыг өөрчилж удирдах үйлдэл шаардлагатай болдог.
Ингэж үйлдлүүдийн биелэгдэх дарааллыг өөрчлөх үйлдлийг удирдлага
дамжуулах үйлдэл гэж нэрлэдэг.
Алгоритмын тодорхой нэг алхам биелэгдэх үед өөр нэг алхамд шилжиж
улмаар тэр үйлдлээс бодолтыг үргэлжлүүлэх боломжийг хангадаг
үйлдлийг нөхцөлт биш удирдлага дамжуулах буюу шилжих үйлдэл
гэнэ. Алгоритмыг блок-схемээр дүрслэх үед шилжих үйлдлийг сумтай
хэрчмээр дүрсэлдэг.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 9. Алгоритм буюу программын командын ажиллах дарааллыг
өөрчилж дараагийн командаас өөр командад удирдлагыг
шилжүүлэх боломжийг олгодог. Үүнд удирдлага дамжуулах
үйлдлийг ашигладаг.
1960 он хүртэл goto гэсэн командыг ашиглах явцад маш их
хүндрэл (программын код нь ойлгомжгүй холион бантан шиг
болдог) гарсан тул 1960 оноос хойш энэ командыг
ашиглахгүй байхыг зөвлөдөг болсон. 1970 оноос эхлэн goto-
командгүй программчлалыг санал болгосон нь бүтэц
процедур бүхий программчлалыг бий болгосон.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 10. Бүтэц процедур бүхий программчлал нь обьект хандалтад
программчлал гарч ирэх хүртэл программчлалын гол
зарчмын нэг болж байсан билээ.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 11. Жишээ 1
Гүйцэд биш нөхцөл шалгах үйлдэл
Программчлалд салаалсан алгоритмыг хэрэгжүүлэхдээ нөхцөл
шалгах үйлдлийг ашигладаг. Оюутнууд шалгалтандаа 60 буюу
түүнээс дээш оноо авбал шалгалтанд тэнцдэг.
Үүнийг үгээр илэрхийлбэл
If Оюутны шалгалтанд авсан оноо 60-аас их буюу тэнцүү бол
Print “Тэнцсэн”
Нөхцөл шалгах үйлдэлийн нөхцөл болох “Оюутны шалгалтанд
авсан оноо 60-аас их буюу тэнцүү”-ийн хариу нь үнэн эсвэл
худал байна. Нөхцөлийн хариу үнэн байвал “Тэнцсэн” гэсэн
үгийг хэвлэнэ.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 12. Нөхцөлийн хариу худал байвал харин “Тэнцсэн” гэсэн үгийг
хэвлэх командыг үйлдлийг алгасч дараагийн команд
биелдэг.
Үүнийг блок схемээр дүрслэхэд
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 14. Жишээ 2
Гүйцэд нөхцөл шалгах үйлдэл
Гүйцэд биш нөхцөл шалгах үйлдэл нь тухайн нөхцөлийн бүх
тохиолдлыг авч үзэж чаддаггүй бол гүйцэд нөхцөл шалгах
үйлдэл нь тухайн нөхцөлийн биелсэн болон биелээгүй бүх
тохиолдлыг тооцдог. Оюутнууд шалгалтандаа 60 буюу
түүнээс дээш оноо авбал шалгалтанд тэнцдэг 60 аас доош
оноо авбал тэнцдэггүй.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 15. Үүнийг үгээр илэрхийлбэл
If Оюутны шалгалтанд авсан оноо 60-аас их буюу тэнцүү бол
Print “Тэнцсэн”
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Else
Print “Тэнцээгүй”
“Оюутны шалгалтанд авсан оноо 60-аас их буюу тэнцүү”-
нөхцөлийн хариу нь үнэн байвал “Тэнцсэн” гэсэн үгийг
хэвлэнэ.Энэ нөхцөлийн хариу худал буюу шалгалтанд авсан
оноо 60-аас бага байвал “Тэнцээгүй” гэсэн үгийг хэвлэнэ.
Үүнийг блок схемээр дүрслэхэд
- 17. Жишээ 3
4 тооны хамгийн их утгыг олох алгоритмыг блок схемээр
дүрсэл.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 19. Өгөгдсөн 4 тооны хамгийн ихийг олохдоо эхний 2-ийг
харьцуулаад ихийг нь 3 дах тоотой харьцуулна. Мөн энэ 2-
ын ихийг олж нь 4 дэх тоотой харьцуулна. Ингээд эцэст нь
хамгийн их тоо олдоно. Үүнийг 1 тохиолдлын хувьд
тайлбарлая.
a<b нөхцөл биелэгдэхгүй үед a,b 2-ын а нь их тоо нь болно.
Нэгэнт а их тул a<c нөхцөлийг шалгана. Энэ нөхцөл
биелэгдэхгүй бол мөн а нь a,b,c ын хамгийн их утга болно.
Ингээд а<d- нөхцөлийг шалгана. Дээрхийн адилаар нөхцөл
биелэхгүй үед а нь 4 тооны хамгийн их утга болох тул мах
хувьсагчид олгоно.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 20. Дээрхтэй адил тохиолдол бүрт хос бүрийн ихийг олох замаар
хамгийн их утгыг олно.
Жишээ 4: Өгөгдсөн тоо тэгш, сондгой тооны аль болохыг
олох алгоритмыг блок схемээр дүрсэл.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 22. Энэ нь гүйцэд нөхцөл шалгах үйлдлийн жишээ юм. 2-д
үлдэгдэлгүй хуваагддаг тоог тэгш тоо гэж үздэг. Үүнийг
N%2=0 гэсэн нөхцөлөөр шалгана. Ер нь тоог аль нэг тоонд
хуваагдаж байгаа эсэхийг шалгахдаа тэр тоонд хуваасан
үлдэгдэл нь 0 байгаа эсэхийг шалгадаг. Энэ блок схемийг
дараах байдлаар өөрчилж дэлгэцэнд гаргах үйлдлийг 1 удаа
хэрэглэж болно.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 24. Жишээ 5: Долоо хоногийн хэд дэх өдөр бэ? гэж асуугаад
түүнд харгалзах гаригийг хэвлэх алгоритмыг блок схемээр
дүрсэл.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 26. Энэ нь олон нөхцлийг шалгах үйлдлийн жишээ юм. Долоо
хоногийн дугаар бүрт харгалзах гаригийн нэрийг дэлгэцэнд
гаргана. Үүнийг нөхцөл шалгах үйлдэл ашиглан дүрслэхдээ
эхний 1 гэсэн утгатай тэнцүү бол “Даваа” гэсэн үгийг
дэлгэцэнд үзүүлнэ. Эсрэг тохиолдолд дараагийн 2 гэсэн
утгатай тэнцүү бол “Мягмар” гэсэн үгийг дэлгэцэнд үзүүлнэ.
Эсрэг тохиолдолд дараагийн утгатай тэнцүү байгаа эсэхийг
шалгах маягаар бүх утгыг шалгадаг.
Авч болох бүх утгатай харьцуулан шалгаад түүнээс өөр
утгатай бол “Гаригийн дугаар 1-7-ын хооронд байна” гэсэн
анхааруулгыг дэлгэцнээ үзүүлнэ.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 27. Энэ нь гүйцэд нөхцөл шалгах үйлдэл юм. Үүнийг дараах
байдлаар өөрчилбөл гүйцэд биш нөхцөл шалгах үйлдэл
болно.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 29. Жишээ 6: And холбоостой жишээ
Орчны дулааны хэмийг өгөгдсөн үед энэ хэмээс хамаарч
усны төлөв хэрхэн өөрчлөгдөх алгоритмыг блок схемээр
дүрсэл.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 31. Жишээ 7: OR холбоостой жишээ
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 32. Эрэгтэй хүн бол 12-оос 59-настай, эмэгтэй хүн 12-54 настай
бол автобусаар төлбөртэй зорчдог бол хүний нас, хүйс нь
өгөгдсөн үед автобусны билет авах эсэхийг тодорхойл.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
- 34. Жишээ 8 Давхар and эсвэл or холбоосыг хэрэглэсэн жишээ
Зүүн дээд өнцөг нь 0,100 цэг дээр баруун доод өнцөг нь
200,0 цэг дээр байрлах тэгш өнцөгт болон x,y цэг өгөгджээ.
Энэ цэг тэгш өнцөгтөд харьяалагдах эсэхийг тодорхойл.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ