SlideShare une entreprise Scribd logo
1  sur  24
АЛГОРИТМЫН ТУХАЙ 
УХАГДАХУУН 
Ц.Төртогтох
Агуулга 
• Алгоритм 
• Алгоритмын чанарууд 
• Алгоритмын үндсэн ухагдахуунууд 
• Хувьсагч ба тогтмолууд 
• Алгоритмын үндсэн үйлдлүүд 
• Алгоритм илэрхийлэх аргууд 
• Алгоритмын хэлбэр
Алгоритм 
• Хүмүүс өдөр тутмын үйл ажиллагаандаа олон тооны алгоритмыг гүйцэтгэж 
байдаг боловч үүнийгээ тэр болгон мэдэрдэггүй байна. 
• Алгоритмын тухай ойлголт нь нэгэн төрлийн бодлогуудыг бодох ерөнхий 
арга олж тогтоох гэсэн оролдлоготой уялдан математикт анх үүссэн. 
Алгоритм гэдэг нэр томъёог арифметикийн 4-н үйлдлийг гүйцэтгэх дүрэм 
боловсруулсан Узбекийн математикч Мухаммед Ибн Мусса Аль- 
Хорезмын араб нэрийг латинаар бичсэн Algorithmi гэсэн үгээс гаралтай 
юм. Орчин үед алгоритмын тухай онол нь математикийн шинжлэх ухааны 
нэг салбар болон хөгжихийн зэрэгцээгээр компъютер дээр бодлого 
бодоход маш чухал үүрэг гүйцэтгэж байна
Алгоритм 
• Алгоритм гэдэг нь математикийн үндсэн 
ойлголтуудын нэг ба компьютер хэрэглэж асуудал 
шийдэх үед ( програмчлалд ) илүү чухал асуудлын 
нэг болдог. Алгоритмыг хэд хэдэн янзаар 
тодорхойлж болдог ба тэдгээр тодорхойлтуудыг 
дурьдвал 
– Алгоритм бол тодорхой үр дүн гаргаж авахын тулд 
дараалан гүйцэтгэх ёстой үйлдийн дараалал юм
Алгоритм 
• Дэвшүүлсэн зорилгодоо хүрэх буюу өмнөө тавьсан 
бодлогоо бодохын тулд гүйцэтгэгчийн хийх үйлдлийн 
дарааллыг нарийвчлан зааж өгсөнийг алгоритм гэнэ. 
• Тодорхой бодлогын хувьд бодлогын шийд, үр дүнг гаргаж 
авахын тулд бодлогын нөхцөлд өгөгдсөн анхны өгөгдөл 
болон бодолтын явцад гарах завсрын үр дүн 
хэмжигдэхүүнүүд дээр хийх үйлдлүүдийн төгсгөлөг 
дараалал - алгоритмыг уг бодлогыг бодох алгоритм гэнэ. 
• Алгоритм зохиох процессийг алгоритмчлал гэнэ.
Жишээ 1: Эргэн тойрны амьдралд дүүрэн алгоритм 
гэрлэн дохионы дүрэм 
Шар гэрэл Улаан гэрэл Ногоон гэрэл 
Анхаар(гэрэл солигдоно) Зогс Хөдөл 
Энэ бол гэрлэн дохионд захирагдах алгоритм юм. Гэхдээ 
алгоритмын хувьдүйлдлийн эрэмбэ зайлшгүй чухал биш. 
Учир нь жолооч замын гэрлэн дохиотой хэсгээр явж 
байгаад, чухам ямар гэрэл асч байна вэ /өөрөөр хэлбэл 
ямар нөхцөл биелэж байна вэ гэдгийг шалгаад/ түүнд 
тохирсон алхмыг дээрх алгоритмаас сонгож гүйцэтгэнэ.
Жишээ 2:Арифметик үйлдлийн алгоритм 
Тэгвэл (3+3)*(3+4)-10 гэсэн илэрхийллийг бодохын 
тулд: 
– 1-р алхам: 3 дээр 3-ыг нэмэх /=6/ 
– 2-р алхам: 3 дээр 4-ийг нэмэх /=7/ 
– 3-р алхам: 6-г 7-оор үржүүлэх/=42/ 
– 4-р алхам: 42-оос 10-ыг хасах /=32/ гэсэн алгоритмыг 
баримтална. (Энд бол үйлдлын дараалал чухал байна) 
• Дээрх хоёр жишээнээс ямарч төрлийн алгоритмуудад ерөнхий чанар байх ёстой нь ажиглагдаж байна
Алгоритмын чанарууд 
Аливаа Алгоритмд 5 чанар байх ба тэдгээр чанаруудад 
Дискрет чанар 
– Алгоритм нь өгөгдөл эсвэл өмнөх алхмуудын 
хэмжигдхүүнүүдээр тодорхой дүрмийн дагуу шинэ 
хэмжигдхүүнүүдийг олох тусгаар тусгаар алхмуудад 
хуваагдсан байна. Энэ чанарыг алгоритмын дискрет 
чанар гэнэ. 
Тодорхой чанар 
– Алгоритмын аливаа алхмын үйлдлийг гүйцэтгэгч нэгэн 
утгатайгаар ойлгохын зэрэгцээгээр гүйцэтгэж чаддаг 
байна. Энэ нь алгоритмын тодорхой байх чанар юм.
Алгоритмын чанарууд 
Төгсгөлөг чанар 
– Алгоритм нь төгсгөлөг тооны алхамтай байна. 
Үр дүнтэй чанар 
– Алгоритмын аливаа алхам болон алгоритмыг бүхэлд нь 
биелүүлэхэд тодорхой үр дүн гардаг байх ёстой. Үүнийг 
алгоритмын үр дүнтэй байх чанар гэнэ. 
Нийтлэг чанар 
– Алгоритм нь зөвхөн тухайн өгөгдөлд төдийгүй уг өгөгдөлтэй 
ижил төрлийн бүх өгөгдөлд хүчинтэй байна. Энэ чанарыг 
алгоритмын нийтлэг чанар гэнэ.
Алгоритмын үндсэн ухагдахуунууд: 
• Алхам – гүйцэтгэгчийн хийж байгаа үйлдлүүдийн 
дарааллын нэг үйлдлийг нь алхам гэнэ. 
• Оролт – бодлогын томъёолол дахь анхны төлөв байдал 
болох анхдагч өгөгдлүүдийг хамтад нь бодлогын анхдагч 
өгөгдөл буюу бодлогын алгоритмын оролт гэж нэрэлэнэ. 
Ө.х бодлого , үйлдэл, зорилгыг шийдэхийн тулд зохиох 
алгоритмд хэрэглэгдэх өгөгдөл. 
• Гаралт – бодлогыг бодсоноор гарган авч байгаа 
өгөгдлүүдийг үр дүн буюу гаралт гэж нэрлэнэ. Ө.х 
бодлого, үйлдэл, зорилгыг шийдсэн эцсийн үр дүн.
Алгоритмын үндсэн ухагдахуунууд: 
• Гүйцэтгэгч– Алгоритмд заагдсан үйлдлүүдийг биелүүлэгчийг 
алгоритмын гүйцэтгэгч гэнэ. Алгоритмын гүйцэтгэгч нь хүн , 
компьютер, робот байж болно. Ер нь аливаа алгоритмыг 
зохиохдоо тодорхой гүйцэтгэгчид зориулан зохиодог. 
• Гүйцэтгэгчийн командын систем – гүйцэтгэгчийн хийх 
үйлдлүүдийн дарааллыг алгоритм заадаг учраас эдгээр 
дарааллуудын янз бүрийн үйлдлүүдийн олонлогийг алгоритмын 
командуудын систем гэж нэрлэдэг. Гэтэл нөгөө талаас тухайн 
гүйцэтгэгч сонгогдсон бол тэрээр тухайн үйлдлүүдийг нэгэн 
утгатай нарийн зөв гүйцэтгэх бөгөөд энэ нь гүйцэтгэгчийн 
командуудын систем болно. Алгоритмын командуудын систем 
нь гүйцэтгэгчийн командуудын системийн дэд олонлог нь байх 
ёстой. Энэ нь алгоритм гүйцэтгэх зайлшгүй нөхцөл юм.
Хувьсагч ба тогтмолууд 
• Алгоритмаар боловсруулах өгөгдлийг хувьсагч ба тогмол гэж хоёр 
ангилдаг. 
• Алгоритмын хэрэгжилтийн явцад утга нь өөрчлөгдөж болдог өгөгдлийг 
хувьсагч гэж нэрлэдэг. Харин алгоритмын хэрэгжих бүх хугацааны 
туршид утга нь үл өөрчлөгдөх өгөгдлийг тогтмол гэнэ. 
• Хувьсагч ба тогтмол нь алгоритмаар боловсруулагдаж буй объектууд 
болохын хувьд өөрсдийн оноосон нэртэй байх ба нэрээр нь 
дамжуулж тэдгээрт ханддаг. 
• Алгоритмын биелэлтийн явцад хувьсагч ба тогтмолууд нь нэр болон 
тухайн агшин дахь утгаараа бүрэн тодорхойлогддог.
Хувьсагч 
• Оролт гаралтын болон завсрын өгөгдлүүдийг алгоритмд хувьсагч 
байдлаар тодорхойлдог. 
• Хувьсагчид нэр оноох ба үсэг, цифр, _ -г ашиглаж болох бөгөөд үсгээр 
эхэлсэн байх хэрэгтэй. 
• Хувьсагчийн нэр нь хэд хэдэн үгнээс тогтож байвал хооронд нь 
доогуур зураасаар холбох ёстой. 
• Хувьсагчийн нэр нь тухайн хувьсагчаас төлөөлүүлэн авч үзэж буй 
зүйлийнхээ утга санаа агуулга хэлбэрийг илэрхийлж байх хэрэгтэй. 
Хувьсагч болон тогтмолоос гадна алгоритм нь өөрөө тодорхой 
оноосон нэртэй байх нь зохимжтой байдаг. 
• Алгоритмд нэр оноохдоо хувьсагчийнхтай адил зарчмыг баримтална. 
Алгоритмд нэр оноохдоо түүний дүрслэлийн эхэнд Alg түлхүүр үгийг 
бичиж түүний ард нэг тэмдэгтийн зай авч оноосон нэрийг бичдэг.
Өгөгдөл, өгөгдлийн төрөл 
Алгоритмд авч үзэж байгаа хувьсагч бүрийн хувьд тухайн хувьсагчийн авч 
болох бүх боломжит утгуудын олонлогийг тухайн хувьсагчийн төрөл гэдэг. 
Өөрөөр хэлбэл Өгөгдлийн төрөл гэдэг нь үнэн хэрэгтээ түүний авах 
боломжтой утгын мужийн (олонлог) юм. 
Алгоритмд ихээхэн авч үздэг төрлүүд нь 
– Integer (Бүхэл тоон төрөл) 
– Real (Бодит тоо төрөл) 
– Boolean (үнэн худал нөхцөл шалгах төрөл) 
– Char(бүх тэмдэгтүүдийн олонлог) 
– String (тэмдэгтүүдийн төгсгөлөг дарааллуудын олонлог ) 
төрөл тодорхойлогддог.
Алгоритмын үндсэн үйлдлүүд 
• Утга олгох 
• Арифметк үйлдэл 
• Харьцуулах үйлдэл
Утга олгох үйлдэл 
Илэрхийллийн утга тооцоолон бодоод гарсан утгыг нь утга олгох 
үйлдлийн тэмдэгийн өмнө талын хувьсах болон тогтмол хэмжигдхүүний 
шинэ утга болгох үүрэгтэй. 
• Бичигдэх хэлбэр: 
– <хувьсагчийн_нэр>=<илэрхийлэл>; 
– <тогтмолын_нэр>=<илэрхийлэл> 
Илэрхийлэлд хувьсагч эсвэл тогтмол утга байж болох ба энэ тохиолдолд 
хялбар илэрхийлэл гэдэг. 
• Жишээ нь 
– A=10; (а нэртэй хувьсагчид 10 гэсэн утга оноож байна) 
– A=10+13; (а нэртэй хувьсагчид 10,13-н нийлбэр утгыг оноож байна)
Арифметк үйлдэл 
• Арифметик үйлдэл (+, -, *, /,%) 
– “+” нэмэх 
– “-” хасах 
– “*” үржих 
– “/” хуваах бүхэл тооны хуваалтын бүхэл хэсэг 
– Жишээ нь 
• A=54/10=5.4 a=5 
– “%” хуваах бүхэл тооны хуваалтын үлдэгдэл хэсэг 
– Жишээ нь 
• А=54%10=5.4 a=4
Алгоритм-д 2 элементийн хооронд үйлдэл хийдэг үйлдэл буюу 
бинар үйлдэл гэж нэрэлэгдэх үйлдлүүд товч бичиглэлтэй байна. 
Ерийн ба товч бичлэг адил утгатай. 
Бинар үйлдлийн товч бичих хэлбэр: 
• <хувьсагч><оператор>=<хувьсагч>; 
Ерийн бичлэг Товч бичлэг Тайлбар 
s=s+i; S+=i s-г i-р нэмэгдүүлэх 
s=s-i; s-=i S-г i-р хорогдуулах 
p=p*i; P*=i P-г i дахинүржүүлэх 
p=p/I p/=i P-г i дахин бууруулах 
s=s+1; s++; S-г нэгээр нэмэгдүүлэх 
s=s-1; s--; S-г нэгээр хорогдуулах
– <(их) , 
– <=( их буюу тэнцүү) , 
– >(бага) , 
– >=(бага буюу тэнцүү) , 
– == тэнцүү , 
– != тэнцүү биш 
зэрэг үйлдлүүдийг авч үздэг. Эдгээр Үйлдлийг ашигласан 
илэрхийллийг логик илэрхийлэл гэнэ. Харьцуулах үйлдэл нь 
нөхцөл шалгах болон нөхцөлт давталтын операторуудад 
хэрэглэнэ.Үнэн худлыг шалгаж буй энэ төрлийг Алгоритмд BOOLEN 
төрөл гэж нэрлэнэ
Алгоритм илэрхийлэх арга 
Алгоритмын тухай судалж түүнийг зохиомжлох үед 
тухайн алгоритмыг дүрслэн бичиж тайлбарлах 
аргууд чухал байдаг. Алгоритмыг дүрслэн 
илэрхийлэхдээ дараах 3-н аргаар ихэвчлэн дүрсэлж 
заншсан байдаг. Үүнд 
– Үгээр илэрхийлэх арга 
– Графикийн арга (Блок схем) 
– Алгоритм хэлээр (Бичвэр)
Үгээр илэрхийлэх арга 
• Жишээнь: Самбар арчих алгоритм 
1. Самбарт гар 
2. Алчуур ав 
3. Алчуур норго 
4. Самбар арч 
5. Алчуураа тавь 
6. Суудалдаа суу
График арга (блок схем) 
Элемэнт Элемэнтийн нэр Төлөөлөх үйлдэл 
Эхлэл төгсгөлийн блок Алгоритмыг эхлэх, төгсгөлийг 
Оролт, болон гаралтын блок Оролт гарлтын ерөнхий тэмдгэлгээ 
Хувьсагч зарлах блок Алгоритмд ашиглагдах хувьсагч, 
тэдгээрийн төрлийг тодохойлно 
Утга олгох блок Арифметик үйлдлүүд болон утга 
олгох үйлдлүүд бичигдэнэ 
Нөхцөл шалгах блок Харьцуулах үйлдлүүд хийж 
шийдвэр гаргах буюу салаа замын 
аль нэгийг сонгоно 
Шилжилтын шугам Үйлдэл биелсний дараа ямар 
үйлдэлд шилжихийг заана
Алгоритм 
• Алгоритм үйлдлийг геометр дүрсээр (блок) 
оруулж алгоритмыг тэмдэглэх хэлбэр юм. 
Блокууд сумаар холбогдож нийт 
алгоритмынхаа бүтцийг харуулдаг
Алгоритмын хэлбэрүүд. 
• Алгоритмын эгэл алхмуудыг томсгох үед 
тэдгээр нь дэс дарааслсан буюу шугаман, 
нөхцөл шалгах буюу салаалсан, цикл буюу 
давталттай, рекурсив буюу өөрөө өөрийгөө 
дуудах гэсэн 4 бүтцэд хуваагддаг.

Contenu connexe

Tendances

салаалсан алгоритм
салаалсан алгоритмсалаалсан алгоритм
салаалсан алгоритмBurotino Iosifob
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13Badral Khurelbaatar
 
Шугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогуудШугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогуудБаярсайхан Л
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогуудRenchindorj Monkhzul
 
Insert цэсний командууд
Insert цэсний командуудInsert цэсний командууд
Insert цэсний командуудOnon Tuul
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогуудzulaazul_0603
 
Алгоритмын “салаалалт” бүтэц
Алгоритмын “салаалалт” бүтэцАлгоритмын “салаалалт” бүтэц
Алгоритмын “салаалалт” бүтэцЦ Батхуяг
 
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
 
алгоритм
алгоритмалгоритм
алгоритмNarantungaa
 
оролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдоролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдerdenetuya_glu
 
01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)
01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)
01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)Dagvarichin Amaraa
 
Algoritmiin bodloguud
Algoritmiin bodloguudAlgoritmiin bodloguud
Algoritmiin bodloguudshulam
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Urantuya Purevtseren
 

Tendances (20)

Smallbasic
SmallbasicSmallbasic
Smallbasic
 
салаалсан алгоритм
салаалсан алгоритмсалаалсан алгоритм
салаалсан алгоритм
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13
 
Шугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогуудШугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогууд
 
C cons
C consC cons
C cons
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
Insert цэсний командууд
Insert цэсний командуудInsert цэсний командууд
Insert цэсний командууд
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
алгоритм 10 р анги
алгоритм 10 р ангиалгоритм 10 р анги
алгоритм 10 р анги
 
алгоритм
алгоритмалгоритм
алгоритм
 
Алгоритмын “салаалалт” бүтэц
Алгоритмын “салаалалт” бүтэцАлгоритмын “салаалалт” бүтэц
Алгоритмын “салаалалт” бүтэц
 
U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
 
6 shugaman
6 shugaman6 shugaman
6 shugaman
 
алгоритм
алгоритмалгоритм
алгоритм
 
оролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдоролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүд
 
01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)
01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)
01_6-р анги (Мэдээ, Мэдээлэл түүний шинж чанар)
 
Algoritmiin bodloguud
Algoritmiin bodloguudAlgoritmiin bodloguud
Algoritmiin bodloguud
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
 

En vedette

алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэсGombo Tumuruu
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэцMuuluu
 
аравтын бутархайг үржүүлэх
аравтын бутархайг  үржүүлэхаравтын бутархайг  үржүүлэх
аравтын бутархайг үржүүлэхmonkhgerel_0318
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудБаярсайхан Л
 
аравтын бутархай
аравтын бутархайаравтын бутархай
аравтын бутархайNNaraa
 
н.х математик 3 р анги
н.х  математик  3 р ангин.х  математик  3 р анги
н.х математик 3 р ангиtsewegmed
 
математик тест 3 р анги.
математик тест 3  р анги. математик тест 3  р анги.
математик тест 3 р анги. Dumuk
 

En vedette (8)

алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
C# hicheelin lekts
C# hicheelin lektsC# hicheelin lekts
C# hicheelin lekts
 
аравтын бутархайг үржүүлэх
аравтын бутархайг  үржүүлэхаравтын бутархайг  үржүүлэх
аравтын бутархайг үржүүлэх
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогууд
 
аравтын бутархай
аравтын бутархайаравтын бутархай
аравтын бутархай
 
н.х математик 3 р анги
н.х  математик  3 р ангин.х  математик  3 р анги
н.х математик 3 р анги
 
математик тест 3 р анги.
математик тест 3  р анги. математик тест 3  р анги.
математик тест 3 р анги.
 

Similaire à 5 algorithm (20)

алгоритм
алгоритмалгоритм
алгоритм
 
алгоритм
алгоритмалгоритм
алгоритм
 
алгоритм
алгоритмалгоритм
алгоритм
 
алгоритм
алгоритмалгоритм
алгоритм
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
10g boloroo2
10g boloroo210g boloroo2
10g boloroo2
 
Алгоритм
АлгоритмАлгоритм
Алгоритм
 
Algoritm
AlgoritmAlgoritm
Algoritm
 
11д
11д11д
11д
 
алгоритм
алгоритмалгоритм
алгоритм
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
Algoritm 10-p aнги
Algoritm 10-p aнгиAlgoritm 10-p aнги
Algoritm 10-p aнги
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
hicheel
hicheelhicheel
hicheel
 
энхсаран цахим1
энхсаран цахим1энхсаран цахим1
энхсаран цахим1
 
Өгөгдлийн бүтэц 1
Өгөгдлийн бүтэц 1Өгөгдлийн бүтэц 1
Өгөгдлийн бүтэц 1
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
9 salaalsan algkritm (1)
9 salaalsan algkritm (1)9 salaalsan algkritm (1)
9 salaalsan algkritm (1)
 
Excel
ExcelExcel
Excel
 
Excel
ExcelExcel
Excel
 

Plus de Turuu Tsogt

Plus de Turuu Tsogt (14)

7salaalsan
7salaalsan7salaalsan
7salaalsan
 
Lec1 pragraming language
Lec1 pragraming languageLec1 pragraming language
Lec1 pragraming language
 
DBquery
DBqueryDBquery
DBquery
 
DB
DBDB
DB
 
Хүснэгт
ХүснэгтХүснэгт
Хүснэгт
 
C
CC
C
 
Lec8 break
Lec8 breakLec8 break
Lec8 break
 
hicheel2
hicheel2hicheel2
hicheel2
 
hicheel
hicheelhicheel
hicheel
 
Lec5 angi
Lec5 angiLec5 angi
Lec5 angi
 
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsLec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
 
Lec3 c++operator
Lec3 c++operatorLec3 c++operator
Lec3 c++operator
 
Lec2 c++helnii undeslel
Lec2 c++helnii undeslelLec2 c++helnii undeslel
Lec2 c++helnii undeslel
 
Lab1 hylbar program
Lab1 hylbar programLab1 hylbar program
Lab1 hylbar program
 

5 algorithm

  • 2. Агуулга • Алгоритм • Алгоритмын чанарууд • Алгоритмын үндсэн ухагдахуунууд • Хувьсагч ба тогтмолууд • Алгоритмын үндсэн үйлдлүүд • Алгоритм илэрхийлэх аргууд • Алгоритмын хэлбэр
  • 3. Алгоритм • Хүмүүс өдөр тутмын үйл ажиллагаандаа олон тооны алгоритмыг гүйцэтгэж байдаг боловч үүнийгээ тэр болгон мэдэрдэггүй байна. • Алгоритмын тухай ойлголт нь нэгэн төрлийн бодлогуудыг бодох ерөнхий арга олж тогтоох гэсэн оролдлоготой уялдан математикт анх үүссэн. Алгоритм гэдэг нэр томъёог арифметикийн 4-н үйлдлийг гүйцэтгэх дүрэм боловсруулсан Узбекийн математикч Мухаммед Ибн Мусса Аль- Хорезмын араб нэрийг латинаар бичсэн Algorithmi гэсэн үгээс гаралтай юм. Орчин үед алгоритмын тухай онол нь математикийн шинжлэх ухааны нэг салбар болон хөгжихийн зэрэгцээгээр компъютер дээр бодлого бодоход маш чухал үүрэг гүйцэтгэж байна
  • 4. Алгоритм • Алгоритм гэдэг нь математикийн үндсэн ойлголтуудын нэг ба компьютер хэрэглэж асуудал шийдэх үед ( програмчлалд ) илүү чухал асуудлын нэг болдог. Алгоритмыг хэд хэдэн янзаар тодорхойлж болдог ба тэдгээр тодорхойлтуудыг дурьдвал – Алгоритм бол тодорхой үр дүн гаргаж авахын тулд дараалан гүйцэтгэх ёстой үйлдийн дараалал юм
  • 5. Алгоритм • Дэвшүүлсэн зорилгодоо хүрэх буюу өмнөө тавьсан бодлогоо бодохын тулд гүйцэтгэгчийн хийх үйлдлийн дарааллыг нарийвчлан зааж өгсөнийг алгоритм гэнэ. • Тодорхой бодлогын хувьд бодлогын шийд, үр дүнг гаргаж авахын тулд бодлогын нөхцөлд өгөгдсөн анхны өгөгдөл болон бодолтын явцад гарах завсрын үр дүн хэмжигдэхүүнүүд дээр хийх үйлдлүүдийн төгсгөлөг дараалал - алгоритмыг уг бодлогыг бодох алгоритм гэнэ. • Алгоритм зохиох процессийг алгоритмчлал гэнэ.
  • 6. Жишээ 1: Эргэн тойрны амьдралд дүүрэн алгоритм гэрлэн дохионы дүрэм Шар гэрэл Улаан гэрэл Ногоон гэрэл Анхаар(гэрэл солигдоно) Зогс Хөдөл Энэ бол гэрлэн дохионд захирагдах алгоритм юм. Гэхдээ алгоритмын хувьдүйлдлийн эрэмбэ зайлшгүй чухал биш. Учир нь жолооч замын гэрлэн дохиотой хэсгээр явж байгаад, чухам ямар гэрэл асч байна вэ /өөрөөр хэлбэл ямар нөхцөл биелэж байна вэ гэдгийг шалгаад/ түүнд тохирсон алхмыг дээрх алгоритмаас сонгож гүйцэтгэнэ.
  • 7. Жишээ 2:Арифметик үйлдлийн алгоритм Тэгвэл (3+3)*(3+4)-10 гэсэн илэрхийллийг бодохын тулд: – 1-р алхам: 3 дээр 3-ыг нэмэх /=6/ – 2-р алхам: 3 дээр 4-ийг нэмэх /=7/ – 3-р алхам: 6-г 7-оор үржүүлэх/=42/ – 4-р алхам: 42-оос 10-ыг хасах /=32/ гэсэн алгоритмыг баримтална. (Энд бол үйлдлын дараалал чухал байна) • Дээрх хоёр жишээнээс ямарч төрлийн алгоритмуудад ерөнхий чанар байх ёстой нь ажиглагдаж байна
  • 8. Алгоритмын чанарууд Аливаа Алгоритмд 5 чанар байх ба тэдгээр чанаруудад Дискрет чанар – Алгоритм нь өгөгдөл эсвэл өмнөх алхмуудын хэмжигдхүүнүүдээр тодорхой дүрмийн дагуу шинэ хэмжигдхүүнүүдийг олох тусгаар тусгаар алхмуудад хуваагдсан байна. Энэ чанарыг алгоритмын дискрет чанар гэнэ. Тодорхой чанар – Алгоритмын аливаа алхмын үйлдлийг гүйцэтгэгч нэгэн утгатайгаар ойлгохын зэрэгцээгээр гүйцэтгэж чаддаг байна. Энэ нь алгоритмын тодорхой байх чанар юм.
  • 9. Алгоритмын чанарууд Төгсгөлөг чанар – Алгоритм нь төгсгөлөг тооны алхамтай байна. Үр дүнтэй чанар – Алгоритмын аливаа алхам болон алгоритмыг бүхэлд нь биелүүлэхэд тодорхой үр дүн гардаг байх ёстой. Үүнийг алгоритмын үр дүнтэй байх чанар гэнэ. Нийтлэг чанар – Алгоритм нь зөвхөн тухайн өгөгдөлд төдийгүй уг өгөгдөлтэй ижил төрлийн бүх өгөгдөлд хүчинтэй байна. Энэ чанарыг алгоритмын нийтлэг чанар гэнэ.
  • 10. Алгоритмын үндсэн ухагдахуунууд: • Алхам – гүйцэтгэгчийн хийж байгаа үйлдлүүдийн дарааллын нэг үйлдлийг нь алхам гэнэ. • Оролт – бодлогын томъёолол дахь анхны төлөв байдал болох анхдагч өгөгдлүүдийг хамтад нь бодлогын анхдагч өгөгдөл буюу бодлогын алгоритмын оролт гэж нэрэлэнэ. Ө.х бодлого , үйлдэл, зорилгыг шийдэхийн тулд зохиох алгоритмд хэрэглэгдэх өгөгдөл. • Гаралт – бодлогыг бодсоноор гарган авч байгаа өгөгдлүүдийг үр дүн буюу гаралт гэж нэрлэнэ. Ө.х бодлого, үйлдэл, зорилгыг шийдсэн эцсийн үр дүн.
  • 11. Алгоритмын үндсэн ухагдахуунууд: • Гүйцэтгэгч– Алгоритмд заагдсан үйлдлүүдийг биелүүлэгчийг алгоритмын гүйцэтгэгч гэнэ. Алгоритмын гүйцэтгэгч нь хүн , компьютер, робот байж болно. Ер нь аливаа алгоритмыг зохиохдоо тодорхой гүйцэтгэгчид зориулан зохиодог. • Гүйцэтгэгчийн командын систем – гүйцэтгэгчийн хийх үйлдлүүдийн дарааллыг алгоритм заадаг учраас эдгээр дарааллуудын янз бүрийн үйлдлүүдийн олонлогийг алгоритмын командуудын систем гэж нэрлэдэг. Гэтэл нөгөө талаас тухайн гүйцэтгэгч сонгогдсон бол тэрээр тухайн үйлдлүүдийг нэгэн утгатай нарийн зөв гүйцэтгэх бөгөөд энэ нь гүйцэтгэгчийн командуудын систем болно. Алгоритмын командуудын систем нь гүйцэтгэгчийн командуудын системийн дэд олонлог нь байх ёстой. Энэ нь алгоритм гүйцэтгэх зайлшгүй нөхцөл юм.
  • 12. Хувьсагч ба тогтмолууд • Алгоритмаар боловсруулах өгөгдлийг хувьсагч ба тогмол гэж хоёр ангилдаг. • Алгоритмын хэрэгжилтийн явцад утга нь өөрчлөгдөж болдог өгөгдлийг хувьсагч гэж нэрлэдэг. Харин алгоритмын хэрэгжих бүх хугацааны туршид утга нь үл өөрчлөгдөх өгөгдлийг тогтмол гэнэ. • Хувьсагч ба тогтмол нь алгоритмаар боловсруулагдаж буй объектууд болохын хувьд өөрсдийн оноосон нэртэй байх ба нэрээр нь дамжуулж тэдгээрт ханддаг. • Алгоритмын биелэлтийн явцад хувьсагч ба тогтмолууд нь нэр болон тухайн агшин дахь утгаараа бүрэн тодорхойлогддог.
  • 13. Хувьсагч • Оролт гаралтын болон завсрын өгөгдлүүдийг алгоритмд хувьсагч байдлаар тодорхойлдог. • Хувьсагчид нэр оноох ба үсэг, цифр, _ -г ашиглаж болох бөгөөд үсгээр эхэлсэн байх хэрэгтэй. • Хувьсагчийн нэр нь хэд хэдэн үгнээс тогтож байвал хооронд нь доогуур зураасаар холбох ёстой. • Хувьсагчийн нэр нь тухайн хувьсагчаас төлөөлүүлэн авч үзэж буй зүйлийнхээ утга санаа агуулга хэлбэрийг илэрхийлж байх хэрэгтэй. Хувьсагч болон тогтмолоос гадна алгоритм нь өөрөө тодорхой оноосон нэртэй байх нь зохимжтой байдаг. • Алгоритмд нэр оноохдоо хувьсагчийнхтай адил зарчмыг баримтална. Алгоритмд нэр оноохдоо түүний дүрслэлийн эхэнд Alg түлхүүр үгийг бичиж түүний ард нэг тэмдэгтийн зай авч оноосон нэрийг бичдэг.
  • 14. Өгөгдөл, өгөгдлийн төрөл Алгоритмд авч үзэж байгаа хувьсагч бүрийн хувьд тухайн хувьсагчийн авч болох бүх боломжит утгуудын олонлогийг тухайн хувьсагчийн төрөл гэдэг. Өөрөөр хэлбэл Өгөгдлийн төрөл гэдэг нь үнэн хэрэгтээ түүний авах боломжтой утгын мужийн (олонлог) юм. Алгоритмд ихээхэн авч үздэг төрлүүд нь – Integer (Бүхэл тоон төрөл) – Real (Бодит тоо төрөл) – Boolean (үнэн худал нөхцөл шалгах төрөл) – Char(бүх тэмдэгтүүдийн олонлог) – String (тэмдэгтүүдийн төгсгөлөг дарааллуудын олонлог ) төрөл тодорхойлогддог.
  • 15. Алгоритмын үндсэн үйлдлүүд • Утга олгох • Арифметк үйлдэл • Харьцуулах үйлдэл
  • 16. Утга олгох үйлдэл Илэрхийллийн утга тооцоолон бодоод гарсан утгыг нь утга олгох үйлдлийн тэмдэгийн өмнө талын хувьсах болон тогтмол хэмжигдхүүний шинэ утга болгох үүрэгтэй. • Бичигдэх хэлбэр: – <хувьсагчийн_нэр>=<илэрхийлэл>; – <тогтмолын_нэр>=<илэрхийлэл> Илэрхийлэлд хувьсагч эсвэл тогтмол утга байж болох ба энэ тохиолдолд хялбар илэрхийлэл гэдэг. • Жишээ нь – A=10; (а нэртэй хувьсагчид 10 гэсэн утга оноож байна) – A=10+13; (а нэртэй хувьсагчид 10,13-н нийлбэр утгыг оноож байна)
  • 17. Арифметк үйлдэл • Арифметик үйлдэл (+, -, *, /,%) – “+” нэмэх – “-” хасах – “*” үржих – “/” хуваах бүхэл тооны хуваалтын бүхэл хэсэг – Жишээ нь • A=54/10=5.4 a=5 – “%” хуваах бүхэл тооны хуваалтын үлдэгдэл хэсэг – Жишээ нь • А=54%10=5.4 a=4
  • 18. Алгоритм-д 2 элементийн хооронд үйлдэл хийдэг үйлдэл буюу бинар үйлдэл гэж нэрэлэгдэх үйлдлүүд товч бичиглэлтэй байна. Ерийн ба товч бичлэг адил утгатай. Бинар үйлдлийн товч бичих хэлбэр: • <хувьсагч><оператор>=<хувьсагч>; Ерийн бичлэг Товч бичлэг Тайлбар s=s+i; S+=i s-г i-р нэмэгдүүлэх s=s-i; s-=i S-г i-р хорогдуулах p=p*i; P*=i P-г i дахинүржүүлэх p=p/I p/=i P-г i дахин бууруулах s=s+1; s++; S-г нэгээр нэмэгдүүлэх s=s-1; s--; S-г нэгээр хорогдуулах
  • 19. – <(их) , – <=( их буюу тэнцүү) , – >(бага) , – >=(бага буюу тэнцүү) , – == тэнцүү , – != тэнцүү биш зэрэг үйлдлүүдийг авч үздэг. Эдгээр Үйлдлийг ашигласан илэрхийллийг логик илэрхийлэл гэнэ. Харьцуулах үйлдэл нь нөхцөл шалгах болон нөхцөлт давталтын операторуудад хэрэглэнэ.Үнэн худлыг шалгаж буй энэ төрлийг Алгоритмд BOOLEN төрөл гэж нэрлэнэ
  • 20. Алгоритм илэрхийлэх арга Алгоритмын тухай судалж түүнийг зохиомжлох үед тухайн алгоритмыг дүрслэн бичиж тайлбарлах аргууд чухал байдаг. Алгоритмыг дүрслэн илэрхийлэхдээ дараах 3-н аргаар ихэвчлэн дүрсэлж заншсан байдаг. Үүнд – Үгээр илэрхийлэх арга – Графикийн арга (Блок схем) – Алгоритм хэлээр (Бичвэр)
  • 21. Үгээр илэрхийлэх арга • Жишээнь: Самбар арчих алгоритм 1. Самбарт гар 2. Алчуур ав 3. Алчуур норго 4. Самбар арч 5. Алчуураа тавь 6. Суудалдаа суу
  • 22. График арга (блок схем) Элемэнт Элемэнтийн нэр Төлөөлөх үйлдэл Эхлэл төгсгөлийн блок Алгоритмыг эхлэх, төгсгөлийг Оролт, болон гаралтын блок Оролт гарлтын ерөнхий тэмдгэлгээ Хувьсагч зарлах блок Алгоритмд ашиглагдах хувьсагч, тэдгээрийн төрлийг тодохойлно Утга олгох блок Арифметик үйлдлүүд болон утга олгох үйлдлүүд бичигдэнэ Нөхцөл шалгах блок Харьцуулах үйлдлүүд хийж шийдвэр гаргах буюу салаа замын аль нэгийг сонгоно Шилжилтын шугам Үйлдэл биелсний дараа ямар үйлдэлд шилжихийг заана
  • 23. Алгоритм • Алгоритм үйлдлийг геометр дүрсээр (блок) оруулж алгоритмыг тэмдэглэх хэлбэр юм. Блокууд сумаар холбогдож нийт алгоритмынхаа бүтцийг харуулдаг
  • 24. Алгоритмын хэлбэрүүд. • Алгоритмын эгэл алхмуудыг томсгох үед тэдгээр нь дэс дарааслсан буюу шугаман, нөхцөл шалгах буюу салаалсан, цикл буюу давталттай, рекурсив буюу өөрөө өөрийгөө дуудах гэсэн 4 бүтцэд хуваагддаг.