1. Wstęp
C++ pod względem funkcji matematycznych jest bardzo bogato wyposażony. Korzystając z tego języka można stworzyć naprawdę zaawansowany kalkulator. I nie tylko! W tym wpisie postaram się przybliżyć kilka funkcji.
Zaawansowane funkcje matematyczne znajdują się w bibliotece math.h
. Należy więc dołączyć tę bibliotekę:
#include <math.h>
2. Funkcje
2.1. PI i E
Na początek zacznę może od czegoś popularnego. Biblioteka math.h
posiada 2 stałe, które pozwalają wyświetlić liczbę pi, oraz liczbę e. Stałe te zwą się M_PI
, oraz M_E.
Przykład:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
cout << "Wartosc liczby PI wynosi: " << M_PI << endl;
cout << "Wartosc liczby E wynosi: " << M_E << endl;
return 0;
}
2.2. Zaokrąglanie liczb
Biblioteka math.h
posiada 3 funkcje służące do zaokrąglania. Te funkcje to:
double round (double);
double ceil (double);
double floor (double);
2.2.1. Funkcja round()
Funkcja round()
zaokrągla liczbę tak, jak w szkole. Jeżeli pierwsza liczba po przecinku jest większa lub równa 5, liczba jest zaokrąglana w górę, a w przeciwnym przypadku – w dół.
2.2.2. Funkcja ceil()
Funkcja ceil()
zaokrągla liczby zawsze w górę. Więc liczba 0.01 będzie zaokrąglona do 1.
2.2.3. Funkcja floor()
Funkcja floor()
zaokrągla liczby zawsze w dół. Więc liczba 0.99 będzie zaokrąglona do 0.
2.3. Potęgowanie liczb
Do potęgowanie służy funkcja pow()
. Funkcja ta wymaga dwóch parametrów. Pierwszym z nich jest liczba, którą chcemy potęgować, drugim potęga, do której tą liczbę chcemy podnieść. Funkcja zwraca wynik.
double pow (double, double);
Przykład:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double liczba, potega;
cout << "Podaj liczbe: ";
cin >> liczba;
cout << "Podaj potege: ";
cin >> potega;
cout << "pow("<<liczba<<","<<potega<<")="<<pow(liczba,potega) << endl;
return 0;
}
2.4. Pierwiastki
2.4.1 Pierwiastek stopnia drugiego
Do obliczania pierwiastka drugiego stopnia służy funkcja sqrt()
. Funkcja przyjmuje za argument liczbę, którą chcemy pierwiastkować.
double sqrt (double);
Przykład:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double liczba;
cout << "Podaj liczbe: ";
cin >> liczba;
cout << sqrt(liczba) << endl;
return 0;
}
2.4.2. Pierwiastek dowolnego stopnia
Obliczanie pierwiastka dowolnego stopnia oblicza się tak, jak potęgowanie, z tą różnicą, że jako potęgę podaje się iloraz liczb 1 i stopnia pierwiastka. Wszelkie wątpliwości powinien rozwiać poniższy przykład:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double liczba, stopien;
cout << "Podaj liczbe: ";
cin >> liczba;
cout << "Podaj stopien pierwiastka: ";
cin >> stopien;
cout << pow(liczba, 1/potega) << endl;
return 0;
}
3. Kilka słów na koniec
Przy korzystaniu z funkcji matematycznych, należy przede wszystkim myśleć jak matematyk, a nie informatyk. Trzeba na przykład pamiętać, że pierwiastek z liczby ujemnej nie istnieje. Myśląc jak matematyk unikniesz później błędów, oraz nerwów.
Jak można się domyślić z tytułu wpisu, nie jest to koniec opisu funkcji matematycznych w C++ na tym blogu. Kolejne części już wkrótce. Jest o czym pisać: moduł liczby, logarytm, sinus, cosinus, tangens, oraz wiele innych. Do zobaczenia!