Matematik misollar
Bugun o'rganishimiz kerak bo'lgan bilimlardan biri bu matematik funksiyalar. Go bizga oldindan matematik
funksiylarni tayyor qilib, math
moduliga joylab qo'ygan. Bugun biz shu tayyor funksiyalarni ishlatishni ko'rib chiqamiz.
Qani unda boshladik.
Avval modul(module) nima degan savolga javob bersak.
- Modul bu Go paketlari(packages) to'plami.
- Paket(package) bu .go fayllari katalogi. Paketlardan kodimizni qismlarga ajratishimiz mumkin.
Import qilish
Matematik funksiyalardan foydalanishimiz uchun, matematik funksiyalar jamlangan math
modulini import
qilishimiz kerak u quyidagicha bo'ladi.
Bu holatda dasturni ishga tushirolmaymiz chunki Go ishlatilmagan lekin e'lon qilingan yoki import qilingan modullar bo'lsa kompilatsiya qilmaydi. Umumiy import qilish yuqorida 3 chi qatorda ko'rsatilgan kabi bo'ladi.
Endi math
moduli ichida joylashgan funksiyalaridan foydalanishni ko'ramiz.
Quyida matematikadan ma'lum bo'lgan PI
ni qiymatini ekragna chop qilib ko'ramiz.
Natija:
Tushunamiz
Xo'sh nimani tushundingiz? Keling tushunishga harakat qilamiz. 3-qatorda math
modulini import qildik, endi unday foydalanishimiz mumkin.
7-qatorda math.Pi
orqali math
moduli ichida joylashgan PI
o'zgarmasiga murojaat qildik. Modullar ichida joylashgan funksiya, o'zgaruvchi yoki o'zgarmaslarga .(nuqta)
orqali murojaat qilinadi.
Bizni natijada sonni 15 xonali kasr qismini ham chop qildi. Agar bizga faqat ikki xonasi kerak bo'lsa qanday qilamiz? 3.14
ko'rinishida. Buni amalga oshirishimiz uchun Printf
funksiyasiga murojat qilamiz.
Natija:
Agar 3 xona kerak bo'lsa %.3f
ko'rinishida bo'ladi.
Bir nechta paketlarni import qilishning boshqa usuli
Biz yuqorida math
modulini import qilgan usul hozirgi dasturimiz uchun yaxshi holat. Lekin dastur kattalashgani sari import qilish kerak bo'lgan modullar ortib boradi.
Bu holatni kodni o'qish va tushinishni qiyinlashtiradi. Go bu holatni yaxshilash uchun bizga ajoyib imkoniyatni taqdim qiladi. U quyidagicha bitta import
kalit so'zi bilan import
qilish imkoniyati.
Boshqa matematik funksiyalar
Funksiyalar | Ta'rif |
---|---|
math.Abs(n) |
n ning moduli. |
math.Sin(x) |
x ning sinusi (x radianda). |
math.Cos(x) |
x ning kosinusi (x radianda). |
math.Tan(x) |
x ning tanginisi (x radianda). |
math.Asin(x) |
x ning arksinusi, [-π/2, π/2] oraliqda. |
math.Acos(x) |
x ning arkkosinusi, [0, π] oraliqda. |
math.Atan(x) |
x ning arktangens, [-π/2, π/2] oraliqda. |
math.Exp(x) |
e ning x darajasi. e^x, bu yerda e natural logorifm asosi. |
math.Log(x) |
x ning natural logorifimi. |
math.Pow(x, y) |
x ning y darajasi. x^y. |
math.Pow10(n) |
10 ning n darajasi. 10^n. |
math.Sqrt(x) |
x ning ildizi. |
math.Floor(x) |
x ni kichigiga yaxlitlaydi. |
math.Ceil(x) |
x ni katta tomonga yaxlitlaydi. |
math.Round(x) |
x ni yaqin songa yaxlitlaydi. |
math.Pi |
Matematik π o'zgarmasni(const) ifodalaydi (pi). |
math.Min(x, y) |
ikki sondan kichigini aniqlaydi. |
math.Max(x, y) |
ikki sondan kattasini aniqlaydi. |
math.e |
Matematik e o'zgarmasni(const) ifodalaydi e. |
math.Mod(x, y) |
x ni y ga bo'lgandagi qoldiq. |
Misollar:
Vazifa
Shu kungacha o'rgangan bilimlar bilan quyidagi misollarni ishlab chiqing. Bu sizni bilimlaringizni mustahkamlashga yordam beradi. Bu misollar ustoz Qudrat Abdurahimovning C++ dasturlsh asoslari kitobidan olindi.
Mustaqil ishlash uchun:
Info
Misollarni ishlash davomida o'zgaruvchi qiymatlarini ekarandan olsin!
Ya'ni Scan funksiyasidan foydalaning.