Algorytmy, w których liczba kroków iteracji nie jest z góry określona
Informatyka » zakres rozszerzony » Iteracyjna realizacja wybranych algorytmów » Algorytmy, w których liczba kroków iteracji nie jest z góry określona
W niekórych algorytmach liczba kroków iteracji może nie być z góry określona i zależeć może od spełnienia (bądź niespełnienia) warunku logicznego. W takich sytuacjach w języku C++ można zastosować dwie pozostałe instrukcje iteracyjne:
- while
- do .. while
Instrukcja iteracyjna while
Postać instrukcji iteracyjne while
while(warunek) instrukcja;
Działanie pętli while
Na początku sprawdzany jest warunek, jeśli jest on spełniony to wykonywana jest instrukcja.
Należy pamiętać
- Wewnątrz bloku instrukcji powinna być zawsze umieszczona instrukcja, która zmienia wartość warunku - w przeciwnym razie pętla nigdy się nie zakończy.
- Jeżeli warunek jest niespełniony od samego początku to instrukcja nie będzie wykonana ani razu.
Przykład 1.
1. Wypisanie liczb od 1 do 10
...
int x=1; //wartość początkowa zmiennej sterującej pętli
while (x<=10)
{
cout << x <<endl;
x++; //instrukcja modyfikująca wartość zmiennej sterującej
}
...
2. Wypisanie liczb od 10 do 1
...
int x=10; //wartość początkowa zmiennej sterującej pętli
while (x>=1)
{
cout << x <<endl;
x--; //instrukcja modyfikująca wartość zmiennej sterującej
}
...
Instrukcja iteracyjna do .. while
Postać instrukcji iteracyjne do .. while
do
instrukcja;
while(warunek) ;
Działanie pętli do .. while
Na początku wykonywana jest instrukcja następnie sprawdzany jest warunek, jeśli jest on spełniony to następuje ponowne wykonanie instrukcji.
Należy pamiętać
- Wewnątrz bloku instrukcji powinna być zawsze umieszczona instrukcja, która zmienia wartość warunku - w przeciwnym razie pętla nigdy się nie zakończy.
- Instrukcja jest wykonana przynajmniej jeden raz, nawet gdy warunek jest nieprawdziwy od samego początku.
Przykład 2.
1. Wypisanie liczb od 1 do 10
...
int x=1; //wartość początkowa zmiennej sterującej pętli
do
{
cout << x <<endl;
x++; //instrukcja modyfikująca wartość zmiennej sterującej
} while (x<=10);
...
2. Wypisanie liczb od 10 do 1
...
int x=10; //wartość początkowa zmiennej sterującej pętli
do
{
cout << x <<endl;
x--; //instrukcja modyfikująca wartość zmiennej sterującej
} while (x>=1);
...
Zadania do wykonania
Wykonaj poniższe zadania z zastosowaniem pętli while i pętli do .. while.
Zadanie 1.
Utwórz program wyświetlający liczby od 5 do 15.
Zadanie 2.
Utwórz program wyświetlający liczby od 20 do 10.
Zadanie 3.
Utwórz program wyświetlający 5 linii zawierających Twoje imię.
Zadanie 4.
Utwórz program wyświetlający 10 ponumerowanych linii zawierających Twoje imię.