Potenssit ja juuret
Käyttäkää pow-, sqrt- ja muita vastaavia funktioita.
Potenssit ja juuret on ilmainen C Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C Academy-kurssilla on yhteensä 4 oppituntia.
Potenssit ja juuret
Kaksi math.h-tiedoston hyödyllisintä työkalua ovat pow, jolla luku korotetaan potenssiin, ja sqrt, jolla lasketaan neliöjuuri.
Molemmat toimivat double-arvoilla ja palauttavat double-tyyppisen tuloksen.
pow-funktio
pow(base, exponent) laskee kantaluvun korotettuna eksponentin osoittamaan potenssiin.
Esimerkiksi pow(2, 3) tarkoittaa laskua 2 x 2 x 2, jonka tulos on 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;
}Neliöt pow-funktiolla
Luku korotetaan toiseen potenssiin, kun siitä lasketaan neliö.
Tässä laskemme neliön muotoisen huoneen pinta-alan korottamalla sen sivun pituuden toiseen potenssiin.
#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;
}Murtopotenssit
pow hyväksyy myös murtopotensseja. Korottaminen potenssiin 0.5 vastaa neliöjuuren ottamista.
Siksi pow(9.0, 0.5) on 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;
}sqrt-funktio
sqrt(x) palauttaa luvun x neliöjuuren eli luvun, joka itsellään kerrottuna antaa tulokseksi x.
Se on selkeämpi ja nopeampi kuin pow(x, 0.5), kun tarvitsette vain neliöjuuren.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(144.0);
printf("sqrt(144) = %.0f\n", r);
return 0;
}sqrt-funktion negatiiviset syötteet
Negatiivisen luvun neliöjuuri ei ole reaaliluku.
Kutsu sqrt(-1.0) palauttaa erikoisarvon nimeltä NaN (Not a Number). Tarkistakaa aina, että syöte on nolla tai positiivinen.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(-4.0);
printf("result = %f\n", r);
return 0;
}Kuution juuret cbrt-funktiolla
Kuution juuria varten math.h tarjoaa funktion cbrt.
Toisin kuin sqrt, cbrt toimii myös negatiivisilla luvuilla, koska jokaisella reaaliluvulla on reaalinen kuutiojuuri.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.0f\n", cbrt(27.0));
printf("%.0f\n", cbrt(-8.0));
return 0;
}Pythagoraan lause
Potenssit ja juuret sopivat hyvin yhteen geometriassa. Suorakulmaisen kolmion pisimmän sivun pituus on kahden muun sivun neliöiden summan neliöjuuri.
Tässä laskemme 3–4–5-kolmion hypotenuusan.
#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;
}hypot-apufunktio
Edellinen laskutapa on niin yleinen, että math.h sisältää funktion hypot(a, b), joka palauttaa hypotenuusan suoraan.
Se on tarkempi kuin neliöiden ja neliöjuuren laskeminen itse, kun luvut ovat hyvin suuria tai pieniä.
#include <stdio.h>
#include <math.h>
int main(void) {
double c = hypot(3.0, 4.0);
printf("hypot = %.1f\n", c);
return 0;
}Oikean työkalun valitseminen
Pikaopas:
- Neliöjuuri: käyttäkää funktiota
sqrt - Kuution juuri: käyttäkää funktiota
cbrt - Mikä tahansa potenssi: käyttäkää funktiota
pow - Hypotenuusa: käyttäkää funktiota
hypot
Valitkaa erityinen funktio aina, kun sellainen on saatavilla. Koodi on silloin selkeämpää ja usein myös tarkempaa.
Harjoitusohjelma
Tämä ohjelma korottaa luvun potenssiin ja ottaa sitten tuloksen neliöjuuren. Näin näette, miten funktioita voidaan ketjuttaa.
#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;
}Pikatarkistus
Miettikää, mitä kukin funktio palauttaa.
Kertaus
Opitte korottamaan lukuja potensseihin pow-funktiolla, laskemaan neliöjuuria sqrt-funktiolla, kuutiojuuria cbrt-funktiolla ja hypotenuusoja hypot-funktiolla.
Muistakaa, että negatiivisen luvun sqrt palauttaa arvon NaN. Seuraavaksi tutustumme trigonometriaan ja logaritmeihin.
Opi C tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 39
- Oppitunnit
- 144
Usein kysytyt kysymykset
Onko oppitunti ”Potenssit ja juuret” ilmainen?
Kyllä – oppitunnin ”Potenssit ja juuret” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C Academy-kurssin, päivitä CoddyKit PROhon. C Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Potenssit ja juuret”?
Käyttäkää pow-, sqrt- ja muita vastaavia funktioita. Harjoittelet C Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Potenssit ja juuret”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C Academy-oppitunnilla?
Kyllä. Jokainen C Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- math.h:n sisällyttäminen
- Potenssit ja juuret
- Trigonometria ja logaritmit
- Pyöristys ja itseisarvot