C Academy · Oppitunti

Potenssit ja juuret

Käyttäkää pow-, sqrt- ja muita vastaavia funktioita.

Oppitunti 2/413 vaihetta

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.

Aloita maksutta

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

  1. math.h:n sisällyttäminen
  2. Potenssit ja juuret
  3. Trigonometria ja logaritmit
  4. Pyöristys ja itseisarvot
← Takaisin: C Academy