5.3. Sonlar ustida arifmetik amallar. Matematik funksiyalar.
Python dasturlash tilida sonlar ustida arifmetik amallar va ularning tavsifi quyidagi jadvalda keltirilgan.
Ifodalar (sonlar) ustida arifmetik amallar
x + y
x va y raqamlarini qo‘shadi
x - y
x dan y ni ayiradi
x * y
x ga y ni ko‘paytiradi
x / y
x ni y ga bo‘ladi; bu yerda haqiqiy son yoki kompleks son hosil bo‘ladi
x // y
x ni y ga bo‘lgandagi butun qismni chiqaradi. Masalan 25//3 bo‘lsa, natija 8 chiqadi
x % y
x ni y ga bo‘lgandagi qoldiq qismni chiqaradi. Masalan 25%3 bo‘lsa, natija 1 chiqadi
x ** y
x ning y darajasini hisoblaydi
-x
x ning ishorasini o‘zgartiradi (nol bundan mustasno)
+x
Vazifasi mavjud emas; ba’zan kodni aniqlashda ishlatiladi
abs(x)
x sonining modulini chiqaradi
divmod(x, y)
x ni y ga bo‘lgandagi butun va qoldiq qismni yig’ib ko‘rsatadi (ushbu ma‘lumot turi keying darslarda ko‘rib o‘tiladi).
pow(x, y)
x ning y darajasini hisoblaydi; x ** y bilan bir xil vazifani bajaradi.
pow(x, y, z)
(x ** y) % z amalning muqobil varianti
round(x, n)
x sonini verguldan keyingi n razryadgacha yaxlitlaydi.
Son va sanoq sistemalari ustida amallar
int(x)
x sonini butun songa aylantiradi. Masalan, int(8.31) kiritilsa, natija 8 teng chiqadi.
bin(i)
Butun sonni satr ko‘rinishidagi ikkilik songa o’tkazadi.
hex(i)
Butun sonni 16 lik sanoq sistemasiga o‘tkazadi.
oct(i)
Butun sonni 8 lik sanoq sistemasiga o‘tkazadi.
Biror sanoq sistemasidagi sonni o‘nli sanoq sistemasiga o‘tkazishda alohida operator yoki funksiya shart emas. Qobiq qismning buyruqlar qatoriga son va uning tipi kiritilsa yetarli.
5.3.1-rasm. Sanoq sistemalari ustida almashtirishlar
Pythonda ikkilik sanoq sistemasidagi sonlar 0b, sakkizlik sanoq sistemasidagi sonlar 0o, o’n oltilik sanoq sistemasidagi sonlar esa 0x yozuvi bilan boshlanadi.
O‘zgaruvchi nuqtali yoki suzuvchi nuqtali (floating-point) sonlarni haqiqiy (float) va kompleks (complex) sonlarga ajratish mumkin. Ushbu turdagi ma’lumotlar suzuvchi nuqtali sonlarni saqlash uchun mo’ljallangan va ular tarkibiga suzuvchi nuqtali manfiy va musbat sonlar diapozoni qabul qilingan. Suzuvchi nuqtali ma’lumot turlari bilan asosan yuqori aniqlikda yechilishi talab etiladigan masalalar yechiladi.
Sonli ifodalardan foydalanib, matematik amallarni bajarish uchun alohida matematik funksiyalar modulini chaqirish kerak. Ushbu modul math moduli deb nomlanadi va quyida ko‘rsatilgan jadvaldagi standart funksiyalarni qamrab oladi.
math.acos(x)
arccos(x) - ( bu yerda x – radianlarda beriladi)
math.asin(x)
arcsin(x)
math.atan(x)
arctg(x)
math.ceil(x)
x sonini undan katta butun songa aylantiradi
math.cos(x)
cos(x) - ( bu yerda x – radianlarda beriladi)
math.sin(x)
sin(x)
math.tan(x)
tg(x)
math.degrees(r)
r radianni gradusga aylantiradi
math.e
e soni; taxminan e=2.7182818284590451 ga teng
math.exp(x)
ex
math.fabs(x)
|x| - bu yerda x haqiqiy sonining modulini hisoblaydi
math.factorial(x)
x!
math.floor(x)
x sonini undan kichik butun songa aylantiradi
math.fmod(x, y)
x ni y haqiqiy songa bo‘lgandagi qoldiqni aniqlaydi
math.hypot(x, y)
math.log(x, b)
math.log10(x)
lgx
math.pi
Ï€
math.radians(x)
x ni gradusdan radianga aylantiradi
math.pow(x, y)
Haqiqiy son sifatida xy ni hisoblaydi
math.sqrt(x)
Endi esa matematik funksiyalar ustida amallarga misollarni ko‘rib o‘tamiz. Matematik amallarni bajarishda standart funksiyalardan foydalanishdan oldin import math qatorini kiritib modul kutubxonasi joriy seansga yuklab olinadi.
5.3.2-rasm. Python Shellda matematik amallarni bajarish
Eslatma: Har bir qatorda math.funksiya tarzda kiritish noqulayliklar keltirib chiqarishi mumkin. Shu sabab matematik kutubxonani chaqirganda unga vaqtinchalik qisqa nom berish mumkin:
Masalan,
>>>import math as m
>>>m.sqrt(64)
8
Kompleks sonlardan foydalanish uchun real va imag atributlari ishlatiladi. Misol uchun:
5.3.3-rasm. Kompleks sonlar ustida amallar
Kompleks sonning mavhum qismining ishorasini o‘zgartirish uchun conjugate() atributidan foydalaniladi.
5.3.4-rasm. Kompleks sonning mavhum qismning ishorasini almashtirish
Last updated