SlideShare une entreprise Scribd logo
1  sur  52
А. Хүдэр
1Vanderbilt-ийн их сургууль 12/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх
while, for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон
continue үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт (энхмэнд, золжаргал)
2Vanderbilt-ийн их сургууль 12/16/2015
 Давталт
◦ Ямар нэг нөхцөл үнэн байхад компьютер давтан
биелүүлэх бүлэг команд
 Тоолуураар удирдагдах давталт
◦ Тодорхой давталт: давталт хэдэн удаа биелэгдэх
нь мэдэгдэнэ
◦ Давталтын тоог тоолох хяналтын хувьсагчтай
 Онцгой утга ашигласан давталт
◦ Тодорхойгүй давталт
◦ Давталтын тоо тодорхойгүй үед хэрэглэнэ
◦ Онцгой утга нь “өгөгдлийн төгсгөлийг” заана
3Vanderbilt-ийн их сургууль 12/16/2015
 Тоолуураар удирдагдах давталтын
шаардлага:
◦ Удирдлагын хувьсагчийн нэр (эсвэл давталтын
тоолуур)
◦ Удирдлагын хувьсагчийн анхны утга
◦ Давталтын явцад удирдлагын хувьсагч хэдээр
ихсэх (эсвэл багасах)
◦ Удирдлагын хувьсагчийн эцсийн утгыг шалгах
нөхцөл (өөрөөр хэлбэл давталт үргэлжлэх эсэхийг
шалгах)
Vanderbilt-ийн их сургууль 412/16/2015
 Жишээ:
int counter = 1; /* initialization */
while ( counter <= 10 ) { /* repetition condition */
printf( "%dn", counter );
++counter; /* increment */
}
 Үйлдэл
int counter = 1;
◦ counter гэж нэрлэнэ
◦ Бүхэл тоон төрөлтэй гэж зарлана
◦ Түүнд зориулж санах ойд зай нөөцлөнө
◦ Анхны утгыг нь 1 гэж заана
Vanderbilt-ийн их сургууль 512/16/2015
Vanderbilt-ийн их сургууль 612/16/2015
 Товч код
◦ Си дээр програмчлагчид кодоо хураангуйлдаг
◦ counter – т тэг утга олгоно
while ( ++counter <= 10 )
printf( “%dn, counter );
Vanderbilt-ийн их сургууль 712/16/2015
 Тоолуураар удирдагдах давталтыг
бутархай тоон хувьсагчаар удирдах нь
тоолуурын утгын болон дуусах нөхцлийн
нарийвчлалын асуудалд хүргэнэ
◦ Шалтгаан: бутархай тоон утга нь ойролцоо байж
болно
Vanderbilt-ийн их сургууль 812/16/2015
Vanderbilt-ийн их сургууль 912/16/2015
Vanderbilt-ийн их сургууль 1012/16/2015
 for давталтыг хэрэглэх хэлбэр
for(анхны утга;давталтыг үргэлжлүүлэх тест;нэмэгдүүлэлт)
үйлдэл
 Жишээ:
for(counter = 1; counter <= 10; counter++ )
printf( "%dn", counter );
 Нэгээс арав хүртлэх бүхэл тоонуудыг хэвлэнэ
Vanderbilt-ийн их сургууль 11
Энд цэгтэй таслал
тавихгүй
12/16/2015
 for давталтыг while давталтыг ашиглан
бичиж болно:
анхны утга олголт;
while(давталтыг үргэлжлүүлэх тест){
үйлдэл;
нэмэгдүүлэлт;
}
◦ Анхны утга олголт ба нэмэгдүүлэлт
 Таслалаар тусгаарлан жагсааж болно
 Жишээ:
for ( i = 0, j = 0; j + i <= 10; j++, i++)
printf( "%dn", j + i );
Vanderbilt-ийн их сургууль 1212/16/2015
 Арифметик илэрхийлэл
◦ Анхны утга олголт, давталтыг үргэлжлүүлэх болон
нэмэгдүүлэлт нь арифметик илэрхийлэл агуулж болно.
Хэрэв х нь 2-той тэнцүү, у нь 10-тай тэнцүү бол
for ( j = x; j <= 4 * x * y; j += y / x )
нь дараахтай ижил
for ( j = 2; j <= 80; j += 5 )
 for үйлдлийн тухай тайлбар:
◦ “Нэмэгдүүлэлт” нь сөрөг байж болно (хорогдуулалт)
◦ Хэрэв давталтыг үргэлжлүүлэх нөхцөл нь анхнаасаа
худал бол
 for давталтын бие биелэгдэхгүй
 Удирдлага for давталтын дараагийн үйлдэл рүү шилжинэ
◦ Удирдлагын хувьсагч
 for-ын бие дотор хэрэглэгдэх буюу хэвлэгдэнэ, гэвч заавал
ингэх шаардлагагүй
Vanderbilt-ийн их сургууль 1312/16/2015
 for давталтын бие дотор удирдлагын
хувьсагчийн утгыг өөрчилж болох боловч
энэ нь илрэхээргүй алдаанд хүргэж болно.
Иймд түүнийг өөрчлөхгүй байх хэрэгтэй.
Vanderbilt-ийн их сургууль 1412/16/2015
Vanderbilt-ийн их сургууль 1512/16/2015
Vanderbilt-ийн их сургууль 1612/16/2015
Vanderbilt-ийн их сургууль 1712/16/2015
 do…while давталтын үйлдэл
◦ while – тай төстэй
◦ Давталтын нөхцлийг давталтын бие дуусах бүрт
шалгана
 Бүх үйлдлүүд дор хаяж нэг удаа биелнэ
◦ Хэлбэр:
do {
үйлдэл;
} while ( нөхцөл );
Vanderbilt-ийн их сургууль 1812/16/2015
 Жишээ (counter=1 гэж үзье):
do {
printf( "%d ", counter );
} while (++counter <= 10);
◦ 1-ээс 10 хүртлэх тоог хэвлэнэ
Vanderbilt-ийн их сургууль 1912/16/2015
Vanderbilt-ийн их сургууль 2012/16/2015
Vanderbilt-ийн их сургууль 2112/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх
while, for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон
continue үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт
22Vanderbilt-ийн их сургууль 12/16/2015
 break
◦ while, for, do…while болон switch үйлдлээс шууд
гаргана
◦ Програмын биелэлт тухайн бүтцийн дараах эхний
үйлдэл рүү шилжинэ
◦ break үйлдлийн хэрэглээ
 Давталтаас дуусахаас нь өмнө гарах
 switch үйлдлийн үлдсэн хэсгийг алгасах
Vanderbilt-ийн их сургууль 2312/16/2015
Vanderbilt-ийн их сургууль 2412/16/2015
 continue
◦ while, for эсвэл do…while давталтын бие доторх
үлдсэн үйлдлүүдийг алгасна
 Давталтын дараагийн алхам руу шилжинэ
◦ while болон do..while
 continue үйлдэл биелсний дараа давталтыг
үргэлжлүүлэх тестийг шууд шалгана.
◦ for
 Нэмэгдүүлэх үйлдлийг гүйцэтгээд давталтыг
үргэлжлүүлэх тестийг шалгана
Vanderbilt-ийн их сургууль 2512/16/2015
Vanderbilt-ийн их сургууль 2612/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх
while, for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон
continue үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт
27Vanderbilt-ийн их сургууль 12/16/2015
 switch
◦ Хувьсагч эсвэл илэрхийллийн авч чадах утга бүрт
зориулан өөр өөр үйлдэл хийх гэж байгаа үед
тохиромжтой
 Хэлбэр
◦ Хэд хэдэн case тэмдэглэгээ ба заавал байх албагүй
default тохиолдлоос бүрдэнэ
switch(value){
case ‘1’:
үйлдлүүд
case ‘2’:
үйлдлүүд
default:
үйлдлүүд
}
◦ break үйлдлээс гарна
Vanderbilt-ийн их сургууль 2812/16/2015
Vanderbilt-ийн их сургууль 2912/16/2015
Vanderbilt-ийн их сургууль 3012/16/2015
Vanderbilt-ийн их сургууль 3112/16/2015
Vanderbilt-ийн их сургууль 3212/16/2015
Vanderbilt-ийн их сургууль 3312/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх
while, for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон
continue үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт
34Vanderbilt-ийн их сургууль 12/16/2015
 && (логик AND)
◦ Хоѐр нөхцөл хоѐулаа үнэн бол үнэн утга буцаана
 || (логик OR)
◦ Хоѐр нөхцлийн аль нэг нь үнэн бол үнэнг буцаана
 ! (логик NOT, логик үгүйсгэл)
◦ Нөхцлийн үнэн худлыг эсрэгээр өөрчилнө
◦ Унар оператор ба нэг л операндтай байна
 Давталтын нөхцлүүдэд хэрэглэхэд
тохиромжтой
Илэрхийлэл Үр дүн
true && false false
true || false true
!false true
Vanderbilt-ийн их сургууль 3512/16/2015
 && (логик AND) операторын үнэний хүснэгт
 || (логик OR) операторын үнэний хүснэгт
 ! (логик үгүйсгэл) операторын үнэний хүснэгт
Vanderbilt-ийн их сургууль 3612/16/2015
Vanderbilt-ийн их сургууль 3712/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх
while, for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон
continue үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт
38Vanderbilt-ийн их сургууль 12/16/2015
 Ноцтой алдаа
◦ Синтакс алдаанд тооцогддоггүй
◦ Үр дүн гаргах илэрхийлэл болгоныг удирдлагын
бүтцэд хэрэглэж болдог
◦ Тэг биш утгыг үнэн, тэгийг худал гэж үзнэ
◦ == - гийн жишээ:
if ( payCode == 4 )
printf( "You get a bonus!n" );
 payCode-ыг 4-тэй тэнцүү эсэхийг шалгаж, тэнцүү
бол шагнал олгоно
Vanderbilt-ийн их сургууль 3912/16/2015
 ==-г = болгож сольѐ:
if ( payCode = 4 )
printf( "You get a bonus!n" );
◦ Энэ нь payCode хувьсагчид 4 гэсэн утга олгоно
◦ 4 нь тэг биш учир уг илэрхийлэл үнэн болж
payCode хувьсагч ямар утгатай байснаас үл
хамааран шагналыг олгоно
 Энэ бол синтакс алдаа биш, логик алдаа юм
Vanderbilt-ийн их сургууль 4012/16/2015
 lvalue
◦ Тэнцүүгийн тэмдгийн зүүн талд байж чадах
илэрхийлэл
◦ Энэ нь хувьсагчийн нэр байж болно
 х = 4;
 rvalue
◦ Тэнцүүгийн тэмдгийн баруун талд байж чадах
илэрхийлэл
◦ Тогтмол тоо байж болно
 4 = х; гэж бичиж болохгүй
 х = 4; гэж бичих ѐстой
◦ lvalue-г rvalue болгон хэрэглэж болно, гэхдээ эсрэгээр
нь хэрэглэж болохгүй
 y = x;
Vanderbilt-ийн их сургууль 4112/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх
while, for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон
continue үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт
42Vanderbilt-ийн их сургууль 12/16/2015
Vanderbilt-ийн их сургууль 4312/16/2015
 Бүтцийн програмчлал
◦ Програмыг ойлгох, тестлэх, зүгшрүүлэх болон өөрчлөхөд
бүтэцгүй програмаас илүү тохиромжтой
 Бүтцийн програмчлалын дүрмүүд
◦ Програмчлалын нийгэмлэгээс хөгжүүлсэн
◦ Зөвхөн нэг оролт, нэг гаралттай удирдлагын бүтцүүдийг
хэрэглэдэг
◦ Дүрэм:
1. Хамгийн энгийн блок-схемээс эхлэнэ
2. Багцлах дүрэм: Дараалал дахь ямар ч тэгш өнцөгтийг (үйл
ажиллагаа) хоѐр тэгш өнцөгт (үйл ажиллагаа) болгож
болно.
3. Багтаах дүрэм: Тэгш өнцөгт бүрийг удирдлагын ямар нэг
бүтцээр сольж болно (дараалсан, if, if…else, switch, while,
do…while эсвэл for)
4. 2 ба 3-р дүрмийг ямар ч дарааллаар олон удаа хийж болно
Vanderbilt-ийн их сургууль 4412/16/2015
Vanderbilt-ийн их сургууль 45
Дүрэм 1 – Хамгийн энгийн блок-
схемээс эхлэх
Дүрэм 2 – Дараалал дахь ямар ч
тэгш өнцөгтийг хоѐр тэгш
өнцөгтөөр сольж болно
12/16/2015
Vanderbilt-ийн их сургууль 46
Дүрэм 3 – Ямар ч тэгш өнцөгтийг
удирдлагын бүтцээр сольж болно
12/16/2015
Vanderbilt-ийн их сургууль 4712/16/2015
Vanderbilt-ийн их сургууль 4812/16/2015
 Бүх програмыг гурван удирдлагад задалж
болно
◦ Дараалсан – хөрвүүлэгч автоматаар боловсруулна
◦ Сонголтын – if, if…else эсвэл switch
◦ Давталтын – while, do…while эсвэл for
 Зөвхөн хоѐр янзаар хослуулан ашиглаж болно
 Багтаах (Дүрэм 3)
 Багцлах (Дүрэм 2)
◦ Ямар ч сонголтын үйлдлийг if ашиглан бичиж
болох ба ямар ч давталтыг while ашиглан бичиж
болно
Vanderbilt-ийн их сургууль 4912/16/2015
 Үйлдлүүдийг програмд давтан биелүүлэх while,
for, do...while давталтын үйлдлүүд;
 Програмын удирдлагын урсгалыг өөрчлөх
програмын удирдлагын break болон continue
үйлдлүүд;
 switch сонголтын үйлдэл;
 Удирдлагын үйлдэл дотор нийлмэл нөхцөлт
илэрхийлэл үүсгэх логик операторууд
 Тэнцүүг шалгах болон утга олгох үйлдэл
 Бүтцийн програмчлалын хураангуй
 Дүгнэлт
50Vanderbilt-ийн их сургууль 12/16/2015
 Тоолуураар болон онцгой утгаар удирдагдах
давталтууд
 for давталт нь тоолуураар удирдагдах давталтын
бүх үйлдлийг гүйцэтгэж чадна
 Ихэнх тохиолдолд for давталтыг яг адил while
давталт болгож болно
 Анхны утга олголт, давталтыг үргэлжлүүлэх нөхцөл
болон нэмэгдүүлэлт (эсвэл хорогдуулалт)
 double өгөгдлийн төрөл нь float – тай төстэй төрөл
юм
 %21.2f хувиргалтын тодорхойлолт нь бутархай
тоог 21 тэмдэгтийн зайн дотор таслалаас хойш
хоѐр оронгийн нарийвчлалтайгаар хэвлэхийг заана
 break болон continue үйлдлүүд
Vanderbilt-ийн их сургууль 5112/16/2015
 switch олон сонголттой үйлдэл
 do…while давталтын үйлдэл
 && || ! логик үйлдлүүд
 Тэнцүүг шалгах == болон утга олгох =
үйлдэл
Vanderbilt-ийн их сургууль 5212/16/2015

Contenu connexe

Tendances

лекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалтлекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалт
E-Gazarchin Online University
 
u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1
Khuder Altangerel
 
мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9
Khishighuu Myanganbuu
 
мэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р ангимэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р анги
janchiw
 
Шугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогуудШугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогууд
Баярсайхан Л
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
Enkh Gvnj
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
Badral Khurelbaatar
 
Small basic үзүүлэн
Small basic үзүүлэнSmall basic үзүүлэн
Small basic үзүүлэн
baterden
 
програм хангамж
програм хангамжпрограм хангамж
програм хангамж
Baaya Badrakh
 
зурагтай ажиллах 7-р анги
зурагтай ажиллах 7-р ангизурагтай ажиллах 7-р анги
зурагтай ажиллах 7-р анги
O Onongoo
 

Tendances (20)

алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
 
лекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалтлекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалт
 
u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1
 
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тестмэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
 
мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9мэдээллэн загвар байгуулах.9
мэдээллэн загвар байгуулах.9
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
мэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р ангимэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р анги
 
бодлого C++
бодлого C++бодлого C++
бодлого C++
 
Шугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогуудШугаман алгоритмын бодлогууд
Шугаман алгоритмын бодлогууд
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
 
C cons
C consC cons
C cons
 
Small basic үзүүлэн
Small basic үзүүлэнSmall basic үзүүлэн
Small basic үзүүлэн
 
It101 1
It101 1It101 1
It101 1
 
компьютерийн сүлжээний техник хангамж
компьютерийн сүлжээний  техник хангамжкомпьютерийн сүлжээний  техник хангамж
компьютерийн сүлжээний техник хангамж
 
Програмчлалын хэл
Програмчлалын хэлПрограмчлалын хэл
Програмчлалын хэл
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
програм хангамж
програм хангамжпрограм хангамж
програм хангамж
 
зурагтай ажиллах 7-р анги
зурагтай ажиллах 7-р ангизурагтай ажиллах 7-р анги
зурагтай ажиллах 7-р анги
 

En vedette

U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2
Badral Khurelbaatar
 
Hmm Tutorial
Hmm TutorialHmm Tutorial
Hmm Tutorial
jefftang
 
researchpaperfinal1
researchpaperfinal1researchpaperfinal1
researchpaperfinal1
Sumit Bajaj
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9
Badral Khurelbaatar
 
Lecture4
Lecture4Lecture4
Lecture4
orgil
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
enhsaran_tsahim
 
Цалингийн бүртгэлийн систем
Цалингийн бүртгэлийн системЦалингийн бүртгэлийн систем
Цалингийн бүртгэлийн систем
Altangerel Bilguun
 

En vedette (20)

u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2
 
u.cs101 "Алгоритм ба програмчлал" Лекц №5
u.cs101 "Алгоритм ба програмчлал" Лекц №5u.cs101 "Алгоритм ба програмчлал" Лекц №5
u.cs101 "Алгоритм ба програмчлал" Лекц №5
 
u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4
 
u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2
 
Hmm Tutorial
Hmm TutorialHmm Tutorial
Hmm Tutorial
 
алгоритм
алгоритмалгоритм
алгоритм
 
researchpaperfinal1
researchpaperfinal1researchpaperfinal1
researchpaperfinal1
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9
 
U.cs101 лаборатори 5
U.cs101 лаборатори 5U.cs101 лаборатори 5
U.cs101 лаборатори 5
 
IOI 2016 "Молекул" бодлогын бодолт
IOI 2016 "Молекул" бодлогын бодолтIOI 2016 "Молекул" бодлогын бодолт
IOI 2016 "Молекул" бодлогын бодолт
 
Java lecture4
Java lecture4Java lecture4
Java lecture4
 
Lecture4
Lecture4Lecture4
Lecture4
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
лекц №6
лекц №6лекц №6
лекц №6
 
Java lecture4
Java lecture4Java lecture4
Java lecture4
 
Java lecture5
Java lecture5Java lecture5
Java lecture5
 
Цалингийн бүртгэлийн систем
Цалингийн бүртгэлийн системЦалингийн бүртгэлийн систем
Цалингийн бүртгэлийн систем
 

Similaire à u.cs101 "Алгоритм ба програмчлал" Лекц №3

Similaire à u.cs101 "Алгоритм ба програмчлал" Лекц №3 (11)

онол
онолонол
онол
 
Lec8 break
Lec8 breakLec8 break
Lec8 break
 
U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
 
Java lecture3
Java lecture3Java lecture3
Java lecture3
 
Ci hel
Ci helCi hel
Ci hel
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture7
Lecture7Lecture7
Lecture7
 
Pp Lect6 1
Pp Lect6 1Pp Lect6 1
Pp Lect6 1
 
Lecture6
Lecture6Lecture6
Lecture6
 

Plus de Khuder Altangerel

Plus de Khuder Altangerel (18)

Марковын далд загвар
Марковын далд загварМарковын далд загвар
Марковын далд загвар
 
Lec08 readerwriter
Lec08 readerwriterLec08 readerwriter
Lec08 readerwriter
 
Lec05 cooperating (1)
Lec05 cooperating (1)Lec05 cooperating (1)
Lec05 cooperating (1)
 
Lec16 io
Lec16 ioLec16 io
Lec16 io
 
Lec07 exclusion
Lec07 exclusionLec07 exclusion
Lec07 exclusion
 
Lec15 pagereplace last
Lec15 pagereplace lastLec15 pagereplace last
Lec15 pagereplace last
 
Lec14 demandpage
Lec14 demandpageLec14 demandpage
Lec14 demandpage
 
Lec13 cachetlb
Lec13 cachetlbLec13 cachetlb
Lec13 cachetlb
 
Lec12 translation
Lec12 translationLec12 translation
Lec12 translation
 
Lec11 protection
Lec11 protectionLec11 protection
Lec11 protection
 
Lec10 scheduling
Lec10 schedulingLec10 scheduling
Lec10 scheduling
 
Lec09 deadlock
Lec09 deadlockLec09 deadlock
Lec09 deadlock
 
Lec06 synchronization
Lec06 synchronizationLec06 synchronization
Lec06 synchronization
 
Lec04 threads
Lec04 threadsLec04 threads
Lec04 threads
 
Lec03 concurrency (2)
Lec03 concurrency (2)Lec03 concurrency (2)
Lec03 concurrency (2)
 
Lec02 structures (2)
Lec02 structures (2)Lec02 structures (2)
Lec02 structures (2)
 
Lec01 intro (1) (2)
Lec01 intro (1) (2)Lec01 intro (1) (2)
Lec01 intro (1) (2)
 
МХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадвар
МХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадварМХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадвар
МХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадвар
 

u.cs101 "Алгоритм ба програмчлал" Лекц №3

  • 1. А. Хүдэр 1Vanderbilt-ийн их сургууль 12/16/2015
  • 2.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт (энхмэнд, золжаргал) 2Vanderbilt-ийн их сургууль 12/16/2015
  • 3.  Давталт ◦ Ямар нэг нөхцөл үнэн байхад компьютер давтан биелүүлэх бүлэг команд  Тоолуураар удирдагдах давталт ◦ Тодорхой давталт: давталт хэдэн удаа биелэгдэх нь мэдэгдэнэ ◦ Давталтын тоог тоолох хяналтын хувьсагчтай  Онцгой утга ашигласан давталт ◦ Тодорхойгүй давталт ◦ Давталтын тоо тодорхойгүй үед хэрэглэнэ ◦ Онцгой утга нь “өгөгдлийн төгсгөлийг” заана 3Vanderbilt-ийн их сургууль 12/16/2015
  • 4.  Тоолуураар удирдагдах давталтын шаардлага: ◦ Удирдлагын хувьсагчийн нэр (эсвэл давталтын тоолуур) ◦ Удирдлагын хувьсагчийн анхны утга ◦ Давталтын явцад удирдлагын хувьсагч хэдээр ихсэх (эсвэл багасах) ◦ Удирдлагын хувьсагчийн эцсийн утгыг шалгах нөхцөл (өөрөөр хэлбэл давталт үргэлжлэх эсэхийг шалгах) Vanderbilt-ийн их сургууль 412/16/2015
  • 5.  Жишээ: int counter = 1; /* initialization */ while ( counter <= 10 ) { /* repetition condition */ printf( "%dn", counter ); ++counter; /* increment */ }  Үйлдэл int counter = 1; ◦ counter гэж нэрлэнэ ◦ Бүхэл тоон төрөлтэй гэж зарлана ◦ Түүнд зориулж санах ойд зай нөөцлөнө ◦ Анхны утгыг нь 1 гэж заана Vanderbilt-ийн их сургууль 512/16/2015
  • 7.  Товч код ◦ Си дээр програмчлагчид кодоо хураангуйлдаг ◦ counter – т тэг утга олгоно while ( ++counter <= 10 ) printf( “%dn, counter ); Vanderbilt-ийн их сургууль 712/16/2015
  • 8.  Тоолуураар удирдагдах давталтыг бутархай тоон хувьсагчаар удирдах нь тоолуурын утгын болон дуусах нөхцлийн нарийвчлалын асуудалд хүргэнэ ◦ Шалтгаан: бутархай тоон утга нь ойролцоо байж болно Vanderbilt-ийн их сургууль 812/16/2015
  • 11.  for давталтыг хэрэглэх хэлбэр for(анхны утга;давталтыг үргэлжлүүлэх тест;нэмэгдүүлэлт) үйлдэл  Жишээ: for(counter = 1; counter <= 10; counter++ ) printf( "%dn", counter );  Нэгээс арав хүртлэх бүхэл тоонуудыг хэвлэнэ Vanderbilt-ийн их сургууль 11 Энд цэгтэй таслал тавихгүй 12/16/2015
  • 12.  for давталтыг while давталтыг ашиглан бичиж болно: анхны утга олголт; while(давталтыг үргэлжлүүлэх тест){ үйлдэл; нэмэгдүүлэлт; } ◦ Анхны утга олголт ба нэмэгдүүлэлт  Таслалаар тусгаарлан жагсааж болно  Жишээ: for ( i = 0, j = 0; j + i <= 10; j++, i++) printf( "%dn", j + i ); Vanderbilt-ийн их сургууль 1212/16/2015
  • 13.  Арифметик илэрхийлэл ◦ Анхны утга олголт, давталтыг үргэлжлүүлэх болон нэмэгдүүлэлт нь арифметик илэрхийлэл агуулж болно. Хэрэв х нь 2-той тэнцүү, у нь 10-тай тэнцүү бол for ( j = x; j <= 4 * x * y; j += y / x ) нь дараахтай ижил for ( j = 2; j <= 80; j += 5 )  for үйлдлийн тухай тайлбар: ◦ “Нэмэгдүүлэлт” нь сөрөг байж болно (хорогдуулалт) ◦ Хэрэв давталтыг үргэлжлүүлэх нөхцөл нь анхнаасаа худал бол  for давталтын бие биелэгдэхгүй  Удирдлага for давталтын дараагийн үйлдэл рүү шилжинэ ◦ Удирдлагын хувьсагч  for-ын бие дотор хэрэглэгдэх буюу хэвлэгдэнэ, гэвч заавал ингэх шаардлагагүй Vanderbilt-ийн их сургууль 1312/16/2015
  • 14.  for давталтын бие дотор удирдлагын хувьсагчийн утгыг өөрчилж болох боловч энэ нь илрэхээргүй алдаанд хүргэж болно. Иймд түүнийг өөрчлөхгүй байх хэрэгтэй. Vanderbilt-ийн их сургууль 1412/16/2015
  • 18.  do…while давталтын үйлдэл ◦ while – тай төстэй ◦ Давталтын нөхцлийг давталтын бие дуусах бүрт шалгана  Бүх үйлдлүүд дор хаяж нэг удаа биелнэ ◦ Хэлбэр: do { үйлдэл; } while ( нөхцөл ); Vanderbilt-ийн их сургууль 1812/16/2015
  • 19.  Жишээ (counter=1 гэж үзье): do { printf( "%d ", counter ); } while (++counter <= 10); ◦ 1-ээс 10 хүртлэх тоог хэвлэнэ Vanderbilt-ийн их сургууль 1912/16/2015
  • 22.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт 22Vanderbilt-ийн их сургууль 12/16/2015
  • 23.  break ◦ while, for, do…while болон switch үйлдлээс шууд гаргана ◦ Програмын биелэлт тухайн бүтцийн дараах эхний үйлдэл рүү шилжинэ ◦ break үйлдлийн хэрэглээ  Давталтаас дуусахаас нь өмнө гарах  switch үйлдлийн үлдсэн хэсгийг алгасах Vanderbilt-ийн их сургууль 2312/16/2015
  • 25.  continue ◦ while, for эсвэл do…while давталтын бие доторх үлдсэн үйлдлүүдийг алгасна  Давталтын дараагийн алхам руу шилжинэ ◦ while болон do..while  continue үйлдэл биелсний дараа давталтыг үргэлжлүүлэх тестийг шууд шалгана. ◦ for  Нэмэгдүүлэх үйлдлийг гүйцэтгээд давталтыг үргэлжлүүлэх тестийг шалгана Vanderbilt-ийн их сургууль 2512/16/2015
  • 27.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт 27Vanderbilt-ийн их сургууль 12/16/2015
  • 28.  switch ◦ Хувьсагч эсвэл илэрхийллийн авч чадах утга бүрт зориулан өөр өөр үйлдэл хийх гэж байгаа үед тохиромжтой  Хэлбэр ◦ Хэд хэдэн case тэмдэглэгээ ба заавал байх албагүй default тохиолдлоос бүрдэнэ switch(value){ case ‘1’: үйлдлүүд case ‘2’: үйлдлүүд default: үйлдлүүд } ◦ break үйлдлээс гарна Vanderbilt-ийн их сургууль 2812/16/2015
  • 34.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт 34Vanderbilt-ийн их сургууль 12/16/2015
  • 35.  && (логик AND) ◦ Хоѐр нөхцөл хоѐулаа үнэн бол үнэн утга буцаана  || (логик OR) ◦ Хоѐр нөхцлийн аль нэг нь үнэн бол үнэнг буцаана  ! (логик NOT, логик үгүйсгэл) ◦ Нөхцлийн үнэн худлыг эсрэгээр өөрчилнө ◦ Унар оператор ба нэг л операндтай байна  Давталтын нөхцлүүдэд хэрэглэхэд тохиромжтой Илэрхийлэл Үр дүн true && false false true || false true !false true Vanderbilt-ийн их сургууль 3512/16/2015
  • 36.  && (логик AND) операторын үнэний хүснэгт  || (логик OR) операторын үнэний хүснэгт  ! (логик үгүйсгэл) операторын үнэний хүснэгт Vanderbilt-ийн их сургууль 3612/16/2015
  • 38.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт 38Vanderbilt-ийн их сургууль 12/16/2015
  • 39.  Ноцтой алдаа ◦ Синтакс алдаанд тооцогддоггүй ◦ Үр дүн гаргах илэрхийлэл болгоныг удирдлагын бүтцэд хэрэглэж болдог ◦ Тэг биш утгыг үнэн, тэгийг худал гэж үзнэ ◦ == - гийн жишээ: if ( payCode == 4 ) printf( "You get a bonus!n" );  payCode-ыг 4-тэй тэнцүү эсэхийг шалгаж, тэнцүү бол шагнал олгоно Vanderbilt-ийн их сургууль 3912/16/2015
  • 40.  ==-г = болгож сольѐ: if ( payCode = 4 ) printf( "You get a bonus!n" ); ◦ Энэ нь payCode хувьсагчид 4 гэсэн утга олгоно ◦ 4 нь тэг биш учир уг илэрхийлэл үнэн болж payCode хувьсагч ямар утгатай байснаас үл хамааран шагналыг олгоно  Энэ бол синтакс алдаа биш, логик алдаа юм Vanderbilt-ийн их сургууль 4012/16/2015
  • 41.  lvalue ◦ Тэнцүүгийн тэмдгийн зүүн талд байж чадах илэрхийлэл ◦ Энэ нь хувьсагчийн нэр байж болно  х = 4;  rvalue ◦ Тэнцүүгийн тэмдгийн баруун талд байж чадах илэрхийлэл ◦ Тогтмол тоо байж болно  4 = х; гэж бичиж болохгүй  х = 4; гэж бичих ѐстой ◦ lvalue-г rvalue болгон хэрэглэж болно, гэхдээ эсрэгээр нь хэрэглэж болохгүй  y = x; Vanderbilt-ийн их сургууль 4112/16/2015
  • 42.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт 42Vanderbilt-ийн их сургууль 12/16/2015
  • 44.  Бүтцийн програмчлал ◦ Програмыг ойлгох, тестлэх, зүгшрүүлэх болон өөрчлөхөд бүтэцгүй програмаас илүү тохиромжтой  Бүтцийн програмчлалын дүрмүүд ◦ Програмчлалын нийгэмлэгээс хөгжүүлсэн ◦ Зөвхөн нэг оролт, нэг гаралттай удирдлагын бүтцүүдийг хэрэглэдэг ◦ Дүрэм: 1. Хамгийн энгийн блок-схемээс эхлэнэ 2. Багцлах дүрэм: Дараалал дахь ямар ч тэгш өнцөгтийг (үйл ажиллагаа) хоѐр тэгш өнцөгт (үйл ажиллагаа) болгож болно. 3. Багтаах дүрэм: Тэгш өнцөгт бүрийг удирдлагын ямар нэг бүтцээр сольж болно (дараалсан, if, if…else, switch, while, do…while эсвэл for) 4. 2 ба 3-р дүрмийг ямар ч дарааллаар олон удаа хийж болно Vanderbilt-ийн их сургууль 4412/16/2015
  • 45. Vanderbilt-ийн их сургууль 45 Дүрэм 1 – Хамгийн энгийн блок- схемээс эхлэх Дүрэм 2 – Дараалал дахь ямар ч тэгш өнцөгтийг хоѐр тэгш өнцөгтөөр сольж болно 12/16/2015
  • 46. Vanderbilt-ийн их сургууль 46 Дүрэм 3 – Ямар ч тэгш өнцөгтийг удирдлагын бүтцээр сольж болно 12/16/2015
  • 49.  Бүх програмыг гурван удирдлагад задалж болно ◦ Дараалсан – хөрвүүлэгч автоматаар боловсруулна ◦ Сонголтын – if, if…else эсвэл switch ◦ Давталтын – while, do…while эсвэл for  Зөвхөн хоѐр янзаар хослуулан ашиглаж болно  Багтаах (Дүрэм 3)  Багцлах (Дүрэм 2) ◦ Ямар ч сонголтын үйлдлийг if ашиглан бичиж болох ба ямар ч давталтыг while ашиглан бичиж болно Vanderbilt-ийн их сургууль 4912/16/2015
  • 50.  Үйлдлүүдийг програмд давтан биелүүлэх while, for, do...while давталтын үйлдлүүд;  Програмын удирдлагын урсгалыг өөрчлөх програмын удирдлагын break болон continue үйлдлүүд;  switch сонголтын үйлдэл;  Удирдлагын үйлдэл дотор нийлмэл нөхцөлт илэрхийлэл үүсгэх логик операторууд  Тэнцүүг шалгах болон утга олгох үйлдэл  Бүтцийн програмчлалын хураангуй  Дүгнэлт 50Vanderbilt-ийн их сургууль 12/16/2015
  • 51.  Тоолуураар болон онцгой утгаар удирдагдах давталтууд  for давталт нь тоолуураар удирдагдах давталтын бүх үйлдлийг гүйцэтгэж чадна  Ихэнх тохиолдолд for давталтыг яг адил while давталт болгож болно  Анхны утга олголт, давталтыг үргэлжлүүлэх нөхцөл болон нэмэгдүүлэлт (эсвэл хорогдуулалт)  double өгөгдлийн төрөл нь float – тай төстэй төрөл юм  %21.2f хувиргалтын тодорхойлолт нь бутархай тоог 21 тэмдэгтийн зайн дотор таслалаас хойш хоѐр оронгийн нарийвчлалтайгаар хэвлэхийг заана  break болон continue үйлдлүүд Vanderbilt-ийн их сургууль 5112/16/2015
  • 52.  switch олон сонголттой үйлдэл  do…while давталтын үйлдэл  && || ! логик үйлдлүүд  Тэнцүүг шалгах == болон утга олгох = үйлдэл Vanderbilt-ийн их сургууль 5212/16/2015