Potęgi i pierwiastki
Użyje Pan/Pani pow, sqrt i podobnych funkcji.
Potęgi i pierwiastki to bezpłatna lekcja C Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C Academy zawiera 4 lekcji w sumie.
Potęgi i pierwiastki
Dwa z najbardziej przydatnych narzędzi w math.h to pow, służąca do potęgowania liczby, oraz sqrt, służąca do wyznaczania pierwiastka kwadratowego.
Obie funkcje działają na wartościach typu double i zwracają wynik tego typu.
Funkcja pow
pow(base, exponent) oblicza wartość base podniesioną do potęgi exponent.
Na przykład pow(2, 3) oznacza 2 x 2 x 2, czyli 8.
#include <stdio.h>
#include <math.h>
int main(void) {
double result = pow(2.0, 3.0);
printf("2^3 = %.0f\n", result);
return 0;
}Kwadraty za pomocą pow
Aby podnieść liczbę do kwadratu, należy podnieść ją do potęgi 2.
Obliczamy tutaj pole kwadratowego pomieszczenia, podnosząc do kwadratu długość jego boku.
#include <stdio.h>
#include <math.h>
int main(void) {
double side = 5.0;
double area = pow(side, 2.0);
printf("area = %.0f\n", area);
return 0;
}Wykładniki ułamkowe
pow przyjmuje również wykładniki ułamkowe. Podniesienie do potęgi 0.5 jest równoznaczne z obliczeniem pierwiastka kwadratowego.
Zatem pow(9.0, 0.5) jest równe 3.0.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = pow(9.0, 0.5);
printf("9^0.5 = %.1f\n", r);
return 0;
}Funkcja sqrt
sqrt(x) zwraca pierwiastek kwadratowy z x, czyli liczbę, która pomnożona przez samą siebie daje x.
Jest to rozwiązanie czytelniejsze i szybsze niż użycie pow(x, 0.5), gdy potrzebny jest tylko pierwiastek kwadratowy.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(144.0);
printf("sqrt(144) = %.0f\n", r);
return 0;
}Ujemne argumenty funkcji sqrt
Pierwiastek kwadratowy z liczby ujemnej nie jest liczbą rzeczywistą.
Wywołanie sqrt(-1.0) zwraca specjalną wartość o nazwie NaN (Not a Number, czyli „nie jest liczbą”). Zawsze należy sprawdzić, czy argument jest równy zero lub dodatni.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(-4.0);
printf("result = %f\n", r);
return 0;
}Pierwiastki sześcienne za pomocą cbrt
Do obliczania pierwiastków sześciennych math.h oferuje funkcję cbrt.
W przeciwieństwie do sqrt, cbrt poprawnie działa z liczbami ujemnymi, ponieważ każda liczba rzeczywista ma rzeczywisty pierwiastek sześcienny.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.0f\n", cbrt(27.0));
printf("%.0f\n", cbrt(-8.0));
return 0;
}Twierdzenie Pitagorasa
Potęgi i pierwiastki dobrze sprawdzają się razem w geometrii. Długość najdłuższego boku trójkąta prostokątnego jest równa pierwiastkowi kwadratowemu z sumy kwadratów długości dwóch pozostałych boków.
Obliczamy tutaj przeciwprostokątną trójkąta o bokach 3, 4 i 5.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = 3.0, b = 4.0;
double c = sqrt(pow(a, 2.0) + pow(b, 2.0));
printf("hypotenuse = %.1f\n", c);
return 0;
}Funkcja pomocnicza hypot
Ten wzorzec jest tak często używany, że math.h zawiera funkcję hypot(a, b), która bezpośrednio zwraca długość przeciwprostokątnej.
Jest ona dokładniejsza niż ręczne obliczanie kwadratów i pierwiastka w przypadku bardzo dużych lub bardzo małych liczb.
#include <stdio.h>
#include <math.h>
int main(void) {
double c = hypot(3.0, 4.0);
printf("hypot = %.1f\n", c);
return 0;
}Wybór właściwego narzędzia
Krótki przewodnik:
- Pierwiastek kwadratowy: użyj
sqrt - Pierwiastek sześcienny: użyj
cbrt - Dowolna potęga: użyj
pow - Przeciwprostokątna: użyj
hypot
Jeśli istnieje funkcja przeznaczona do danego celu, wybierz właśnie ją. Kod będzie czytelniejszy i często dokładniejszy.
Program ćwiczeniowy
Ten program podnosi liczbę do potęgi, a następnie oblicza pierwiastek kwadratowy z wyniku, pokazując, jak można łączyć te funkcje.
#include <stdio.h>
#include <math.h>
int main(void) {
double p = pow(10.0, 4.0);
double r = sqrt(p);
printf("%.0f -> %.0f\n", p, r);
return 0;
}Szybkie sprawdzenie
Zastanów się, co zwraca każda z funkcji.
Podsumowanie
Nauczyłeś się podnosić liczby do potęg za pomocą pow, obliczać pierwiastki kwadratowe za pomocą sqrt, pierwiastki sześcienne za pomocą cbrt oraz przeciwprostokątne za pomocą hypot.
Pamiętaj, że sqrt dla liczby ujemnej zwraca NaN. Następnie zajmiemy się trygonometrią i logarytmami.
Często zadawane pytania
Czy lekcja „Potęgi i pierwiastki” jest bezpłatna?
Tak — pełny tekst „Potęgi i pierwiastki” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C Academy, przejdź na CoddyKit PRO. Kurs C Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Potęgi i pierwiastki”?
Użyje Pan/Pani pow, sqrt i podobnych funkcji. Ćwiczysz C Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C Academy?
Nie wymagamy żadnego doświadczenia. C Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Potęgi i pierwiastki”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C Academy?
Tak. Każda lekcja C Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dołączanie math.h
- Potęgi i pierwiastki
- Trygonometria i logarytmy
- Zaokrąglanie i wartości bezwzględne