Ma`lumotlar : 1092
Xabarlar soni: 314
Bugun: 19.4.2024
Soat: 8:23
C++ da butun va haqiqiy sonlar
Muallif: Mengliyev Sh.
Qo`shilgan sana: 2016-01-18
C++ da butun va haqiqiy sonlar
Dastur ishlashi jarayonida xotiradan kamroq joy egallashi dasturning tez ishlashiga olib keladi. Bu muammolar dasturdagi o'zgaruvchilar sonini kamaytirish, yoki o'zgaruvchilar saqlanadigan yacheyka hajmini kamaytirish orqali erishiladi.
C++ da butun va haqiqiy sonlarni e'lon qilish uchun bir nechta toifalar mavjud. Ular bir - biridan kompyuter xotirasida qancha hajm egallashi va qabul qiluvchi qiymatlar oralig'i bilan farq qiladi.
Butun sonlar
unsigned short int 0..65535 2 bayt
short int –32768..32767 2 bayt
unsigned long int 0..42949667295 4 bayt
long int –2147483648..2147483647 4 bayt
int (16 razryadli) –32768..32767 2 bayt
int (32 razryadli) –2147483648..2147483647 4 bayt
unsigned int (16 razryadli)0..65535 2 bayt
unsigned int (32 razryadli)0..42949667295 4 bayt
Haqiqiy sonlar
float 1.2Е–38..3.4Е38 4 bayt
double 2.2Е–308..1.8Е308 8 bayt
long double (32 razryadli) 3.4e-4932..-3.4e4932 10 bayt
Mantiqiy ifoda
bool true yoki false 1 bayt
Belgilar
char 0..255 1 bayt
void 2 yoki 4
Har xil toifadagi o'zgaruvchilar kompyuter xotirasida turli xajmdagi baytlarni egallaydi. Xattoki bir toifadagi o'zgaruvchilar ham qaysi kompyuterda va qaysi operatsion sistemada ishlashiga qarab turli o'lchamdagi xotirani egallashi mumkin.
C++ da ixtiyoriy toifadagi o'zgaruvchilarning o'lchamini sizeof funksiyasi orqali
aniqlash mumkin. Bu funksiyani o'zgarmasga, biror toifaga va o'zaruvchiga qo'llash mumkin.
Toifalarni kompyuter xotirasida egallagan xajmini aniqlash
#include<iostream.h>
int main ()
{
cout<<"char="<<sizeof(char)<<endl;
cout<<"bool="<<sizeof(bool)<<endl;
cout<<"int="<<sizeof(int)<<endl;
cout<<"float="<<sizeof(float)<<endl;
cout<<"double="<<sizeof(double)<<endl;
system ("Pause");
return 0;
}
Matemetik funksiyalardan dasturda foydalanish uchun math.h sarlavha faylini progarmmaga qo'shish kerak. #include <math.h>
1. abs(x) - butun sonlar uchun /x/
2. fabs(x) - haqiqiy sonlar uchun
3. labs(x) - uzun butun son uchun
4. Pow(x,y)-xy
5. sqrt(X)-ildiz(X)
6. ceil(x)-haqiqiy toifadagi x o'zgaruvchisi qiymatini unga eng yaqin katta butun songa aylantiradi.
7. floor(x)-haqiqiy toifadagi x o'zgaruvchisi qiymatini unga eng yaqin kichik butun songa aylantiradi.
8. cos(x)-x burchak kosinusini aniqlash. x radian o'lchovida.
9. sin(x)-x burchak sinusini aniqlash. x radian o'lchovida.
10 exp(x)-ex
11. log(x)-x sonining natural logarifmini qaytaradi.
12. log10(x)-x sonining 10 asosli logarifmini qaytaradi.
1 - Misol: n va m natural sonlari berilgan. n sonini m soniga bo'lib, qoldiqni
aniqlovchi dastur tuzilsin
#include<iostream.h>
int main ()
{
int n,m,qoldiq;
cout<<"n=";cin>>n;
cout<<"m=";cin>>m;
// % qoldiqni olishni bildiradi
qoldiq=n%m;
cout<<"Qoldiq="<<qoldiq<<endl;
system("Pause");
return 0;
}
Dasturlash san'ati
1. Har bir dastur, muallif, sana, dastur maqsadini anglatuvchi izoh bilan
boshlanishi kerak.
2. Dastur yozayotganda joy tashlashlarni kelishilgan, aniq bir qoida asosida olib borgan maqul.
Masalan, tabulyatsiyani 4 ta probel deb qabul qilish mumkin. Ammo bu har kimning tasavvuriga bog’liq, maqsad shuki, dastur sodda oq’ishli va ko’rinishli bo’lsin.
3. Har bir verguldan keyin probel tashlang, dastur oson o’qilsin.
4. O’ zgaruvchilarni e’ lon qilishni boshqa operatorlardan bo’ sh satr bilan ajratib
qo’ying.
5. (+, -, *, /) kabi amallarni har ikkala tomonidan probel qo’ying. Bu dastur
o’ qilishini qulaylashtiradi.
2 - Misol: n va m natural sonlari berilgan. n sonini m soniga bo'lib, butun qismini
aniqlovchi dastur tuzilsin
#include <iostream>
int main()
{
int n, m, b;
cout << "n="; cin >> n;
cout << "m="; cin >> m;
b = n / m;
cout << "Butun qismi=" << b << endl;
System(“Pause”)
return 0;
}
3 - misol. a sonini b soniga bo`lib 2 xona aniqlikda chiqarish.
#include <iostream>
#include <iomanip>
// <iomanip> sarlavha faylini qo'shamiz
int main()
{
float a, b;
cout << "a sonini b soniga bo`lib 2 xona aniqlikda chiqarish"<<endl;
cout << "a="; cin >> a;
cout << "b="; cin >> b;
a = a / b;
cout << a << endl;
cout << setprecision(2) << fixed << a << endl;
System(“Pause”);
return 0;
}
4 - misol. Bir toifadan boshqasiga o'tish
c++ da bir toifadan boshqasiga o'tishning oshkor va oshkormas usullari mavjud. Oshkor ravishda toifaga keltirish uchun qavs ichida boshqa toifa nomi yoziladi.
#include <iostream>
int main()
{
float haqiqiy = 5.57;
int oshkor, oshkormas;
// oshkormas ravishda butun toifaga o'tish
oshkormas = haqiqiy;
oshkor = (int) haqiqiy; // oshkor holda butun toifaga o'tish
cout << "haqiqiy = " << haqiqiy << endl;
cout << "oshkor = " << oshkor << endl;
cout << "oshkormas = " << oshkormas << endl;
System(“Pause”)
return 0;
}
5 - misol. Butun sonni bo'lish
#include <iostream>
int main()
{
int bir = 1;
int ikki = 2;
cout << bir / ikki << endl;
cout << ((float)bir) / ((float)ikki) << endl;
System(“Pause”)
return 0;
}
25419 marta o`qildi.