2.8.4 Darajaga ko‘tarish amallari
ni hisoblash uchun pow (a, b) funksiyasidan foydalaniladi. Pow ni cmath (yoki math.h) kutubxonasi darajaga ko‘tarish funksiyasi sifatida aniqlaydi. ko‘rinishidagi darajaga ko‘tarish funksiyasi orqali ifodani pow (2.0, 3) deb yoziladi. Bu yerda a va b lar pow funksiyasining parametrlari, 2.0 va 3 lar esa, pow funksiyasini qo‘llash uchun qiymatlar. Misol:
cout << pow(2.0, 3) << endl; // 8.0 chiqariladi
cout << pow(4.0, 0.5) << endl; // 2.0 chiqariladi
cout << pow(2.5, 2) << endl; // 6.25 chiqariladi
cout << pow(2.5, -2) << endl; // 0.16 chiqariladi
C++ da pow funksiyasi o‘nli sonlar bilan ishlaydi. Shuning uchun raqamlarni yozishda 2 emas, 2.0 ko‘rinishida yozish maqsadga muvofiq.
2.9. Ifodalarni hisoblash va operatorlarlarning bajarilish ketma-ketligi
Key Point. C++ da ifodalar arifmetik ifodalar kabi hisoblanadi.
Sonli ifodalarni C++ da hisoblash C++ operatorlari orqali elementar arifmetik ifodalarni tarjima qilish yo‘li bilan amalga oshiriladi. Masalan,
arifmetik ifoda C++ tilida quyidagicha o‘girilib yoziladi:
(3+ 4* x) / 5– 10* (y - 5) * (a + b + c) / x + 9 * (4/ x + (9+ x) / y)
C++ da ifodani hisoblash ortida o‘zining hisoblash usuli yotsada, C++ da hisoblangan natija bilan arifmetik hisoblangan natija bir xil bo‘ladi. Shuning uchun C++da ifodalarni hisoblash uchun arifmetik qoidalarga rioya qilsa bo‘ladi. Qavs ichidagi sonlar oralig‘idagi operator birinchi hisoblanadi. Qavslar ichma-ich bo‘lishi mumkin. Bunda eng ichki qavlardagi operatorlar birinchi bajariladi. Agar ifodada bir neha xil operatorlar bo‘lsa, ular quyidagicha qoidalarga asosan bajariladi:
Qavslardan keyin ko‘paytirish, bo‘lish va qoldiqni hisoblash operatorlari ishlaydi. Agar ifodada bie nechta ko‘paytirish, bo‘lish va qoldiqni hisoblash operatorlari mavjud bo‘lsa, u holda ular chapdan – o‘ngga qoidasi bo‘yicha bajariladi;
Qo‘shish va ayirish operatorlari oxirida bajariladi. Agar ifodada bie nechta qo‘shish va ayirish operatorlari bo‘lsa, ular ham chapdan – o‘ngga qoidasi bo‘yicha bajariladi.
Masalan:
2.8-ro‘yxatda formulasidan foydalangan holda, Farangeyt darajasining Selsiy darajasiga o‘girilishiga oid dastur keltirilgan:
2.8-ro‘yxat. FarangeytdanSelsiyga.cpp
1 #include
2 using namespace std;
3
4 intmain()
5 {
6 // Enter a degree in Fahrenheit
7 double fahrenheit;
8 cout << "Enter a degree in Fahrenheit: ";
9 cin >> fahrenheit;
10
11 // Obtain a celsius degree
12 double celsius = (5.0/ 9) * (fahrenheit - 32);
13
14 // Display result
15 cout << "Fahrenheit "<< fahrenheit << " is "<<
16 celsius << " in Celsius"<< endl;
17
18 return 0;
19 }
Bo‘lish amalini bajarishda bir narsaga e’tibor qaratish kerak. C++ da ikkita butun qiymatlarning bo‘linmasi ham butun bo‘ladi. 12-satrdagi 5 / 9 ifodasi 5.0/9 deb o‘giriladi, chunki C++ da 5 / 9 ning qiymati 0 ga teng.
Do'stlaringiz bilan baham: |