pl lecture5

Post on 06-Aug-2015

180 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

L o g o

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

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

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

L o g o

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

Агуулга

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

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

L o g o

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

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

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

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

if(нөхцөл)

үйлдэл;

else

үйлдэл;

L o g o

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

L o g o

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

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

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

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

L o g o

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

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

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

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

L o g o

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

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

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

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

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

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

L o g o

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

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

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

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

L o g o

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

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

1. while (нөхцөл)

үйлдэл;

2. do {

үйлдэл;

} while (нөхцөл);

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

Бүтэц:

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

int numbers[ ] = new int[ 10 ];

эсвэл

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

int[ ] numbers = new int[ 10 ];

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]+" ");

L o g o

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

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

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

Бүтэц:

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

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

эсвэл

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

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]+" ");

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

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]+" ");

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

L o g o

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

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

L o g o

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

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

L o g o

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

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

L o g o

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

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

L o g o

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

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

L o g o

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

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

L o g o

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

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

L o g o

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

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

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

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

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

L o g o

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

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

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

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

a[ 5 ] a[ i ]

L o g o

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

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

L o g o

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

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

L o g o

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

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

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}}};

L o g o

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

Шинэ үгс

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

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

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

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

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

L o g o

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

Шинэ үгс

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

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

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

Array: Массив.

Value: Утга.

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

L o g o

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

Шинэ үгс

principle: Зарчим.

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

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

if () { …. }

}

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

L o g o

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

Шинэ үгс

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

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

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

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

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

L o g o

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

Шинэ үгс

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

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

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

L o g o

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

Даалгавар

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

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

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

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

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

L o g o

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

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

top related