Darsliklar C++ Matematik Funksiyalar

C++ C++ Matematik Funksiyalar

Matematik funksiyalar jiddiyroq hisob-kitoblar uchun mo’ljallangan. Oddiy qo’shish-ayirishni operatorlar bilan bajaramiz, biroq ildiz olish, darajaga oshirish, trigonometriya yoki yaxlitlash kabi amallar uchun C++’ning <cmath> kutubxonasi bor. U ilmiy va muhandislik hisoblarining tayyor quroli.

cmathC++ standart kutubxonasining matematik funksiyalarni (ildiz, daraja, logarifm, trigonometriya) taqdim etadigan sarlavha fayli. Undan foydalanish uchun #include <cmath> yoziladi.

Kutubxonani ulash va asosiy funksiyalar

Eng ko’p ishlatiladigan funksiyalarni ko’rib chiqamiz:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    cout << sqrt(144) << endl;   // kvadrat ildiz
    cout << pow(2, 10) << endl;  // daraja
    cout << abs(-15) << endl;    // modul
    return 0;
}
12
1024
15

sqrt — kvadrat ildiz, pow(a, b) — a ning b-darajasi, abs — sonning modeli (musbat qiymati). Bular kundalik hisoblarda doimo kerak bo’ladi.

Yaxlitlash funksiyalari

<cmath> yaxlitlashning turli usullarini beradi. Ularni jadvalda solishtiramiz:

Funksiya Vazifasi f(3.4) f(3.6)
ceil() yuqoriga yaxlitlaydi 4 4
floor() pastga yaxlitlaydi 3 3
round() eng yaqin butunga 3 4

Amalda:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    cout << ceil(3.2) << endl;    // doim yuqoriga
    cout << floor(3.9) << endl;   // doim pastga
    cout << round(3.5) << endl;   // eng yaqinga
    return 0;
}
4
3
4

ceil har doim yuqoriga (3.2 ham 4), floor har doim pastga (3.9 ham 3), round esa eng yaqin butunga yaxlitlaydi. Farqni yaxshi tushunib oling.

Eng katta va eng kichik

max va min funksiyalari ikki qiymatdan mos ravishda kattasini va kichigini qaytaradi:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int a = 42, b = 17;
    cout << "Katta: " << max(a, b) << endl;
    cout << "Kichik: " << min(a, b) << endl;
    return 0;
}
Katta: 42
Kichik: 17

Amaliy misol: masofa hisoblash

Matematik funksiyalarning kuchini real vazifada ko’ramiz — ikki nuqta orasidagi masofa (Pifagor teoremasi):

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double x1 = 0, y1 = 0;
    double x2 = 3, y2 = 4;
    double masofa = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
    cout << "Masofa: " << masofa << endl;
    return 0;
}
Masofa: 5

Bu formula xaritalarda ikki nuqta orasini o’lchash, o’yinlarda obyektlar yaqinligini aniqlashda ishlatiladi.

Xulosa

Bu bo’limda <cmath> kutubxonasi bilan sqrt, pow, abs, yaxlitlash funksiyalari (ceil, floor, round), max/min va masofa hisoblashni ko’rib chiqdik. Jiddiy matematik amallar uchun bu kutubxona birinchi yordamchi. Keyingi darsda mantiqiy (Boolean) qiymatlarga o’tamiz.