Top Banner
L o g o Програмчлалын хэл Улаанбаатар Их Сургууль 2015 он Өгөгдлийн бүтэц багш Б.Ганзориг
44

Pl lecture5

Aug 06, 2015

Download

Education

ganzorigb
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pl lecture5

L o g o

Програмчлалын хэл

Улаанбаатар Их Сургууль 2015 он

Өгөгдлийн бүтэцбагш Б.Ганзориг

Page 2: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Агуулга

Нөхцөл шалгах өгүүлбэрийн тухай3

Давталтын өгүүлбэрийн тухай4

Нөхцөл шалгах өгүүлбэрийг хэрэглэх шаардлага1

Давталтын өгүүлбэрийг ашиглах шаардлага2

Массивын тухай, хэрэглээ5

Санамсаргүй утга буцаадаг функц6

Page 3: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Нөхцөл шалгах өгүүлбэрийг хэрэглэх шаардлага

Компьютер нь хүн шиг харж, мэдэрч, сэтгэж, ойлгон ухаарч шийдвэр гаргаж чаддаггүй.

Компьютерийн гаргаж буй шийдвэр бүхэн нь тушаал зааварчилгаа байдаг бөгөөд энэ бүхнийг хүн л зааварчилж удирддаг.

Аливаа програмчлалын хэл нь маш олон нөхцөлүүдээс бүрдсэн байдаг.

Page 4: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Нөхцөл шалгах өгүүлбэрийг хэрэглэх шаардлага

Нөхцөл шалгах өгүүлбэр нь үнэн эсвэл худлаа гэсэн утга буцаадаг логик өгүүлбэр юм.

Компьютер нь бие даан шийдвэр гаргах чадваргүй байдаг бөгөөд командын үгний дагуу ажилладаг.

Харин энэ командын үгнүүдийг нөхцөлөөс хамааруулж зохистой хэрэглэдэг.

Page 5: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Нөхцөл шалгах өгүүлбэрийг хэрэглэх шаардлага

Програм зохиогчийн зүгээс мөрдөх ёстой хэд хэдэн дүрмүүд байдаг бөгөөд эдгээрийн нэг нь тухайн нэг тохиолдолд л зориулагдсан програм зохиохгүй байх явдал юм.

Тиймээс програмд ер нь л нөхцөл шалгах шаардлага гардаг. Харин шугаман програмчлалд хэрэггүй.

Page 6: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Нөхцөл шалгах өгүүлбэр гэж юу вэ?

Нөхцөл шалгах үйлдэл нь үнэн эсвэл худлаа гэсэн үр буцаадаг бөгөөд програмыг салаалуулж, үр дүнгээс хамааруулан ямар үйлдэл хийх ёстойг тодорхойлдог.

Бичигдэх хэлбэр:

if(нөхцөл)

үйлдэл;

else

үйлдэл;

Page 7: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрийг хэрэглэх шаардлага

Програм зохиож байх үед нэг болон бүлэг үйлдлийг олон дахин давтан бичих шаардлага гардаг.

Компьютер нь хүний хэрэгцээг хангах зорилгоор бүтээгдсэн байдаг.

Процессор нь бүлэг үйлдлүүдийг давтан бичих ажлыг хялбарханаар шийдэж чаддаг байхаар зохион бүтээгдсэн байдаг.

Page 8: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрийг хэрэглэх шаардлага

Програмд давталтын өгүүлбэрийг ашигласнаар олон дахин давтан бичих ажлыг халсан

Програмын кодын хэмжээ болон давхардлыг багасгасан.

Хэрвээ давталтын өгүүлбэрийг ашиглахгүйгээр тулгарсан асуудлыг шийдэх шаардлагатай бол ?

Page 9: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрийг хэрэглэх шаардлага

Цөөн тооны үйлдлийг дахин давтан бичих байдлаар шийдэж болно. Гэхдээ л цаг, хөдөлмөр!!!

Олон тооны үйлдлийг дахин давтан бичих байдлаар шийдэж мөн л болно. Гэхдээ асар их цаг, хөдөлмөр!!!

Бид тоолоход ч бэрх маш их өгөгдлийг маш олон удаа давтан бичих бол? Бараг боломжгүй, гэхдээ хэзээ нэгэн цагт дуусна. Гэхдээ энэ бол тэнэглэл!!!

Page 10: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрийг хэрэглэх шаардлага

Бүлэг үйлдлийг яг хэдэн удаа давтах нь тодорхойгүй бол яах вэ?

Энэ үед бид мухардалд хүрнэ. Хүн биелүүлэх боломжгүй. Давталтын өгүүлбэрийг ашиглахгүйгээр гүйцэтгэх боломжгүй.

Page 11: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрийг хэрэглэх шаардлага

Дээрх шалтгаануудаас давталтын өгүүлбэрийг зайлшгүй хэрэглэх шаардлага гарсан юм.

Бүлэг үйлдлийг давтан биелүүлэх процессийг давталт гэнэ.

Page 12: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын болон нөхцөл шалгах өгүүлбэрүүдийг хамтад нь хэрэглэх шаардлага

Нөхцөл шалгах үйлдэл нь програмын салшгүй хэсэг, програмыг уян хатан болгодог.

Давталтын өгүүлбэр нь програмын үйлдлийг цөөлөх, хэмжээ багасгах, өгөгдлийн давхардлыг багасгах, боломжгүй үйлдлийг гүйцэхгэх чадвартай. Мөн програмын нийт хэмжээг багасгаснаар програмын ажиллах хурдыг ихэсгэдэг.

Page 13: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын болон нөхцөл шалгах өгүүлбэрүүдийг хамтад нь хэрэглэх шаардлага

Програмд нөхцөл шалгах болон давталтын өгүүлбэрийг хослуулан хэрэглэснээр: Илүү уян хатан, хурдан, унших болон бичихэд хялбарчлагдсан, програмын тухайн нөхцөл байдалд тохируулан

шийдвэр гаргах чадвар сайжирсан, оролтын өгөгдлөөс хамаарч програмын үйл

ажиллагаанд үнэлгээ өгөх чадвар дээшилсэн, сайн програм болоход алхам алхамаар дөхсөн гэх

мэт давуу талуудыг бий болгодог.

Page 14: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын болон нөхцөл шалгах өгүүлбэрүүдийг хамтад нь хэрэглэх шаардлага

Давталтын өгүүлбэрийг зөв зохистой оновчтой хэрэглэж сурах нь програм зохиогч болох эхний том алхам юм.

Програмчлалын хэлнүүдэд үндсэн 3 төрлийн давталтын өгүүлбэр хэрэглэдэг. while do while for

Page 15: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрийн бичигдэх хэлбэр

1. while (нөхцөл)

үйлдэл;

2. do {

үйлдэл;

} while (нөхцөл);

3. for(эхлэх _утга; нөхцөл; давт_алхам)

Page 16: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Давталтын өгүүлбэрүүдийн тухай

Өмнөх нөхцөлтэй давталт буюу while,

Дараах нөхцөлтэй давталт буюу do while,

Үет давталт буюу for гэсэн эдгээр давталтын 3 өгүүлбэрийг програмд тулгарах нөхцөл байдлаас хамаарч тухайн үед аль тохиромжтойг нь хэрэглэх замаар програмчилдаг.

Page 17: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Массив нь програмд ашиглагддаг өгөгдлийн бүтцийн нэг хэлбэр бөгөөд нэг төрөлтэй хэсэг бүлэг өгөгдлүүдийн олонлог юм.

Програм бичих явцад тулгарах зарим асуудлуудаас шалтгаалан массивыг програмд хэрэглэх болсон. Ж.нь: Яг ямар байх нь тодорхойгүй, зарим

тохиолдолд яг хэд байх нь мөн тодорхойгүй харин ямар төрлийн байх нь тодорхой байх өгөгдлүүдтэй ажиллах тохиолдолд массивыг шууд хэрэглэх шаардлага гардаг.

Page 18: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Массивыг нэг хэмжээстэй, олон хэмжээстэй гэсэн үндсэн 2 хэлбэрээр ашигладаг.

Онолын хувьд массивыг хэдэнч хэмжээстэйгээр хийсвэрлэн дүрслэх боломжтой байдаг.

Массив нь: Массивын төрөл, массивын нэр, массивын хэмжээс, массивын элемент буюу утга гэсэн үндсэн 4 ухагдахуунтай.

Page 19: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Нэг төрлийн өгөгдлүүдийг агуулах боломжтой өгөгдлийн бүтэц юм.

Массивыг програмд ашиглахын өмнө хувьсагч шиг зарладаг.

Массивыг хэрхэн зарлах буюу тодорхойлох вэ?

Page 20: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Доор 10 ширхэг элементтэй нэг хэмжээстэй массивын жишээ үзүүллээ:

Бүтэц:

Төрөл МассивНэр[ ] = new Төрөл[ тоо ];

int numbers[ ] = new int[ 10 ];

эсвэл

Төрөл[ ] МассивНэр = new Төрөл[ тоо ];

int[ ] numbers = new int[ 10 ];

Page 21: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Массивыг програмд хэрхэн ашиглах тухай жишээгээр тайлбарлая.

int а[ ] = new int[100];

for(int i=0; i<n; i++)а[i] = (int)(Math.random()*99);

System.out.print(а[i]+" ");

Page 22: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Доор 10 ширхэг элементтэй хоёр хэмжээстэй массивын жишээ үзүүллээ:

Бүтэц:

Төрөл МассивНэр[ ] [ ] = new Төрөл [тоо] [тоо];

int numbers[ ] [ ] = new int [10] [10];

эсвэл

Төрөл[ ][ ] МассивНэр = new Төрөл [тоо] [тоо];int[ ][ ] numbers = new int [10] [10];

Page 23: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Массивыг програмд хэрхэн ашиглах тухай жишээгээр тайлбарлая.

int а[ ][ ] = new int [100] [100];

for(int i=0; i<n; i++) for(int j=0; j<n; j++)

а[i] [j]= (int)(Math.random()*99);

System.out.print(а[i] [j]+" ");

Дээрх массивыг квадрат массив гэнэ.

Page 24: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын тухай

Массивыг програмд хэрхэн ашиглах тухай жишээгээр тайлбарлая.

int а[ ][ ] = new int [100] [100];

for(int i=0; i<n; i++) for(int j=0; j<m; j++)

а[i] [j]= (int)(Math.random()*99);

System.out.print(а[i] [j]+" ");

Дээрх массивыг тэгш өнцөгт массив гэнэ.

Page 25: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 1

Page 26: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 2

Page 27: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 2

Page 28: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 3

Page 29: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 4

Page 30: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 5

Page 31: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 5 үр дүн

Page 32: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын элемент болон индексийн тухай

Массивын индекс нь 0 –оос эхлэн дугаарлагддаг.

int а[ 3 ]; гэж зарлавал а массив нь 4 элементтэй байна (0 дугаар элементийг оруулан).

Массивын элемент гэдэг бол тухайн индекст харгалзсан утга юм.

Page 33: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын элементэд хандах

Массивын элементэд хандахдаа хаалтан дотор нь элементийнх нь дугаарыг тавьж хандана.

Хаалтан дотор нь мөн бүхэл тоо буцаах арифметик илэрхийлэл байж болно.

a[ 5 ] a[ i ]

Page 34: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 6

Page 35: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 7

Page 36: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массив ашигласан жишээ 8

Page 37: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Массивын хэмжээсийн тухай

1 хэмжээст массив: int numbers[ ] = new int[ 3 ]; int a[ ] = {1, 2, 3};

2 хэмжээст массив: int numbers[ ][ ] = new int[3][3]; int a[][] = {{10,21,32}, {20, 21, 22 }, {30, 31, 32}}

3 хэмжээст массив: int numbers[ ][ ][ ] = new int[2][2][2]; int a[][][] = {{{1,1,1},{2,2,2},{3,3,3}},

{{4,4,4},{5,5,5},{6,6,6}}};

Page 38: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Шинэ үгс

Reference: Заалт. Функцийн аргумент дамжуулах үед хэрэглэгдвэл аргументийг хаягаар нь дамжуулах гэсэн утгатай болдог.

Row: Мөр. (массивын мөр)

Column: Багана. (массивын багана)

index: индекс. (массивын индекс)

Length: урт. (массивын элементийн тоонд хэрэглэгдсэн)

Page 39: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Шинэ үгс

Method: Функц. Классын функцийг хэлдэг.

Argument: Aргумент. Функцэд дамжуулагдах хувьсагч.

Parameter: Аргументтай адилхан.

Array: Массив.

Value: Утга.

Multidimentional: Олон хэмжээст. Multidimentional array: oлон хэмжээст массив

Page 40: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Шинэ үгс

principle: Зарчим.

concept: зарчим, онол.

Nested : Дотроо агуулсан. Nested if structure: if () { ….

if () { …. }

}

while: Зуур. Тэгэх ингэх зуур гэсэн утгатай.

Page 41: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Шинэ үгс

Counter: Тоолуур хувьсагч. (i = i +1 эсвэл i++) Давталт дотор хэд дэх үйлдэл хийгдэж байгааг бүртгэх зорилгоор хэрэглэгддэг.

Initial value: Анхны утга. Эхний утга.

loop: Нэг удаа давталт хийх. Давтах бичлэгүүдээ бүгдийг нь нэг удаа ажиллуулж давталтын эхэнд буцан ирэхийг loop гэж хэлнэ.

iteration: Итераци буюу цикл. Loop-тэй ижил.

enclose: хаших. Enclosed by { } => { } хаалтаар хашигдсан.

Page 42: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Шинэ үгс

while: Зуур. Тэгэх ингэх зуур гэсэн утгатай.

Counter: Тоолуур хувьсагч. (i = i +1 эсвэл i++) Давталт дотор хэд дэх үйлдэл хийгдэж байгааг бүртгэх зорилгоор хэрэглэгддэг.

Initial value: Анхны утга. Эхний утга.

Page 43: Pl lecture5

L o g o

Програмчлалын хэл Монгол Улаанбаатар Их Сургууль 2013 он

Даалгавар

n элементтэй массивын бүх элементүүдийн нийлбэрийг ол.

n элементтэй массивын бүх сондгой элементүүдийн нийлбэрийг ол.

n элементтэй массивын бүх сондгой индекстэй элементүүдийн нийлбэрийг ол.

Хоёр хэмжээст массивын бүх элементүүдийг тэгш хэмтэйгээр хэвлэдэг програм зохио.

Массивын i ба j-р элементүүдийн байрыг нь сольдог програм зохио.

Page 44: Pl lecture5

L o g o

Монгол Улаанбаатар Их Сургууль 2013 он

Програмчлалын хэл