Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"



Download 333,2 Kb.
bet25/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   21   22   23   24   25   26   27   28   ...   90
Bog'liq
C majmua

do operator while ifoda
ko’rinishga ega.
Dastlab sikl qismini tashkil etuvchi oddiy yoki murakkab operator bajariladi, so’ngra ifoda hisoblanadi. Agar u rost (false ga teng bo’lmasa) sikl qismi yana bir marta bajariladi. Sikl ifoda false ga teng yoki sikl tanasida qandaydir boshqaruv operator bajarilganda tugaydi. Ifoda tipi arifmetik yoki unga keltiriladigan bo’lishi lozim.
Misol (dastur tekshirishini tekshiradi).
#include
int main (){
char answer;
do{
cout << "\n Купи слоника!" : cin >> answer;
} while (answer ! = 'y' ) ;
return 0;
}
Misol. Dastur X haqiqiy argumentdan kvadrat ildizni Eps berilgan aniqlikda
.
itiratsion formula bo’yicha hisoblaydi. Bularda – ildizga oldingi yaqinlashish (hisoblashlarning boshida ixtiyoriy tanlanadi), yn – keyingi yaqinlashishlar. Yaqinlashishlar bir–biridan absalyut qiymati bo'yicha berilgan aniqlikdagi miqdordan kam farq qilguncha hisoblashlar to'xtatiladi. Absalyut miqdorni hisoblash uchun e'loni sarlovha faylda joylashgan fabs(), standart funksiyadan foydalaniladi.
#inc1ude
#include
int main(){
double X, Eps; // аргумент и точность
double Yp, Y = 1; // предыдущее и последующее приближение
printf ("Введите аргумент и точность: ") ;
scanf ("%lf%lf" , &X, &Eps);
do {
Yp = Y;
Y = (Yp + X/Yp)/2;
} while (fabs(Y - Yp) >= Eps);
printf ("\n Kopeнь из %lf равен %lf", X,Y) ;
return 0;
}


Parametrli sikl (for)

Parametrli sikl quyidagi didaktikaga ega:


for (initsializatsiya: ifoda: modifikatsiya) operator;
Initsializatsiya siklda ifodalaniladigan miqdorning boshlang'ich qiymatlarini e'lon qilish va berish uchun ishlatiladi.
Bu qisimda vergul bilan ajratilgan bir nechta operatorlarni yozish mumkin (“ketma–ket bajaring” amali bilan), masalan, quyidagicha
for (int i = 0, j = 2: ...
int k, m;
for (k = 1, m = 0: …
Siklning initsializatsiya qismida e'lon qilingan o’zgaruvchilar amal qilish sohasi sikldan iborat. Initsializatsiya siklni bajarishning boshida bir marta bajariladi.
Ifoda siklni bajarish shartini ifodalaydi: agar uni bool tipga keltirishning natijasi true ga teng bo’lsa sikl bajariladi. Parametrli sikl old shartli sikl kabi bajariladi.
Modifikatsiya siklning har bir iteratsiyasidan so’ng bajariladi va siklning parametrini o’zgartirish uchun xizmat qiladi. Modifikatsiya qismida bir nechta operatorni vergul orqali yozish mumkin. Oddiy yoki murakkab operator sikl jismidan iborat. for operatorining ixtiyoriy qismi tashlanishi mumkin (lekin nuqtali vergulni o’z joylarida qoldirish lozim!).
Misol (1 dan 100 gacha bo’lgan sonlar yig'indisini hisoblovchi dastur):
for (int i = 1, s = 0; i <= 100; i++) s += i;
Misol (dastur funksiyaning kiritilgan oraliqdagi qiymatlari jadvalini chop etadi):
#include
int main (){
float Xn, Xk, Dx, X;
printf ("Введите диапазон и шаг изменения аргумента: ");
scanf ("%f%f%f", &Хn, &Хк, &Dx);
printf ("| X | Y |\n");
for ( X = Xn; X<=Xk; X += Dx)
printf ("|%5.2f | %5.2f |\n", X, X*X+1);
return 0:
}
Misol (dastur butun musbat sonning barcha bo'luvchilarini topadi):
#include
int main (){
int num, half, div;
if (!(num % div))cout <
return 0:
cout <<"\n Введите число : "; cin >> num;
for (half = num / 2, div = 2; div <=half; div++)

}
Oxirgi ikkita misol old shartli sikli uchun misollar kabi barcha amallarni bajaradi lekin kompakt va ko’rgazmali yozilgan: siklni boshqarish bilan bog’liq barcha amallar uning sarlavhasida lokallashtirilgan.


Har qanday while sikl unga ekvivalent bo’lgan for siklga va aksincha quyidagi sikl bo’yicha keltirish mumkin:
for (b1; b2; b3) operator b1;
while (b2){
operator; b3;}

Sikllarni dasturlashda ko'p uchraydigan xatolar – sikl tanasida initsializatsiyalanmagan o'zgaruvchilardan foydalanish va sikldan chiqish jarayonining moto'g'ri yozuvi.


Xatolarni bartaraf etish uchun tavsiya etiladi:

  • sikl tanasidagi qiymat berish operatorlar o'ng qismida uchraydigan barcha o'zgaruvchilarga bungacha boshlang'ich qiymatlar berilganligi yoki yo'qligini tekshirish (hamda boshqa operatorlarni bajarish mumkin yoki mumkin emasligini tekshirish);

  • sikllarda sikldan chiqish shartiga kiruvchi hech bo'lmaganda bitta o'zgaruvchi o'zgaradimi yoki yo'qligini tekshirish;

  • biror sondagi iteratsiyalarga erishilgandan so'ng sikldan favqulotda chiqishni ko'zda tutish;

  • va albatta, agar sikl tanasida bittadan ko'p operatorni bajarish talab etilsa, ularni kvadrat qavslarga olishni sedan chiqarmaslik lozim.

Sikl operatorlari o'zaro almashinuvchi, lekin har bir konkret holda eng yaxshisini tanlash bo'yicha ba'zi tavsiflarni keltirish mumkin.


do while operatori odatda sikl albatta hech bo'lmaganda bir marta bajarilishi talab etilganda (masalan, agar siklda ma'lumotlarni kiritish bajarilayotgan bo'lsa) foydalaniladi.
while operatorini iteratsiyalar soni oldindan ma'lum bo'lmasa, siklning oshkora parametrlari yo'q yoki parametrlar modifikatsiyasini sikl tanasida oxirida yozish noqulay bo'lgan hollarda foydalanish maqsadga muvofiq.
for operatori qolgan hollarning ko'pchiligida qulay (bir so'z bilan aytganda – sanagichli sikllarni tashkil etish uchun).



Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   ...   90




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish