Postanowiłem przygotować przydatną dla was (i dla mnie) subiektywną listę funkcji z dostępnych na maturze bibliotek C++, które mogą się na tym egzaminie przydać. Pamiętajcie jednak, że trzeba się dwa razy zastanowić zanim użyjecie jakiejś funkcji. Matura sprawdza umiejętność logicznego, algorytmicznego myślenia, a nie znajomość bibliotek, więc jeśli macie napisane "napisz program sortujący" to piszecie własną funkcję, a nie idziecie na łatwiznę funkcją sort(). Niemniej jednak oto funkcje C++ przydatne na maturze z informatyki.
Biblioteka cmath
Biblioteka cmath zawiera w głównej mierze funkcje matematyczne. Rzućcie okiem, na te które wybrałem.
- pow() - zwraca rzeczywistą potęgę danej liczby,
double pow (double podstawa, double wykladnik);
- sqrt() - zwraca pierwiastek drugiego stopnia z liczby,
double sqrt (double liczba);
Gdybyście mieli na własną rękę obliczyć pierwiastek kwadratowy z liczby to zachęcam do zapoznania się z metodą Newtona-Raphsona.
- trunc() - zwraca liczbę przekazaną jako parametr bez jej cześci ułamkowej,
double trunc (double liczba);
- fmod() - standardowym operatorem reszty z dzielenia (modulo), czyli % niekoniecznie da się pracować na zmiennych typu float czy double. Na ratunek przychodzi funkcja fmod(). Działa tak samo jak dobrze nam znany operator %, ale za to obsługuje dane z częścią ułamkową,
double fmod (double liczba, double podzielnik);
- abs() - zwraca wartość bezwzględną, absolutną z liczby,
double abs (double liczba);
- round(), ceil(), floor() - funkcje te służą do zaokrąglania liczb ułamkowych. Różnią się jednak sposobem zaokrąglania. Round() zaokrągla klasycznie tzn. gdy ułamek z liczby jest mniejszy od połowy to zaokrąla w dół, a w przeciwnym razie w górę. Ceil() zaokrągla w górę, a floor() w dół niezależnie od ułamka.
double round(double liczba); double ceil(double liczba); double floor(double liczba);
Biblioteka algorithm
- swap() - funkcja ułatwia życie, gdyż nie musimy sami pisać funkcji do zamieniania wartości zmiennych.
double swap(double liczba1, double liczba2)
- reverse() - za pomocą tej funkcji możemy odwrócić kolejność jakichś danych, np. danych tablicy, lub znaków w łańcuchu. Tym razem pokusiłem się nawet o przykłady,
double tab[5]={1,2,3,4,5};//pyk tablica
reverse(tab, tab+5);//sama nazwa tablicy jest adresem jej zerowego elementu
//w takim razie pierwszym argumentem jest adres zerowego elementu,
//a drugim adres o jeden za tablicą (pierwsze miejsce poza zarezerwowaną pamięcią)
for(int i=0; i<5; i++) cout << tab[i] << " ";
string xd="matura";
reverse(xd.begin(), xd.end());
//w przypadku stringów jest podobnie -> begin() zwraca adres zerowego znaku,
//a end() zwraca pierwszy adres za łańcuchem
cout << endl << xd;
- sort() - tą funkcję możemy wykorzystać do sortowania między innymi znaków w napisie i liczb w tablicy,
double tab[5]={5,1,3,2,4};
sort(tab, tab+5);
for(int i=0; i<5; i++) cout << tab[i] << " ";
string xd="45132";
sort(xd.begin(), xd.end());
cout << endl << xd;
//tutaj robimy ten sam manewr co w reverse()
//tzn. pierwszym argumentem jest zerowy element, a drugim
//pierwszy adres za zarezerwowanym miejscem w pamięci
- min() - porównuję dwie liczby i zwraca mniejszą,
double min(double liczba1, double liczba2);
- max() - porównuję dwie liczby i zwraca większą.
double max(double liczba1, double liczba2);
Uważajcie, bo funkcje max() i min() działają tylko dla dwóch zmiennych o tym samym typie. Swoją drogą trochę słabo pomyślane :/.

Funkcje C++ przydatne na maturze - kilka słów podsumowania
Weźcie proszę pod uwagę, że większość funkcji może przyjmować argumenty o typie innym, niż double. Użyłem tego typu w prototypach tak dla przykładu. Wiele działa jeszcze na intach, floatach, longach...
Nie nastawiajmy się również, że funkcje załątwią sprawę. Zapraszam do zapoznania się z algorytmami, które poznać warto. Lista takich algorytmów znajduje się tutaj.
Powodzenia ;).


