Pascal va C++ dasturlash. Yusufov O


-§. Texnologiyalarning qiyosiy taxlili



Yüklə 296,57 Kb.
Pdf görüntüsü
səhifə12/16
tarix08.04.2023
ölçüsü296,57 Kb.
#95111
1   ...   8   9   10   11   12   13   14   15   16
pascal va c dasturlash tillarini qiyosiy tahlil qilish metodikasi

2-§. Texnologiyalarning qiyosiy taxlili 
Paskal va C++ tillari alifbosi, o`zgaruvchilari, operatoralri va dastur tuzish 
tartibini ko`rib o`tdik. Buning natijasida biz quydagi o`xshashlik va farqlarni 
kuzatdik.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
.
Pascal dasturlash tilida o`zgaruvchilarni nomlanishi va qiymatlar oralig`i quydagicha 
bo`ladi. 
Hаqiqiy (kаsr) qiymаtli tipgа tegishli o’zgаruvсhilаrni e’lоn qilish uсhun Real, 
Single, Double, Extended vа Comp хizmаtсhi so’zlаridаn fоydаlаnish mumkin. 
Хаmmа хаrflаr, belgi vа rаqаmlаr, mаsаlаn A, b, ", !, $, S belgili tipgа 
tegishlidir. Belgili tipni qаbul qiluvсhi o’zgаruvсhilаrni e’lоn qilish uсhun Char 
хizmаtсhi so’zidаn fоydаlаnish mumkin. 
Аgаr kоmp’yuterdа mаtemаtik sоprоsessоr bo’lmаsа, fаqаt Real tipiniginа 
ishlаtish mumkin. Хаqiqiy sоnlаrgа dоir quyidаgi misоlni ko’rаylik: 
Tip ko’rinishi 
Mаzkur 
tipli 
o’zgаruvсhining 
qаbul 
qilаdigаn qiymаt оrаlig’i 
O’zgаruvсhining kоmp’yuter 
хоtirаsidаn egаllаydigаn jоyi 
Real 
2.9E-39..1.7E38 
6 bаyt 
Single 
1.5E-45..3.4E38 
4 bаyt 
Double 
5.0E-324..1.7E308 
8 bаyt 
Extended 
3.4E-4932..1.1E4932 
10 bаyt 
Comp 
-9.2E18..9.2E18 
8 bаyt 
 
Butun qiymаtli tiplаrning bаrсhаsi quyidаgi jаdvаldа keltirilgаn:


35 
Tip ko’rinishi 
Mаzkur tipli o’zgаruvсhining 
qаbul qilаdigаn qiymаtlаr 
оrаlig’i 
O’zgаruvсhining 
kоmp’yuter 
хоtirаsidаn 
egаllаydigаn jоyi 
ShortInt 
-128..127 
8 bit 
Integer 
-32768..32767 
16 bit 
LongInt 
-2147483648.. 2147483647 
32 bit 
Byte 
0..255 
8 bit 
Word 
0..65535 
16 bit 
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 musbat va manfiy raqamlardan tashkil topgan sonlardir, haqiqiy 
sonlar esa kasr ko‘rinishidagi musbat va manfiy sonlardir. Simvollar esa tushunarli, 
simvollardan tashkil topgan qiymatlardir. Quyida tiplarning to‘liq ro‘yxati (nomi, 
hajmi, qiymati)ni ko‘rishingiz mumkin 
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 


36 
unsigned int (32 razryadli)0..42949667295 4 bayt 
C++ tilida yana bitta butun qiymatlarni oluvchi o`zgaruvchi taifasi bo`lib bu C++ tiliga 
qo`shimcha ravshda o`rnatililadi. 
Bu gigonteger bo`lib hajim qiymati 4 GB ni tashkil qiladi. 
#include "BigIntegerLibrary.hh" 
BigInteger a = 65536; 
cout << (a * a * a * a * a * a * a * a); 
(prints 340282366920938463463374607431768211456) 
Misol: 10 ning 100 darajasini hisoblash. 
#include "stdafx.h" 
using namespace System; 
#using  
using namespace System::Numerics; 
int main() 

int a = 10; 
int b = 100; 
auto r = BigInteger::Pow(a, b);
Console::WriteLine(r); 
Console::ReadLine(); 
return 0; 



37 
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 
C++ tilida yana bitta haqiyqiy qiymatlarni oluvchi o`zgaruvchi taifasi bo`lib bu C++ 
tiliga qo`shimcha ravshda o`rnatililadi. 
Bu gigdemical bo`lib hajim qiymati 4 GB ni tashkil qiladi 
#include  
#include  
using namespace std; 
int main() 


std::decimal::decimal32 dn(.3), dn2(.099), dn3(1000), dn4(201); 
dn-=dn2; 
dn*=dn3; 
cout << "decimal32 = " << (dn==dn4) << " : " << decimal32_to_double(dn) << 
endl; 


std::decimal::decimal64 dn(.3), dn2(.099), dn3(1000), dn4(201); 
dn-=dn2; 


38 
dn*=dn3; 
cout << "decimal64 = " << (dn==dn4) << " : " << decimal64_to_double(dn) << 
endl; 


std::decimal::decimal128 dn(.3), dn2(.099), dn3(1000), dn4(201); 
dn-=dn2; 
dn*=dn3; 
cout << "decimal128 = " << (dn==dn4) << " : " << decimal128_to_double(dn) << 
endl; 

return 0; 

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 


39 
aniqlash mumkin. Bu funksiyani o'zgarmasga, biror toifaga va o'zaruvchiga qo'llash 
mumkin. 
Toifalarni kompyuter xotirasida egallagan xajmini aniqlash : 
#include 
int main () 

cout<<"char="<cout<<"bool="<cout<<"int="<cout<<"float="<cout<<"double="<system ("Pause"); 
return 0; 
}
Program misol; 
Var 
I : Longint; 
S : String [10]; 
begin 
Writeln (SizeOf(I)); { Prints 4 } 
Writeln (SizeOf(S)); { Prints 11 } 
end. 


40 

Yüklə 296,57 Kb.

Dostları ilə paylaş:
1   ...   8   9   10   11   12   13   14   15   16




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin