SlideShare a Scribd company logo
ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, 
Е-НЭЭЛТТЭЙ ИНСТИТУТ 
Алгоритм ба програмчлал 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn 
Лекц - 6
U.CS101- Алгоритм ба програмчлал 
Сэдэв: Давталт, түүний төрөл, энгийн 
давталт боловсруулалт, түүний хэрэглээ 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn
Агуулга: 
01 Давталт 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
www.emust.edu.mn 
01 
02 
02 
03 
Өмнөх нөхцөлт давталт 
Дараах нөхцөлт давталт
Судлах зүйл: 
Давталт, түүний төрлүүд, дараах болон өмнөх 
нөхцөлт давталтуудыг ашигласан жишээнүүдийг үзэх 
болно. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Давталт 
Бүлэг үйлдлийг давтан биелүүлэх процессийг 
давталт буюу цикл гэнэ. 
Алгоритмын нэг юмуу хэсэг алхам хэд хэдэн удаа 
давтагдан биелэгдэж байвал уг алгоритмыг 
давталттай алгоритм гэнэ. 
Давтагдан биелэгдэж байгаа алхамуудыг давталтын 
бие буюу цикл гэж нэрлэдэг. Өөрөөр хэлбэл: 
Давталтын бие нь нэг буюу хэд хэдэн алхамуудын 
дараалал байна. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Давталт 
Давталтын хувьд давталтыг төгсгөх нөхцөл, уг 
нөхцлийг үнэн худлаас хамааран биелэгдэх ба үл 
биелэгдэх алхамууд шаардлагатай. 
Давталтыг төгсдөг болгохын тулд нөхцөл шалгах 
үйлдлийг ашигладаг. 
Давталтыг төгсгөх нөхцөл нь давталтын төгсгөлгүй 
үргэлжлэх үйл ажиллагааг зогсоох үүрэгтэй. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Давталт 
Аливаа бодлогын алгоритмыг зохиохдоо түүнийг 
давталттайгаар илэрхийлэх зорилго байнга тавьж 
байх хэрэгтэй. Алгоритмд давталт хэрэглэснээр 
програм зохиох ажил маш их хөнгөвчлөгддөг. Энэ 
бол програмчлалын нэг үндсэн зарчим юм. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Давталт 
Давталтыг явагдаж байгаа хэлбэрээс нь хамааруулан 2 
ангилдаг. Үүнд: 
1. Өмнөх нөхцөлт давталт 
2. Дараах нөхцөлт давталт 
3. Параметрт давталт 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Өмнөх нөхцөлт давталт 
Төгсгөх нөхцөлийг 
давталтын бие 
биелэгдэхийн өмнө 
шалгаж байгаа 
давталтыг өмнөх нөхцөлт 
давталт гэнэ. Өмнөх 
нөхцөлт давталтыг 
алгоритмд дараах 
хэлбэрээр дүрсэлнэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
төгсгөх 
нөхцөл 
1 
Давталтын бие 
0
Өмнөх нөхцөлт давталт 
Төгсгөх нөхцөлийг 
шалгаж хэрэв “үнэн” 
утгатай буюу нөхцөл 
биелж байвал давталтын 
бие биелэгдэнэ. 
Харин төгсгөх нөхцөл 
биелэгдэхгүй болсон 
тохиолдолд давталт 
дуусна. 
төгсгөх 0 
нөхцөл 
1 
алхам 1 
... 
алхам n 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Өмнөх нөхцөлт давталт 
Өмнөх нөхцөлт давталт хэрэглэхдээ дараах 
шинжүүдийг анхаарах хэрэгтэй. Үүнд: 
1. Төгсгөх нөхцөлийн шалгаж давталт эхэлдэг учир 
энэ нөхцөл давталт эхлэхээс өмнө тодорхой 
утгатай болсон байх ёстой. 
2. Төгсгөх нөхцөлийг шалгаж давталт эхэлдэг учир 
анхнаасаа биелэгдэхгүй буюу нөхцөл худал 
утгатай байвал давталтын бие биелэгдэхгүй шууд 
давталтын дараах үйлдэлд шилжинэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Өмнөх нөхцөлт давталт 
3. Давталтын төгсгөх нөхцөлд нөлөөлөх, Өөрөөр 
хэлбэл түүний утга өөрчлөгдөхөд нөлөөлөх ямар 
нэг алхам давталтын бие дотор заавал орсон 
байх ёстой. Эс тэгвээс нөхцөл үргэлж “үнэн” 
утгатай байж мөнхийн давталт үүсэхэд хүрнэ. 
4. Давталтын бие биелэгдэх бүрд түүнийг төгсгөх 
нөхцийн утга өөрчлөгдөх учраас (зөв нөхцөл 
бичсэн тохиолдолд) нөхцөлийн утга “худал” 
болсон үед давталт төгсөж давталтын дараах 
үйлдэлд шилжинэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Өмнөх нөхцөлт давталт 
Өмнөх нөхцөлт давталтын хувьд давталтын бие 
төгсгөлөг удаа биелэгдэхэд “худал” утгатай болдог 
тийм нөхцөлийг зөв нөхцөл гэнэ. 
5. Давтах үйлдэл төгсгөх нөхцөл “ худал ” утгатай 
болох хүртэл давтагддаг учир хэдэн удаа 
давтагдах нь алгоритмыг биелүүлэхээс өмнө 
тодорхойгүй байдаг. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Жишээ 1 
1-ээс n хүртэлх 
тооны нийлбэрийг 
олдог алгоритмыг 
блок схемээр 
илэрхийл. 
эхлэл 
S=0, i=1, n 
- + 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
S=S+I 
i=i+1 
i<=n 
S 
төгсөв
Жишээ 1 
Энэ давталтын төгсгөх 
нөхцөл нь i<=n ба i 
хувьсагчийн утга n-ийн 
өгөгдсөн утгаас бага юмуу 
тэнцүү бол S=S+I, i=i+1 
үйлдлийг давтан 
биелүүлнэ. Тэгээд i 
хувьсагчийн утга n-ийн 
утгаас их болоход давталт 
төгсөнө. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
- + 
S=S+i 
i=i+1 
эхлэл 
S=0, i=1, n 
i<=n 
S 
төгсөв
Дараах нөхцөлт давталт 
Төгсгөх нөхцөлийг 
давталтын бие 
биелэгдсэний дараа 
шалгаж байгаа алгоритмыг 
дараах нөхцөлт давталт 
гэнэ. Дараах нөхцөлт 
давталтыг алгоритмд 
дараах хэлбэрээр дүрсэлнэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
Давталтын бие 
0 1 
төгсгөх 
нөхцөл
Дараах нөхцөлт 
давталтанд давталтын 
биеийг биелүүлээд дараа 
нь төгсгөх нөхцөлийг 
шалгаж хэрэв “худал” 
утгатай байвал 
давталтыг үргэлжлүүлэн 
биелүүлдэг. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
алхам 1 
... 
алхам n 
0 1 
төгсгөх 
нөхцөл 
Дараах нөхцөлт давталт
Дараах нөхцөлт давталт 
Дараах нөхцөлт давталт доорх онцлог шинжтэй байна. 
Үүнд: 
1. Давталтын бие биелсний дараа төгсгөх нөхцөлийг 
шалгаад дахин давтах эсэхийг тогтоох учир түүний 
бие ядаж нэг удаа заавал биелэгддэг. 
2. Нөхцөлд нөлөөлөх, өөрөөр хэлбэл: нөхцөлийн утгыг 
өөрчлөх ямар нэг алхам давталтын бие дотор 
заавал бичигдсэн байх ёстой. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Дараах нөхцөлт давталт 
3. Дараах нөхцөлт давталтын хувьд түүний бие 
төгсгөлөг тоон удаа биелэгдэхэд “үнэн” утгатай 
болж чадах тийм зөв нөхцөлийг сонгож бичсэн 
байх ёстой. 
4. Төгсгөх нөхцөл үнэн утгатай болж давталт 
дуусахад давталтын дараах үйлдэлд шилжинэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Жишээ 1-г дараах нөхцөлт давталтаар бодъё. 
Энд бичсэн давталтанд i 
хувьсагчийн утга n 
хувьсагчийн өгөгдсөн 
утгаас их болтол S=S+I, 
i=i+1 үйлдлийг давтан 
биелүүлнэ. Өөрөөр хэлбэл: 
i хувьсагчийн утга n-ийн 
утгаас их болоход давталт 
төгёч түүний үр дүнд 
1+2+…+n нийлбэрийн утга 
S хувьсагчид гарна. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ 
эхлэл 
S=0, i=1, n 
i>n 
S 
төгсөв 
+ 
- 
S=S+i 
i=i+1
Жишээ 2 (Арифметик давталт) 
Өгөгдсөн тоо анхны тоо мөн эсэхийг шалгах 
алгоритм зохио. 
Бодолт 
Давталтын хувьсагч I-ийн утгыг 2-оос N-1 хүртэл 
давтана. Энэ давталт дотороо N нь Iд хуваагдаж 
байвал is_prime хувьсагчид худал гэсэн утгыг өгнө. I- 
ийн бүх утгуудын хувьд үлдэгдэлгүй хуваагдах нэг ч 
тохиолдол гарахгүй бол үүнийг анхны тоо гэж үзнэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Жишээ 3 (итерацийн давталт) 
S= sinx+sin(2*x)/2 + sin(3*x)/3+ …… = Σsin(i*x)/i 
дарааллын гишүүдийн хувьд |F(i)|<℮ нөхцөл 
биелэгдэх хүртэлх нийлбэрийг олох алгоритм зохио. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Бодолт 
Нийлбэрийн дүнг хадгалах S хувьсагчид 0 гэсэн 
анхны утгыг өгнө. Давталт функцын утгын абсолют 
хэмжээ e-гээс бага болтол үргэлжилнэ. Давталт 
дотор функцын утгыг бодож гарсан дүнг нийлбэрийн 
S хувьсагч дээр нэмж өгнө. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Жишээ 4 
Хоёр цифр нь ялгаатай байх бүх хоёр оронтой тоог 
олох алгоритмыг блок схемээр илэрхийл. 
Бодолт: 
Өмнөх нөхцөлтэй давталт тул давталтын нөхцөлийг 
эхэнд шалгана. Давталтын хувьсагч J-д 10 гэсэн 
анхны утга өгөөд J<100 гэсэн нөхцөл биелэж байвал 
давталтыг үргэлжлүүлнэ. Учир нь хоёр оронтой тоо 
нь 10-аас 99 хүртэлх тоо байна. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Давталт дотор эхний ба 
сүүлийн цифрийг олж 
хооронд харьцуулж 
тэнцүү биш байвал ийм 
утгын тоог хадгалах 
соunt хувьсагчийг нэгээр 
нэмнэ. Нөхцөл 
биелэхгүй болмогц 
count-ийг хэвлэнэ. 
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ

More Related Content

What's hot

алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогуудRenchindorj Monkhzul
 
C cons
C consC cons
C cons
Onon Tuul
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2
Badral Khurelbaatar
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
GEnkhjargal
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
Badral Khurelbaatar
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
Enkh Gvnj
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
Narantungaa
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
Мөнхбаярын Цэцэнцэнгэл
 
Лекц №4
Лекц №4Лекц №4
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
Badral Khurelbaatar
 
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
Ganbaatar ch
 
MT101 Lecture 1(Mongolia)
MT101 Lecture 1(Mongolia)MT101 Lecture 1(Mongolia)
MT101 Lecture 1(Mongolia)
Munhbayr Sukhbaatar
 
тооллын систем
тооллын системтооллын систем
тооллын системMunkhuu Buyanaa
 
u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1
Khuder Altangerel
 
Lab3 it101
Lab3 it101Lab3 it101
Lab3 it101
BPurev
 
тоон логик 3 l,4lсуурь логик
тоон логик 3 l,4lсуурь логиктоон логик 3 l,4lсуурь логик
тоон логик 3 l,4lсуурь логикtsdnsrn
 
Toolliin sistem
Toolliin sistemToolliin sistem
Toolliin sistemshulam
 
Amarmend bd1
Amarmend bd1Amarmend bd1
Amarmend bd1
BPurev
 

What's hot (20)

алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
C cons
C consC cons
C cons
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
 
алгоритм 8
алгоритм 8алгоритм 8
алгоритм 8
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
Лекц №4
Лекц №4Лекц №4
Лекц №4
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
 
MT101 Lecture 1(Mongolia)
MT101 Lecture 1(Mongolia)MT101 Lecture 1(Mongolia)
MT101 Lecture 1(Mongolia)
 
тооллын систем
тооллын системтооллын систем
тооллын систем
 
U.it101 lab 4
U.it101 lab 4U.it101 lab 4
U.it101 lab 4
 
u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1
 
Lab3 it101
Lab3 it101Lab3 it101
Lab3 it101
 
тоон логик 3 l,4lсуурь логик
тоон логик 3 l,4lсуурь логиктоон логик 3 l,4lсуурь логик
тоон логик 3 l,4lсуурь логик
 
Toolliin sistem
Toolliin sistemToolliin sistem
Toolliin sistem
 
Amarmend bd1
Amarmend bd1Amarmend bd1
Amarmend bd1
 

Viewers also liked

Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)
Мөнхбаярын Цэцэнцэнгэл
 
Como Funciona O Divulgue
Como Funciona O DivulgueComo Funciona O Divulgue
Como Funciona O Divulgueguestf6e3700
 
цифрүүдийн эрэлд
цифрүүдийн эрэлдцифрүүдийн эрэлд
цифрүүдийн эрэлдojargal
 
U.cs101 алгоритм программчлал-4-zasah
U.cs101   алгоритм программчлал-4-zasahU.cs101   алгоритм программчлал-4-zasah
U.cs101 алгоритм программчлал-4-zasahBadral Khurelbaatar
 
For давталт ашиглах
For давталт ашиглахFor давталт ашиглах
For давталт ашиглахOnon Tuul
 
It101 lab 4
It101 lab 4It101 lab 4
It101 lab 4
taivna
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэсGombo Tumuruu
 

Viewers also liked (10)

C++
C++C++
C++
 
Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)
 
Como Funciona O Divulgue
Como Funciona O DivulgueComo Funciona O Divulgue
Como Funciona O Divulgue
 
hicheel
hicheelhicheel
hicheel
 
цифрүүдийн эрэлд
цифрүүдийн эрэлдцифрүүдийн эрэлд
цифрүүдийн эрэлд
 
U.cs101 алгоритм программчлал-4-zasah
U.cs101   алгоритм программчлал-4-zasahU.cs101   алгоритм программчлал-4-zasah
U.cs101 алгоритм программчлал-4-zasah
 
For давталт ашиглах
For давталт ашиглахFor давталт ашиглах
For давталт ашиглах
 
It101 lab 4
It101 lab 4It101 lab 4
It101 lab 4
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
Ush 2014 new3
Ush 2014 new3Ush 2014 new3
Ush 2014 new3
 

Similar to U.cs101 lecture 6

U.cs101 алгоритм программчлал-5
U.cs101   алгоритм программчлал-5U.cs101   алгоритм программчлал-5
U.cs101 алгоритм программчлал-5
Badral Khurelbaatar
 
U.cs101 lection-8
U.cs101  lection-8 U.cs101  lection-8
U.cs101 lection-8
Badral Khurelbaatar
 
Laboratory 2
Laboratory 2Laboratory 2
Laboratory 2
BPurev
 
U.cs101 алгоритм программчлал-15
U.cs101   алгоритм программчлал-15U.cs101   алгоритм программчлал-15
U.cs101 алгоритм программчлал-15
Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13
Badral Khurelbaatar
 

Similar to U.cs101 lecture 6 (11)

U.cs101 алгоритм программчлал-5
U.cs101   алгоритм программчлал-5U.cs101   алгоритм программчлал-5
U.cs101 алгоритм программчлал-5
 
U.cs101 lection-8
U.cs101  lection-8 U.cs101  lection-8
U.cs101 lection-8
 
Laboratory 2
Laboratory 2Laboratory 2
Laboratory 2
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
U.cs101 алгоритм программчлал-15
U.cs101   алгоритм программчлал-15U.cs101   алгоритм программчлал-15
U.cs101 алгоритм программчлал-15
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture7
Lecture7Lecture7
Lecture7
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture6
Lecture6Lecture6
Lecture6
 

U.cs101 lecture 6

  • 1. ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, Е-НЭЭЛТТЭЙ ИНСТИТУТ Алгоритм ба програмчлал Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn Лекц - 6
  • 2. U.CS101- Алгоритм ба програмчлал Сэдэв: Давталт, түүний төрөл, энгийн давталт боловсруулалт, түүний хэрэглээ Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn
  • 3. Агуулга: 01 Давталт Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn 01 02 02 03 Өмнөх нөхцөлт давталт Дараах нөхцөлт давталт
  • 4. Судлах зүйл: Давталт, түүний төрлүүд, дараах болон өмнөх нөхцөлт давталтуудыг ашигласан жишээнүүдийг үзэх болно. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 5. Давталт Бүлэг үйлдлийг давтан биелүүлэх процессийг давталт буюу цикл гэнэ. Алгоритмын нэг юмуу хэсэг алхам хэд хэдэн удаа давтагдан биелэгдэж байвал уг алгоритмыг давталттай алгоритм гэнэ. Давтагдан биелэгдэж байгаа алхамуудыг давталтын бие буюу цикл гэж нэрлэдэг. Өөрөөр хэлбэл: Давталтын бие нь нэг буюу хэд хэдэн алхамуудын дараалал байна. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 6. Давталт Давталтын хувьд давталтыг төгсгөх нөхцөл, уг нөхцлийг үнэн худлаас хамааран биелэгдэх ба үл биелэгдэх алхамууд шаардлагатай. Давталтыг төгсдөг болгохын тулд нөхцөл шалгах үйлдлийг ашигладаг. Давталтыг төгсгөх нөхцөл нь давталтын төгсгөлгүй үргэлжлэх үйл ажиллагааг зогсоох үүрэгтэй. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 7. Давталт Аливаа бодлогын алгоритмыг зохиохдоо түүнийг давталттайгаар илэрхийлэх зорилго байнга тавьж байх хэрэгтэй. Алгоритмд давталт хэрэглэснээр програм зохиох ажил маш их хөнгөвчлөгддөг. Энэ бол програмчлалын нэг үндсэн зарчим юм. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 8. Давталт Давталтыг явагдаж байгаа хэлбэрээс нь хамааруулан 2 ангилдаг. Үүнд: 1. Өмнөх нөхцөлт давталт 2. Дараах нөхцөлт давталт 3. Параметрт давталт Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 9. Өмнөх нөхцөлт давталт Төгсгөх нөхцөлийг давталтын бие биелэгдэхийн өмнө шалгаж байгаа давталтыг өмнөх нөхцөлт давталт гэнэ. Өмнөх нөхцөлт давталтыг алгоритмд дараах хэлбэрээр дүрсэлнэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ төгсгөх нөхцөл 1 Давталтын бие 0
  • 10. Өмнөх нөхцөлт давталт Төгсгөх нөхцөлийг шалгаж хэрэв “үнэн” утгатай буюу нөхцөл биелж байвал давталтын бие биелэгдэнэ. Харин төгсгөх нөхцөл биелэгдэхгүй болсон тохиолдолд давталт дуусна. төгсгөх 0 нөхцөл 1 алхам 1 ... алхам n Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 11. Өмнөх нөхцөлт давталт Өмнөх нөхцөлт давталт хэрэглэхдээ дараах шинжүүдийг анхаарах хэрэгтэй. Үүнд: 1. Төгсгөх нөхцөлийн шалгаж давталт эхэлдэг учир энэ нөхцөл давталт эхлэхээс өмнө тодорхой утгатай болсон байх ёстой. 2. Төгсгөх нөхцөлийг шалгаж давталт эхэлдэг учир анхнаасаа биелэгдэхгүй буюу нөхцөл худал утгатай байвал давталтын бие биелэгдэхгүй шууд давталтын дараах үйлдэлд шилжинэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 12. Өмнөх нөхцөлт давталт 3. Давталтын төгсгөх нөхцөлд нөлөөлөх, Өөрөөр хэлбэл түүний утга өөрчлөгдөхөд нөлөөлөх ямар нэг алхам давталтын бие дотор заавал орсон байх ёстой. Эс тэгвээс нөхцөл үргэлж “үнэн” утгатай байж мөнхийн давталт үүсэхэд хүрнэ. 4. Давталтын бие биелэгдэх бүрд түүнийг төгсгөх нөхцийн утга өөрчлөгдөх учраас (зөв нөхцөл бичсэн тохиолдолд) нөхцөлийн утга “худал” болсон үед давталт төгсөж давталтын дараах үйлдэлд шилжинэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 13. Өмнөх нөхцөлт давталт Өмнөх нөхцөлт давталтын хувьд давталтын бие төгсгөлөг удаа биелэгдэхэд “худал” утгатай болдог тийм нөхцөлийг зөв нөхцөл гэнэ. 5. Давтах үйлдэл төгсгөх нөхцөл “ худал ” утгатай болох хүртэл давтагддаг учир хэдэн удаа давтагдах нь алгоритмыг биелүүлэхээс өмнө тодорхойгүй байдаг. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 14. Жишээ 1 1-ээс n хүртэлх тооны нийлбэрийг олдог алгоритмыг блок схемээр илэрхийл. эхлэл S=0, i=1, n - + Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ S=S+I i=i+1 i<=n S төгсөв
  • 15. Жишээ 1 Энэ давталтын төгсгөх нөхцөл нь i<=n ба i хувьсагчийн утга n-ийн өгөгдсөн утгаас бага юмуу тэнцүү бол S=S+I, i=i+1 үйлдлийг давтан биелүүлнэ. Тэгээд i хувьсагчийн утга n-ийн утгаас их болоход давталт төгсөнө. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ - + S=S+i i=i+1 эхлэл S=0, i=1, n i<=n S төгсөв
  • 16. Дараах нөхцөлт давталт Төгсгөх нөхцөлийг давталтын бие биелэгдсэний дараа шалгаж байгаа алгоритмыг дараах нөхцөлт давталт гэнэ. Дараах нөхцөлт давталтыг алгоритмд дараах хэлбэрээр дүрсэлнэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ Давталтын бие 0 1 төгсгөх нөхцөл
  • 17. Дараах нөхцөлт давталтанд давталтын биеийг биелүүлээд дараа нь төгсгөх нөхцөлийг шалгаж хэрэв “худал” утгатай байвал давталтыг үргэлжлүүлэн биелүүлдэг. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ алхам 1 ... алхам n 0 1 төгсгөх нөхцөл Дараах нөхцөлт давталт
  • 18. Дараах нөхцөлт давталт Дараах нөхцөлт давталт доорх онцлог шинжтэй байна. Үүнд: 1. Давталтын бие биелсний дараа төгсгөх нөхцөлийг шалгаад дахин давтах эсэхийг тогтоох учир түүний бие ядаж нэг удаа заавал биелэгддэг. 2. Нөхцөлд нөлөөлөх, өөрөөр хэлбэл: нөхцөлийн утгыг өөрчлөх ямар нэг алхам давталтын бие дотор заавал бичигдсэн байх ёстой. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 19. Дараах нөхцөлт давталт 3. Дараах нөхцөлт давталтын хувьд түүний бие төгсгөлөг тоон удаа биелэгдэхэд “үнэн” утгатай болж чадах тийм зөв нөхцөлийг сонгож бичсэн байх ёстой. 4. Төгсгөх нөхцөл үнэн утгатай болж давталт дуусахад давталтын дараах үйлдэлд шилжинэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 20. Жишээ 1-г дараах нөхцөлт давталтаар бодъё. Энд бичсэн давталтанд i хувьсагчийн утга n хувьсагчийн өгөгдсөн утгаас их болтол S=S+I, i=i+1 үйлдлийг давтан биелүүлнэ. Өөрөөр хэлбэл: i хувьсагчийн утга n-ийн утгаас их болоход давталт төгёч түүний үр дүнд 1+2+…+n нийлбэрийн утга S хувьсагчид гарна. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ эхлэл S=0, i=1, n i>n S төгсөв + - S=S+i i=i+1
  • 21. Жишээ 2 (Арифметик давталт) Өгөгдсөн тоо анхны тоо мөн эсэхийг шалгах алгоритм зохио. Бодолт Давталтын хувьсагч I-ийн утгыг 2-оос N-1 хүртэл давтана. Энэ давталт дотороо N нь Iд хуваагдаж байвал is_prime хувьсагчид худал гэсэн утгыг өгнө. I- ийн бүх утгуудын хувьд үлдэгдэлгүй хуваагдах нэг ч тохиолдол гарахгүй бол үүнийг анхны тоо гэж үзнэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 22. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 23. Жишээ 3 (итерацийн давталт) S= sinx+sin(2*x)/2 + sin(3*x)/3+ …… = Σsin(i*x)/i дарааллын гишүүдийн хувьд |F(i)|<℮ нөхцөл биелэгдэх хүртэлх нийлбэрийг олох алгоритм зохио. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 24. Бодолт Нийлбэрийн дүнг хадгалах S хувьсагчид 0 гэсэн анхны утгыг өгнө. Давталт функцын утгын абсолют хэмжээ e-гээс бага болтол үргэлжилнэ. Давталт дотор функцын утгыг бодож гарсан дүнг нийлбэрийн S хувьсагч дээр нэмж өгнө. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 25. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 26. Жишээ 4 Хоёр цифр нь ялгаатай байх бүх хоёр оронтой тоог олох алгоритмыг блок схемээр илэрхийл. Бодолт: Өмнөх нөхцөлтэй давталт тул давталтын нөхцөлийг эхэнд шалгана. Давталтын хувьсагч J-д 10 гэсэн анхны утга өгөөд J<100 гэсэн нөхцөл биелэж байвал давталтыг үргэлжлүүлнэ. Учир нь хоёр оронтой тоо нь 10-аас 99 хүртэлх тоо байна. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
  • 27. Давталт дотор эхний ба сүүлийн цифрийг олж хооронд харьцуулж тэнцүү биш байвал ийм утгын тоог хадгалах соunt хувьсагчийг нэгээр нэмнэ. Нөхцөл биелэхгүй болмогц count-ийг хэвлэнэ. Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ

Editor's Notes

  1. Cover 1
  2. Namsrai
  3. Math temdeglegee, hyalbar todorhoiloh bolomjuud, mergejiliin chiglel daguu