Petla for w programie potęgowania liczb całkowitych

0

Serdecznie pozdrawiam wszystkich użytkowników forum. Proszę o pomoc. Dla starych wyjadaczy mój problem to pewnie pestka ale ja już nie wiem co robić. Hobbystycznie czytam Symfonię Pana Grębosza i zaciąłem się na następującym problemie. Do rzeczy. Program ma obliczać potęgę liczb całkowitych z zadanego przedziału. Autor przedstawił następującą definicję funkcji
long potega (int stopien, long liczba)

{
long wynik=liczba;
for(int i=1; i <stopien ; i++)
{
wynik=wynik*liczba;
}
return wynik;
}

Czy ktoś mógłby mi łopatologicznie opisać działanie pętli for ? Skąd takie rozwiązanie problemu. Przykładowo wybieramy liczbę dziesięć. Zgodnie z funkcją autora zmienną liczba przypisujemy do zmiennej wynik. Później następuje pętla for. Wybieramy stopień potęgi 3. Czyli rozumiem że w takim przypadku pętla iteruje dwukrotnie i < 3 int i =1 i=++ za i podstawiamy trzy a i wzrasta o 1. Co pętla for ma do instrukcji wynik=wynik*liczba. Wiem że trochę zamotałem ale nie wiem dokładnie jak najlepiej sformułować problem. Z góry dziękuję za pomoc.
Pozdrawiam Krzysztof :)

4

Rozpisz sobie na kartce co się dzieje:
potega(3, 10L)
wynik = 10
Teraz pętla:
i = 1, czy i < 3? tak, to działamy:
wynik = 10 * 10 = 100
i = i + 1 = 2
I znowu, czy i < 3? tak:
wynik = 100 * 10 = 1000
i = i + 1 = 3
i < 3 ? nie: koniec pętli, zwracamy 1000.

0

Dziękuję lion137 za wytłumaczenie problemu . Politolog i c++ to czasami niełatwe połączenie.
Pozdrawiam Krzysztof :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1