R. A. Ro‘ziyev, U. M. Mirsanov, F. J. Toxirov, L. S. Isroilova, H. N. Arziqulov


Download 1.27 Mb.
bet13/45
Sana14.10.2023
Hajmi1.27 Mb.
#1703549
1   ...   9   10   11   12   13   14   15   16   ...   45
Bog'liq
C qo`llanma 29.06

II BOB. BOSHQARUV OPERATORLARI


Ushbu bobda C ++ dasturlash tilining asosiy operatorlari tasvirlangan: if shartl operatori; switch tanlash operatori; for, while, do ... while takrorlanish operatori. Shuningdek, blok-sxemalar yordamida algoritmlarni tuzish haqida ma’lumotlar berilgan hamda turli xil murakkablik darajasidagi masalalarni dasturlashga oid misollar keltirilgan.


2.1-§. C++ dasturlash tilida shartli operatorlar


Ko‘pgina misol va masalalarni dasturlashda hisob-kitoblar tartibi ma’lum shartlarga, masalan, dastlabki ma’lumotlarga yoki dasturning oldingi bosqichlarida olingan oraliq natijalarga bog‘liq bo‘ladi. Bunda hisob-kitoblarni tartibga solish uchun, shartga qarab, C ++ dasturlash tilining if shart operatoridan foydalaniladi. Ushbu operatorning umumiy ko‘rinishi quyidagicha yoziladi:
if (shart) 1_operator; else 2_operator;
Bu yerda shart mantiqiy (yoki butun sonli) ifoda, o‘zgaruvchi yoki o‘zgarmas bo‘lib, 1_operator va 2_operator esa C ++ dasturlash tilining ixtiyoriy operatori bo‘lishi mumkin.
if operatori quyidagi tartibda ishlaydi. Birinchi, qavs ichidagi shart tekshiriladi. Agar u nolga teng bo‘lmasa, yoki rost (true) qiymat qabul qilsa, 1_operator bajariladi. Aksincha, agar shart nolga teng bo‘lsa, yoki yolg‘on (false) qiymat qabul qilsa 2_operator bajariladi. if shart operatori qo‘llanilgan algoritm tasviri 14-rasmga tasvirlangan.
Masalan, x va y o‘zgaruvchilarning qiymatlarini taqqoslash uchun quyidagi dastur kodi yoziladi:
cin>>x; cin>>y;
if (a==b) cout<<" x o‘zgaruvchi y ga teng " ;
else cout<<" x o‘zgaruvchi y ga teng emas " ;
Eslatma: == tenglik belgisi va = o‘zlashtirish operatorini aralashtirmang. Masalan, if (z = 0) k = 1; yozuvda sintaksis xatosi yo‘q. Bunda z = 0 o‘zlashtirish amali natijasi hosil qilanadi va uning qiymati esa shart sifatida tekshiriladi. Ushbu dastur kodida k = 1 operator hech qachon bajarilmaydi, chunki z o‘zgaruvchining qiymati har doim nolga teng, ya’ni yolg‘on (false) bo‘ladi. Bunda to‘g‘ri yozuv esa quyidagicha yoziladi: if (z == 0) k = 1;

14-rasm. if shart operatori blok sxemasi.
Agar berilgan masalada shartning qiymatiga qarab bir nechta operator bajarilishi kerak bo‘lsa, operatorlar figurali qavslar { } ichiga yozilishi lozim. Bunday holda, kompilyator operatorlar guruhini bitta ifoda sifatida ko‘rib chiqadi. Masalan:
if (shart)
{ 1_operator; 2_operator; ... }
else
{ 3_operator; 4_operator; ... }
Shart operatorida else bo‘limidan foydalanish talab etilmasa, ya’ni shart yolg‘on bo‘lganda hech qanday operator bajarilmasa, u holda else bo‘limini tushirib qoldirish mumkin. Masalan:
if (shart) operator;
yoki
if (shart)
{ 1_operator; 2_operator; ... }
Ushbu “qisqartirilgan” shakldagi shartli operatorning ishlash algoritmi quyidagicha: operator (operatorlar guruhi) shartli ifoda qiymatiga qarab bajariladi yoki o‘tkazib yuboriladi. Ushbu shartli jarayonni bajarish algoritmi 15-rasmda tasvirlangan.

15-rasm. Qisqa shart operatori blok sxemasi.
else bo‘limi ishtirokisiz shart operatoridan foydalanishning dastur kodi quyidagicha:
cin>>a ; cin>>b;
c=0;
// c o‘zgaruvchining qiymati faqat a va b teng bo‘lmaganda o‘zgaradi.
if (a!=b) c=a+b;
cout<<"c="<
Shart operatorlari o‘zaro ichma-ich holda qo‘llanilishi ham mumkin. Ichma-ich joylashgan shart operatorlarining ishlash algoritmi quyidagicha (bunda else bo‘limi har doim eng yaqin if ga tegishli bo‘ladi):
if (1_shart) if (2_shart) 1_operator; else 2_ operator;
Bu yerda 2_operator har doim 2_shart ga aloqador bo‘ladi. Quyidagi dastur kodida esa 1_shart ga aloqador bo‘ladi:
if (1_shart) { if (2_shart) 1_operator; }
else 2_ operator;
Yuqorida bayon etilgan fikrlarni tekshirish uchun C++ dasturlash tilining shartli operatorlardan foydalangan holda bir nechta misollarni ko‘rib chiqamiz.

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   45




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