SlideShare une entreprise Scribd logo
1  sur  81
www.emust.edu.mn
Мэдээллийн Технологийн
хэрэглээ - I
ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ,
Е-НЭЭЛТТЭЙ ИНСТИТУТ
Код: U.IT101
Е-Нээлттэй Институт
www.emust.edu.mn
IT101- Мэдээллийн Технологийн хэрэглээ - I
Сэдэв: Өгөгдлийн бүтэц, Алгоритм
Е-Нээлттэй Институт
www.emust.edu.mn
Агуулга:
01
02
01 Өгөгдлийн бүтэц
Алгоритм02
Програмчлал03
Програмчлалын хэлүүд04
Markup languages04
3
Е-Нээлттэй Институт
www.emust.edu.mn
ХИЧЭЭЛИЙН ЗОРИЛГО:
Энэ хичээлээр өгөгдлийн бүтэцийн үндэс,
зарчим, Алгоритмын талаар мэдэж авахаас гадна,
програмчлалын хэлний талаарх ойлголттой
болоход оршино.
4
Е-Нээлттэй Институт
www.emust.edu.mn
Компьютерийн ухааны анхны пионеруудын нэг
Н.Виртийн томьёолсноор Компьютерийн
програм бол Өгөгдлөл болон
Алгоритмын нэгдэл юм. Өөрөөр хэлбэл анхдагч
зүйл(өгөгдөл) дээр ямар боловсруулалт (алгоритм)
хийж асуудлын шийдлийг (програм) гаргаж авна.
Тэгвэл өгөгдлийг ойд хэрхэн
хадгалахыг өгөгдлийн дүрслэл харуулдаг.
Өгөгдөл өөрөө ямар элементүүдээс бүтдэг, тэдгээр
нь хоорондоо ямар холбоотой байгааг өгөгдлийн
бүтэц тодорхойлдог. Өгөгдлийн бүтэц, түүний
дүрслэл ямар байхаас боловсруулах алгоритм
хамаардаг.
Өгөгдлийн оновчтой бүтэц болон түүний
дүрслэл, алгоритмаар компьютериас бага нөөц
шаардсан, хурдан ажиллах, чанартай бүтээгдэхүүн
буюу програмыг бүтээж чадна.
1. Өгөгдлийн
бүтэц
5
Е-Нээлттэй Институт
www.emust.edu.mn
1. Өгөгдлийн бүтэц
Data structure
- Өгөгдөл. / Data/
Өгөгдөл /Data/ гэдэг нь тоо болон тэмдэгтүүдийн
цогц ба ямар нэг зорилгогүйгээр цуглуулсан
өгөгдөлийг хэлнэ.
6
Е-Нээлттэй Институт
www.emust.edu.mn
1. Өгөгдлийн бүтэц
Data structure
- Хувьсагч. / Variables /
Хувьсагч /Variables/ нь програмчлалын нэг чухал ойлголт
бөгөөд түр санах oйд ямар нэг утга (value) хадгалж, дэс
дараатай тооцоололд хэрэглэгдэгддэг. Тоон утга нь хэд ч байж
болох үл мэдэгдэх тоог хувьсагч гэнэ. Хувьсагч нь бүхэл,
бутархай тоон, тэмдэгт гэх мэт төрөлүүдтэй байдаг.
7
Жишээ нь: (а) тоо нь бүхэл тоон
төрлийн дурын тоо байна.
Int y, a; /Бүхэл тоон төрөл/
a=10;
y=10+10, y=20
Е-Нээлттэй Институт
www.emust.edu.mn
1. Өгөгдлийн бүтэц
Data structure
Өгөгдлийг компьютерийн санах ойд хадгалахад:
1. Өгөгдөл бүхлээрээ дараалсан байтуудад,
2. Тодорхой дараалалгүй энд тэнд тархсан байдлаар
хадгалах хоёр үндсэн зам байдаг. Санах ойд дараалсан
байдалтай өгөгдлийг МАССИВ, тархай байрлалтай
өгөгдлийг ХОЛБООСТ дүрслэлээр хадгалахад
тохиромжтой байдаг.
8
Е-Нээлттэй Институт
www.emust.edu.mn
1. Өгөгдлийн бүтэц
Data structure
- Массив. /Massive/
Массив буюу хүснэгт нь олон элемент өөртөө агуулах, элемент
тус бүр индексээр илэрхийлэгдэх энгийн өгөгдлийн бүтэц юм.
Массив нь нэртэй (name of array) байна. Массивын нэг
өгөгдлийг массивын элемент гэнэ. Элементүүд бүгд
дугаарлагдсан байна. Элементийн дугаарыг индекс (index)
гэнэ. Индекс нь 0-ээс эхлэнэ.
9
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Массивын хэрэглээ
Массив нь математикийн матрицыг программчлалын
хэлэнд илэрхийлдгээрээ ач холбогдолтой юм. Их
хэмжээний мэдээлэл, төрөл бүрийн статистик
өгөгдлийг боловсруулах программд массив ашиглах нь
тохиромжтой байдаг.
10
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Массивын төрөл, хэлбэрүүд:
Массив нь өгөгдөл учраас аль нэг үндсэн өгөгдлийн төрөлд
хамаарах ёстой. Энэ нь түүний элементийн төрлөөр
тодорхойлогдоно.
• Бүхэл тоон төрөл нь char, unsigned char, short, unsigned
short, int, unsigned int, long int, unsigned long гэх мэт
байна.
• Бодит тоон төрөл нь float, double, long double гэх мэт
байна.
11
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Массивын урт:
Массивын элементүүдийн тоог массивын урт /length/ гэдэг.
Компьютерийн санах ойн багтаамжаас шалтгаалан хэрэглэгч ямар ч
урттай массив зарлаж болно. Жишээлбэл бүхэл тоон int төрлийн 5
гэсэн урттай массив зарлалаа гэвэл түүний санах ойд эзлэх зай нь
10 байт болно. Учир нь int төрлийн нэг энгийн элемент 2 байт
болдог ба 5*2=10 болно. Үүнтэй адил зарчмаар, хэрэв бодит float
төрлийн 20 гэсэн урттай массив зарлавал, нэг энгийн float төрлийн
элемент 4 байт авах учраас 20*4=80 байт зай эзлэнэ.
12
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Массивын хэмжээс:
Нэг хэмжээст массив нь вектортой, хоёр хэмжээст
нь матрицтай төстэй юм. Ер нь бол массив хичнээн ч
хэмжээстэй байж болно.
нэг хэмжээст /1D - one dimensional/, хоёр хэмжээст
/2D - two dimensional/, гурван хэмжээст /3D - three
dimensional/ массив гэх мэтээр нэрлэдэг. Гурваас олон
хэмжээстэй (multidimensional) ч байж болно.
13
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Нэг хэмжээст массив
Бичигдэх хэлбэр нь өгөгдлийн_төрөл массивын_нэр [урт_1]
байна. Жишээ нь: Бүхэл тоон int төрлийн, 25 элементтэй, mas
нэртэй массивыг үзүүлэв (Зураг 1.2). Хамгийн эхний элемент 0
гэсэн индекстэй, хамгийн сүүлийн элемент 24 гэсэн индекстэй
байна.
Жишээ 1: int mas [25];
14
a[0] a[1] a[2] a[3] a[4] a[...] a[25]
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Хоёр хэмжээст массив 2D
Бичигдэх хэлбэр нь өгөгдлийн_төрөл массивын_нэр [урт_1]
[урт_2] байна. Дараах жишээнд бүхэл тоон int төрлийн, matrix
нэртэй, 3 мөр, 4 багантай 2D хэмжээст массивыг үзүүлэв. Matrix
массивын нийт элементийн тоо нь 3*4=12 байна. Жишээ 2:
Тогтмол утгатай массивд өгөгдөл хэрхэн байрласныг харуулав.
15
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Хоёр хэмжээст массив 2D
Жишээ 2: Тогтмол утгатай массивд өгөгдөл хэрхэн байрласныг харуулав.
int matrix [3] [4] = { {1}, {2, 3}, {4, 5, 6}};
16
Мөрийн индекс Баганы индекс
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Гурван хэмжээст массив 3D
Бичигдэх хэлбэр нь өгөгдлийн_төрөл массивын_нэр [урт_1]
[урт_2] [урт_3] байна. Мөр, багана дээр нэмэгдээд гурав дахь
хэмжээс гарч ирнэ. Хэрэв гурван хэмжээсийн уртууд нь адил бол
куб массив гэнэ. 3D массив идэвхжүүлэхдээ, массивын мөр бүр нь
хэд хэдэн баганад, харин багана бүр нь хэд хэдэн “өндөрт”
хуваагдана гэдгийг тооцож, мөр мөрөөр бүлэглэн { } бичиж, тус
бүрийн дотор нь дахиад багана баганаар бүлэглэн { } дотор анхны
утгуудыг бичдэг
17
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
Холбоост /Linked/:
Тархай салангид элементүүдийг нэгтгэж нэгдмэл нэг
өгөгдөл болгоход холбоосыг хэрэглэдэг. Холбоос гэдэг нь нэг
элементийн дараагийн дараагийн элемент санах ойн хаана
байгааг заасан хаяг юм. Элемент, холбоос гэсэн хосууд гинж
байдлаар залгагдаж өгөгдлийг бүрдүүлдэг. Нэг хосод хэдэн
холбоос байгаагаас нь хамааруулж дан болон давхар холбоост
дүрслэл үүсдэг. Давхар холбоосоор дараачийн элемент
төдийгүй өмнөх элементэд хүрч болдог.
18
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Жагсаалт/List/
Өгөгдлийн хамгийн түгээмэл бүтэц бол шугаман жагсаалт.
Жишээ: Оюутны нэрс, сурлагын дүн, хоолны цэс, номын нэрс
г.м. бүгд жагсаалт юм
19
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
Нэг холбоост жагсаалт /Single Linked List/:
Элемент буюу зангилаа нь өгөгдөл ба холбоос гэсэн 2 хэсгээс
тогтоно. Өгөгдөл нь бидний мэдэх өгөгдлийн стандарт
төрлүүдээр тодорхойлогдсон утга байх ба хэрэглэгчийн
тодорхойлсон төрөл байж болно. Харин холбоос нь заагч
төрөлтэй байх ба дараагийн зангилааны хаягийг заана. Нэг
холбоост жагсаалт нь тухайн элементээс өмнөх элементүүдийг
авах боломжгүй байдаг ба заагч ашиглан дараагийн
элементийг устгах, нэмэх үйлдэл хийж болно.
20
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
21
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
Хоёр холбоост жагсаалт /Double Linked List/
Энэ нь нэг холбоост жагсаалтын шийдэж чадаагүй өмнөх
элементээ авах асуудлыг шийдсэн боловч дурын элементэд
шууд хандах боломжгүй заагч ашиглан тухайн элементийн
өмнөх болон дараагийн элементүүдэд хандаж элемент нэмэх
болон устгах үйлдэлийг шийдсэн
22
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
23
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Стек /Stack/
Эхлэлд орсон нь сүүлд нь гарах зарчмаар зохион
байгуулагдсан өгөгдлийн бүтцийг стек гэнэ.
LIFO-Last In First Out
Амьдрал дээр стекийн жишээ маш олон Жишээ нь давхарлаж
хураасан таваг, бууны дайз г.м.
24
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Стек /Stack/ хэрэглээ
• Аравтын тооллын системийн тоог хоёртын тооллын системд шилжүүлэх
программын хувьд стекийг ашиглавал илүү тохиромжтой болох юм. Учир нь
энэ бодлогод ихэвчлэн массивыг ашигладаг ба энэ тохиолдолд үүссэн
хоёртын бичиглэл нь хөрвөсөн байдаг. Тиймээс түүнийг стект хадгалаад
дараа нь утгуудыг хэвлэнэ.
• Арифметик илэрхийлэлд хаалт зөв орсон эсэхийг стек ашиглан шалгаж
болно.
• Арифметик илэрхийллийг бодох хялбар арга нь Польш тэмдэглэгээнд
хөрвүүлж боддог. Энэ нь арифметик илэрхийллийг (posfix) Польш
тэмдэглэгээ (prefix) рүү шилжүүлээд дараа нь түүнийгээ стек ашиглан бодох
юм.
25
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
26
Польш тэмдэглэгээ
Энэ тэмдэглэгээний нэг онцлог нь хаалт ашигладаггүй
явдал юм. Жишээ нь: А+В илэрхийллийг АВ+ гэж бичнэ.
Польш тэмдэглэгээний давуу тал нь аливаа илэрхийллийн
завсрын утгуудыг стект хадгалан, илэрхийллийн тэмдэг
бүрийг зөвхөн нэг удаа уншин хялбархан аргаар боддогт
оршино.
Жишээ нь :
Y=
P=2,3,2,*,5,-,2,*,+,1,3,^,+,6,2,/,1,-,2,*,-,1,+
121263125232  *)/(^*)*(
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Queue –Дараалал
Эхэлж орсон нь эхэлж гарах зарчмаар зохион
байгуулагдсан өгөгдлийн бүтцийг дараалал гэнэ.
FIFO-First In First Out
27
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
28
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Tree – Moд
Зангилаанууд болон тэдгээрийг холбосон
холбоосуудаар дүрслэгдсэн өгөгдлийн
бүтэцийг мод гэнэ. Мод нь өгөгдлийг агуулах
зангилаа, өөр зангилаатай холбогдох
холбоосуудаас тогтоно.
29
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Tree – Moд
Модны хамгийн эхний зангилааг үндэс буюу язгуур /
үндсэн зангилаа / гэнэ. Модны онцлог нь үндсэн зангилаанаас
ямар нэг зангилаанд хүрэх ганц зам байна.
30
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Moд / Tree /
Модны замын урт нь модон дахь бүх зангилааны түвшингүүдийн
нийлбэрээр тодорхойлогддог. Жишээ нь: Дараах модны өндөр нь 3, урт
нь 0*1+1*3+2*3+3*1=12 байна.
Түвшин 0
Түвшин 1
Түвшин 2
Түвшин 3
31
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Хоёртын мод
Модны нэг зангилаанаас гарч болох дэд зангилааны
тоо нь хамгийн ихдээ 2 байх модыг хоёртын мод гэнэ.
32
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
- Хоёртын модонд элемент байрлуулах:
Жагсаалтын эхний элемент модны орой болох бөгөөд дараагийн
элементүүд модны орогоос их бол баруун дэд зангилаа, бага бол зүүн дэд
зангилаа үүсгэнэ. Жишээ нь: 50, 60, 40,72, 53, 22, 35, 41, 80, 57, 18
50
6040
725322
35
41
805718
33
Е-Нээлттэй Институт
www.emust.edu.mn
“Aлгоритм бол тодорхой үр дүн
гаргаж авахын тулд дараалан
гүйцэтгэх ёстой үйлдлүүдийн
жагсаалт юм. ”
2. Алгоритм
34
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Болк схем /Flow chart/
35
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Болк схем /Flow chart/
36
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Алгоритмын үндсэн бүтэц /Basic structures of algorithms/
• Шугаман Бүтэц /Sequence structures/
• Салаалсан бүтэц /Selection structures/
• Давталттай бүтэц /Repetition structures/
Эдгээр бүтэцүүдийг ашиглан нарын төвөгтэй
алгоритмыг илэрхийлэх боломжтой юм.
37
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Шугаман Бүтэц. /Sequence structures/
Дээрээс доош цуварсан бүтцийг алгоритмын
шугман бүтэц гэнэ. Энэ алгоритмын алхам бүр
зөвхөн нэг удаа дараалан гүйцэтгэгдэнэ.
38
Эхлэл
Процесс 1
Процесс 2
Төгсгөл
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Жишээ нь: Өгөгдсөн А, В тооны
нийлбэрийг олж утгыг С хувьсагчид олгох
шугаман алгоритмыг блок схемийг үзүүлэв.
39
Эхлэл
A,B
C =A+B
C
Төгсгөл
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Салаалсан бүтэц
Аль нэг алхамд нөхцлийг
шалгаж биелэлтээс
шалтгаалан дараагийн
үйлдлийг сонгодог. Хэрэв
нөхцөл үнэн бол үйлдэл 1,
худлаа бол үйлдэл 2
биелэгдэх замаар алгоритм
салаалан биелэгдэнэ
Салаалсан алгоритмын үед
нөхцөл нь >, <, =, <>, <=,
>= тэмдгүүд ашиглан
харьцааны үйлдлийг
гүйцэтгэнэ
40
Эхлэл
Процесс 1Процесс 1
Төгсгөл
Нөхцөл
Худал
Үнэн
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Салаалсан бүтэц
Жишээ нь: А тоо 100-с бага бол
100-р үржүүлж, их бол тухайн
тооноос 100-г хасаж гарсан тоог
хэвлэх алгоримтыг блок схемээр
илэрхийлэв
41
Эхлэл
A
A =A-100
A
Төгсгөл
А<100
A=A×100
Тийм Үгүй
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Давталттай бүтэц
Repetition structures
Алгоритмд нэг үйлдэл нь
тодорхой нөхцөл биелэгдэж
байгаа үед давтан хийгдэж
байгаа тохиолдлыг давталттай
алгоритм гэнэ. Давталттай
алгоритмын үед нөхцөл шалгах
блок заавал биелэгддэг
42
Эхлэл
Процесс 1
Процесс 2
Төгсгөл
Нөхцөл
Үнэн
Худал
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Давталттай бүтэц
Repetition structures
Жишээ нь: 1-20 хүртэлх
тоонуудаас сондгой тоог олох
алгоритмыг блок схемээр
илэрхийл.
43
Эхлэл
i,
Төгсгөл
i<20
i=i+2
Тийм
i=1
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Алгоритмын төрөл /Typical algorithms/
Хайлтын алгоритмууд.
- Шугаман хайлт. /Linear search/
Энэ арга нь хайлтын хамгийн энгийн арга юм. Зөвхөн хайж буй
элементийн утга мэдэгдэх бөгөөд олон хайлт явуулах
өгөгдлийн олонлогийн талаар ямар нэг мэдээлэл байхгүй үед
энэ аргыг ашиглана.
https://www.researchgate.net/publication/261879189_ndesnij_hajl
tyn_sistemijn_zohiomz_bolon_heregzlelt
44
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Хайх утга:
Хайлт явуулах олонлог:
45
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
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
23
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Хайх утга:
Хайлт явуулах олонлог:
50
23
i 0 1 2 3 4 5 6 7 8
утга
30 60 6 54 89 23 38 55 1
23Элемент олдлоо.
Буцаах утга: 5
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
-Хоёртын хайлт /Binary search/
Хоёртын хайлт буюу таллан хуваах арга нь Шугаман
хайлттай харьцуулбал илүү үр дүнтэй аргын нэг юм.
Энэ арга нь өгөгдлийг 2 хэсэгт хуваан, хайх
элемент аль хэсэгт байгааг тодорхойлдог.
51
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
-Энэ аргын үндсэн санаа нь:
1. Хайх элемент буюу Х тоо массивын дундаж элемент
мөн үү гэдгийг шалгах явдал юм. Хэрэв энэ нь үнэн
бол бодлогын шийд олдсон гэсэн үг.
2. Хэрэв тийм биш бол 2 тохиолдол байна.
52
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
а. Х нь дундаж элемент буюу голын элементээс бага
бол уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын
элементээс баруун тийш байрлах бүх
элементүүдийг хасах ба голын элементийн зүүн
талд орших хэсэгт хэрэглэх
Б. Х нь дундаж элемент буюу голын элементээс их бол
уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын
элементээс зүүн тийш байрлах элементийг хасаад
массивын баруун талд орших хэсэгт хэрэглэх
53
Е-Нээлттэй Институт
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
Хайх утга:
Хайлт явуулах олонлог:
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
Хайх утга:
Хайлт явуулах олонлог:
57
23
i 0 1 2 3 4 5 6 7 8 9
утга
1 2 10 23 24 50 66 73 74 89
Элемент олдлоо.
Буцаах утга: 3
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
a) Рекурс
Өөрөө өөрийгөө дуудан ажиллуулах хэлбэрээр
зохиогдсон програмыг рекурс програм гэнэ. Рекурс
програмаар ихэвчлэн рекурент томъёогоор өгөгдсөн бодлого
эсвэл рекурент аргаар гарч ирэх үр дүн бүхий асуудлыг
шийдэхэд ашигладаг.
58
Е-Нээлттэй Институт
www.emust.edu.mn
1. - Өгөгдлийн бүтэц
Data structure
59
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
a) Рекурс
60
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
a) Рекурс
61
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
Sorting algorithm /Эрэмбэлэлт алгоритмууд/
b) SelectionSort-Сонгон эрэмблэх алгоритм
Массив дахь хамгийн бага элементийг олж массивын
эхний элементтэй сольж , дараа нь удаах бага элементийг олж
массивын хоёр дахь элементтэй солих замаар массивын бүх
элемент эрэмбэлэгдэж дуустал үйлдлийг давтан гүйцэтгэнэ.
Энэ арга нь үлдэж байгаа хэсэг бүрээс хамгийн бага
элементийг нь сонгож байгаа учир сонгон эрэмбэлэх арга гэж
нэрлэсэн юм. https://www.toptal.com/developers/sorting-
algorithms
62
Е-Нээлттэй Институт
www.emust.edu.mn
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-тай солигдоно.
63
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
c) Оруулан эрэмблэх алгоритм
Энэ арга нь сонгон эрэмбэлэх аргыг бодвол илүү уян
хатан, үр ашигтай юм. Уг аргын үндсэн үйлдэл нь
эрэмбэлэгдсэн массивт эрэмбэлэлтийг алдагдуулахгүйгээр
шинэ элемент оруулах үйлдлээр тодорхойлогдоно. Өөрөөр
хэлбэл эрэмбэлэгдсэн элементүүдийн шинэ элементээс их
элементийг нэг байрлал баруун тийш шилжүүлэх байдлаар
орвол зохих байрлалыг чөлөөлж өгдөг.
64
Е-Нээлттэй Институт
www.emust.edu.mn
2. Aлгоритм:
ALGORITM
c) Оруулан эрэмблэх алгоритм
Эхний элементийг эрэмбэлэгдсэн массив гэж үзье. Тэгвэл дараагийн алхамд 2 дахь
элементийг оруулах үйлдэл гүйцэтгэгдэнэ
50 80 40 60 30 70 10 90 20
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
65
Е-Нээлттэй Институт
www.emust.edu.mn
Алгоритмыг компьютерийн ойлгох хэлрүү
хөрвүүлэх ажлыг алгоритмын
нэвтрүүлэлт буюу програмчлал гэнэ.
3. Програмчлал
66
Е-Нээлттэй Институт
www.emust.edu.mn
3. Програмчлал:
PROGRAMING
• Доод төвшний програмчлалын хэл
(Low-level programming language)
• Дээд төвшний програмчлалын хэл
(High-level programming language)
67
Е-Нээлттэй Институт
www.emust.edu.mn
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
68
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
(a) Procedural languages
FORTRAN - FORmula TRANslator
1950-IBM (International Business
Machines, АНУ) компанид, эрдэмтэн Жон
Бэкусын (John Backus) удирдсан ЭШ-ний
баг физик, математик, инженерийн
шинжлэх ухааны тооцоо хийх
зориулалтаар бүтээсэн.
Жишээ нь, a=5 ба b=3
байхад c=a+b
69
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
(a) Procedural languages
BASIC – (Beginner’s All Purpose
Symbolic Instruction Code)
1965 онд Дартмудын коллежийн
(Dartmouth College, АНУ) математикчид
Жон Кемени (John Kemeny), Томас Курц
(Thomas Kurtz) нар зохиосон
Жишээ нь, a=5 ба b=3
байхад c=a+bz
70
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
c) (a) Procedural languages
Pascal
Цюрихын технологийн дээд сургуулийн
(Щвейцар) эрдэмтэн Никлаус Вирт
(Nicklaus Wirth) 1970-аад онд оюутнуудыг
програмчлалд сургах зориулалтаар
бүтээсэн. Програмчлалын Паскаль хэл маш
амжилттай зохиогдсон учраас сургалтын
хүрээнээс халин гарч, түгээмэл
хэрэглэгдэгч алгоритмын хэл болсон.
Жишээ нь, a=5 ба b=3
байхад c=a+b
71
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
(a) Procedural languages
C хэл
1969-өөс 1973 онд AT&T компанийн
Беллийн лабораторийн (Bell Laboratories,
АНУ) э.ш.а. Деннис Ритчи (Dennis Ritchie)
Unix үйлдлийн системд програмчлах
зорилгоор бүтээсэн байна. Си хэл нь, доод
төвшний програмчлал болон дээд төвшний
програмчлалын давуу талуудыг жигд
агуулсан учраас заримдаа дунд төвшний
програмчлалын хэл гэдэг. Алгоритмын
хэлүүд дундаас хамгийн өргөн тархсан,
хүчирхэг хэл.
Жишээ нь, a=5 ба b=3
байхад c=a+b
72
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
Object-oriented languages
C++
C хэл бол C++ ийн дэд олонлог гэж ойлгож
болно. Эхлээд С гэж процедур хандалтадат
хэл гэж байж байгаад дараагаар нь түүнд
объект хандалтад програмчлалын
технологийг нэвтрүүлж өгсөнөөрөө С++
болсон байна.
Жишээ нь, a=5 ба b=3
байхад c=a+b
73
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
d) Object-oriented languages
JAVA
JAVA бол Sun Microsystems корпорацийн бүтээсэн програмчлалын хэл
бөгөөд хамгийн анх 1995 онд түүнийг олон нийтэд танилцуулжээ. Жава-г
бүтээхдээ С ба С++ хэлийн онцлог, бичиглэлийг хүчтэй тусган авсан
бөгөөд 2006 оны үеэс эхлэн Жава програмчлалын систем нь Java EE, Java
ME, Java Se гэж 3 хуваагдах болсон юм.
Жишээ нь:
74
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
Markup language
HTML
HTML гэдэг бол HyperText Markup
Language гэсэн үгний товчлол бөгөөд
HTML бол урдчилан тодорхойлсон
тагуудаар мэдээлэл дүрслэдэг. Мөн вэб
хуудас хэрхэн харагдах хэлбэрийг өөрчилж
чаддагараа давуу талтай. Гэвч текстийн
хэлбэр дүрс гэх мэтийг дэлгэцэнд гаргахад
CSS (Cascading Style Sheet) Javascript
зэргийг XML, HTML- 2ланд нь ашигладаг
байна.
75
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
Markup language
XML
Програмчлалд маш өргөн
хэрэглэгдэж байгаа хэл бол XML юм. Энэ нь
Extensible Markup Language гэсэн үгний
товчлол. HTML бол урдчилан тодорхойлсон
тагуудаар мэдээлэл дүрслэдэг бол XML
хэрэглэгч өөртөө хэрэгтэй байгаа тагуудыг
үүсгэн мэдээллээ дүрслэнэ Жишээ:
Энэ мэдээллийг програмын аргаар
уншиж мэдээллийг авах үйлдлийг parsing
гэнэ. XML parser гэвэл XML-ийг уншиж
мэдээллийг авагч гэж ойлгож болно
76
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
Мобайл програмчлал:
Хөдөлгөөнт холбооны зах зээл дээр Nokia, Apple (iPad, iPhone), Sony
Ericsson, Samsung, Motorola, Black Berry зэрэг компаниуд өөрсдийн
бүтээгдэхүүнээ борлуулахын тулд илүү дэвшилтэд, технологийн
програмчлалыг өөртөө агуулсан ухаалаг гар утасуудыг зохион
бүтээсээр байна. Гар утасыг хэрэглэхэд ойлгомжтой, найдвартай үйл
ажиллагаатай болгохын тулд гар утасанд зориулсан үйлдлийн
системийг боловсруулан, хөгжүүлсэний үр дүнд одоо бидний ашиглаж
байгаа ухаалаг гар утасууд хэрэглээнд нэвтэрсэн.
77
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
Мобайл програмчлал:
Гар утасны үйлдлийн системүүдэд Android, iOS, Eature, webOS,
Windows Mobile, Windows Phone, BlackBerry OS, Symbian, Maemo,
MeeGo, Bada, Palm8 Tizen зэрэг үйлдлийн системүүд хамаарагдана.
(Mobile Operating System
[https://en.wikipedia.org/wiki/Mobile_operating_system ]
Эдгээр үйлдлийн системүүд нь дараах програмчлалын хэлүүд дээр
зохиогдсон тоглоом бусад апп-уудыг ашигладаг.
Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT), Widgets ба
Standard C/C++ програмчлалын хэлүүдийг ашиглан хөгжүүлэгдэнэ.
78
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
Жишээ нь: Андройд үйлдлийн систем.
• Жава хэл дээр хөгжүүлэгдэнэ.
• Нээлттэй эх кодтой.
• Онлайн программуудтай илүү нэгтгэгдсэн.
• Илүү хурдан.
• Flash програмчлалыг дэмжинэ.
• Дурын гар утасны операторуудад нээлттэй.
• Илүү олон файлын форматыг дэмждэг.
• Хакердах шаардлагагүй.
https://en.wikipedia.org/wiki/Android_%28operating_system%29
79
Е-Нээлттэй Институт
www.emust.edu.mn
4. Програмчлалын хэл:
PROGRAMING LANGUAGES
2.1.1AOKP Android Open Kang Project
2.1.2ColorOS
2.1.3CyanogenMod
2.1.4Cyanogen OS
2.1.5EMUI Emotion User Interface
2.1.6Flyme OS
2.1.7HTC Sense
2.1.8LineageOS
2.1.9MIUI
2.1.10LG UX
2.1.11OxygenOS
2.1.12TouchWiz
2.1.13ZenUI
80
• АНХААРАЛ ТАВЬСАНД БАЯРЛАЛАА.

Contenu connexe

Tendances

U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12Badral Khurelbaatar
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсБямбаа Авирмэд
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsАлдарболд Э.
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиenhsaran_tsahim
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10Badral Khurelbaatar
 
Microsoft excel програм гарын авлага
Microsoft excel програм гарын авлагаMicrosoft excel програм гарын авлага
Microsoft excel програм гарын авлагаEnkhjargalDashdorjEn
 
Dsi lec5
Dsi lec5Dsi lec5
Dsi lec5ggmo86
 
мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9Khishighuu Myanganbuu
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2Badral Khurelbaatar
 
Adobe photoshop
Adobe photoshopAdobe photoshop
Adobe photoshopAkhyt
 
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголтЖавзмаа Ж
 

Tendances (20)

U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
 
User requirements
User requirementsUser requirements
User requirements
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р анги
 
It101 lects 2
It101 lects 2It101 lects 2
It101 lects 2
 
Datastructure algoritm
Datastructure algoritmDatastructure algoritm
Datastructure algoritm
 
Assembler helnii command
Assembler helnii commandAssembler helnii command
Assembler helnii command
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
Pp Lect1 1
Pp Lect1 1Pp Lect1 1
Pp Lect1 1
 
Microsoft excel програм гарын авлага
Microsoft excel програм гарын авлагаMicrosoft excel програм гарын авлага
Microsoft excel програм гарын авлага
 
Presentation1
Presentation1Presentation1
Presentation1
 
Dsi lec5
Dsi lec5Dsi lec5
Dsi lec5
 
Sw203 Lecture6 Inheritance
Sw203 Lecture6 InheritanceSw203 Lecture6 Inheritance
Sw203 Lecture6 Inheritance
 
мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2
 
Adobe photoshop
Adobe photoshopAdobe photoshop
Adobe photoshop
 
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
 
Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10
 
U.it101 lab 4
U.it101 lab 4U.it101 lab 4
U.it101 lab 4
 

En vedette (20)

It101-3
It101-3It101-3
It101-3
 
It101 lec7
It101 lec7It101 lec7
It101 lec7
 
It101 lec6
It101 lec6It101 lec6
It101 lec6
 
U.it101 lecture9
U.it101 lecture9U.it101 lecture9
U.it101 lecture9
 
Lects 12
Lects 12Lects 12
Lects 12
 
It101-5
It101-5It101-5
It101-5
 
It101-1
It101-1It101-1
It101-1
 
It101 lecture-8
It101 lecture-8It101 lecture-8
It101 lecture-8
 
It101-4
It101-4It101-4
It101-4
 
Lab 2
Lab 2Lab 2
Lab 2
 
Lab 7
Lab 7Lab 7
Lab 7
 
Lab 4
Lab 4Lab 4
Lab 4
 
Lab 13
Lab 13Lab 13
Lab 13
 
Lab 12
Lab 12Lab 12
Lab 12
 
Lab 8
Lab 8Lab 8
Lab 8
 
U.IT101 Lab 10,11
U.IT101 Lab 10,11U.IT101 Lab 10,11
U.IT101 Lab 10,11
 
Lab 14
Lab 14Lab 14
Lab 14
 
Lab 1
Lab 1Lab 1
Lab 1
 
Lab-7
Lab-7Lab-7
Lab-7
 
U.IT101 Lab 9
U.IT101 Lab 9U.IT101 Lab 9
U.IT101 Lab 9
 

Similaire à It101-2

Лекц-6
Лекц-6Лекц-6
Лекц-6taivna
 
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõNamkhainyambuu Gan-Erdene
 
Mtm sx database
Mtm sx   databaseMtm sx   database
Mtm sx databaseBabaa Naya
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9 Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-15
U.cs101   алгоритм программчлал-15U.cs101   алгоритм программчлал-15
U.cs101 алгоритм программчлал-15Badral Khurelbaatar
 
It101 lab9
It101 lab9It101 lab9
It101 lab9BPurev
 
Бямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах нь
Бямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах ньБямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах нь
Бямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах ньerdmiinshuvuu
 
Ж.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭ
Ж.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭЖ.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭ
Ж.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭbatnasanb
 

Similaire à It101-2 (20)

Лекц-6
Лекц-6Лекц-6
Лекц-6
 
It101 lec6 10.06
It101 lec6 10.06It101 lec6 10.06
It101 lec6 10.06
 
U.it101 lec6 2017.03.09
U.it101 lec6 2017.03.09U.it101 lec6 2017.03.09
U.it101 lec6 2017.03.09
 
It101 lect16
It101 lect16It101 lect16
It101 lect16
 
It101 16
It101 16It101 16
It101 16
 
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
 
Mtm sx database
Mtm sx   databaseMtm sx   database
Mtm sx database
 
Uzuulen 1.1-11b
Uzuulen 1.1-11bUzuulen 1.1-11b
Uzuulen 1.1-11b
 
Ms access
Ms accessMs access
Ms access
 
Nuur
NuurNuur
Nuur
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9
 
U.cs101 алгоритм программчлал-15
U.cs101   алгоритм программчлал-15U.cs101   алгоритм программчлал-15
U.cs101 алгоритм программчлал-15
 
Rdbms 300 test
Rdbms 300 testRdbms 300 test
Rdbms 300 test
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
It101-lab9
It101-lab9It101-lab9
It101-lab9
 
10 b oyunchuluun
10 b oyunchuluun10 b oyunchuluun
10 b oyunchuluun
 
Blog ooad-tod
Blog ooad-todBlog ooad-tod
Blog ooad-tod
 
Бямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах нь
Бямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах ньБямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах нь
Бямбатогтохын Ууганцэцэг-Өгөгдлийн тандалтын зарим аргыг судлах нь
 
Ж.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭ
Ж.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭЖ.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭ
Ж.ЗАНДАРГИЙРАА - МЕТА ӨГӨГДӨЛ БА ТҮҮНИЙ ХЭРЭГЛЭЭ
 

Plus de Ganbaatar ch

Plus de Ganbaatar ch (15)

It101 lec15
It101 lec15It101 lec15
It101 lec15
 
It101 lec16
It101 lec16It101 lec16
It101 lec16
 
It101 lec13
It101 lec13It101 lec13
It101 lec13
 
It101 lec14
It101 lec14It101 lec14
It101 lec14
 
Business strategy 10
Business strategy 10Business strategy 10
Business strategy 10
 
Sw206 lec
Sw206 lecSw206 lec
Sw206 lec
 
Lab 16
Lab 16Lab 16
Lab 16
 
Lab 15
Lab 15Lab 15
Lab 15
 
U.cs101 лаборатори 12
U.cs101 лаборатори 12U.cs101 лаборатори 12
U.cs101 лаборатори 12
 
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
 
U.cs101 laboratory 10
U.cs101 laboratory 10U.cs101 laboratory 10
U.cs101 laboratory 10
 
U.cs101 laborator 9
U.cs101 laborator 9U.cs101 laborator 9
U.cs101 laborator 9
 
U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1
 
U.cs101 лаборатори 8
U.cs101 лаборатори 8U.cs101 лаборатори 8
U.cs101 лаборатори 8
 
SW206 labo
SW206 laboSW206 labo
SW206 labo
 

It101-2

  • 1. www.emust.edu.mn Мэдээллийн Технологийн хэрэглээ - I ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ, Е-НЭЭЛТТЭЙ ИНСТИТУТ Код: U.IT101
  • 2. Е-Нээлттэй Институт www.emust.edu.mn IT101- Мэдээллийн Технологийн хэрэглээ - I Сэдэв: Өгөгдлийн бүтэц, Алгоритм
  • 3. Е-Нээлттэй Институт www.emust.edu.mn Агуулга: 01 02 01 Өгөгдлийн бүтэц Алгоритм02 Програмчлал03 Програмчлалын хэлүүд04 Markup languages04 3
  • 4. Е-Нээлттэй Институт www.emust.edu.mn ХИЧЭЭЛИЙН ЗОРИЛГО: Энэ хичээлээр өгөгдлийн бүтэцийн үндэс, зарчим, Алгоритмын талаар мэдэж авахаас гадна, програмчлалын хэлний талаарх ойлголттой болоход оршино. 4
  • 5. Е-Нээлттэй Институт www.emust.edu.mn Компьютерийн ухааны анхны пионеруудын нэг Н.Виртийн томьёолсноор Компьютерийн програм бол Өгөгдлөл болон Алгоритмын нэгдэл юм. Өөрөөр хэлбэл анхдагч зүйл(өгөгдөл) дээр ямар боловсруулалт (алгоритм) хийж асуудлын шийдлийг (програм) гаргаж авна. Тэгвэл өгөгдлийг ойд хэрхэн хадгалахыг өгөгдлийн дүрслэл харуулдаг. Өгөгдөл өөрөө ямар элементүүдээс бүтдэг, тэдгээр нь хоорондоо ямар холбоотой байгааг өгөгдлийн бүтэц тодорхойлдог. Өгөгдлийн бүтэц, түүний дүрслэл ямар байхаас боловсруулах алгоритм хамаардаг. Өгөгдлийн оновчтой бүтэц болон түүний дүрслэл, алгоритмаар компьютериас бага нөөц шаардсан, хурдан ажиллах, чанартай бүтээгдэхүүн буюу програмыг бүтээж чадна. 1. Өгөгдлийн бүтэц 5
  • 6. Е-Нээлттэй Институт www.emust.edu.mn 1. Өгөгдлийн бүтэц Data structure - Өгөгдөл. / Data/ Өгөгдөл /Data/ гэдэг нь тоо болон тэмдэгтүүдийн цогц ба ямар нэг зорилгогүйгээр цуглуулсан өгөгдөлийг хэлнэ. 6
  • 7. Е-Нээлттэй Институт www.emust.edu.mn 1. Өгөгдлийн бүтэц Data structure - Хувьсагч. / Variables / Хувьсагч /Variables/ нь програмчлалын нэг чухал ойлголт бөгөөд түр санах oйд ямар нэг утга (value) хадгалж, дэс дараатай тооцоололд хэрэглэгдэгддэг. Тоон утга нь хэд ч байж болох үл мэдэгдэх тоог хувьсагч гэнэ. Хувьсагч нь бүхэл, бутархай тоон, тэмдэгт гэх мэт төрөлүүдтэй байдаг. 7 Жишээ нь: (а) тоо нь бүхэл тоон төрлийн дурын тоо байна. Int y, a; /Бүхэл тоон төрөл/ a=10; y=10+10, y=20
  • 8. Е-Нээлттэй Институт www.emust.edu.mn 1. Өгөгдлийн бүтэц Data structure Өгөгдлийг компьютерийн санах ойд хадгалахад: 1. Өгөгдөл бүхлээрээ дараалсан байтуудад, 2. Тодорхой дараалалгүй энд тэнд тархсан байдлаар хадгалах хоёр үндсэн зам байдаг. Санах ойд дараалсан байдалтай өгөгдлийг МАССИВ, тархай байрлалтай өгөгдлийг ХОЛБООСТ дүрслэлээр хадгалахад тохиромжтой байдаг. 8
  • 9. Е-Нээлттэй Институт www.emust.edu.mn 1. Өгөгдлийн бүтэц Data structure - Массив. /Massive/ Массив буюу хүснэгт нь олон элемент өөртөө агуулах, элемент тус бүр индексээр илэрхийлэгдэх энгийн өгөгдлийн бүтэц юм. Массив нь нэртэй (name of array) байна. Массивын нэг өгөгдлийг массивын элемент гэнэ. Элементүүд бүгд дугаарлагдсан байна. Элементийн дугаарыг индекс (index) гэнэ. Индекс нь 0-ээс эхлэнэ. 9
  • 10. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Массивын хэрэглээ Массив нь математикийн матрицыг программчлалын хэлэнд илэрхийлдгээрээ ач холбогдолтой юм. Их хэмжээний мэдээлэл, төрөл бүрийн статистик өгөгдлийг боловсруулах программд массив ашиглах нь тохиромжтой байдаг. 10
  • 11. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Массивын төрөл, хэлбэрүүд: Массив нь өгөгдөл учраас аль нэг үндсэн өгөгдлийн төрөлд хамаарах ёстой. Энэ нь түүний элементийн төрлөөр тодорхойлогдоно. • Бүхэл тоон төрөл нь char, unsigned char, short, unsigned short, int, unsigned int, long int, unsigned long гэх мэт байна. • Бодит тоон төрөл нь float, double, long double гэх мэт байна. 11
  • 12. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Массивын урт: Массивын элементүүдийн тоог массивын урт /length/ гэдэг. Компьютерийн санах ойн багтаамжаас шалтгаалан хэрэглэгч ямар ч урттай массив зарлаж болно. Жишээлбэл бүхэл тоон int төрлийн 5 гэсэн урттай массив зарлалаа гэвэл түүний санах ойд эзлэх зай нь 10 байт болно. Учир нь int төрлийн нэг энгийн элемент 2 байт болдог ба 5*2=10 болно. Үүнтэй адил зарчмаар, хэрэв бодит float төрлийн 20 гэсэн урттай массив зарлавал, нэг энгийн float төрлийн элемент 4 байт авах учраас 20*4=80 байт зай эзлэнэ. 12
  • 13. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Массивын хэмжээс: Нэг хэмжээст массив нь вектортой, хоёр хэмжээст нь матрицтай төстэй юм. Ер нь бол массив хичнээн ч хэмжээстэй байж болно. нэг хэмжээст /1D - one dimensional/, хоёр хэмжээст /2D - two dimensional/, гурван хэмжээст /3D - three dimensional/ массив гэх мэтээр нэрлэдэг. Гурваас олон хэмжээстэй (multidimensional) ч байж болно. 13
  • 14. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Нэг хэмжээст массив Бичигдэх хэлбэр нь өгөгдлийн_төрөл массивын_нэр [урт_1] байна. Жишээ нь: Бүхэл тоон int төрлийн, 25 элементтэй, mas нэртэй массивыг үзүүлэв (Зураг 1.2). Хамгийн эхний элемент 0 гэсэн индекстэй, хамгийн сүүлийн элемент 24 гэсэн индекстэй байна. Жишээ 1: int mas [25]; 14 a[0] a[1] a[2] a[3] a[4] a[...] a[25]
  • 15. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Хоёр хэмжээст массив 2D Бичигдэх хэлбэр нь өгөгдлийн_төрөл массивын_нэр [урт_1] [урт_2] байна. Дараах жишээнд бүхэл тоон int төрлийн, matrix нэртэй, 3 мөр, 4 багантай 2D хэмжээст массивыг үзүүлэв. Matrix массивын нийт элементийн тоо нь 3*4=12 байна. Жишээ 2: Тогтмол утгатай массивд өгөгдөл хэрхэн байрласныг харуулав. 15
  • 16. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Хоёр хэмжээст массив 2D Жишээ 2: Тогтмол утгатай массивд өгөгдөл хэрхэн байрласныг харуулав. int matrix [3] [4] = { {1}, {2, 3}, {4, 5, 6}}; 16 Мөрийн индекс Баганы индекс
  • 17. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Гурван хэмжээст массив 3D Бичигдэх хэлбэр нь өгөгдлийн_төрөл массивын_нэр [урт_1] [урт_2] [урт_3] байна. Мөр, багана дээр нэмэгдээд гурав дахь хэмжээс гарч ирнэ. Хэрэв гурван хэмжээсийн уртууд нь адил бол куб массив гэнэ. 3D массив идэвхжүүлэхдээ, массивын мөр бүр нь хэд хэдэн баганад, харин багана бүр нь хэд хэдэн “өндөрт” хуваагдана гэдгийг тооцож, мөр мөрөөр бүлэглэн { } бичиж, тус бүрийн дотор нь дахиад багана баганаар бүлэглэн { } дотор анхны утгуудыг бичдэг 17
  • 18. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure Холбоост /Linked/: Тархай салангид элементүүдийг нэгтгэж нэгдмэл нэг өгөгдөл болгоход холбоосыг хэрэглэдэг. Холбоос гэдэг нь нэг элементийн дараагийн дараагийн элемент санах ойн хаана байгааг заасан хаяг юм. Элемент, холбоос гэсэн хосууд гинж байдлаар залгагдаж өгөгдлийг бүрдүүлдэг. Нэг хосод хэдэн холбоос байгаагаас нь хамааруулж дан болон давхар холбоост дүрслэл үүсдэг. Давхар холбоосоор дараачийн элемент төдийгүй өмнөх элементэд хүрч болдог. 18
  • 19. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Жагсаалт/List/ Өгөгдлийн хамгийн түгээмэл бүтэц бол шугаман жагсаалт. Жишээ: Оюутны нэрс, сурлагын дүн, хоолны цэс, номын нэрс г.м. бүгд жагсаалт юм 19
  • 20. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure Нэг холбоост жагсаалт /Single Linked List/: Элемент буюу зангилаа нь өгөгдөл ба холбоос гэсэн 2 хэсгээс тогтоно. Өгөгдөл нь бидний мэдэх өгөгдлийн стандарт төрлүүдээр тодорхойлогдсон утга байх ба хэрэглэгчийн тодорхойлсон төрөл байж болно. Харин холбоос нь заагч төрөлтэй байх ба дараагийн зангилааны хаягийг заана. Нэг холбоост жагсаалт нь тухайн элементээс өмнөх элементүүдийг авах боломжгүй байдаг ба заагч ашиглан дараагийн элементийг устгах, нэмэх үйлдэл хийж болно. 20
  • 21. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure 21
  • 22. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure Хоёр холбоост жагсаалт /Double Linked List/ Энэ нь нэг холбоост жагсаалтын шийдэж чадаагүй өмнөх элементээ авах асуудлыг шийдсэн боловч дурын элементэд шууд хандах боломжгүй заагч ашиглан тухайн элементийн өмнөх болон дараагийн элементүүдэд хандаж элемент нэмэх болон устгах үйлдэлийг шийдсэн 22
  • 23. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure 23
  • 24. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Стек /Stack/ Эхлэлд орсон нь сүүлд нь гарах зарчмаар зохион байгуулагдсан өгөгдлийн бүтцийг стек гэнэ. LIFO-Last In First Out Амьдрал дээр стекийн жишээ маш олон Жишээ нь давхарлаж хураасан таваг, бууны дайз г.м. 24
  • 25. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Стек /Stack/ хэрэглээ • Аравтын тооллын системийн тоог хоёртын тооллын системд шилжүүлэх программын хувьд стекийг ашиглавал илүү тохиромжтой болох юм. Учир нь энэ бодлогод ихэвчлэн массивыг ашигладаг ба энэ тохиолдолд үүссэн хоёртын бичиглэл нь хөрвөсөн байдаг. Тиймээс түүнийг стект хадгалаад дараа нь утгуудыг хэвлэнэ. • Арифметик илэрхийлэлд хаалт зөв орсон эсэхийг стек ашиглан шалгаж болно. • Арифметик илэрхийллийг бодох хялбар арга нь Польш тэмдэглэгээнд хөрвүүлж боддог. Энэ нь арифметик илэрхийллийг (posfix) Польш тэмдэглэгээ (prefix) рүү шилжүүлээд дараа нь түүнийгээ стек ашиглан бодох юм. 25
  • 26. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure 26 Польш тэмдэглэгээ Энэ тэмдэглэгээний нэг онцлог нь хаалт ашигладаггүй явдал юм. Жишээ нь: А+В илэрхийллийг АВ+ гэж бичнэ. Польш тэмдэглэгээний давуу тал нь аливаа илэрхийллийн завсрын утгуудыг стект хадгалан, илэрхийллийн тэмдэг бүрийг зөвхөн нэг удаа уншин хялбархан аргаар боддогт оршино. Жишээ нь : Y= P=2,3,2,*,5,-,2,*,+,1,3,^,+,6,2,/,1,-,2,*,-,1,+ 121263125232  *)/(^*)*(
  • 27. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Queue –Дараалал Эхэлж орсон нь эхэлж гарах зарчмаар зохион байгуулагдсан өгөгдлийн бүтцийг дараалал гэнэ. FIFO-First In First Out 27
  • 28. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure 28
  • 29. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Tree – Moд Зангилаанууд болон тэдгээрийг холбосон холбоосуудаар дүрслэгдсэн өгөгдлийн бүтэцийг мод гэнэ. Мод нь өгөгдлийг агуулах зангилаа, өөр зангилаатай холбогдох холбоосуудаас тогтоно. 29
  • 30. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Tree – Moд Модны хамгийн эхний зангилааг үндэс буюу язгуур / үндсэн зангилаа / гэнэ. Модны онцлог нь үндсэн зангилаанаас ямар нэг зангилаанд хүрэх ганц зам байна. 30
  • 31. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Moд / Tree / Модны замын урт нь модон дахь бүх зангилааны түвшингүүдийн нийлбэрээр тодорхойлогддог. Жишээ нь: Дараах модны өндөр нь 3, урт нь 0*1+1*3+2*3+3*1=12 байна. Түвшин 0 Түвшин 1 Түвшин 2 Түвшин 3 31
  • 32. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Хоёртын мод Модны нэг зангилаанаас гарч болох дэд зангилааны тоо нь хамгийн ихдээ 2 байх модыг хоёртын мод гэнэ. 32
  • 33. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure - Хоёртын модонд элемент байрлуулах: Жагсаалтын эхний элемент модны орой болох бөгөөд дараагийн элементүүд модны орогоос их бол баруун дэд зангилаа, бага бол зүүн дэд зангилаа үүсгэнэ. Жишээ нь: 50, 60, 40,72, 53, 22, 35, 41, 80, 57, 18 50 6040 725322 35 41 805718 33
  • 34. Е-Нээлттэй Институт www.emust.edu.mn “Aлгоритм бол тодорхой үр дүн гаргаж авахын тулд дараалан гүйцэтгэх ёстой үйлдлүүдийн жагсаалт юм. ” 2. Алгоритм 34
  • 37. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Алгоритмын үндсэн бүтэц /Basic structures of algorithms/ • Шугаман Бүтэц /Sequence structures/ • Салаалсан бүтэц /Selection structures/ • Давталттай бүтэц /Repetition structures/ Эдгээр бүтэцүүдийг ашиглан нарын төвөгтэй алгоритмыг илэрхийлэх боломжтой юм. 37
  • 38. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Шугаман Бүтэц. /Sequence structures/ Дээрээс доош цуварсан бүтцийг алгоритмын шугман бүтэц гэнэ. Энэ алгоритмын алхам бүр зөвхөн нэг удаа дараалан гүйцэтгэгдэнэ. 38 Эхлэл Процесс 1 Процесс 2 Төгсгөл
  • 39. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Жишээ нь: Өгөгдсөн А, В тооны нийлбэрийг олж утгыг С хувьсагчид олгох шугаман алгоритмыг блок схемийг үзүүлэв. 39 Эхлэл A,B C =A+B C Төгсгөл
  • 40. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Салаалсан бүтэц Аль нэг алхамд нөхцлийг шалгаж биелэлтээс шалтгаалан дараагийн үйлдлийг сонгодог. Хэрэв нөхцөл үнэн бол үйлдэл 1, худлаа бол үйлдэл 2 биелэгдэх замаар алгоритм салаалан биелэгдэнэ Салаалсан алгоритмын үед нөхцөл нь >, <, =, <>, <=, >= тэмдгүүд ашиглан харьцааны үйлдлийг гүйцэтгэнэ 40 Эхлэл Процесс 1Процесс 1 Төгсгөл Нөхцөл Худал Үнэн
  • 41. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Салаалсан бүтэц Жишээ нь: А тоо 100-с бага бол 100-р үржүүлж, их бол тухайн тооноос 100-г хасаж гарсан тоог хэвлэх алгоримтыг блок схемээр илэрхийлэв 41 Эхлэл A A =A-100 A Төгсгөл А<100 A=A×100 Тийм Үгүй
  • 42. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Давталттай бүтэц Repetition structures Алгоритмд нэг үйлдэл нь тодорхой нөхцөл биелэгдэж байгаа үед давтан хийгдэж байгаа тохиолдлыг давталттай алгоритм гэнэ. Давталттай алгоритмын үед нөхцөл шалгах блок заавал биелэгддэг 42 Эхлэл Процесс 1 Процесс 2 Төгсгөл Нөхцөл Үнэн Худал
  • 43. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Давталттай бүтэц Repetition structures Жишээ нь: 1-20 хүртэлх тоонуудаас сондгой тоог олох алгоритмыг блок схемээр илэрхийл. 43 Эхлэл i, Төгсгөл i<20 i=i+2 Тийм i=1
  • 44. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Алгоритмын төрөл /Typical algorithms/ Хайлтын алгоритмууд. - Шугаман хайлт. /Linear search/ Энэ арга нь хайлтын хамгийн энгийн арга юм. Зөвхөн хайж буй элементийн утга мэдэгдэх бөгөөд олон хайлт явуулах өгөгдлийн олонлогийн талаар ямар нэг мэдээлэл байхгүй үед энэ аргыг ашиглана. https://www.researchgate.net/publication/261879189_ndesnij_hajl tyn_sistemijn_zohiomz_bolon_heregzlelt 44
  • 45. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Хайх утга: Хайлт явуулах олонлог: 45 23 i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 23
  • 46. Е-Нээлттэй Институт 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
  • 47. Е-Нээлттэй Институт 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
  • 48. Е-Нээлттэй Институт 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
  • 49. Е-Нээлттэй Институт 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
  • 50. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Хайх утга: Хайлт явуулах олонлог: 50 23 i 0 1 2 3 4 5 6 7 8 утга 30 60 6 54 89 23 38 55 1 23Элемент олдлоо. Буцаах утга: 5
  • 51. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM -Хоёртын хайлт /Binary search/ Хоёртын хайлт буюу таллан хуваах арга нь Шугаман хайлттай харьцуулбал илүү үр дүнтэй аргын нэг юм. Энэ арга нь өгөгдлийг 2 хэсэгт хуваан, хайх элемент аль хэсэгт байгааг тодорхойлдог. 51
  • 52. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM -Энэ аргын үндсэн санаа нь: 1. Хайх элемент буюу Х тоо массивын дундаж элемент мөн үү гэдгийг шалгах явдал юм. Хэрэв энэ нь үнэн бол бодлогын шийд олдсон гэсэн үг. 2. Хэрэв тийм биш бол 2 тохиолдол байна. 52
  • 53. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM а. Х нь дундаж элемент буюу голын элементээс бага бол уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын элементээс баруун тийш байрлах бүх элементүүдийг хасах ба голын элементийн зүүн талд орших хэсэгт хэрэглэх Б. Х нь дундаж элемент буюу голын элементээс их бол уг массив эрэмбэлэгдсэн гэдгийг тооцоод голын элементээс зүүн тийш байрлах элементийг хасаад массивын баруун талд орших хэсэгт хэрэглэх 53
  • 54. Е-Нээлттэй Институт 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
  • 55. Е-Нээлттэй Институт 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
  • 56. Е-Нээлттэй Институт 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
  • 57. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Хайх утга: Хайлт явуулах олонлог: 57 23 i 0 1 2 3 4 5 6 7 8 9 утга 1 2 10 23 24 50 66 73 74 89 Элемент олдлоо. Буцаах утга: 3
  • 58. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM a) Рекурс Өөрөө өөрийгөө дуудан ажиллуулах хэлбэрээр зохиогдсон програмыг рекурс програм гэнэ. Рекурс програмаар ихэвчлэн рекурент томъёогоор өгөгдсөн бодлого эсвэл рекурент аргаар гарч ирэх үр дүн бүхий асуудлыг шийдэхэд ашигладаг. 58
  • 59. Е-Нээлттэй Институт www.emust.edu.mn 1. - Өгөгдлийн бүтэц Data structure 59
  • 62. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM Sorting algorithm /Эрэмбэлэлт алгоритмууд/ b) SelectionSort-Сонгон эрэмблэх алгоритм Массив дахь хамгийн бага элементийг олж массивын эхний элементтэй сольж , дараа нь удаах бага элементийг олж массивын хоёр дахь элементтэй солих замаар массивын бүх элемент эрэмбэлэгдэж дуустал үйлдлийг давтан гүйцэтгэнэ. Энэ арга нь үлдэж байгаа хэсэг бүрээс хамгийн бага элементийг нь сонгож байгаа учир сонгон эрэмбэлэх арга гэж нэрлэсэн юм. https://www.toptal.com/developers/sorting- algorithms 62
  • 63. Е-Нээлттэй Институт www.emust.edu.mn 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-тай солигдоно. 63
  • 64. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM c) Оруулан эрэмблэх алгоритм Энэ арга нь сонгон эрэмбэлэх аргыг бодвол илүү уян хатан, үр ашигтай юм. Уг аргын үндсэн үйлдэл нь эрэмбэлэгдсэн массивт эрэмбэлэлтийг алдагдуулахгүйгээр шинэ элемент оруулах үйлдлээр тодорхойлогдоно. Өөрөөр хэлбэл эрэмбэлэгдсэн элементүүдийн шинэ элементээс их элементийг нэг байрлал баруун тийш шилжүүлэх байдлаар орвол зохих байрлалыг чөлөөлж өгдөг. 64
  • 65. Е-Нээлттэй Институт www.emust.edu.mn 2. Aлгоритм: ALGORITM c) Оруулан эрэмблэх алгоритм Эхний элементийг эрэмбэлэгдсэн массив гэж үзье. Тэгвэл дараагийн алхамд 2 дахь элементийг оруулах үйлдэл гүйцэтгэгдэнэ 50 80 40 60 30 70 10 90 20 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 65
  • 66. Е-Нээлттэй Институт www.emust.edu.mn Алгоритмыг компьютерийн ойлгох хэлрүү хөрвүүлэх ажлыг алгоритмын нэвтрүүлэлт буюу програмчлал гэнэ. 3. Програмчлал 66
  • 67. Е-Нээлттэй Институт www.emust.edu.mn 3. Програмчлал: PROGRAMING • Доод төвшний програмчлалын хэл (Low-level programming language) • Дээд төвшний програмчлалын хэл (High-level programming language) 67
  • 68. Е-Нээлттэй Институт www.emust.edu.mn 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 68
  • 69. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES (a) Procedural languages FORTRAN - FORmula TRANslator 1950-IBM (International Business Machines, АНУ) компанид, эрдэмтэн Жон Бэкусын (John Backus) удирдсан ЭШ-ний баг физик, математик, инженерийн шинжлэх ухааны тооцоо хийх зориулалтаар бүтээсэн. Жишээ нь, a=5 ба b=3 байхад c=a+b 69
  • 70. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES (a) Procedural languages BASIC – (Beginner’s All Purpose Symbolic Instruction Code) 1965 онд Дартмудын коллежийн (Dartmouth College, АНУ) математикчид Жон Кемени (John Kemeny), Томас Курц (Thomas Kurtz) нар зохиосон Жишээ нь, a=5 ба b=3 байхад c=a+bz 70
  • 71. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES c) (a) Procedural languages Pascal Цюрихын технологийн дээд сургуулийн (Щвейцар) эрдэмтэн Никлаус Вирт (Nicklaus Wirth) 1970-аад онд оюутнуудыг програмчлалд сургах зориулалтаар бүтээсэн. Програмчлалын Паскаль хэл маш амжилттай зохиогдсон учраас сургалтын хүрээнээс халин гарч, түгээмэл хэрэглэгдэгч алгоритмын хэл болсон. Жишээ нь, a=5 ба b=3 байхад c=a+b 71
  • 72. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES (a) Procedural languages C хэл 1969-өөс 1973 онд AT&T компанийн Беллийн лабораторийн (Bell Laboratories, АНУ) э.ш.а. Деннис Ритчи (Dennis Ritchie) Unix үйлдлийн системд програмчлах зорилгоор бүтээсэн байна. Си хэл нь, доод төвшний програмчлал болон дээд төвшний програмчлалын давуу талуудыг жигд агуулсан учраас заримдаа дунд төвшний програмчлалын хэл гэдэг. Алгоритмын хэлүүд дундаас хамгийн өргөн тархсан, хүчирхэг хэл. Жишээ нь, a=5 ба b=3 байхад c=a+b 72
  • 73. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES Object-oriented languages C++ C хэл бол C++ ийн дэд олонлог гэж ойлгож болно. Эхлээд С гэж процедур хандалтадат хэл гэж байж байгаад дараагаар нь түүнд объект хандалтад програмчлалын технологийг нэвтрүүлж өгсөнөөрөө С++ болсон байна. Жишээ нь, a=5 ба b=3 байхад c=a+b 73
  • 74. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES d) Object-oriented languages JAVA JAVA бол Sun Microsystems корпорацийн бүтээсэн програмчлалын хэл бөгөөд хамгийн анх 1995 онд түүнийг олон нийтэд танилцуулжээ. Жава-г бүтээхдээ С ба С++ хэлийн онцлог, бичиглэлийг хүчтэй тусган авсан бөгөөд 2006 оны үеэс эхлэн Жава програмчлалын систем нь Java EE, Java ME, Java Se гэж 3 хуваагдах болсон юм. Жишээ нь: 74
  • 75. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES Markup language HTML HTML гэдэг бол HyperText Markup Language гэсэн үгний товчлол бөгөөд HTML бол урдчилан тодорхойлсон тагуудаар мэдээлэл дүрслэдэг. Мөн вэб хуудас хэрхэн харагдах хэлбэрийг өөрчилж чаддагараа давуу талтай. Гэвч текстийн хэлбэр дүрс гэх мэтийг дэлгэцэнд гаргахад CSS (Cascading Style Sheet) Javascript зэргийг XML, HTML- 2ланд нь ашигладаг байна. 75
  • 76. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES Markup language XML Програмчлалд маш өргөн хэрэглэгдэж байгаа хэл бол XML юм. Энэ нь Extensible Markup Language гэсэн үгний товчлол. HTML бол урдчилан тодорхойлсон тагуудаар мэдээлэл дүрслэдэг бол XML хэрэглэгч өөртөө хэрэгтэй байгаа тагуудыг үүсгэн мэдээллээ дүрслэнэ Жишээ: Энэ мэдээллийг програмын аргаар уншиж мэдээллийг авах үйлдлийг parsing гэнэ. XML parser гэвэл XML-ийг уншиж мэдээллийг авагч гэж ойлгож болно 76
  • 77. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES Мобайл програмчлал: Хөдөлгөөнт холбооны зах зээл дээр Nokia, Apple (iPad, iPhone), Sony Ericsson, Samsung, Motorola, Black Berry зэрэг компаниуд өөрсдийн бүтээгдэхүүнээ борлуулахын тулд илүү дэвшилтэд, технологийн програмчлалыг өөртөө агуулсан ухаалаг гар утасуудыг зохион бүтээсээр байна. Гар утасыг хэрэглэхэд ойлгомжтой, найдвартай үйл ажиллагаатай болгохын тулд гар утасанд зориулсан үйлдлийн системийг боловсруулан, хөгжүүлсэний үр дүнд одоо бидний ашиглаж байгаа ухаалаг гар утасууд хэрэглээнд нэвтэрсэн. 77
  • 78. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES Мобайл програмчлал: Гар утасны үйлдлийн системүүдэд Android, iOS, Eature, webOS, Windows Mobile, Windows Phone, BlackBerry OS, Symbian, Maemo, MeeGo, Bada, Palm8 Tizen зэрэг үйлдлийн системүүд хамаарагдана. (Mobile Operating System [https://en.wikipedia.org/wiki/Mobile_operating_system ] Эдгээр үйлдлийн системүүд нь дараах програмчлалын хэлүүд дээр зохиогдсон тоглоом бусад апп-уудыг ашигладаг. Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT), Widgets ба Standard C/C++ програмчлалын хэлүүдийг ашиглан хөгжүүлэгдэнэ. 78
  • 79. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES Жишээ нь: Андройд үйлдлийн систем. • Жава хэл дээр хөгжүүлэгдэнэ. • Нээлттэй эх кодтой. • Онлайн программуудтай илүү нэгтгэгдсэн. • Илүү хурдан. • Flash програмчлалыг дэмжинэ. • Дурын гар утасны операторуудад нээлттэй. • Илүү олон файлын форматыг дэмждэг. • Хакердах шаардлагагүй. https://en.wikipedia.org/wiki/Android_%28operating_system%29 79
  • 80. Е-Нээлттэй Институт www.emust.edu.mn 4. Програмчлалын хэл: PROGRAMING LANGUAGES 2.1.1AOKP Android Open Kang Project 2.1.2ColorOS 2.1.3CyanogenMod 2.1.4Cyanogen OS 2.1.5EMUI Emotion User Interface 2.1.6Flyme OS 2.1.7HTC Sense 2.1.8LineageOS 2.1.9MIUI 2.1.10LG UX 2.1.11OxygenOS 2.1.12TouchWiz 2.1.13ZenUI 80

Notes de l'éditeur

  1. Cover 1