Toshkent axborot texnologiyalari universiteti samarqand filiali dasturiy injiniring kafedrasi

|
Toshkent axborot texnologiyalari universiteti samarqand filiali dasturiy injiniring kafedrasi
|
Sana | 20.02.2024 | Hajmi | 0,61 Mb. | | #159461 |
Bog'liq 2-mustaqil ish
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
DASTURIY INJINIRING KAFEDRASI
FAN |
|
DASTURLASH I
| mUSTAQIL ISH |
|
2
| MAVZU |
|
TARMOQLANUVCHI DASTURLASH
|
Variantlar. Quyidagi variantlarda berilgan tarmoqlanuvchi algoritmlar dasturini tuzing.
№
|
Variantlar
|
№
|
Kirish
|
Chiqish
|
1
|
|
1
|
m=1
n=2
c=3
|
Y=0.000
|
2
|
m=2
n=3
c=7
|
Y=6.000
|
2
|
;
|
1
|
b=1
c=2
d=3
x=4
|
Y=0.999
|
2
|
b=2
c=3
d=7
x=-6
|
Y=-1.952
|
3
|
;
|
1
|
a=1
b=2
x=3
|
Z=47.000
|
2
|
a=-2
b=9
x=7
|
Z=-93.000
|
4
|
;
|
1
|
a=1
b=2
c=3
|
Y=-1.090
|
2
|
a=2
b=3
c=7
|
Y=-2.170
|
5
|
;
|
1
|
m=1
n=2
d=3
|
Y=25.000
|
2
|
m=4
n=7
d=0.2
|
Y=0.003
|
2
|
m=6.5
r=7
|
Y=0.500
|
Uslubiy ko’rsatmalar
Masalaning qo’yilishi.
Quyida berilgan tarmoqlanuvchi algoritmlarning dasturini tuzing.
Bunda
Ishdan maqsad.
Tarmoqlanuvchi algoritmlar va ular ustida amalllar bajarish ko’nikmalarini oshirish. Dasturini tuzish.
Nazariy qism. If va if else operatorlari, ?: amali.
Dastur bajarilishining birorta qadamida qandaydir shartni tekshirish natijasiga ko’ra boshqaruvni dasturning u yoki bu bo’lagiga uzatish mumkin(Tarmoqlanuvchi algoritm). Tarmoqlanishni amalga oshirish uchun shartli operatordan foydalaniladi.
If operatori. If qandaydir shartni rostlikka tekshirish natijasiga ko’ra dasturda tarmoqlanishni amalga oshiradi:
If (< shart >) ;
Bu yerda <shart> har qanday ifoda bo’lishi mumkin, odatda u
taqqoslash amali bo’ladi.
Agar shart 0 qiymatidan farqli yoki rost (true) bo’lsa, <operator> bajariladi, aks holda, ya’ni shart 0 yoki yolg’on (false) bo’lsa, hech qanday amal bajarilmaydi va boshqaruv if operatoridan keyingi operatorga o’tadi (agar u mavjud bo’lsa).
C++ tilining qurilmalari operatorlarni blok ko’rinishida tashkil qilishga imkon beradi. Blok - ‘{‘ va ‘}’ belgi oralig’iga olingan operatorlar ketma-ketligi bo’lib, u kompilyator tomonidan yaxlit bir operator deb qabul qilinadi. Blok ichida e’lon operatorlari ham bo’lishi mumkin va ularda e’lon qilingan o’zgaruvchilar faqat shu blok ichida ko’rinadi (amal qiladi), blokdan tashqarida ko’rinmaydi. Blokdan keyin ‘;’ belgisi qo’yilmasligi mumkin, lekin blok ichidagi har bir ifoda ‘;’ belgisi bilan yakunlanishi shart.
Shart operatorining if - else ko’rinishi quyidagicha:
if (<shart-ifoda>) <operator1>; else <operator2>;
Bu yerda < shart – ifoda > 0 qiymatidan farqli yoki true bo’lsa, <operator1>, aks holda <operator2> bajariladi. Misol tariqasida diskreminantni hisoblash usuli yordamida ko’rinishidagi kvadrat tenglama ildizlarini topish masalasini ko’raylik:
Dastur bajarilganda, birinchi navbatda tenglama koeffisiyentlari - a,b,c o’zgaruvchilar qiymatlari kiritiladi, keyin diskreminant - D o’zgaruvchi qiymati hisoblanadi. Keyin D qiymatining manfiy ekanligi tekshiriladi. Agar shart o’rinli bo’lsa, yaxlit operator sifatida keluvchi ‘{‘ va ‘}’ belgilari orasidagi operatorlar bajariladi va ekranga “Tenglama haqiqiy ildizlarga ega emas” xabari chiqadi va dastur o’z ishini tugatadi (“return 0;” operatorini bajarish orqali). Diskriminant noldan kichik bo’lmasa, navbatdagi shart operatori uni nolga tengligini tekshiradi. Agar shart o’rinli bo’lsa, keyingi qatorlardagi operatorlar bloki bajariladi - ekranga “Tenglama yagona ildizga ega:” xabari, hamda x1 o’zgaruvchi qiymati chop etiladi va dastur shu yerda o’z ishini tugatadi, aks holda, ya’ni D qiymati noldan katta holati uchun else kalit so’zidan keyingi operatorlar bloki bajariladi va ekranga “Tenglama ikkita ildizga ega: “ xabari, hamda x1 va x2 o’zgaruvchilar qiymatlari chop etiladi. Shu bilan shart operatoridan chiqiladi va asosiy funksiyaning return ko’rsatmasini bajarish orqali dastur o’z ishini tugatadi.
?: shart amali. Agar tekshirilayotgan shart nisbatan sodda bo’lsa, shart amalining “? :” ko’rinishini ishlatish mumkin:
< shart ifoda > ? < ifoda1 >:< ifoda2 >;
Shart amali if shart operatoriga o’xshash holda ishlaydi: agar 0 qiymatidan farqli yoki true bo’lsa, , holda <ifoda2> bajariladi. Odatda ifodalar qiymatlari birorta o’zgaruvchiga o’zlashtiriladi.
Misol:
Berilgan masala uchun algoritm.
Yuqorida berilgan masalani hisoblash uchun birinchi navbatda uni matematik ko’rinishdan C++ dasturlash muhitiga o’tkazishda if shart operatoridan foydalanamiz.
Asosiy dastur matni:
Berilgan misol ishlanish natijalari tahlili.
haqiqiy sonlari kiritilgandan so’ng ularning ko’paytmasi if shart operatori yordamida tekshirilib agarda shart bajarilsa qiymat, aks holda, shart bajarilsa qiymatni o’zlashtiradi va natijaga aniqlikda chiqaradi.
Natijalar listingi.
|
| |