More Related Content Similar to Lecture3 aлгоритм түүний_шинжчанар Similar to Lecture3 aлгоритм түүний_шинжчанар (20) More from Gantur Togtokh (20) Lecture3 aлгоритм түүний_шинжчанар1. II БҮЛЭГ : Алгоритм
Лекц №3
Алгоритмын тухай
ойлголт
2. df 1: Нэгэн утгатай биелэгдэж болох алхам-үйлдлүүдийн
төгсгөлөг дарааллыг алхам алхамаар нь гүйцэтгэхэд
төгсдөг бол энэ дарааллыг алгоритм гэнэ.
“үйлдлүүдийн төгсгөлөг дарааллыг алхам алхамаар
нь гүйцэтгэх” гэжээ. Энэ гүйцэтгэх процессыг (ажлыг)
биелүүлэгчийг алгоритмын гүйцэтгэгч гэнэ.
хүн
компьютер
робот
Ïðîô. Þ.Íàìñðàé, 2011-2012 îíû õè÷ýýëèéí æèë, УБДÑ
2
3. Алгоритмын тухай ойлголт (2)
алг орит мыг зохиохдоо т одорхой г үйцэт г эг чид
зориулан зохиодог
хүмүүс мэдлэг чадвараараа ялг аат ай
компьют ер нь зарчмын хувьд бүг д адилхан
3
4. Алгоритмын тухай ойлголт (3)
“ нэг эн ут г ат ай биелэг дэх”, “ алхам-үйлдлүүдийн
дараалал”, “ т өг сг өлөг дараалал”, “ заавал т өг сдөг
байх” -- алг орит мын шинжүүд юм
алгоритм нь түүний гүйцэтгэгчийн биелүүлж чадах
үйлдлүүдэд хуваагдсан байх ба төгсгөлөг тооны ийм
үйлдлүүдийн дараалал хэлбэртэй байна
“биелэгдэж болох” гэдэг нь алгоритмыг биелүүлэх
гүйцэтгэгчийн биелүүлж, хийж чадах алхмуудаас
алгоритм тогтсон байх ёстой гэсэн шаардлага юм
(тэгэхдээ бүр нэгэн утгатай биелэгддэг байх)
4
5. Алгоритмын тухай ойлголт (4)
алг орит мын алхам бүр “ нэг эн ут г ат ай биелэг дэх”
ёст ой:
өмнө биелэг дсэн алхамуудын үр дүн т одорхой
байх
уг алхам биелэг дэхэд т үүний үр дүн нэг эн
ут г ат ай т одорхойлог ддог
дараачийн биелэг дэх алхам нь нэг эн ут г ат ай
т одорхойлог ддог байх ёст ой
(Isaac Asimov - Àéçèê Àçèìîâ ... I robot)
5
6. Алгоритмын тухай ойлголт (5)
“төгсдөг байх” гэдгийн дор төгсгөлөг тооны алхам
биелэгдсэний дараа алгоритмын биелэлт заавал төгсдөг байх
Жишээ 1:
1 . Бүх эерэг бүхэл т оог жаг сааж бич.
2 . Бичсэн т оонуудаа буурах дарааллаар бич.
3 . Хамг ийн зүүн т алын т оог хэлж өг .
4. Төг сг ө.
Жишээ 2:
1 . 1 - ийг бич.
2 . Хамг ийн сүүлд бичсэн т ооныхоо ард т үүнээс хоёроор их
т оог бич.
3 . Хоёрдуг аар алхамд шилж.
4. Төг сг ө.
6
7. Àëãîðèòìûí òóõàé îéëãîëò
(6)
d f 2 : Тодорхой бодлог ын хувьд уг бодлог ын шийд-үр
дүнг г арг аж авахын т улд бодлог ын нөхцөлд
өг өг дсөн анхны өг өг дөл болон бодолт ын явцад
г арах завсрын үр дүн хэмжиг дэхүүнүүд дээр хийх
үйлдлүүдийн т өг сг өлөг дараалал - алг орит мыг уг
т ухайн бодлог ын алг орит м г эж хэлнэ.
“бодлого бодох” -- алгебр, гөометр, физик, химийн
бодлого бодохоос эхлээд амьдрал практикийн болон
шинжлэх ухааны асуудал шийдэх хүртэл маш өргөн
утгаар ойлгоно.
7
8. Алгоритмын тухай ойлголт (7)
бодлого бодох ажилд компьютер ашиглаагүй үед:
алгоритмыг зохиогч нь хүн
гүйцэтгэгч нь мөн хүн байна
бодлого бодох ажилд компьютер хэрэглэх үед:
бодлогын алгоритмыг хүн зохиож
зохиосон алгоритм (програм)-ыг компьютер
биелүүлдэг
8
9. Алгоритмын тухай ойлголт (8)
Алгоритмын бусад шинж:
Алг орит м үр дүнт эй байх шинж -- т өг сг өлөг
т ооны алхам биелэг дсэний дараа бодолт ын явцад
г арч болох бүх т охиолдолд т охирсон үр дүн өг өх
Жишээ нь: ax2+bx+c =0 тэгшитгэлийн бодит шийд нь
коэффицент, дискриминантын утгаас хамаарана
1.
2.
3.
4.
a <> 0 үед хэрэв
а) D>0 бол x1 ба x2 гэсэн ‘хоёр бодит шийдтэй’
б) D=0 бол x1 гэсэн 'нэг бодит шийдтэй'
в) D<0 бол 'өгөгдсөн тэгшитгэл бодит шийдгүй'
9
10. Алгоритмын тухай ойлголт (9)
a=0 буюу bx+c = 0 шугаман тэгшитгэл бол
а) b <> 0 бол x=-c/b гэсэн 'нэг шийдтэй'
б) b = 0 үед хэрэв
а) c=0 бол 'төгсгөлгүй олон шийдтэй'
б) c <> 0 бол 'тэгшитгэл шийдгүй'
гэсэн үр дүн өгдөг байх ёстой
10
11. Алгоритмын тухай ойлголт (10)
нэг ижил мэдээллийг боловсруулсан үр дүн нь ямаг т
ижил байх ёст ой -- алг орит мын үр дүн нэг эн
ут г ат ай байх шинж г энэ
алг орит м т үг ээмэл байх шинж -- т одорхой
бодлог ын алг орит мыг зохиохдоо энэ бодлог от ой
ижил т өрлийн (анхны өг өг длөөрөө ялг аат ай байж
болох) бүх бодлог ыг бодоход хэрэг лэж болохоор
ерөнхий алг орит мыг зохиох ёст ой
квадрат тэгшитгэл бодох алгоритмыг зохиохдоо а
коэффициент ямагт тэгээс ялгаатай гэж тооцож
болохгүй
11
12. 2.2 Алгоритмд хэмжигдэхүүнийг тэмдэглэх
Компьютерийг хэрэглэх үндсэн зорилго нь мэдээлэл
боловсруулж, бидэнд шаардлагатай үр дүнг гаргаж
авах явдал юм.
компьютерээр бодлого бодох алгоритм болон
програмд мэдээлэл боловсруулж үйлдэл хийхийн
тулд шаардлагатай хэмжигдэхүүнүүдийг өөр хооронд
нь ялгаж, хэмжигдэхүүнүүд дээр хийх үйлдлийг бичиж
тэмдэглэх хэрэгтэй
хэмжигдэхүүнийг үг, үсгээр нэрлэж тэмдэглэдэг
(математикт үсгээр зөвхөн тэгдэглэдэг)
12
13. Àëãîðèòìä õýìæèãäýõ¿¿íèéã òýìäýãëýõ
(2)
df: õýìæèãäýõ¿¿íèé ¿ã, ¿ñãýí òýìäýãëýãýýã
õ ý ìæ è ã ä ý õ ¿ ¿ íè é íý ð (è ä å íò è ô è ê à ò îð - identifier) ãýíý.
“àëèâàà íýðèéã çààâàë ¿ñãýýð ýõýëæ äóðûí òîîíû ¿ñýã,
öèôðýýð áè÷èæ áîëíî”
õýä õýäýí íýðýýñ á¿òñýí íèéëìýë íýðèéã áè÷èõèéí òóëä
õîëáîõ çóðààñ (_) òýìäãèéã õýðýãëýíý
Æèøýý íü: æ è ø ý ý _ 1 ; îí_ ñà ð _ º ä º ð ; îâ îã _ íý ð
13
14. Àëãîðèòìä õýìæèãäýõ¿¿íèéã òýìäýãëýõ
(3)
Õýìæèãäýõ¿¿íèé íýð íü óã õýìæèãäýõ¿¿íèé óòãûã áè÷èæ
õàäãàëàõ ¿ ¿ ð è é í õ à ÿ ã áîëæ ºãäºã.
õýìæèãäýõ¿¿í äýýð ¿éëäýë õèéõèéí òóëä ¿¿ðèéí
õàÿã áîëæ áàéãàà íýðèéã áè÷èæ àøèãëàíà.
Æèøýý íü: ax2+bx+c =0 òýãøèòãýëèéí õóâüä
ìàòåìàòèêò à , b áà ñ íü áîäèò òîîã òýìäýãëýäýã áîë
òýãøèòãýëèéã áîäîõ àëãîðèòìä êîýôôèöåíò¿¿äèéã ìºí
à , b áà ñ ãýæ íýðëýâýë òýäãýýðèéí óòãûã ñàíàõ
¿ ¿ ð è é í õ à ÿ ã áîëíî.
ìàòåìàòèêò b 2 -4a c èëýðõèéëýë áîëíî, àëãîðèòì
ïðîãðàì÷ëàëä õàðèí çààâàë b 2 -4∙a ∙ c õýëáýðòýé
áè÷íý.
“à , b, ñ ¿¿ðò áàéãàà òîîí äýýð áè÷ñýí ¿éëäëèéã õèé” ãýñýí óòãàòàé
14
15. Àëãîðèòìä õýìæèãäýõ¿¿íèéã òýìäýãëýõ
(4)
õýìæèãäýõ¿¿íèé íýðèéã ñîíãîõäîî:
àëãîðèòì, ïðîãðàìûã áè÷èõ, óíøèõ àæëûã
õºíãºâ÷ëºõººð
àíõûõàà áîäëîãî äàõü íýð òýìäýãëýãýýòýé òîõèð÷
áàéõ
õîîðîíäîî àíäóóðàãäàæ áîëîõ Î ¿ñýã, 0 òîî; l ¿ñýã, 1 òîî
ãýõ ìýò ¿ñýã öèôðèéã õîëèõã¿é áàéõ
õýìæèãäýõ¿¿íèé óòãà àëãîðèòì áèåëýãäýõ ÿâöàä
ººð÷ëºãäºõã¿é áàéõ ¸ñòîé áîë ò¿¿íèéã ò îã ò ìîë
õ ý ìæ è ã ä ý õ ¿ ¿ í ãýíý
õýìæèãäýõ¿¿íèé óòãà ººð÷ëºãääºã, º.õ. ïðîãðàì
áèåëýãäýõ ÿâöàä õýìæèãäýõ¿¿íä õàðãàëçàõ ¿¿ð ººð
ººð óòãà àâ÷ áîëîõ áîë ò¿¿íèéã õ ó â üñà ã ÷ ãýíý
15