Laboratoriya mashg’uloti №8
Mavzu: Dasturlash tilida chiziqli, tarmoqlangan va qayta takrorlanuvchi hisoblash jarayonlarining dasturlarini ishlab chiqish.
Ishning maqsadi: Dasturlash tilida chiziqli, tarmoqlangan va qayta takrorlanuvchi hisoblash jarayonlarining dasturlarini ishlab chiqishni o’rganish.
Topshiriq:
Nazariy qismni o’rganish.
Borland C++ Builder 6 tizimini shga tushirish
O’z variantidagi dasturni yaratish, natija olish
Bajarilgan ish bo’yicha hisobot tayyorlash
Nazariy qism
Tarmoqlanuvchi tuzilmaga ega bo’lgan dastrurlar albatta berilgan bir necha operatorlar ketma-ketligidan iborat variantlardan birini tanlash shartiga ega bo’ladi.
Dasturlashda tarmoqlanuvchi jarayonni tashkil etish uchun shart va tanlash operatoridan foydalaniladi. Shart operatori muayyan shart bajarilishiga bog’liq ravishda ba’zi operatorlarning bajarilishi yoki bajarilmasligini ta’minlaydi. If konstruksiyasidagi operatorlar bloki shart natijasi haqiqat bo’lgandagina bajariladi.
Shart operatorining umumiy ko’rinishi:
if (ifoda) {operator_1};
else {operator_2};
Dastlab mantiqiy ifodaning qiymati aniqlanadi. Agar ifoda qiymati true bo’lsa birinchi operator bajariladi, aks holda ikkinchi operator. else qismini tushirib qoldirish ham mumkin, u holda agar shart bajarilmasa, birinchi operatordan keyin kelgan operatorni bajarishga kirishiladi.
Misol. b_year o’zgaruvchida saqlanayotgan tug’ilgan yili haqidagi ma’lumotga ko’ra foydalanuvchi balog’atga yetgan yoki yetmagan ekanligini aniqlovchi dastur tuzamiz (joriy yil year o’zgaruvchisida saqlanadi);
if (year-b_year>18)
cout<< “Siz voyaga yetgansiz”;
else
cout<<“Sizning voyaga yetishingizga yana ”<<18-(year-b_year)<<“ yil bor”;
Faraz qilaylik, foydalanuvchi 2000 sonini kiritdi, joriy yil esa 2019. U holda mantiqiy ifodaning natijasi yolg’on bo’ladi va else satridan keying cout operatori ishlaydi. Agarda else satri bo’lmaganda edi, u holda boshqaruv if dan so’ng yozilgan cout dan keyingi operatorga o’tkazilgan bo’lardi.
Agarda shar bajarilishi natijasida bir emas, bir nechta operatorlar bajarilishi kerak bo’lsa u holda mazkur operatorlarni blok singari figurali qavs orasiga yoziladi. Yuqoridagi dasturda voyaga yetgan foydalanuvchi biror son kiritishi kerak bo’lsin:
if (year-b_year>18)
cout<< “Siz voyaga yetgansiz”;
cin>>nomer;
else
cout<<“Sizning voyaga yetishingizga yana ”<<18-(year-b_year)<<“ yil bor”;
Ikkinchi operator o’rnida ham boshqaruvchi strukturadan foydalanish mumkin.
if (x>0)
{};
else if (x<0)
{};
else
{};
switch tanlov operatori. Switch operatori hisoblash jarayonini bir necha yo’nalishlarga tarmoqlanishiga mo’ljallangan. Uning umumiy ko’rinishi quyidagicha:
switch (ifoda)
{
case o’zgarmas_ifoda_1:[operatorlar_royxati_1]
case o’zgarmas_ifoda_2:[operatorlar_royxati_2]
…
case o’zgarmas_ifoda_n:[operatorlar_royxati_n]
[default: operatorlar]
};
Bu tuzilma quyidagicha ishlaydi: dastlab operatorda ko’rsatilgan ifoda hisoblanadi, keyin esa case konstruksiyalaridan ifoda natijasiga teng o’zgarmas_ifoda qidiriladi. Agar bunday moslik topilsa mos operatorlar bajariladi. Tuzilmadan chiqish uchun break operatoridan foydalaniladi.
Agarda birorta ham moslik topilmasa default tarmog’idagi ifodalar bajariladi (default da ifoda bo’lmasligi ham mumkin).
switch tuzilmasidan foydalanishni real misolda ko’rish uchun har bir javob uchun turli qiymatdagi ball beriladigan test dasturini keltiramiz. Faraz qilaylik, 4 ta javob variantlari mavjud bo’lsin (a, b, c, d) va kiritilgan javob char tipida va answer o’zgaruvchida joylashgan bo’lsin. Joriy ballar miqdori total o’zgaruvchisida yig’ilsin:
switch (answer)
{
case ‘a’, ‘A’: total+=2; break;
case ‘b’, ‘B’: total+=1; break;
case ‘c’, ‘C’: total+=4; break;
case ‘d’, ‘D’: break; // 0 ball summani o’zgartirmaydi
default: cout<< “Siz javobni noto’g’ri kiritdingiz”;
}
E’tibor bering: switch tuzilmasi ifodaning faqatgina o’zgarmaslar bilan mosligini tekshiradi. Agarda biror oraliqdagi yoki o’zgaruvchilar bilan bilan mosligi tekshirilishi kerak bo’lsa ifelseif dan foydalanish kerak.
Xulosa:
Biz bu labaratoriya ishida c++ haqida tushunchaga ega boldik kerakli malumotlarni olishni o’rgandik.
Xo'jaliyev Abrorbek
Do'stlaringiz bilan baham: |