# data[].attributes.body
Iteracja polega na wielokrotnym powtarzaniu tej samej operacji (ciągu operacji). Iterację tworzymy stosując tzw. pętlę.
Mamy z nią doczynienia, gdy w pewnym kroku algorytmu wracamy do jednego z wcześniejszych kroków.

# data[].attributes.body
Możecie łatwo zauważyć, że mamy dwa warunki użyte w tym algorytmie, dlaczego??
Pierwszy związany jest z tym, że każda liczba podniesiona do potęgi 0, czyli n=0,  to jej wartość wynosi 1.
3⁰=1; 13⁰=1; 102⁰=1; 1566⁰=1
Drugi warunek  związany jest bezpośrednio ze spełnieniem warunku, czy osiągnęliśmy już zadany wykładnik n.
Ale dlaczego b=n,
b to zmienna pomocnicza, aby ilość wykonanych pętli była zgodna z wykładnikiem n. Z tego też powodu na początku b=0.
Zobaczcie: 2³=8 jest to nic innego jak 2*2²=2*2*2¹=2*2*2 jak widać są trzy pętle. Jak do b=0 dodamy 1 otrzymamy pierwszą pętlę później dodamy kolejne 1 będzie pętla druga i zostaniem nam ostatnia pętla. W tym czasie wynik nam rośnie o zmienną a.
Zmienna C to nasz wynik potęgowania. Na początku jego wartość wynosi 1, bo każda liczba pomnożona przez tą wartość daje wartość liczby zadanej a.
Jeżeli 2 warunek nie jest spełniony to mamy dwa obliczenia do wykonania.
1) c=c*a - opis powyżej
2) b=b+1 - w tym kroku następuje zwiększenie zmiennej pomocniczej o 1, wykonanie kolejnych pętli. Pętli będzie tyle ile wynosi n.
Pisząc c - oczywiście podajemy wynik potęgowania.
Podczas analizy tego algorytmu możecie obliczenia i pętle notować sobie na kartce

# data[].attributes.body
1. Przygotować masę na naleśniki
2. Zapalić gaz.
3. Położyć na nim patelnie
4. Nalać odrobinę oleju i go rozprowadzić.
5. Podgrzać olej.
6. Nalać nabierką masę na rozgrzaną patelnię.
7. Warunek czy ciasto z jednej strony jest usmażone:
NIE - smażyć dalej
TAK - Przełożyć upieczone ciasto z jednej strony na drugą na patelni.
8. Warunek jeżeli ciasto jest upieczone  to:
NIE - pieczemy dalej
TAK - zdjąć naleśnik z patelni na talerz
9. Warunek czy jest jeszcze masa na naleśniki:
TAK - przejść z powrotem do kroku 6.
NIE - koniec pieczenia naleśników.

# data[].attributes.body
Algorytm NWD - czyli największy wspólny dzielnik. Algorytm ten ma za zadanie znaleźć największą wspólną liczbę, która dzieli dwie zadane liczby.

# data[].attributes.body
Weź kartkę oraz długopis i przeanalizuj ten algorytm dla dwóch liczb 12 i 4 rozpisując kolejne kroki na kartce.

# data[].attributes.body
Przy pomocy listy kroków ułóż algorytm iteracyjny, który używamy w życiu codziennym.

# data[].attributes.body
Powyższy algorytm to przykład zapisu algorytmu w postaci listy kroków.

# data[].attributes.body
potęga liczby an
a - podstawa
n - wykładnik

# data[].attributes.body
Zapisz zadania do zeszytu. Zrób zdjęcie i wyślij na maila
ateacher@wp.pl