SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

эукариот ба прокариот эс
эукариот ба прокариот эсэукариот ба прокариот эс
эукариот ба прокариот эсbyamba-1
 
оролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдоролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдerdenetuya_glu
 
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголтЖавзмаа Ж
 
механик ажил
механик ажилмеханик ажил
механик ажилnsuren1
 
оролтын төхөөрөмж
оролтын төхөөрөмжоролтын төхөөрөмж
оролтын төхөөрөмжjaagii_1980
 
Газар хөдлөлт
Газар хөдлөлт Газар хөдлөлт
Газар хөдлөлт enkhee lkhagwae
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3Badral Khurelbaatar
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэцMuuluu
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10Badral Khurelbaatar
 
мультмедиа технологи
мультмедиа технологимультмедиа технологи
мультмедиа технологиKhishighuu Myanganbuu
 
мэдээллийн технологи 1 хичээлийн хөтөлбөр
мэдээллийн технологи 1 хичээлийн хөтөлбөрмэдээллийн технологи 1 хичээлийн хөтөлбөр
мэдээллийн технологи 1 хичээлийн хөтөлбөрБатбагана Баасанжав
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиenhsaran_tsahim
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2тNarantungaa
 
ардчиллын үнэт зүйлүүд
ардчиллын үнэт зүйлүүдардчиллын үнэт зүйлүүд
ардчиллын үнэт зүйлүүдNergui Oyunchinmeg
 

Was ist angesagt? (20)

загвар гэж юу вэ
загвар гэж юу вэзагвар гэж юу вэ
загвар гэж юу вэ
 
эукариот ба прокариот эс
эукариот ба прокариот эсэукариот ба прокариот эс
эукариот ба прокариот эс
 
оролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдоролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүд
 
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
 
механик ажил
механик ажилмеханик ажил
механик ажил
 
оролтын төхөөрөмж
оролтын төхөөрөмжоролтын төхөөрөмж
оролтын төхөөрөмж
 
U.cs101 lecture 6
U.cs101   lecture 6U.cs101   lecture 6
U.cs101 lecture 6
 
C cons
C consC cons
C cons
 
өгүүлбэрийн гишүүд
өгүүлбэрийн гишүүдөгүүлбэрийн гишүүд
өгүүлбэрийн гишүүд
 
Газар хөдлөлт
Газар хөдлөлт Газар хөдлөлт
Газар хөдлөлт
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
мультмедиа технологи
мультмедиа технологимультмедиа технологи
мультмедиа технологи
 
мэдээллийн технологи 1 хичээлийн хөтөлбөр
мэдээллийн технологи 1 хичээлийн хөтөлбөрмэдээллийн технологи 1 хичээлийн хөтөлбөр
мэдээллийн технологи 1 хичээлийн хөтөлбөр
 
хичээл 9
хичээл 9хичээл 9
хичээл 9
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р анги
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
ардчиллын үнэт зүйлүүд
ардчиллын үнэт зүйлүүдардчиллын үнэт зүйлүүд
ардчиллын үнэт зүйлүүд
 
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тестмэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
 

Andere mochten auch

u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2Khuder Altangerel
 
u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6Khuder Altangerel
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7Khuder Altangerel
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритмEnkh Gvnj
 
U.cs101 алгоритм программчлал-2
U.cs101   алгоритм программчлал-2U.cs101   алгоритм программчлал-2
U.cs101 алгоритм программчлал-2Badral Khurelbaatar
 
Hmm Tutorial
Hmm TutorialHmm Tutorial
Hmm Tutorialjefftang
 
researchpaperfinal1
researchpaperfinal1researchpaperfinal1
researchpaperfinal1Sumit Bajaj
 
U.cs101 алгоритм программчлал-9
U.cs101   алгоритм программчлал-9 U.cs101   алгоритм программчлал-9
U.cs101 алгоритм программчлал-9 Badral Khurelbaatar
 
U.cs101 лаборатори 5
U.cs101 лаборатори 5U.cs101 лаборатори 5
U.cs101 лаборатори 5Ganbaatar ch
 
IOI 2016 "Молекул" бодлогын бодолт
IOI 2016 "Молекул" бодлогын бодолтIOI 2016 "Молекул" бодлогын бодолт
IOI 2016 "Молекул" бодлогын бодолтKhuder Altangerel
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритмGEnkhjargal
 
Lecture4
Lecture4Lecture4
Lecture4orgil
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэсenhsaran_tsahim
 
Цалингийн бүртгэлийн систем
Цалингийн бүртгэлийн системЦалингийн бүртгэлийн систем
Цалингийн бүртгэлийн системAltangerel Bilguun
 

Andere mochten auch (20)

u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2
 
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 алгоритм программчлал-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
 
Цалингийн бүртгэлийн систем
Цалингийн бүртгэлийн системЦалингийн бүртгэлийн систем
Цалингийн бүртгэлийн систем
 
C++
C++C++
C++
 

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

Ähnlich wie 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
 

Mehr von 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