«Aniq fanlar» kafedrasi fanidan ma’ruzalar matni


Download 1.15 Mb.
bet61/161
Sana02.01.2022
Hajmi1.15 Mb.
#200874
1   ...   57   58   59   60   61   62   63   64   ...   161
Bog'liq
dasturlash fanidan maruzalar matni 2

Ifoda tushunchasi:C++ tilida ifoda - amallar, operandlar va punktatsiya belgilarining ketma-ketligi bo‘lib, kompilyator tomonidan berilganlar

ustida ma’lum bir amallarni bajarishga ko‘rsatma hisoblanadi. Har qanday ';' belgi bilan tugaydigan ifodaga til ko‘rsatmasi deyiladi.

C++ tilidagi ifodaga (til ko‘rsatmasiga) misol:

x=3*(y-2.45);

u=summa(a, 9,c) ; Shu kabi tushunchalarni ko`rgazmali qurollar yordamida aqliy hujum ,hikoya ,suhbat,tezkor savol-javob,,kichik yozma ish,

C++ bir necha solishtirish operatorlariga ega.Algebraik ifoda C++ dagi operator C++ dagi ifoda Algebraik ma'nositenglik guruhi

= == x==y x tengdir y ga

teng emas != x!=y x teng emas y ga

solishtirish guruhi

> > x>y x katta y dan



< < xkatta-teng >= x>=y x katta yoki teng y ga

kichik-teng <= x<=y x kichik yoki teng y ga

==, !=, >= va <= operatorlarni yozganda oraga bo'sh joy qo'yib ketish sintaksis xatodir. Yani kompilyator dasturdagi xatoni ko'rsatib beradi va unituzatilishini talab qiladi. Ushbu ikki belgili operatorlarning belgilariningjoyini almashtirish, masalan <= ni =< qilib yozish ko'p hollarda sintaksis xatolarga olib keladi. Gohida esa != ni =! deb yozganda sintaksis xato vujudga ham, bu mantiqiy xato bo'ladi. Mantiqiy xatolarni kompilyator topa olmaydi.Lekin ular programma ishlash mantig'ini o'zgartirib yuboradi. Bu kabi xatolarni topish esa ancha mashaqqatli ishdir (! operatori mantiqiy inkordir).Yana boshqa xatolardan biri tenglik operatori (==) va tenglashtirish, qiymat berish operatorlarini (=) bir-biri bilan almashtirib qo'yishdir. Bu ham juda ayanchli oqibatlarga olib keladi, chunki ushbu xato aksariyat hollarda mantiq xatolariga olib keladi.

Yuqoridagi solishtirish operatorlarini ishlatadigan bir dasturni ko'raylik.

//Mantiqiy solishtirish operatorlari

# include

int main()

{

int s1, s2;



cout << "Ikki son kiriting: " << endl;

cin >> s1 >> s2; //Ikki son olindi.

if (s1 == s2) cout << s1 << " teng " << s2 << " ga" << endl;

if (s1 < s2) cout << s1 << " kichik " << s2 << " dan" << endl;

if (s1 >= s2) cout << s1 << " katta yoki teng " << s2 << " ga" << endl;

if (s1 != s2) cout << s1 << " teng emas " << s2 << " ga" << endl;

return (0);

}


Ekranda:

ikki sonni kiroting: 74 33

74 katta yoki teng 33 ga

74 teng emas 33 ga

Bu yerda bizga yangi narda bu C++ ning if (agar) strukturasidir. if ifodasima'lum bir shartning to'g'ri (true) yoki noto'g'ri (false) bo'lishiga qarab,dasturning u yoki bu blokini bajarishga imkon beradi. Agar shart to'g'ribo'lsa, if dan so'ng keluvchi amal bajariladi. Agar shart bajarilmasa, u holdaif tanasidagi ifoda bajarilmay, if dan so'ng kelunchi ifodalar ijrosi davom ettiriladi. Bu strukturaning ko'rinishi quyidagichadir:

if (shart) ifoda;

Shart qismi qavs ichida bo'lishi majburiydir. Eng ohirida keluvchinuqta-vergul (;) shart qismidan keyin qo'yilsa ( if (shart); ifoda; ) mantiq xatosi vujudga keladi. Chunki bunda if tanasi bo'sh qoladi. ifoda qismi esa shartning to'g'ri-noto'g'ri bo'lishiga qaramay ijro ko'raveradi.C++ da bitta ifodani qo'yish mumkin bo'lgan joyga ifodalar guruhini ham qo'yish mumkin. Bu guruhni {} qavslar ichida yozish kerak. if da bu bundaybo'ladi:

if (shart) {

ifoda1;

ifoda2;


...

ifodaN;


}

Agar shart to'g'ri javobni bersa, ifodalar guruhi bajariladi, aksi taqdirda blokni yopuvchi qavslardan keyingi ifodalardan dastur ijrosi davom ettiriladi.



Download 1.15 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   161




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