Dasturlash tilida o‘nl - qismini ajratuvchi ■
o‘zg‘almas nuqtali sonlar — o‘nli kasr ko‘rinishidagi sonlardir. Masalan: — 2.753; 283.45; 0.517; — 0.0013.
Qo‘zg‘aluvchi nuqtali sonlar — eksponensial ko‘rinishda ifoda- langan sonlardir. Sonlarni bu usulda yozish juda kichik yoki juda katta sonlarni ifodalashda qo‘l keladi. Masalan, 3400000000 = 3,4-109 soni 3.4E9 kabi eksponensial ko‘rinishda yoziladi. E harfidan oldin yozilgan son mantissa, E harfidan keyin yozilgan son esa tartib deb ataladi. Mantissa butun yoki qo‘zg‘aluvchi nuqtali shaklda berilishi, tartib esa faqat butun son bo‘lishi mumkin.
misol
37.3879 E-3 = 0.0373879; 5.31 E+5 = 531000;
- 0.075 E-5 = -0.00000075; -2.37 E-4 = -0.000237
O‘zgaruvchi miqdorlar
Dasturning bajarilish jarayonida qiymati o‘zgaradigan miqdorlar o‘zgaruvchi miqdorlar yoki qisqacha o‘zgaruvchilar
deyiladi. O‘zgaruvchilar barchasida kamida 1 ta belgi, BASIC da 40 ta belgidan oshmaydigan, PASCAL da 63 ta belgidan oshmay- digan, DELPHI da (nom va keyingi yozuvlar sig‘ishiga qarab) 1000 ta belgidan ortiq o‘z nomiga ega bo‘ladi. O‘zgaruvchi nomi uchalasida lotin harfi yoki PASCAL va DELPHI da tagchiziq belgisidan boshlanadi. O‘zgaruvchi nomida faqatgina raqamlar, lotin harflari va aytib o‘tilgan holda, tagchiziq belgisi qo‘llanilishi mumkin. Masalan:
abc; son; mening_ismim; sinf_9.
Bu tillarda o‘zgaruvchilarning nomida qo‘llanilgan katta va kichik lotin harflari farqlanmaydi. Masalan, karra, Karra, kArRa nomlar bitta o‘zgaruvchini bildiradi. Bunday yozish xizmatchi so‘zlar uchun ham o‘rinlidir.
PASCAL va DELPHI: o‘zgaruvchilar dasturning tavsiflash qismida albatta tavsiflanishi, ya’ni ularning turi ko‘rsatilganbo‘lishi lozim. Dasturda o‘zgaruvchilarni tavsiflash Var xizmatchi so‘zi bilan boshlanadi.
BASIC, PASCAL va DELPHI: butun sonli qiymatlar qabul qiladigan o‘zgaruvchilar butun sonli o‘zgaruvchilar deyiladi. PASCAL va DELPHI da o‘xshash 5 tur o‘zgaruvchi bo‘lib, bir- biridan qabul qiladigan qiymatlarining chegarasi (diapazoni) va kompyuter xotirasidan egallaydigan joyi (hajmi) bilan farq- lanadi. Quyidagi jadvallarda butun sonli o‘zgaruvchilarni tavsiflash uchun maxsus so‘zlar, ularga mos qiymatlar chegarasi va egallaydigan xotira hajmi keltirilgan:
PASCAL da
|
Qiymatlar chegarasi
|
Egallaydigan xotira hajmi
|
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
|
DELPHI da
|
Qiymatlar chegarasi
|
Egallaydigan xotira hajmii
|
ShortInt
|
-128 ...127
|
8 bit
|
Smalfint
|
-32768 ...32767
|
16 bit
|
Integer
|
-2147483648 ...2147483647
|
16 bit
|
LongInt
|
-2147483648 ...2147483647
|
32 bit
|
Int64
|
-9223372036854775808 ... 9223372036854775807
|
64 bit
|
Byte
|
0 ...255
|
8 bit
|
Word
|
0 ...65535
|
16 bit
|
Longword
|
0...4294967295
|
32 bit
|
10.2-misol
Var
N, к: Integer; tartib_raqam : Byte;
PASCAL va DELPHI: haqiqiy sonli qiymatlar qabul qiladigan o‘zgaruvchilar haqiqiy sonli o‘zgaruvchilar deyiladi. Ularning turlari quyidagi jadvalda keltirilgan:
PASCAL da
|
Qiymatlar chegarasi
|
Razradi
|
Egallaydigan xotira hajmii
|
Real
|
-2,9'1039 ... 1,7-103S
|
11-12
|
6 bayt
|
Single
|
-1,5 1045 ...3,4-1038
|
7-8
|
4 bayt
|
Double
|
-5,0-10324 ...1,7-10308
|
15-16
|
8 bayt
|
Extended
|
-3 , 4-104932 ...1,1-104932
|
19-20
|
10 bayt
|
Comp
|
-9,2-1018 ...9,2-1018
|
19-20
|
8 bayt
|
DELPHI da
|
Qiymatlar
chegarasi
|
Razradi
|
Egallaydigan xotira hajmi
|
Real48
|
-2,9-1039...1,7-1038
|
11-12
|
6 bayt
|
Single
|
-1,5 1 045 ...3,4-1038
|
7-8
|
4 bayt
|
Real
|
-5,0-10324 ...1,7-10308
|
15-16
|
8 bayt
|
Double
|
-5,0-10324 ...1,7-10308
|
15-16
|
8 bayt
|
Extended
|
-3,6-Ю4951 ...1,1-104932
|
19-20
|
10 bayt
|
Comp
|
-9,2-1018 ...9,2-1018
|
19-20
|
8 bayt
|
Currency
|
-922337203685477.5808 ... 922337203685477.5807
|
19-20
|
8 bayt
|
Jadvaldagi «Razradi» sonning aniq raqamlari sonini bildiradi. Juda ko‘p hollarda real turidagi o‘zgaruvchilardan foydalanish yetarli bo‘ladi.
PASCAL va DELPHI: satrli o‘zgaruvchilarni tavsiflash uchun String maxsus so‘zi qo‘llaniladi. Bunday o‘zgaruvchilar uchun PASCALda kompyuter xotirasidan 256 bayt (256 ta belgi uchun) joy ajratiladi. DELPHI da esa bu ko‘rsatkich 2 Gbayt gacha bo‘lishi mumkin. Agar satrli o‘zgaruvchi qabul qiladigan satrdagi belgilar soni dastur ishlashi davomida ma’lum miqdordan, masalan, 10 ta belgidan oshmasa, kompyuter xotirasini tejash maqsadida, uni String[10] orqali tavsiflash maqsadga muvofiq.
misol
var
qator: String; {qator nomli o ‘zgaruvchiga xotiradan 256 bayt ajratildi}
_satr: String[24]; {_satr nomli o ‘zgaruvchiga xotiradan 24 bayt ajratildi}
PASCAL va DELPHI: mantiqiy o‘zgaruvchilar Paskalning Boolean maxsus so‘zi orqali tavsiflanadi.
misol
var
natija: Boolean;
katta, kichik: Boolean;
BASIC: o‘zgaruvchilar tavsiflanishi shart emas, agar tavsiflash zarurati bo‘lsa o‘zgaruvchini qo‘llashdan avval tavsiflanadi, masalan:
DIM N AS INTEGER
DIM B AS DOUBLE
Butun sonli o‘zgaruvchilar tavsiflanmasdan nom% kabi ham qo‘llanilaveradi. Chegaralashlar quyidagicha:
Do'stlaringiz bilan baham: |