C va Python - Dasturlash 0-qadam: matematika

C va Python dasturlash tillari yordamida
hisoblatib natijasini ekranga chiqarmoqchi bo‘lsak qu-
yidagicha yozamiz:
38
printf("%d", 256456 - (125487 + (22 - 8889)));
// 139836
print(256456 - (125487 + (22 - 8889)))
# 139836
Ikkala dasturlash tilida natija bir xil va 139836 ga teng.
Ushbu 139836 natijani ekranga chiqarish uchun ifodani hi-
soblab, keyin quyidagicha yozish ham mumkin edi:
printf("%d", 139836); // 139836
print(139836) # 139836
Lekin ushbu holatda siz ancha vaqtingizni sarflab qo‘ya-
siz, chunki ifodani hisoblashdan ko‘ra ushbu ifodani dastur-
lash tilida yozish ancha tez va qulay. Shunday ekan, keyingi
masalalarda ham ifoda qanchalik sodda ko‘rinmasin ushbu
ifodani dasturlash tili yordamida yozib uni dasturning o‘ziga
hisoblatishga harakat qiling.
Mavzuga doir masalalar:
Butun sonlarni koʻpaytirish
Tasavvur qiling, archalar quyidagi ko‘rinishida ekilgan
bo‘lsin:
5 ta qator
7 ta ustun
39
Agar sizga nechta archa ekilgan deb savol bersam, eng
oson yo‘li bir boshidan boshlab barcha archalarni sanab chiqib
35 ta deysiz. Javob to‘g‘ri, lekin 35 ta archani sanashga siz
ancha vaqt yo‘qotib qo‘yasiz. Agar archalarning nechta ustun
va nechta qator qilib ekilgani ma’lum bo‘lsa, jami ekilgan
archalar sonini topishning oson usuli bu ko‘paytirish amalidir.
Rasmdan ma’lum har bir qatorda 7 tadan archa bor ekan
va bizda jami 5 qator mavjud, ya’ni:
1-qatorda: 7 ta
2-qatorda: 7 ta
3-qatorda: 7 ta
4-qatorda: 7 ta
5-qatorda: 7 ta
Endi barcha qatorlardagi archalarni qo‘shamiz va quyidagi
ifoda hosil bo‘ladi:
7 7 7 7 7 35
+ + + + =
Yoki shuning aksini qilsak, ya’ni bizda 7 ta ustun bor va har
bir ustunda 5 tadan archa mavjud deb qarasak:
1-ustunda: 5 ta
2-ustunda: 5 ta
3-ustunda: 5 ta
4-ustunda: 5 ta
5-ustunda: 5 ta
6-ustunda: 5 ta
7-ustunda: 5 ta
Ushbu holatda ifoda quyidagicha bo‘ladi:
5 5 5 5 5 5 5 35
+ + + + + + =
Agar ifodalarga e’tibor bersangiz, birinchi ifodada 7 soni
5 marotaba takrorlandi, ikkinchi ifodada 5 soni 7 marotaba
takrorlandi, lekin qiymat o‘zgarmadi.
40
Umuman yuqoridagi ifodalarni qisqacha qilib quyidagicha
yozsa bo‘ladi:
7 7 7 7 7 7 5 35
+ + + + = ⋅ =
5 5 5 5 5 5 5 5 7 35
+ + + + + + = ⋅ =
7 va 5 sonlari o‘rtasida turgan belgi
⋅
(nuqta) matematikada
ko‘paytirish belgisi deyiladi. Ba’zi manbalarda
×
ko‘rinishida
ham keladi.
Qiziq fakt: dastlab × ko‘paytirish belgisini Otred Uilyam
(William Oughtred) 1631-yil muomalaga kiritgan. Ungacha
esa M harfidan foydalanishgan.
Agar siz maktabda ko‘paytirish jadvalini (karra jadvalni)
yodlamagan bo‘lsangiz, yodlashingizga to‘g‘ri keladi. Chun-
ki yuqoridagi
7 5
⋅
ifodani yoddan hisoblab ayta olishingiz
kerak, 5 marta 7 raqamini qo‘shmasdan. Nimaga kerak dey-
sizmi? Karra jadvaldagi 1 dan 9 gacha bo‘lgan ko‘paytma-
lardan foydalanib ko‘p xonali sonlarni birbiriga ko‘payti
ramiz.
Yuqoridagilardan xulosa chiqarsak,
a
sonining
b
soniga
ko‘mapytmasi bu –
b
ta
a
sonining yig‘indisiga teng qiymatdir:
...
a b a a a a
a
⋅ = + + + + +
(jami b ta a soni)
Agar
b
soni kichik bo‘lsa, yuqoridagi ifoda orqali ko‘payt-
mani hisoblash mumkin, lekin
b
soni kattalashsa ko‘paytmani
hisoblash juda qiyinlashadi.
6354 156 ?
⋅
=
Yuqoridagi ifodani hisoblash uchun 6354 sonini o‘ziga
156 marta qo‘shish kerak. To‘g‘ri qo‘shib natijani chiqarsak
bo‘ladi, ammo juda ko‘p vaqtimiz ketib qoladi.
41
Shuning uchun ko‘p xonali sonlarni
ko‘paytirishda xuddi qo‘shish va ayirish kabi
ustun usu lidan foydalanamiz va quyidagi havolada
o‘rganib olsangiz
bo‘ladi
:
Agar hali ham ko‘p xonali sonlarni ustun shaklida
ko‘paytirishga qiynalayotgan bo‘lsangiz ushbu
havola orqali xohlagan sonlarni ko‘paytirishni
qadam-baqadam hisoblashni o‘rganishingiz
mumkin
:
Agar ikkita katta natural sonlarni ko‘paytirishni o‘rgangan
bo‘lsangiz, quyidagi ifodani yoddan hisoblab ko‘ring:
3 5 4 7 ?
+ ⋅ − =
Agar siz matematikadan xabaringiz bo‘lmasa, uni qu-
yidagichi hisoblaysiz:
• Oldin 3 ga 5 ni qo‘shasiz:
3 5 8
+ =
• Keyin 8 ni 4 ga ko‘paytirasiz:
8 4 32
⋅ =
• Oxirida
32 7 25
− =
. Lekin bu javob xato hisoblanadi.
Chunki ifoda ichida qo‘shish, ayirish va ko‘paytirish
aralashib kelsa, oldin ko‘paytirish amallari hisoblanadi, keyin
esa qo‘shish va ayirish. Demak, yuqoridagi ifoda quyidagicha
hisoblanadi:
3 5 4 7 3 20 7 23 7 16
+ ⋅ − = +
− =
− =
Agar ko‘paytirishlar ketma-ket kelib qolsa, siz xohlagan
tartibda ko‘paytirishingiz mumkin, xuddi qo‘shish amalidagi
guruhlash qoidasiga o‘xshab:
( )
3 4 6
3 4 6 12 6 72
⋅ ⋅ = ⋅ ⋅ =
⋅ =
yoki
( )
3 4 6
3 24 72
⋅ ⋅ = ⋅
=
Agar sonni 10, 100, 1000 kabi, ya’ni oxiri faqat 0 bilan
tugagan sonlarga ko‘paytirishda, natijani hosil qilish uchun
42
berilgan soning oxiriga shuncha 0 raqamini yozishning o‘zi
kifoya. Masalan:
2356 10 23560
⋅
=
56 1000 56000
⋅
=
Agar ikkita sonning oxiridagi 0 raqamlarini olib, qolgan
sonlarni bir-biriga ko‘paytirib javob oxiriga ikkita sondagi
barcha 0 raqamlarini yozsak ham qiymat o‘zgarmaydi.
Masalan:
270 3200
⋅
ifodani hisoblaylik. Bunda biz jami
uchta 0 ni olib tashlab quyidagi ifodani hisoblaymiz:
27 32 864
⋅
=
Endi 864 soni davomidan yuqorida olib qolingan uchta 0
raqamini yozamiz:
270 3200 864000
⋅
=
Quyida natural sonlarga tegishli bo‘lgan qonuniyatlar
keltirilgan
(
)
|