Son
Yozilishi
1 000
ming yoki bir ming
1 000 000
million yoki bir million
1 000 000 000
milliard yoki bir milliard
1 000 000 000 000
trillion yoki bir trillion
1 000 000 000 000 000
kvadrillion yoki bir kvadrillion
Agar, sizda sonlarning yozilishi haqida tasavvur paydo
bo‘lgan bo‘lsa, quyidagi havoladan foydalanib, har
xil sonlar ustida tajribalar o‘tkazish bilan bilimin-
gizni yanada mustahkamlashingiz
mumkin
:
«Raqamlar» mavzusida berilgan
C dasturlash tilidagi
printf
funksiyasi aslida 0 dan 4 294 967 296 gacha bo‘lgan
sonlarni ekranga chiqara oladi. Masalan,
C dasturlash tilida
73 709 551 616 sonini ekranga chiqarmoqchi bo‘lsak, ekranda
695 107 584 kabi natijani ko‘ramiz:
printf("%u", 73709551616); // 695107584
Ko‘rib turganingizdek dastur kodida yozilgan son boshqa,
ekranga chiqarilgan son boshqa. Buning sababi dastur ishla-
yotgan qurilma bilan bog‘liq. Hozircha bizga nimaga aynan
bunday bo‘lgani muhim emas, biz faqat
C dasturlash tilida
sonlar bilan ishlayotganda shunday chegara borligini inobatga
olib, kod yozsak yetarli.
Agar
C dasturlash tilida katta sonlarni ekranga chiqarmoq-
chi bo‘lsak, printf funksiyamizda «%u» o‘rniga «%llu»
qo‘yamiz va son oxirida LL qo‘shimchasini qo‘shamiz.
Py-
thon dasturlash tilida hech narsa o‘zgarmaydi.
18
printf("%llu", 73709551616LL); // 73709551616
print(73709551616) # 73709551616
Ushbu o‘zgarish orqali
C dasturlash tilida biz ekranga
18 446 744 073 709 551 616 gacha bo‘lgan sonlarni chiqara
olamiz. Agar sonimiz berilgan sondan katta bo‘lsa, yana no-
to‘g‘ri natija chiqadi.
Umuman
C dasturlash tili qurilmaga qarab 0 dan
4 294 967 296 yoki 18 446 744 073 709 551 616 songacha
bo‘lgan (oxirgi sonlar kirmaydi) sonlar bilan hisob-kitob qila
oladi.
Python dasturlash tilida esa sonlar bilan ishlaganda
deyarli hech qanday chegara mavjud emas.
Shu paytgacha faqat ekranga sonlarni chiqardik. Lekin
dasturlar bilan ishlash mobaynida nafaqat sonlarni, balki so‘z
va matnlarni ham ekranga chiqarishga to‘g‘ri keladi. Masalan
«Salom ITBoom» matnini ekranga chiqarmoqchi bo‘lsak, qu-
yidagicha yozamiz:
printf("Salom ITBoom"); // Salom ITBoom
print("Salom ITBoom") # Salom ITBoom
Matnlarni ekranga chiqarish xuddi sonlarni ekranga chiqa-
rishga o‘xshaydi. Faqat
C dasturlash tilida hech qanday %u,
%llu
ishlatmasdan, ekranga chiqar moqchi bo‘lgan matnning
o‘zini yozamiz.
Mavzuga doir masalalar:
Rim raqamlari
Ushbu mavzuda qo‘shish, ayirish amallari ishlatilgan. Agar
sizga hisob-kitoblar og‘irlik qilsa, hozircha kalkulyatordan
foydalanib turishingiz mumkin. Biz sonlarni qo‘shish va
ayi rishni «Butun sonlar» bobida o‘rganamiz.
19
Rim raqamlari qadimgi rimliklar tomonidan qo‘llanil-
gan bo‘lib, hozirgi kunda ham asrlar, asar boblari, oylarning
raqamlari, tartib sonlarini belgilash kabi hollarda qoʻllaniladi.
Rim raqamlari 7 ta lotin harflari I, V, X, L ,C, D, M dan
iborat bo‘lib, ularning qiymatlari quyidagi jadvalda keltirilgan:
I
V
X
L
C
D
M
1
5
10
50
100
500
1000
Ayrim rim raqamlari boshqa rim raqamlari oldidan kelishi
mumkin va u holatda qiymatlar ayiriladi:
Rim
raqami
IV
IX
XL
XC
CD
CM
Ifoda
5 - 1 10 - 1 50 - 10 100 - 10 500 - 100 1000 - 100
Qiymat
4
9
40
90
400
900
Yuqoridagi jadvaldan tashqari, I, X, C va M rim raqamlari
son ichida ko‘pi bilan uch marotaba ketma-ket kelishi mumkin
va ularning qiymatlari qo‘shiladi:
II
III
XX
XXX
CC
CCC
MM
MMM
1+1 1+1+1 10+10 10+10+10 100+100 100+100+100
1000+1000
1000+1000+
+1000
2
3
20
30
200
300
2000
3000
Va oxirgi qoida yuqoridagi uchta jadvalda keltirilgan qiy-
matlar rim raqami ichida kelsa ularning qiymatlari qo‘shiladi.
Qiziq fakt: rim raqamlarida 0 soni mavjud emas. Ushbu
son o‘rnida «nulla» («nullus»), «nihil» («nil») so‘zlari (lo-
tin tilida «hech narsa» ma’nosini anglatadi) qo‘llanilgan.
Dasturlash tillaridagi «null», «nil» kalit so‘zlari ham hech
narsa ma’nosida keladi.
20
Aytaylik, bizga MMMDCCCXCIX rim raqami berilgan
bo‘lsin. Uning son qiymatini topish uchun yuqoridagi uchta
jadvaldan pastgisidan boshlab yuqoridagisiga qarab qiymat-
larni almashtirishni boshlaymiz:
• son boshida uchinchi jadvaldagi MMM rim raqami bor,
demak MMM = 3000;
• keyingisi, birinchi jadvalda D = 500;
• keyingisi, uchinchi jadvalda CCC = 300;
• keyingisi, ikkinchi jadvalda XC = 90;
• va oxirgisi ham ikkinchi jadvalda IX = 9.
Olingan barcha qiymatlarni qo‘shamiz: 3000 + 500 + 300
+ 90 + 9 = 3899. Demak, MMMDCCCXCIX rim raqami 3899
qiymatga teng ekan.
Endi aksincha ya’ni sondan rim raqamiga o‘tkazmoqchi
bo‘lsak, oldin sonni yuqoridagi uchta jadval qiymatlari yig‘in-
disi shakliga o‘tkazib olamiz va qiymatlarga mos rim raqam-
larini qo‘yamiz. Masalan, 2689 sonini rim raqamiga o‘tkazish
tartibi quyidagicha:
• dastlab minglar xonasiga qaraymiz. Bizning holatda 2
raqami turibdi. Demak, bu 2000 degani (minglar xonasida
turgani uchun) va rim raqamida MM;
• endi yuzlar xonasiga qaraymiz. Bizning holatda 6 raqami
turibdi va bu 600 degani. Lekin yuqoridagi jadvallarda
600 yo‘q. Shuning uchun 600 sonini oxirgi qoida aso-
sida ikkita son yig‘indisi ko‘rinishida ifodalashimiz kerak.
Demak, 600 soni 500 + 100 bo‘ladi va rim raqamida DC;
• o‘nlar xonasiga o‘tamiz. Bizni holatda 8 turibdi va bu 80
degani. 80 soni ham jadvallarimizda yo‘q, lekin jadvallar-
da mavjud ikkita son ko‘rinishida ifodalashimiz mumkin:
50 + 30 va bu rim raqamida LXXX bo‘ladi;
• va oxirgisi birlar xonasi va unda 9 raqami turibdi. 9 rim
raqamida ikkinchi jadvalga asosan IX ga teng.
21
Demak, 2689 soni rim raqamida MMDCLXXXIX bo‘lar
ekan, ya’ni minglar xonasidan boshlab hosil bo‘lgan rim raqa-
mlarini to birlar xonasigacha birlashtirib yozamiz.
Agar rim raqamlari ishtirokidagi amallar qanday bajarilishi
haqida tasavvur paydo bo‘lgan bo‘lsa, quyidagi
havolaga o‘tib, har xil sonlar ustida tajriba o‘tkazib,
bilimingizni yanada
mustahkamlashingiz mumkin:
Mavzuga doir masalalar:
Musbat va manfiy sonlar
Hayotda sanashda ishlatiladigan barcha sonlarimiz bu – mus-
bat sonlar. Ya’ni 1, 2, 3 va h.k. Musbat sonlari +1, +2, +3 va
h.k. kabi ham ifodalanadi, lekin ko‘p hollarda plyus (+) belgisi
yozilmaydi.
Manfiy sonlar musbat sonlarga qarama-qarshi sonlar bo‘lib,
plyus (+) belgisi o‘rnida minus (-) belgisi qo‘yib yozilgan son-
lardir. Ular -1, -2, -3, -4, va h.k.
Manfiy sonlar haqida kitob davomida ma’lumotlar berilgan.
Hozircha musbat sonlar: 1, 2, 3, ... va manfiy sonlar: -1, -2, -3 ...
ekanligini bilishning o‘zi yetarli.
Qiziq fakt: Dastlab manfiy sonlardan (taxminan VII asr
da) Hindistonda qarzlar va yetishmovchilikni ifodalashda
qo‘llashgan.
C dasturlash tilidagi manfiy sonlarni ekranga chiqarish
uchun «%d» va «%lld» lardan foydalaniladi va manfiy sonlar
matematikada qanday yozilsa, dasturlash tillarida ham xuddi
shunday yoziladi.
E’tibor bering, siz ekranga chiqarmoqchi bo‘lgan natijan-
gizdan kelib chiqib,
C dasturlash tilida endi «%u», «%llu»,
«%d»
va «%lld» lardan foydalanasiz. Bularning asosiy farqi
«Sonlarning o‘qilishi» mavzusida yozilganidek, ekranga chiqa-
riladigan sonning chegaralarida:
|