ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, 
Е-НЭЭЛТТЭЙ ИНСТИТУТ 
Мэдээллийн Технологийн 
www.emust.edu.mn 
хэрэглээ - I 
Код: U.IT101
IT101- Мэдээллийн Технологийн хэрэглээ - I 
Сэдэв: Өгөгдлийн бүтэц, Алгоритм 
Е-Нээлттэй Институт 
www.emust.edu.mn
Агуулга: 
01 Өгөгдлийн бүтэц 
Е-Нээлттэй Институт 
www.emust.edu.mn 
01 
02 
02 Алгоритм 
03 Програмчлал 
04 Програмчлалын хэлүүд 
04 Markup languages 
3
ХИЧЭЭЛИЙН ЗОРИЛГО: 
Энэ хичээлээр өгөгдлийн бүтэцийн үндэс, 
зарчим, Алгоритмын талаар мэдэж авахаас гадна, 
програмчлалын хэлний талаарх ойлголттой 
болоход оршино. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
4
Е-Нээлттэй Институт 
www.emust.edu.mn 
- Компьютерийн шинжлэх ухаанд 
Өгөгдлийн бүтэц гэдэг нь өгөгдлийг үр 
ашигтай ашиглах боломжтой байдлаар 
хадгалах буюу зохион байгуулахыг хэлнэ. 
- Өгөгдлийн бүтцүүд нь их хэмжээний 
өгөгдлүүдийг үр ашигтайгаар зохион 
байгуулах зорилготой. 
Жишээ нь: 
Tомоохон хэмжээний өгөгдлийн сан болон 
интернэт xаяглалтын үйлчилгээнд 
ашигладаг. 
1. Өгөгдлийн 
бүтэц 
5
1. Өгөгдлийн бүтэц 
Data structure 
- Өгөгдөл. / Data/ 
Өгөгдөл гэдэг нь тоо болон тэмдэгтүүдийн 
цогц юм. Мэдээ гэдэг нь ямар нэг зорилгогүйгээр 
цуглуулсан өгөгдөл. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
6
1. Өгөгдлийн бүтэц 
Data structure 
- Хувьсагч. / Variables / 
Хувьсагч гэдэг нь тоон утга нь хэд ч байж болох үл 
мэдэгдэх тоо юм. Гэхдээ хувьсагч нь зэргээсээ хамаарч 
өөрчлөгдөнө. Хувьсагч нь төрөлтэй байна. 
Жишээ нь: Бүхэл тоон төрөл, бутархай тоон төрөл гэх мэт 
Жишээ нь 
Е-Нээлттэй Институт 
www.emust.edu.mn 
7
1. Өгөгдлийн бүтэц 
Data structure 
- Массив. /Massive/ 
Массив буюу Хүснэгт нь олон элементийг өөртөө 
агуулах, элементүүд нь тус бүр индексээр 
илэрхийлэгдэх энгийн өгөгдлийн бүтэц юм. Өөрөөр 
хэлбэл их хэмжээний өгөгдлийг зохион байгуулах, хайх, 
бүлэглэх гэх мэт өгөгдөлтэй ажиллахад ашиглагддаг. Массив 
нь нэртэй (name of array) байна. 
Массивын нэг өгөгдлийг массивын элемент гэнэ. Элементүүд 
бүгд дугаарлагдсан байна. Элементийн дугаарыг индекс 
(index) ба 0-ээс эхлэн тоологдоно. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
8
1. - Өгөгдлийн бүтэц 
Data structure 
- Массив. /Massive/ 
Багана 0 Багана 1 Багана 2 Багана 3 
a[0] [0] a[0] [1] a[0] [2] a[0] [3] 
a[1] [0] a[1] [1] a[1] [2] a[1] [3] 
2 1 
a[2] [1] a[2] [1] a[2] [2] a[2] [3] 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Мөр 0 
Мөр 1 
Мөр 2 
Row index Column index 
9
1. - Өгөгдлийн бүтэц 
Data structure 
- Жагсаалт/List/ 
Шугаман буюу дараалсан зохион байгуулалт бүхий 
элементүүдийн олонлогийг жагсаалт гэнэ. Жагсаалтыг 
холбоосоор нь нэг холбоост, хоёр холбоост гэж ангилна. 
Динамикаар үүссэн элементүүдийн дарааллыг холбоос буюу 
заагчаар тодорхойлно. 
• Single Linked List –SLL 
• Double Linked List –DLL 
Е-Нээлттэй Институт 
www.emust.edu.mn 
10
1. - Өгөгдлийн бүтэц 
Data structure 
Е-Нээлттэй Институт 
www.emust.edu.mn 
11
1. - Өгөгдлийн бүтэц 
Data structure 
- Стек /Stack/ 
Эхлэлд орсон нь сүүлд нь гарах зарчмаар зохион 
байгуулагдсан өгөгдлийн бүтцийг стек гэнэ. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
LIFO-Last In First Out 
Стект элемент нэмэх , устгах үйлдлийг хийх боловч эдгээр 
үйлдлүүд нь зөвхөн стекийн орой гэж нэрлэгдэх элементээс 
гүйцэтгэгдэнэ. Стек нь ийм хязгаарлагдмал үйлдлийг гүйцэтгэх 
боловч программчлалд маш чухал үүрэг гүйцэтгэдэг. 
12
1. - Өгөгдлийн бүтэц 
Data structure 
Е-Нээлттэй Институт 
www.emust.edu.mn 
13
1. - Өгөгдлийн бүтэц 
Data structure 
- Queue –Дараалал 
Эхэлж орсон нь эхэлж гарах зарчмаар зохион 
байгуулагдсан өгөгдлийн бүтцийг дараалал гэнэ. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
FIFO-First In First Out 
14
1. - Өгөгдлийн бүтэц 
Data structure 
Е-Нээлттэй Институт 
www.emust.edu.mn 
15
1. - Өгөгдлийн бүтэц 
Data structure 
- Tree – Moд 
Зангилаанууд болон тэдгээрийг холбосон 
холбоосуудаар дүрслэгдсэн өгөгдлийн 
бүтэцийг мод гэнэ. Мод нь өгөгдлийг агуулах 
зангилаа, өөр зангилаатай холбогдох 
холбоосуудаас тогтоно. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
16
1. - Өгөгдлийн бүтэц 
Data structure 
- Tree – Moд 
Модны хамгийн эхний зангилааг үндэс буюу язгуур / 
үндсэн зангилаа / гэнэ. Модны онцлог нь үндсэн зангилаанаас 
ямар нэг зангилаанд хүрэх ганц зам байна. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
17
1. - Өгөгдлийн бүтэц 
Data structure 
- Moд / Tree / 
Модны замын урт нь модон дахь бүх зангилааны түвшингүүдийн 
нийлбэрээр тодорхойлогддог. Жишээ нь: Дараах модны өндөр нь 3, урт 
нь 0*1+1*3+2*3+3*1=12 байна. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Түвшин 0 
Түвшин 1 
Түвшин 2 
Түвшин 3 
18
1. - Өгөгдлийн бүтэц 
Data structure 
- Хоёртын мод 
Модны нэг зангилаанаас гарч болох дэд зангилааны 
тоо нь хамгийн ихдээ 2 байх модыг хоёртын мод гэнэ. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
19
1. - Өгөгдлийн бүтэц 
Data structure 
- Хоёртын мод 
Жишээ нь: 50, 60, 40,72, 53, 22, 35, 41, 80, 57, 18 
Е-Нээлттэй Институт 
www.emust.edu.mn 
50 
40 60 
22 53 72 
35 
41 
18 57 80 
20
Е-Нээлттэй Институт 
www.emust.edu.mn 
“Aлгоритм бол тодорхой үр дүн 
гаргаж авахын тулд дараалан 
гүйцэтгэх ёстой үйлдлүүдийн 
жагсаалт юм. ” 
2. Алгоритм 
21
2. Aлгоритм: 
ALGORITM 
Блок схем 
/Flow chart/ 
Е-Нээлттэй Институт 
www.emust.edu.mn 
22
2. Aлгоритм: 
ALGORITM 
Алгоритмын үндсэн бүтэц /Basic structures of algorithms/ 
• Дараалсан Бүтэц /Sequence structures/ 
• Салаалсан бүтэц /Selection structures/ 
• Давталттай бүтэц /Repetition structures/ 
Эдгээр бүтэцүүдийг ашиглан нарын төвөгтэй 
алгоритмыг илэрхийлэх боломжтой юм. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
23
2. Aлгоритм: 
ALGORITM 
Дараалсан Бүтэц. 
/Sequence structures/ 
Е-Нээлттэй Институт 
www.emust.edu.mn 
24 
Эхлэл 
Процесс 1 
Процесс 2 
Төгсгөл
2. Aлгоритм: 
ALGORITM 
Салаалсан бүтэц 
Selection structures 
Е-Нээлттэй Институт 
www.emust.edu.mn 
25 
Эхлэл 
Нөхцөл 
Процесс 1 Процесс 1 
Төгсгөл 
Худал 
Үнэн
2. Aлгоритм: 
ALGORITM 
Давталттай бүтэц 
Repetition structures 
Е-Нээлттэй Институт 
www.emust.edu.mn 
26 
Эхлэл 
Процесс 1 
Нөхцөл 
Үнэн 
Процесс 2 
Төгсгөл 
Худал
2. Aлгоритм: 
ALGORITM 
Алгоритмын төрөл /Typical algorithms/ 
- Шугаман хайлт. /Linear search/ 
Энэ арга нь хайлтын хамгийн энгийн арга юм. Зөвхөн хайж буй 
элементийн утга мэдэгдэх бөгөөд олон хайлт явуулах 
өгөгдлийн олонлогийн талаар ямар нэг мэдээлэл байхгүй үед 
энэ аргыг ашиглана. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
27
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
Хайлт явуулах олонлог: 
Е-Нээлттэй Институт 
www.emust.edu.mn 
28 
23 
i 0 1 2 3 4 5 6 7 8 
утга 30 60 6 54 89 23 38 55 1 
23
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 
утга 30 60 6 54 89 23 38 55 1 
23 
Е-Нээлттэй Институт 
www.emust.edu.mn
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 
утга 30 60 6 54 89 23 38 55 1 
23 
Е-Нээлттэй Институт 
www.emust.edu.mn
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 
утга 30 60 6 54 89 23 38 55 1 
Е-Нээлттэй Институт 
www.emust.edu.mn 
23
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 
утга 30 60 6 54 89 23 38 55 1 
Е-Нээлттэй Институт 
www.emust.edu.mn 
23
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
Хайлт явуулах олонлог: 
Е-Нээлттэй Институт 
www.emust.edu.mn 
33 
23 
i 0 1 2 3 4 5 6 7 8 
утга 30 60 6 54 89 23 38 55 1 
Элемент олдлоо. 23 
Буцаах утга: 5
2. Aлгоритм: 
ALGORITM 
-Хоёртын хайлт /Binary search/ 
Хоёртын хайлт буюу таллан хуваах арга нь Шугаман 
хайлттай харьцуулбал илүү үр дүнтэй аргын нэг юм. 
Энэ арга нь өгөгдлийг 2 хэсэгт хуваан, хайх 
элемент аль хэсэгт байгааг тодорхойлдог. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
34
2. Aлгоритм: 
ALGORITM 
-Энэ аргын үндсэн санаа нь: 
1. Хайх элемент буюу Х тоо массивын дундаж элемент 
мөн үү гэдгийг шалгах явдал юм. Хэрэв энэ нь үнэн 
бол бодлогын шийд олдсон гэсэн үг. 
2. Хэрэв тийм биш бол 2 тохиолдол байна. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
35
2. Aлгоритм: 
ALGORITM 
а. Х нь дундаж элемент буюу голын элементээс бага 
бол уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын 
элементээс баруун тийш байрлах бүх 
элементүүдийг хасах ба голын элементийн зүүн 
талд орших хэсэгт хэрэглэх 
Б. Х нь дундаж элемент буюу голын элементээс их бол 
уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын 
элементээс зүүн тийш байрлах элементийг хасаад 
массивын баруун талд орших хэсэгт хэрэглэх 
Е-Нээлттэй Институт 
www.emust.edu.mn 
36
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 9 
утга 1 2 10 23 24 50 66 73 74 89 
Е-Нээлттэй Институт 
www.emust.edu.mn
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 9 
утга 1 2 10 23 24 50 66 73 74 89 
Е-Нээлттэй Институт 
www.emust.edu.mn
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
23 
Хайлт явуулах олонлог: 
i 0 1 2 3 4 5 6 7 8 9 
утга 1 2 10 23 24 50 66 73 74 89 
Е-Нээлттэй Институт 
www.emust.edu.mn
2. Aлгоритм: 
ALGORITM 
Хайх утга: 
Хайлт явуулах олонлог: 
Е-Нээлттэй Институт 
www.emust.edu.mn 
40 
23 
i 0 1 2 3 4 5 6 7 8 9 
утга 1 2 10 23 24 50 66 73 74 89 
Элемент олдлоо. 
Буцаах утга: 3
2. Aлгоритм: 
ALGORITM 
a) Рекурс 
Өөрөө өөрийгөө дуудан ажиллуулах хэлбэрээр 
зохиогдсон програмыг рекурс програм гэнэ. Рекурс 
програмаар ихэвчлэн рекурент томъёогоор өгөгдсөн бодлого 
эсвэл рекурент аргаар гарч ирэх үр дүн бүхий асуудлыг 
шийдэхэд ашигладаг. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
41
2. Aлгоритм: 
ALGORITM 
a) Рекурс 
Е-Нээлттэй Институт 
www.emust.edu.mn 
n=3 үед 7 үйлдэл хийгдэнэ. 
1. A->C 
2. A->B 
3. C->B 
4. A->C 
5. B->A 
6. B->C 
7. A->C 
42
2. Aлгоритм: 
ALGORITM 
b) SelectionSort-Сонгон эрэмблэх алгоритм 
Массив дахь хамгийн бага элементийг олж массивын 
эхний элементтэй сольж , дараа нь удаах бага элементийг олж 
массивын хоёр дахь элементтэй солих замаар маиссвын бүх 
элемент эрэмбэлэгдэж дуустал үйлдлийг давтан гүйцэтгэнэ. 
Энэ арга нь үлдэж байгаа хэсэг бүрээс хамгийн бага 
элементийг нь сонгож байгаа учир сонгон эрэмбэлэх арга гэж 
нэрлэсэн юм. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
43
2. Aлгоритм: 
ALGORITM 
b) SelectionSort-Сонгон эрэмблэх алгоритм 
50 80 40 60 30 70 10 90 20 Эхний алхамд ХБ=10 тул 50-тай солигдоно 
10 80 40 60 30 70 50 90 20 ХБ=20 тул 80-тай солигдоно. 
10 20 40 60 30 70 50 90 80 ХБ=30 тул 40-тай солигдоно. 
10 20 30 60 40 70 50 90 80 ХБ=40 тул 60-тай солигдоно. 
10 20 30 40 60 70 50 90 80 ХБ=50 тул 60-тай солигдоно. 
10 20 30 40 50 70 60 90 80 ХБ=60 тул 70-тай солигдоно. 
10 20 30 40 50 60 70 90 80 ХБ=70 тул 70-тай солигдоно. 
10 20 30 40 50 60 70 90 80 ХБ=80 тул 90-тай солигдоно. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
44
2. Aлгоритм: 
ALGORITM 
c) Оруулан эрэмблэх алгоритм 
Энэ арга нь сонгон эрэмбэлэх аргыг бодвол илүү уян 
хатан, үр ашигтай юм. Уг аргын үндсэн үйлдэл нь 
эрэмбэлэгдсэн массивт эрэмбэлэлтийг алдагдуулахгүйгээр 
шинэ элемент оруулах үйлдлээр тодорхойлогдоно. Өөрөөр 
хэлбэл эрэмбэлэгдсэн элементүүдийн шинэ элементээс их 
элементийг нэг байрлал баруун тийш шилжүүлэх байдлаар 
орвол зохих байрлалыг чөлөөлж өгдөг. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
45
2. Aлгоритм: 
ALGORITM 
c) Оруулан эрэмблэх алгоритм 
50 80 40 60 30 70 10 90 20 
Эхний элементийг эрэмбэлэгдсэн массив гэж үзье. Тэгвэл дараагийн алхамд 2 дахь 
элементийг оруулах үйлдэл гүйцэтгэгдэнэ 
Е-Нээлттэй Институт 
www.emust.edu.mn 
50 80 
40 50 80 
40 50 60 80 
30 40 50 60 80 
30 40 50 60 70 80 
10 30 40 50 60 70 80 
10 30 40 50 60 70 80 90 
46
Е-Нээлттэй Институт 
www.emust.edu.mn 
Алгоритмыг компьютерийн ойлгох хэлрүү 
хөрвүүлэх ажлыг алгоритмын 
нэвтрүүлэлт буюу програмчлал гэнэ. 
3. Програмчлал 
47
3. Програмчлал: 
PROGRAMING 
• Доод төвшний програмчлалын хэл 
(Low-level programming language) 
• Дээд төвшний програмчлалын хэл 
(High-level programming language) 
Е-Нээлттэй Институт 
www.emust.edu.mn 
48
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
(High-level programming language) 
(a) Procedural languages 
Жишээ нь: Fortran,COBOL,Pascal,BASIC,C, PL/I, 
(b) Object-oriented languages 
Жишээ нь: Java,C++ 
(c) Script languages 
Жишээ нь: ECMAScript, Perl,PHP,Python,Ruby 
(d) Markup language 
Жишээ нь: HTML, XML 
Е-Нээлттэй Институт 
www.emust.edu.mn 
49
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
(a) Procedural languages 
FORTRAN - FORmula TRANslator 
IBM (International Business 
Machines, АНУ) компанид, эрдэмтэн Жон 
Бэкусын (John Backus) удирдсан ЭШ-ний 
баг физик, математик, инженерийн 
шинжлэх ухааны тооцоо хийх 
зориулалтаар бүтээсэн. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Жишээ нь, a=5 ба b=3 
байхад c=a+b 
50
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
(a) Procedural languages 
BASIC – (Beginner’s All Purpose 
Symbolic Instruction Code) 
1965 онд Дартмудын коллежийн 
(Dartmouth College, АНУ) математикчид 
Жон Кемени (John Kemeny), Томас Курц 
(Thomas Kurtz) нар зохиосон 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Жишээ нь, a=5 ба b=3 
байхад c=a+bz 
51
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
c) (a) Procedural languages 
Pascal 
Цюрихын технологийн дээд сургуулийн 
(Щвейцар) эрдэмтэн Никлаус Вирт 
(Nicklaus Wirth) 1970-аад онд оюутнуудыг 
програмчлалд сургах зориулалтаар 
бүтээсэн. Програмчлалын Паскаль хэл маш 
амжилттай зохиогдсон учраас сургалтын 
хүрээнээс халин гарч, түгээмэл 
хэрэглэгдэгч алгоритмын хэл болсон. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Жишээ нь, a=5 ба b=3 
байхад c=a+b 
52
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
(a) Procedural languages 
C хэл 
1970-аад онд AT&T компанийн Беллийн 
лабораторийн (Bell Laboratories, АНУ) 
э.ш.а. Деннис Ритчи (Dennis Ritchie) Unix 
үйлдлийн системд програмчлах зорилгоор 
бүтээсэн байна. Си хэл нь, доод төвшний 
програмчлал болон дээд төвшний 
програмчлалын давуу талуудыг жигд 
агуулсан учраас заримдаа дунд төвшний 
програмчлалын хэл гэдэг. Алгоритмын 
хэлүүд дундаас хамгийн өргөн тархсан, 
хүчирхэг хэл. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Жишээ нь, a=5 ба b=3 
байхад c=a+b 
53
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
Object-oriented languages 
C++ 
C хэл бол C++ ийн дэд олонлог гэж ойлгож 
болно. Эхлээд С гэж процедур хандалтадат 
хэл гэж байж байгаад дараагаар нь түүнд 
объект хандалтад програмчлалын 
технологийг нэвтрүүлж өгсөнөөрөө С++ 
болсон байна. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
Жишээ нь, a=5 ба b=3 
байхад c=a+b 
54
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
d) Object-oriented languages 
Е-Нээлттэй Институт 
www.emust.edu.mn 
JAVA 
JAVA бол Sun Microsystems корпорацийн бүтээсэн програмчлалын хэл 
бөгөөд хамгийн анх 1995 онд түүнийг олон нийтэд танилцуулжээ. Жава-г 
бүтээхдээ С ба С++ хэлийн онцлог, бичиглэлийг хүчтэй тусган авсан 
бөгөөд 2006 оны үеэс эхлэн Жава програмчлалын систем нь Java EE, Java 
ME, Java Se гэж 3 хуваагдах болсон юм. 
Жишээ нь: 
55
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
Markup language 
HTML 
HTML гэдэг бол HyperText Markup 
Language гэсэн үгний товчлол бөгөөд 
HTML бол урдчилан тодорхойлсон 
тагуудаар мэдээлэл дүрслэдэг. Мөн вэб 
хуудас хэрхэн харагдах хэлбэрийг өөрчилж 
чаддагараа давуу талтай. Гэвч текстийн 
хэлбэр дүрс гэх мэтийг дэлгэцэнд гаргахад 
CSS (Cascading Style Sheet) Javascript 
зэргийг XML, HTML- 2ланд нь ашигладаг 
байна. 
Е-Нээлттэй Институт 
www.emust.edu.mn 
56
4. Програмчлалын хэл: 
PROGRAMING LANGUAGES 
Markup language 
XML 
Програмчлалд маш өргөн 
хэрэглэгдэж байгаа хэл бол XML юм. Энэ нь 
Extensible Markup Language гэсэн үгний 
товчлол. HTML бол урдчилан тодорхойлсон 
тагуудаар мэдээлэл дүрслэдэг бол XML 
хэрэглэгч өөртөө хэрэгтэй байгаа тагуудыг 
үүсгэн мэдээллээ дүрслэнэ Жишээ: 
Энэ мэдээллийг програмын аргаар 
уншиж мэдээллийг авах үйлдлийг parsing 
гэнэ. XML parser гэвэл XML-ийг уншиж 
мэдээллийг авагч гэж ойлгож болно 
Е-Нээлттэй Институт 
www.emust.edu.mn 
57
• АНХААРАЛ ТАВЬСАНД БАЯРЛАЛАА.

Datastructure algoritm

  • 1.
    ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, Е-НЭЭЛТТЭЙ ИНСТИТУТ Мэдээллийн Технологийн www.emust.edu.mn хэрэглээ - I Код: U.IT101
  • 2.
    IT101- Мэдээллийн Технологийнхэрэглээ - I Сэдэв: Өгөгдлийн бүтэц, Алгоритм Е-Нээлттэй Институт www.emust.edu.mn
  • 3.
    Агуулга: 01 Өгөгдлийнбүтэц Е-Нээлттэй Институт www.emust.edu.mn 01 02 02 Алгоритм 03 Програмчлал 04 Програмчлалын хэлүүд 04 Markup languages 3
  • 4.
    ХИЧЭЭЛИЙН ЗОРИЛГО: Энэхичээлээр өгөгдлийн бүтэцийн үндэс, зарчим, Алгоритмын талаар мэдэж авахаас гадна, програмчлалын хэлний талаарх ойлголттой болоход оршино. Е-Нээлттэй Институт www.emust.edu.mn 4
  • 5.
    Е-Нээлттэй Институт www.emust.edu.mn - Компьютерийн шинжлэх ухаанд Өгөгдлийн бүтэц гэдэг нь өгөгдлийг үр ашигтай ашиглах боломжтой байдлаар хадгалах буюу зохион байгуулахыг хэлнэ. - Өгөгдлийн бүтцүүд нь их хэмжээний өгөгдлүүдийг үр ашигтайгаар зохион байгуулах зорилготой. Жишээ нь: Tомоохон хэмжээний өгөгдлийн сан болон интернэт xаяглалтын үйлчилгээнд ашигладаг. 1. Өгөгдлийн бүтэц 5
  • 6.
    1. Өгөгдлийн бүтэц Data structure - Өгөгдөл. / Data/ Өгөгдөл гэдэг нь тоо болон тэмдэгтүүдийн цогц юм. Мэдээ гэдэг нь ямар нэг зорилгогүйгээр цуглуулсан өгөгдөл. Е-Нээлттэй Институт www.emust.edu.mn 6
  • 7.
    1. Өгөгдлийн бүтэц Data structure - Хувьсагч. / Variables / Хувьсагч гэдэг нь тоон утга нь хэд ч байж болох үл мэдэгдэх тоо юм. Гэхдээ хувьсагч нь зэргээсээ хамаарч өөрчлөгдөнө. Хувьсагч нь төрөлтэй байна. Жишээ нь: Бүхэл тоон төрөл, бутархай тоон төрөл гэх мэт Жишээ нь Е-Нээлттэй Институт www.emust.edu.mn 7
  • 8.
    1. Өгөгдлийн бүтэц Data structure - Массив. /Massive/ Массив буюу Хүснэгт нь олон элементийг өөртөө агуулах, элементүүд нь тус бүр индексээр илэрхийлэгдэх энгийн өгөгдлийн бүтэц юм. Өөрөөр хэлбэл их хэмжээний өгөгдлийг зохион байгуулах, хайх, бүлэглэх гэх мэт өгөгдөлтэй ажиллахад ашиглагддаг. Массив нь нэртэй (name of array) байна. Массивын нэг өгөгдлийг массивын элемент гэнэ. Элементүүд бүгд дугаарлагдсан байна. Элементийн дугаарыг индекс (index) ба 0-ээс эхлэн тоологдоно. Е-Нээлттэй Институт www.emust.edu.mn 8
  • 9.
    1. - Өгөгдлийнбүтэц Data structure - Массив. /Massive/ Багана 0 Багана 1 Багана 2 Багана 3 a[0] [0] a[0] [1] a[0] [2] a[0] [3] a[1] [0] a[1] [1] a[1] [2] a[1] [3] 2 1 a[2] [1] a[2] [1] a[2] [2] a[2] [3] Е-Нээлттэй Институт www.emust.edu.mn Мөр 0 Мөр 1 Мөр 2 Row index Column index 9
  • 10.
    1. - Өгөгдлийнбүтэц Data structure - Жагсаалт/List/ Шугаман буюу дараалсан зохион байгуулалт бүхий элементүүдийн олонлогийг жагсаалт гэнэ. Жагсаалтыг холбоосоор нь нэг холбоост, хоёр холбоост гэж ангилна. Динамикаар үүссэн элементүүдийн дарааллыг холбоос буюу заагчаар тодорхойлно. • Single Linked List –SLL • Double Linked List –DLL Е-Нээлттэй Институт www.emust.edu.mn 10
  • 11.
    1. - Өгөгдлийнбүтэц Data structure Е-Нээлттэй Институт www.emust.edu.mn 11
  • 12.
    1. - Өгөгдлийнбүтэц Data structure - Стек /Stack/ Эхлэлд орсон нь сүүлд нь гарах зарчмаар зохион байгуулагдсан өгөгдлийн бүтцийг стек гэнэ. Е-Нээлттэй Институт www.emust.edu.mn LIFO-Last In First Out Стект элемент нэмэх , устгах үйлдлийг хийх боловч эдгээр үйлдлүүд нь зөвхөн стекийн орой гэж нэрлэгдэх элементээс гүйцэтгэгдэнэ. Стек нь ийм хязгаарлагдмал үйлдлийг гүйцэтгэх боловч программчлалд маш чухал үүрэг гүйцэтгэдэг. 12
  • 13.
    1. - Өгөгдлийнбүтэц Data structure Е-Нээлттэй Институт www.emust.edu.mn 13
  • 14.
    1. - Өгөгдлийнбүтэц Data structure - Queue –Дараалал Эхэлж орсон нь эхэлж гарах зарчмаар зохион байгуулагдсан өгөгдлийн бүтцийг дараалал гэнэ. Е-Нээлттэй Институт www.emust.edu.mn FIFO-First In First Out 14
  • 15.
    1. - Өгөгдлийнбүтэц Data structure Е-Нээлттэй Институт www.emust.edu.mn 15
  • 16.
    1. - Өгөгдлийнбүтэц Data structure - Tree – Moд Зангилаанууд болон тэдгээрийг холбосон холбоосуудаар дүрслэгдсэн өгөгдлийн бүтэцийг мод гэнэ. Мод нь өгөгдлийг агуулах зангилаа, өөр зангилаатай холбогдох холбоосуудаас тогтоно. Е-Нээлттэй Институт www.emust.edu.mn 16
  • 17.
    1. - Өгөгдлийнбүтэц Data structure - Tree – Moд Модны хамгийн эхний зангилааг үндэс буюу язгуур / үндсэн зангилаа / гэнэ. Модны онцлог нь үндсэн зангилаанаас ямар нэг зангилаанд хүрэх ганц зам байна. Е-Нээлттэй Институт www.emust.edu.mn 17
  • 18.
    1. - Өгөгдлийнбүтэц Data structure - Moд / Tree / Модны замын урт нь модон дахь бүх зангилааны түвшингүүдийн нийлбэрээр тодорхойлогддог. Жишээ нь: Дараах модны өндөр нь 3, урт нь 0*1+1*3+2*3+3*1=12 байна. Е-Нээлттэй Институт www.emust.edu.mn Түвшин 0 Түвшин 1 Түвшин 2 Түвшин 3 18
  • 19.
    1. - Өгөгдлийнбүтэц Data structure - Хоёртын мод Модны нэг зангилаанаас гарч болох дэд зангилааны тоо нь хамгийн ихдээ 2 байх модыг хоёртын мод гэнэ. Е-Нээлттэй Институт www.emust.edu.mn 19
  • 20.
    1. - Өгөгдлийнбүтэц Data structure - Хоёртын мод Жишээ нь: 50, 60, 40,72, 53, 22, 35, 41, 80, 57, 18 Е-Нээлттэй Институт www.emust.edu.mn 50 40 60 22 53 72 35 41 18 57 80 20
  • 21.
    Е-Нээлттэй Институт www.emust.edu.mn “Aлгоритм бол тодорхой үр дүн гаргаж авахын тулд дараалан гүйцэтгэх ёстой үйлдлүүдийн жагсаалт юм. ” 2. Алгоритм 21
  • 22.
    2. Aлгоритм: ALGORITM Блок схем /Flow chart/ Е-Нээлттэй Институт www.emust.edu.mn 22
  • 23.
    2. Aлгоритм: ALGORITM Алгоритмын үндсэн бүтэц /Basic structures of algorithms/ • Дараалсан Бүтэц /Sequence structures/ • Салаалсан бүтэц /Selection structures/ • Давталттай бүтэц /Repetition structures/ Эдгээр бүтэцүүдийг ашиглан нарын төвөгтэй алгоритмыг илэрхийлэх боломжтой юм. Е-Нээлттэй Институт www.emust.edu.mn 23
  • 24.
    2. Aлгоритм: ALGORITM Дараалсан Бүтэц. /Sequence structures/ Е-Нээлттэй Институт www.emust.edu.mn 24 Эхлэл Процесс 1 Процесс 2 Төгсгөл
  • 25.
    2. Aлгоритм: ALGORITM Салаалсан бүтэц Selection structures Е-Нээлттэй Институт www.emust.edu.mn 25 Эхлэл Нөхцөл Процесс 1 Процесс 1 Төгсгөл Худал Үнэн
  • 26.
    2. Aлгоритм: ALGORITM Давталттай бүтэц Repetition structures Е-Нээлттэй Институт www.emust.edu.mn 26 Эхлэл Процесс 1 Нөхцөл Үнэн Процесс 2 Төгсгөл Худал
  • 27.
    2. Aлгоритм: ALGORITM Алгоритмын төрөл /Typical algorithms/ - Шугаман хайлт. /Linear search/ Энэ арга нь хайлтын хамгийн энгийн арга юм. Зөвхөн хайж буй элементийн утга мэдэгдэх бөгөөд олон хайлт явуулах өгөгдлийн олонлогийн талаар ямар нэг мэдээлэл байхгүй үед энэ аргыг ашиглана. Е-Нээлттэй Институт www.emust.edu.mn 27
  • 28.
    2. Aлгоритм: ALGORITM Хайх утга: Хайлт явуулах олонлог: Е-Нээлттэй Институт www.emust.edu.mn 28 23 i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 23
  • 29.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 23 Е-Нээлттэй Институт www.emust.edu.mn
  • 30.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 23 Е-Нээлттэй Институт www.emust.edu.mn
  • 31.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 Е-Нээлттэй Институт www.emust.edu.mn 23
  • 32.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 Е-Нээлттэй Институт www.emust.edu.mn 23
  • 33.
    2. Aлгоритм: ALGORITM Хайх утга: Хайлт явуулах олонлог: Е-Нээлттэй Институт www.emust.edu.mn 33 23 i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 Элемент олдлоо. 23 Буцаах утга: 5
  • 34.
    2. Aлгоритм: ALGORITM -Хоёртын хайлт /Binary search/ Хоёртын хайлт буюу таллан хуваах арга нь Шугаман хайлттай харьцуулбал илүү үр дүнтэй аргын нэг юм. Энэ арга нь өгөгдлийг 2 хэсэгт хуваан, хайх элемент аль хэсэгт байгааг тодорхойлдог. Е-Нээлттэй Институт www.emust.edu.mn 34
  • 35.
    2. Aлгоритм: ALGORITM -Энэ аргын үндсэн санаа нь: 1. Хайх элемент буюу Х тоо массивын дундаж элемент мөн үү гэдгийг шалгах явдал юм. Хэрэв энэ нь үнэн бол бодлогын шийд олдсон гэсэн үг. 2. Хэрэв тийм биш бол 2 тохиолдол байна. Е-Нээлттэй Институт www.emust.edu.mn 35
  • 36.
    2. Aлгоритм: ALGORITM а. Х нь дундаж элемент буюу голын элементээс бага бол уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын элементээс баруун тийш байрлах бүх элементүүдийг хасах ба голын элементийн зүүн талд орших хэсэгт хэрэглэх Б. Х нь дундаж элемент буюу голын элементээс их бол уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын элементээс зүүн тийш байрлах элементийг хасаад массивын баруун талд орших хэсэгт хэрэглэх Е-Нээлттэй Институт www.emust.edu.mn 36
  • 37.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 9 утга 1 2 10 23 24 50 66 73 74 89 Е-Нээлттэй Институт www.emust.edu.mn
  • 38.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 9 утга 1 2 10 23 24 50 66 73 74 89 Е-Нээлттэй Институт www.emust.edu.mn
  • 39.
    2. Aлгоритм: ALGORITM Хайх утга: 23 Хайлт явуулах олонлог: i 0 1 2 3 4 5 6 7 8 9 утга 1 2 10 23 24 50 66 73 74 89 Е-Нээлттэй Институт www.emust.edu.mn
  • 40.
    2. Aлгоритм: ALGORITM Хайх утга: Хайлт явуулах олонлог: Е-Нээлттэй Институт www.emust.edu.mn 40 23 i 0 1 2 3 4 5 6 7 8 9 утга 1 2 10 23 24 50 66 73 74 89 Элемент олдлоо. Буцаах утга: 3
  • 41.
    2. Aлгоритм: ALGORITM a) Рекурс Өөрөө өөрийгөө дуудан ажиллуулах хэлбэрээр зохиогдсон програмыг рекурс програм гэнэ. Рекурс програмаар ихэвчлэн рекурент томъёогоор өгөгдсөн бодлого эсвэл рекурент аргаар гарч ирэх үр дүн бүхий асуудлыг шийдэхэд ашигладаг. Е-Нээлттэй Институт www.emust.edu.mn 41
  • 42.
    2. Aлгоритм: ALGORITM a) Рекурс Е-Нээлттэй Институт www.emust.edu.mn n=3 үед 7 үйлдэл хийгдэнэ. 1. A->C 2. A->B 3. C->B 4. A->C 5. B->A 6. B->C 7. A->C 42
  • 43.
    2. Aлгоритм: ALGORITM b) SelectionSort-Сонгон эрэмблэх алгоритм Массив дахь хамгийн бага элементийг олж массивын эхний элементтэй сольж , дараа нь удаах бага элементийг олж массивын хоёр дахь элементтэй солих замаар маиссвын бүх элемент эрэмбэлэгдэж дуустал үйлдлийг давтан гүйцэтгэнэ. Энэ арга нь үлдэж байгаа хэсэг бүрээс хамгийн бага элементийг нь сонгож байгаа учир сонгон эрэмбэлэх арга гэж нэрлэсэн юм. Е-Нээлттэй Институт www.emust.edu.mn 43
  • 44.
    2. Aлгоритм: ALGORITM b) SelectionSort-Сонгон эрэмблэх алгоритм 50 80 40 60 30 70 10 90 20 Эхний алхамд ХБ=10 тул 50-тай солигдоно 10 80 40 60 30 70 50 90 20 ХБ=20 тул 80-тай солигдоно. 10 20 40 60 30 70 50 90 80 ХБ=30 тул 40-тай солигдоно. 10 20 30 60 40 70 50 90 80 ХБ=40 тул 60-тай солигдоно. 10 20 30 40 60 70 50 90 80 ХБ=50 тул 60-тай солигдоно. 10 20 30 40 50 70 60 90 80 ХБ=60 тул 70-тай солигдоно. 10 20 30 40 50 60 70 90 80 ХБ=70 тул 70-тай солигдоно. 10 20 30 40 50 60 70 90 80 ХБ=80 тул 90-тай солигдоно. Е-Нээлттэй Институт www.emust.edu.mn 44
  • 45.
    2. Aлгоритм: ALGORITM c) Оруулан эрэмблэх алгоритм Энэ арга нь сонгон эрэмбэлэх аргыг бодвол илүү уян хатан, үр ашигтай юм. Уг аргын үндсэн үйлдэл нь эрэмбэлэгдсэн массивт эрэмбэлэлтийг алдагдуулахгүйгээр шинэ элемент оруулах үйлдлээр тодорхойлогдоно. Өөрөөр хэлбэл эрэмбэлэгдсэн элементүүдийн шинэ элементээс их элементийг нэг байрлал баруун тийш шилжүүлэх байдлаар орвол зохих байрлалыг чөлөөлж өгдөг. Е-Нээлттэй Институт www.emust.edu.mn 45
  • 46.
    2. Aлгоритм: ALGORITM c) Оруулан эрэмблэх алгоритм 50 80 40 60 30 70 10 90 20 Эхний элементийг эрэмбэлэгдсэн массив гэж үзье. Тэгвэл дараагийн алхамд 2 дахь элементийг оруулах үйлдэл гүйцэтгэгдэнэ Е-Нээлттэй Институт www.emust.edu.mn 50 80 40 50 80 40 50 60 80 30 40 50 60 80 30 40 50 60 70 80 10 30 40 50 60 70 80 10 30 40 50 60 70 80 90 46
  • 47.
    Е-Нээлттэй Институт www.emust.edu.mn Алгоритмыг компьютерийн ойлгох хэлрүү хөрвүүлэх ажлыг алгоритмын нэвтрүүлэлт буюу програмчлал гэнэ. 3. Програмчлал 47
  • 48.
    3. Програмчлал: PROGRAMING • Доод төвшний програмчлалын хэл (Low-level programming language) • Дээд төвшний програмчлалын хэл (High-level programming language) Е-Нээлттэй Институт www.emust.edu.mn 48
  • 49.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES (High-level programming language) (a) Procedural languages Жишээ нь: Fortran,COBOL,Pascal,BASIC,C, PL/I, (b) Object-oriented languages Жишээ нь: Java,C++ (c) Script languages Жишээ нь: ECMAScript, Perl,PHP,Python,Ruby (d) Markup language Жишээ нь: HTML, XML Е-Нээлттэй Институт www.emust.edu.mn 49
  • 50.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES (a) Procedural languages FORTRAN - FORmula TRANslator IBM (International Business Machines, АНУ) компанид, эрдэмтэн Жон Бэкусын (John Backus) удирдсан ЭШ-ний баг физик, математик, инженерийн шинжлэх ухааны тооцоо хийх зориулалтаар бүтээсэн. Е-Нээлттэй Институт www.emust.edu.mn Жишээ нь, a=5 ба b=3 байхад c=a+b 50
  • 51.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES (a) Procedural languages BASIC – (Beginner’s All Purpose Symbolic Instruction Code) 1965 онд Дартмудын коллежийн (Dartmouth College, АНУ) математикчид Жон Кемени (John Kemeny), Томас Курц (Thomas Kurtz) нар зохиосон Е-Нээлттэй Институт www.emust.edu.mn Жишээ нь, a=5 ба b=3 байхад c=a+bz 51
  • 52.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES c) (a) Procedural languages Pascal Цюрихын технологийн дээд сургуулийн (Щвейцар) эрдэмтэн Никлаус Вирт (Nicklaus Wirth) 1970-аад онд оюутнуудыг програмчлалд сургах зориулалтаар бүтээсэн. Програмчлалын Паскаль хэл маш амжилттай зохиогдсон учраас сургалтын хүрээнээс халин гарч, түгээмэл хэрэглэгдэгч алгоритмын хэл болсон. Е-Нээлттэй Институт www.emust.edu.mn Жишээ нь, a=5 ба b=3 байхад c=a+b 52
  • 53.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES (a) Procedural languages C хэл 1970-аад онд AT&T компанийн Беллийн лабораторийн (Bell Laboratories, АНУ) э.ш.а. Деннис Ритчи (Dennis Ritchie) Unix үйлдлийн системд програмчлах зорилгоор бүтээсэн байна. Си хэл нь, доод төвшний програмчлал болон дээд төвшний програмчлалын давуу талуудыг жигд агуулсан учраас заримдаа дунд төвшний програмчлалын хэл гэдэг. Алгоритмын хэлүүд дундаас хамгийн өргөн тархсан, хүчирхэг хэл. Е-Нээлттэй Институт www.emust.edu.mn Жишээ нь, a=5 ба b=3 байхад c=a+b 53
  • 54.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES Object-oriented languages C++ C хэл бол C++ ийн дэд олонлог гэж ойлгож болно. Эхлээд С гэж процедур хандалтадат хэл гэж байж байгаад дараагаар нь түүнд объект хандалтад програмчлалын технологийг нэвтрүүлж өгсөнөөрөө С++ болсон байна. Е-Нээлттэй Институт www.emust.edu.mn Жишээ нь, a=5 ба b=3 байхад c=a+b 54
  • 55.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES d) Object-oriented languages Е-Нээлттэй Институт www.emust.edu.mn JAVA JAVA бол Sun Microsystems корпорацийн бүтээсэн програмчлалын хэл бөгөөд хамгийн анх 1995 онд түүнийг олон нийтэд танилцуулжээ. Жава-г бүтээхдээ С ба С++ хэлийн онцлог, бичиглэлийг хүчтэй тусган авсан бөгөөд 2006 оны үеэс эхлэн Жава програмчлалын систем нь Java EE, Java ME, Java Se гэж 3 хуваагдах болсон юм. Жишээ нь: 55
  • 56.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES Markup language HTML HTML гэдэг бол HyperText Markup Language гэсэн үгний товчлол бөгөөд HTML бол урдчилан тодорхойлсон тагуудаар мэдээлэл дүрслэдэг. Мөн вэб хуудас хэрхэн харагдах хэлбэрийг өөрчилж чаддагараа давуу талтай. Гэвч текстийн хэлбэр дүрс гэх мэтийг дэлгэцэнд гаргахад CSS (Cascading Style Sheet) Javascript зэргийг XML, HTML- 2ланд нь ашигладаг байна. Е-Нээлттэй Институт www.emust.edu.mn 56
  • 57.
    4. Програмчлалын хэл: PROGRAMING LANGUAGES Markup language XML Програмчлалд маш өргөн хэрэглэгдэж байгаа хэл бол XML юм. Энэ нь Extensible Markup Language гэсэн үгний товчлол. HTML бол урдчилан тодорхойлсон тагуудаар мэдээлэл дүрслэдэг бол XML хэрэглэгч өөртөө хэрэгтэй байгаа тагуудыг үүсгэн мэдээллээ дүрслэнэ Жишээ: Энэ мэдээллийг програмын аргаар уншиж мэдээллийг авах үйлдлийг parsing гэнэ. XML parser гэвэл XML-ийг уншиж мэдээллийг авагч гэж ойлгож болно Е-Нээлттэй Институт www.emust.edu.mn 57
  • 58.

Editor's Notes