Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje mogą być realizowane: 1. powtarzanie instrukcji aż zostanie spełniony warunek. Ten rodzaj pętli jest nazywany do while ; 2. konkretną ilość razy (pętla z licznikiem). Ten rodzaj pętli jest nazywany for ; 3. sprawdzanie warunku tak długo aż zostanie spełniony. Wówczas następuje przejście do instrukcji. Ten rodzaj pętli jest nazywany while do. ZADANIE 1. Zbuduj schematy blokowe które wypiszą 10 kolejnych liczb całkowitych począwszy od 1. Zrealizuj problem za pomocą instrukcji DOPÓKI i POWTARZAJ. Dane: Pierwsza liczba do wypisania: 1 i ilość liczb: 10 Wynik: Wypisanie 10 kolejnych liczb całkowitych począwszy od 1 Krok 2: Dopóki i jest mniejsze bądź równe 10 wykonuj Kroki 3 i 4 Krok 3: Wypisz wartość zmiennej i Krok 4: Powiększ wartość zmiennej i o 1 () /*i++*/ Pisz ( i ) Dane: Pierwsza liczba do wypisania: 1 i ilość liczb: 10
Wynik: Wypisanie 10 kolejnych liczb całkowitych począwszy od 1 Krok 2: Powtarzaj Kroki 3 i 4 Krok 3: Wypisz wartość zmiennej i Krok 4: Powiększ wartość zmiennej i o 1 () ZADANIE 2. Podaj algorytm który oblicza sumę 10 kolejnych liczb całkowitych począwszy od 1 i wypisuje ją. Zrealizuj problem za pomocą instrukcji DOPÓKI i POWTARZAJ. Dane: Pierwsza liczba od której należy obliczać sumę: 1 i ilość liczb: 10 Wynik: Wypisanie sumy 10 kolejnych liczb całkowitych począwszy od 1 Krok 2: Przypisz zmiennej s wartość 0 () Krok 3: Dopóki i jest mniejsze bądź równe 10 wykonuj Kroki 4 i 5 Krok 4: Powiększ wartość zmiennej s o i (s := s + i) Krok 5: Powiększ wartość zmiennej i o 1 () Krok 6: Wypisz wartość zmiennej s s := s + i Dane: Pierwsza liczba od której należy obliczać sumę: 1 i ilość liczb: 10 Wynik: Wypisanie sumy 10 kolejnych liczb całkowitych począwszy od 1 Krok 2: Przypisz zmiennej s wartość 0 () Krok 3: Powtarzaj Kroki 4 i 5
Krok 4: Powiększ wartość zmiennej s o i (s := s + i) Krok 5: Powiększ wartość zmiennej i o 1 () Krok 6: Wypisz wartość zmiennej s ZADANIE 3. Podaj algorytm który oblicza sumę 10 kolejnych parzystych liczb całkowitych począwszy od 2 i wypisuje ją. Zrealizuj problem za pomocą instrukcji DOPÓKI i POWTARZAJ. Dane: Pierwsza liczba od której należy obliczać sumę: 2 i ilość liczb: 10 Wynik: Wypisanie sumy 10 kolejnych liczb całkowitych parzystych począwszy od 2 Krok 4: Dopóki i jest mniejsze bądź równe 10 wykonuj Kroki 5, 6 i 7 Krok 7: Powiększ wartość zmiennej i o 1 () j := j + 2 Dane: Pierwsza liczba od której należy obliczać sumę: 2 i ilość liczb: 10 Wynik: Wypisanie sumy 10 kolejnych liczb całkowitych parzystych począwszy od 2
Krok 4: Powtarzaj Kroki 5, 6 i 7 Krok 7: Powiększ wartość zmiennej i o 1 () POWTARZAJ j := j + 2 AŻ i > 10 ZADANIE 4. Ojciec ma syna, któremu daje przez 30 dni pieniądze w następujący sposób: Pierwszego dnia syn otrzymuje 2 złote, każdego następnego dnia otrzymuje o dwa złote więcej niż w dniu poprzednim. Podaj algorytm, który obliczy i wypisze ile pieniędzy zaoszczędzi syn. Zrealizuj problem za pomocą instrukcji DOPÓKI i POWTARZAJ. Dane: Pierwsza kwota pieniędzy: 2 i ilość dni: 30 Wynik: Wypisanie sumy pieniędzy po 30 dniach Krok 4: Dopóki i jest mniejsze bądź równe 30 wykonuj Kroki 5, 6 i 7 Krok 7: Powiększ wartość zmiennej i o 1 ()
DOPÓKI i <= 30 WYKONUJ j := j + 2 Dane: Pierwsza kwota pieniędzy: 2 i ilość dni: 30 Wynik: Wypisanie sumy pieniędzy po 30 dniach Krok 4: Powtarzaj Kroki 5, 6 i 7 aż i będzie większe od 30 Krok 7: Powiększ wartość zmiennej i o 1 () ZADANIE 5. Ojciec ma syna, któremu daje przez 10 dni pieniądze w następujący sposób: Pierwszego dnia syn otrzymuje 2 złote, każdego następnego dnia otrzymuje dwa razy więcej niż w dniu poprzednim. Podaj algorytm, który obliczy i wypisze ile pieniędzy zaoszczędzi syn. Zrealizuj problem za pomocą instrukcji DOPÓKI i POWTARZAJ. Dane: Pierwsza kwota pięniędzy: 2 i ilość dni: 10 Wynik: Wypisanie sumy pieniędzy po 10 dniach Krok 4: Dopóki i jest mniejsze bądź równe 10 wykonuj Kroki 5, 6 i 7 Krok 6: Powiększ wartość zmiennej j dwa razy (j := j * 2) Krok 7: Powiększ wartość zmiennej i o 1 ()
ZADANIE 6. Podaj algorytm, który wczyta liczbę naturalną x i wypisze komunikat czy jest ona parzysta czy nieparzysta. Problem zrealizuj bez użycia operatora MOD reszta z dzielenia. Dane: Liczba naturalna x Wynik: Wypisanie komunikatu parzysta lub nieparzysta Krok 1: Wczytaj liczbę x Krok 2: Dopóki x jest większe od 1 wykonuj Krok 3 Krok 3: Pomniejsz wartość zmiennej x o 2 (x := x - 2) Krok 4: Jeśli x jest równe 0 to Wypisz komunikat x - parzyste w przeciwnym razie Wypisz komunikat x - nieparzyste j := j * 2 Dane: Pierwsza kwota pięniędzy: 2 i ilość dni: 10 Wynik: Wypisanie sumy pieniędzy po 10 dniach Krok 4: Powtarzaj Kroki 5, 6 i 7 Krok 6: Powiększ wartość zmiennej j dwa razy (j := j * 2) Krok 7: Powiększ wartość zmiennej i o 1 ()