linkedin facebook linkedin facebook nod32

C++ da butun va haqiqiy sonlar

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2016-01-18

C++ da butun va haqiqiy  sonlar

Video darslik 

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.

Parol:
Eslab qolish.


Ro`yhatdan o`tish


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений