Contenu connexe
Similaire à 5 algorithm (20)
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 (тэмдэгтүүдийн төгсгөлөг дарааллуудын олонлог )
төрөл тодорхойлогддог.
- 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 бүтцэд хуваагддаг.