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