Etap 8: Podstawowe funkcje matematyczne z biblioteki <cmath>
Szczegółowe zestawienie najważniejszych operacji matematycznych w C++ - niezbędnik na każde kolokwium z programowania.
Biblioteka <cmath>: Fundamenty obliczeń
Podczas kolokwium często pojawiają się zadania wymagające obliczenia odległości, potęg czy zaokrągleń. Zamiast pisać własne funkcje, należy skorzystać z biblioteki <cmath>, która jest zoptymalizowana i precyzyjna.
1. Podstawowe operacje: Potęgi i Pierwiastki
Najważniejsze funkcje to pow oraz sqrt. Ważna uwaga: obie funkcje przyjmują i zwracają typ double. Jeśli pracujesz na liczbach całkowitych, pamiętaj o rzutowaniu lub dopisaniu .0 do liczb.
pow(a, b): Oblicza (a do potęgi b).sqrt(x): Oblicza (pierwiastek kwadratowy).
#include <iostream>
#include <cmath>
int main() {
double podstawa = 5.0;
double wykladnik = 2.0;
std::cout << "Wynik: " << pow(podstawa, wykladnik) << std::endl; // 25.0
return 0;
}2. Zaokrąglanie i Wartość Bezwzględna
W C++ mamy kilka sposobów na kontrolowanie części ułamkowej. Wybór zależy od tego, czy chcesz zaokrąglać do najbliższej liczby, czy zawsze w konkretną stronę.
ceil(x): Zaokrągla w górę (np. 3.1 -> 4.0).floor(x): Zaokrągla w dół (np. 3.9 -> 3.0).round(x): Zaokrągla matematycznie (od .5 w górę).fabs(x): Zwraca wartość bezwzględną liczby zmiennoprzecinkowej.
double x = -4.7;
std::cout << fabs(x); // 4.7
std::cout << round(4.5); // 5.03. Trygonometria (Radiany vs Stopnie)
To najczęstsza pułapka! Funkcje sin(), cos(), tan() przyjmują argumenty w radianach.
Wzór na zamianę:
const double PI = 3.1415926535;
double rad = 30.0 * (PI / 180.0);
double wynik = sin(rad); // ok. 0.5Rady na kolokwium
- Zawsze dodawaj
.0: Piszącpow(2, 2)narażasz się na niejednoznaczność. Lepiej pisaćpow(2.0, 2.0). - Obsługa błędów: Pamiętaj, że
sqrtz liczby ujemnej nie wyrzuci błędu kompilacji, ale Twój program zwróciNaN(Not a Number), co zazwyczaj oznacza zero punktów za zadanie. - Stała PI: Jeśli nie masz zdefiniowanego
M_PI, użyjacos(-1.0), aby uzyskać bardzo dokładną wartość liczby Pi.
Może Cię zainteresować
Etap 7: Podstawowe algorytmy w C++ - Implementacja ręczna
Przewodnik po algorytmach kopiowania, wyszukiwania, sortowania i generowania ciągów bez użycia biblioteki <algorithm>.
Etap 5: Referencje i referencje jako parametry funkcji
Zrozumienie mechanizmu referencji w C++: jak działają aliasy zmiennych i dlaczego są kluczowe w wydajnym przekazywaniu argumentów.
Etap 1: Podstawowe typy danych w C++ - Kompendium
Szczegółowe omówienie typów danych w C++ z uwzględnieniem rozmiarów pamięci i najczęstszych błędów na kolokwiach.