Iteracja jako metoda programowania.

Iteracja to jedna z najważniejszych technik algorytmicznych polegającxa na powtarzaniu określonego ciągu operacji. Liczba powtózreń może być określona lub zależeć od od spełnienia określonego warunku.

Pętle iteracyjne o danej liczbie powtórzeń: instrukcja for

Instrukcja for ma następującą postać. for (init; wyr; upd)
{
instrukcje;
}

gdzie:
część init - może nie występować albo może być deklaracją jednej lub wielu zmiennych (tego samego typu) lub wyrażeniem lub listą wyrażeń rozdzielonych przecinkami.
część wyr - jest wyrażeniem o wartości typu boolean (lub może nie występować),
część upd - jest wyrażeniem lub listą wyrażeń rozdzielonych przecinkami (lub może nie występować).
instrukcje - są poleceniami wykonywanymi pętli (w szczególności może to być instrukcja grupująca)

Instrukcja for tworzy pętlę, która działa w następujący sposób:

  • 1. Opracowywana jest deklaracja lub lista wyrażeń w części init (jeśli występuje).
  • 2. Wyliczane jest wyrażenie wyr. Jeżeli jego wartość równa jest false, to instrukcja for kończy działanie, w przeciwnym razie (lub gdy wyr jest pominięte) działanie instrukcji for jest kontynuowane (krok 3).
  • 3. Wykonywana jest instrukcja ins (jeśli jest to instrukcja grupująca i w jej "środku" znajduje się instrukcja break lub return przekazująca sterowanie poza blok tej instrukcji grupującej, to instrukcja for kończy działanie)
  • 4. Obliczane są wyrażenia w części upd (jeśli występuje). Działanie jest wznawiane od kroku 2.

    Przykład




    1. // kod programu z przykładu
    2.  
    3. #include <iostream>
    4. using namespace std;
    5.  
    6. int main()
    7. {
    8. int n, s=1;
    9. cout << "Podaj liczbę n= ";
    10. cin >> n;
    11. cout << endl;
    12. for (int i=3; i<=n; i++)
    13. {
    14. s = s*i;
    15. }
    16. cout <<"s= "<< s;
    17. return 0;
    18. }

    Warunkowe pętle iteracyjne: instrukcje while i do..while

    Instrukcja while ma następującą postać:

    while (wyr)
    {
    ins;
    }

    gdzie:
    wyr - wyrażenie, dające w wyniku wartość typu boolean
    ins - dowolna instrukcja (w tym grupująca)

    -----------------------------------------------------------------------
    Inną instrukcją sterującą jest instrukcja do...while.
    Instrukcja do ... while jest bardzo podobna do while. Ma ona postać:
    do
    {
    ins;
    }
    while (wyr)

    Znaczenie ins i wyr jest takie samo jak w przypadku instrukcji while. Jedyna (zaznaczana zresztą przez zapis) różnica w stosunku do instrukcji while polega na tym, że warunek określony przez wyrażenie wyr jest sprawdzany po każdym wykonaniu pętli (instrukcji ins), a nie przed (jak to jest w przypadku while).

    Napisz Program z zastosowaniem każdej z pętli for, while, do...while

    1. wypisz liczby od 1 do 100
    2. wypisz liczby od 8 do 50
    3. wypisz liczby parzyste od 2 to 50
    4. wypisz liczby od 100 do 1
    5. wypisz liczby podzielne przez 8 ( w zakresie 1..100)
    6. wypisz liczby podzielne przez 3 lub 5 ( w zakresie 1..100)
    7. wypisz liczby podzielne przez 3 albo 5 ( w zakresie 1..100) (nie wypisuj tych podzielnych jednocześnie przez 3 i 5)
    8. wypisz największą liczbę niepodzielną przez 2,3,5,7 ale mniejszą od 1000
    9. sprawdź czy podana jako parametr liczba jest parzysta
    10. sprawdź czy podana jako parametr liczba jest liczbą pierwszą. (podzielna tylko przez 1 i przez samą siebie)
    11. wylicz największy wspólny dzielnik 2 liczb podanych jako parametry
    12. wylicz najmniejszą wspólną wielokrotność liczb podanych jako parametry
    13. ile jest liczb pierwszych w zakresie od a do b podanym jako parametry
    14. sprawdź czy 2 liczby podane jako parametr są liczbami względnie pierwszymi.
    15. sprawdź czy pesel ( podaje użytkownik) jest prawidłowym peselem
    16. oblicz silnię n (n – podane jako parametr)
    17. oblicz n-tą liczbę ciągu fibonacciego (n – podaje użytkownik)
    18. oblicz n-tą liczbę pierwszą (n – podaje użytkownik)