switch (n) - Fizik jarayonlarni kompyuterda modellashtirish

|
Fizik jarayonlarni kompyuterda modellashtirish
|
bet | 58/135 | Sana | 22.05.2024 | Hajmi | 15,08 Mb. | | #250347 |
Bog'liq Fizik jarayonlarni kompyuterda modellashtirish8 switch (n)
9 {
10 case 1:
11 case 3:
12 case 5:
13 case 7:
14 case 9: cout << "Toq son kiritildi"; break;
15 case 2:
16 case 4:
17 case 6:
18 case 8:
19 case 10: cout << "Juft son kiritildi"; break;
20 default: cout << "1 dan kichik yoki 10 dan katta son kiritildi";
21 }
22 system ("pause");
23 return 0;
24 }
2. O’tish operatorlari.
Break operatori. Ba'zi hollarda tsikl bajarilishini ihtiyoriy joyda tuhtatishga tug’ri keladi. Bu vazifani break operatori bajarishga imkon beradi. Bu operator darhol tsikl bajarilishini to’htatadi va boshqaruvni tsikldan keyingi operatorlarga uzatadi.
Misol uchun o’quvchining n ta olgan baholariga qarab uning o’qish sifatini aniqlovchi dasturini ko’ramiz. Buning uchun dasturda o’quvchining olgan minimal bahosi aniqlanadi
# include
void main()
{
int I,n,min,p;
while (1)
{Cout<<“Baholar soni=”; Cin>>n;};
if (n>0) break;
Cout<<(“Hato! n>0 bulishi lozim ! \n”);
for (I=1,min=5; I<=n; I++)
{
cin >>p;
if (p<2)||(p>5)
{
Min=0; break};
if (min>p) min=p;
}
if (p<2)||(p>5)
cout break;
switch(min)
case 0: cout<<”Baho notugri kiritilgan”;break;
case 2: cout<<”Talaba yomon o’qiydi”;break;
case 3: cout<<”Talaba o’rtacha o’qiydi”;break;
case 4: cout<<”Talaba yahshi o’qiydi”;break;
case 5: cout<<”Talaba a'lo o’qiydi”;break;
}
Biz misolda hato kiritilgan n qiymatdan saqlanish uchun while(1) tsikl kiritilgan. Agar n>0 bulsa Break operatori tsiklni tuhtatadi va dastur bajarilishi davom etadi. Agar kiritilayotgan baholar chegarada yotmasa min ga 0 qiymat berilib darhol tsikldan chiqiladi.
Continue operatori. Tsikl bajarilishiga ta'sir o’tkazishga imkon beradigan yana bir operator Continue operatoridir. Bu operator tsikl qadamini bajarilishini tuhtatib for va while da ko’rsatilgan shartli tekshirishga o’tkazadi.
Qo’yidagi misolda ketma-ket kiritilayotgan sonlarning faqat musbatlarining yig’indisini hisoblaydi. Sonlarni kiritish 0 soni kiritilguncha davom etadi.
# include
void main()
{
double s, x;
int x;
cout<<(“\n 0 bilan tugallanuvchi sonlar katorini kiriting \n”);
for (x=1.0; s=0.0; k=0; x!=0.0);
{
cin>>(“%lf”, &x);
if (x<==.0)
continue;
k++; s+=x;
}
cout<<“\n summaq”<
}
O’tish operatori GO TO.
O’tish operatorining ko’rinishi:
Go to . Bu operator identifikator bilan belgilangan operatorga o’tish kerakligini ko’rsatadi.
Misol uchun goto A1;…;A1:y=5;
Strukturali dasturlashda Go to operatoridan foydalanmaslik maslahat beriladi. Lekin ba'zi hollarda o’tish operatoridan foydalanish dasturlashni osonlashtiradi.
Misol uchun bir necha tsikldan birdan chiqish kerak bo’lib qolganda , tug’ridan-tugri break operatorini qo’llab bo’lmaydi, chunki u faqat eng ichki tsikldan chiqishga imkon beradi.
Quyidagi misolda n ta qatorga n tadan musbat son kiritiladi. Agar n yoki sonlardan biri manfiy bo’lsa, kiritish qaytariladi:
# include
int n, I, j, k;
M1: Cout<<“\n n=”;
cin>>n;
If (n<==0)
{
cout<<“\n hato! n>0 bulishi kerak”;
Go to M1;} ;
M: Cout<<“x sonlarni kiriting \n”;
For (I=1; I<=10; I++)
{
cout<<“\n I=”<< i;
For (j=1 ; j<=10; j++)
{
cin>> k;
if (k<=0) goto M;}
}
Bu masalani GOTO operatorisiz hal qilish uchun qo’shimcha o’zgaruvchi kiritish lozimdir.
1 # include
2 int n, i, j, k;
3 while 1 {
4 cout<<“\n n=”;
5 cin>>n;
6 if (n>0) break;
7 cout<<“\n hato! n>0 bulishi kerak”;
8} ;
9 int M=0;
10 While M
11{
12 M=0;
13 cout<<“x sonlarni kiriting \n”;
14 For (I=1; I<=10; I++)
15{
16 If (M) break;
17 cout<<(“\n I=%, i);
18 For (j=1 ; j<=10; j++)
19 {
20 cin>>(“%f”, k);
21 if (k<=0)
22 {
23 m=1;
24 break;
25 }
26}
TANLASH OPERATORI
C++ tilida tanlash operatori berilgan ifoda qiymatiga mos kelgan ko’rsatmalar ketma-ketligiga o’tish uchun xizmat qiladi. Umumiy ko’rinishi quyidagicha:
Switch (ifoda) {
case konstanta_1: ko’rsatmalar ketma-ketligi;
break;
case konstanta _2: ko’rsatmalar ketma-ketligi; break; ... case konstanta _N:
}
ko’rsatmalar ketma-ketligi; break; default: ko’rsatmalar ketma-ketligi;
Masala. Berilgan N (1≤N≤7) butun songa mos hafta kunini chiqaring. Yechim. Bu masalani yechish uchun tanlsh operatoridan foydalanish kerak bo‟ladi:
|
| |