More Related Content
Similar to U.cs101 лаборатори 7
Similar to U.cs101 лаборатори 7 (8)
More from Ganbaatar ch (20)
U.cs101 лаборатори 7
- 1. Лабораторийн ажил № 7
Зорилго: Энэ хичээлээр давталт болон нөхцөл шалгах операторуудтай
ажиллаж давталт дотор давталт дуудаж сурахад оршино.
• IF нөхцөл шалгах: Энэ нь ихэвчлэн харьцуулах операторыг ашиглана.
If(a>b) a хэвлэнэ.
Else b хэвлэнэ.
• For-давталт: энэ нь энгийн давталт бөгөөд хэсэг командуудыг тогтмол
тоогоор давтан биелүүлнэ. Өөрөөр тухайн бүлэг үйлдэл хэдэн удаа
давтагдан биелэхийг мэдэж байгаа тохиолдолд энэ давталтыг
ашиглана.
for (a=0;a<=15;a++)
• While давталт нь for давталтын хялбар хувилбар нь гэж ойлгож болох
юм. Учир нь энэ давталтандшалгах нөхцлөөс өөр ямар ч анхны утга
оноох ба утгаөөрчлөх үйлдлүүд байхгүй юм. Нөхцөл л үнэн байвал
давталт үргэлжилсээр байна. while(a<b)
Жишээ 1
Хамгийн их ерөнхий хуваагчийг олох алгоритм.
Алгоритм Блок схем
#include<iostream.h>
int main()
{ int a, b;
cout<<"A toog oruul ";
cin>>a;
cout<<"B toog oruul ";
cin>>b;
if (a > b) { while(a>b) { a=a-b; }
cout<<a;}
else if (a<b) { while(a<b) { b=b-a; }
cout<<b; }
else { cout<<a; }
return 0;
}
Жишээ 2
A/B бутархайг хураах алгоритм.
Алгоритм Блок схем
1. #include<iostream.h>
int main()
{
int a, b, m, n;
cout<<"A toog oruul ";cin>>a;
cout<<"B toog oruul ";cin>>b;
m=a;
n=b;
if (a > b)
{ while(a>b)
{ a=a-b; }
m=m/a; n=n/a; cout<<m<<", "<<n; }
else if(a<b) { while(a<b) { b=b-a; }
m=m/b; n=n/b; cout<<m<<", "<<n;}
else
{ m=m/b; n=n/b; cout<<m<<", "<<n;}
return 0;
}
.
Жишээ 3
R радиустай дугуй нүхээр A,B талтай тэгш өнцөгт хэлбэрийн хавтгай материал
багтан гарах уу?
Алгоритм Блок схем
#include<iostream.h>
int main()
{
int a, b, r;
cout<<"A toog oruul ";cin>>a;
cout<<"B toog oruul ";cin>>b;
cout<<"R toog oruul ";cin>>r;
if (a > b)
{ if(a<2*r)
{ cout<<"TIIM"; }
else { cout<<"VGVI"; } }
else { if(b<2*r)
{ cout<<"TIIM"; }
else { cout<<"VGVI"; } }
return 0; }
A=9, B=6, 3, 2
- 2. Жишээ 4
Х, А дурын тоо байхад функцын утгыг олох алгоритм
Алгоритм Блок схем
1. #include<iostream.h>
#include<math.h>
int main()
{
float a, x;
cout<<"A toog oruul ";cin>>a;
cout<<"X toog oruul ";cin>>x;
if(a>0)
{ if(x>0)
{
if(a==1) { cout<<"utgagvi";}
else { a=log(x)/log(a); cout<<a;
}
}
else {cout<<"utgagvi";}
}
Else {cout<<"utgagui";}
return 0;
}
.
Жишээ 5
R радиустай дугуй нүхийг A, B талтай тэгш өнцөгт хэлбэрийн хавтгай
материалаар таглаж хадаж чадах уу?
Алгоритм Блок схем
#include<iostream.h>
int main()
{
int a, b, r;
cout<<"A toog oruul "; cin>>a;
cout<<"B toog oruul "; cin>>b;
cout<<"R toog oruul "; cin>>r;
if(a>2*r && b>2*r)
{ cout<<"TIIM"; }
else { cout<<"VGVI"; }
return 0;
}
Оюутан бүр даалгавар бодлогуудийг дэвтэртээ хийж , багшид тайлбарлаж
хамгаалж тооцуулна.
Дасгал бодлого 1: A, B, C эерэг тоонууд өгөгдөв. Ийм талтай гурвалжин байж
болох уу?
Дасгал бодлого 2: Эерэг бодит A, B, C, D тоонууд өгөгджээ. Ийм талтай
тойрог багтаасан дөрвөн өнцөгт бий юү?
Дасгал бодлого 3: R радиустай зүсэм хиамыг А талтай зөв гурвалжин
хэлбэрийн салфеткаар бүрэн бүтээж болох уу?
Дасгал бодлого 4: H өндөртэй зөв гурвалжин хэлбэрийн нүхээр R радиустай
дугуй дүрс багтаж гарах уу?
Дасгал бодлого 5: R радиустай дугуй нүхээр A, B талтай тэгш өнцөгт
хэлбэрийн хавтгай бие багтаж гарах уу?.
Дасгал бодлого 6: N ширхэг тооны ХИЕХ-ийг олох алгоритм.
Дасгал бодлого 7: B/A+D/C бутархайн нэмэх үйлдэл гүйцэтгэ.
Дасгал бодлого 8: R1 радиустай жигнүүр дотор R2 радиустай бууз хэдийг
багтааж болох вэ?
Дасгал бодлого 9: хязгаарыг бодох алгоритм. Хязгаар бодит,
коэффициентүүд нь бүхэл утгатай байна.
Дасгал бодлого 10: Үгэн алгоритмыг блок схемээр илэрхийл
1. Алгоритм эхлэнэ.
2. Гарнаас М утга авч байна.
3. I-д 0 утга өгч байна.
4. SUM-д 0 утга өгч байна.
5. COUNT-д 0 утга өгч байна..
6. SUM-н утгад 1 утгыг нэмээд SUM-д утга болгон өгч байна.
7. I-н утгад 2 нэмээд I-д утга болгон өгч байна.
8. Хэрвээ COUNT-н утга M-н утгаас их буюу тэнцүү үед алхам 9 рүү шилжинэ.
Бага буюу тэнцүү үед алхам 10 шилжинэ.
- 3. 9. COUNT-н утгад 1 утгыг нэмээд COUNT-д утга болгон өгч байна. Алхам 6
руу шилжинэ.
10. Дэлгэцэнд SUM, COUNT утгуудыг хэвлэж байна.
11. Алгоритм дуусна.