Algorytmy iteracyjne
Informatyka » zakres rozszerzony » Algorytmy iteracyjne
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.
Aby napisać program realizujący algorytm iteracyjny, korzystamy z instrukcji iteracyjnych (tzw. instrukcji pętli).
Instrukcjami iteracyjnymi w języku C++ są instrukcje:
- for
- while
- do while
Pętla for
W języku C++ ma postać:
for ( wyrażenie_początkowe ; warunek_powtórzenia ; wyrażenie_pętli) instrukcja;
- wyrażenie_początkowe - wykonywane jest jednokrotnie na początku, służy do ustawienia wartości tzw. zmiennej sterujęcej pętli
- warunek_powtórzenia - jeżeli jest spełniony to pętla powtórzy swoje działanie
- wyrażenie_pętli - jest wykonywane po każdym powtórzeniu pętli, jest to wyrażenie które zmienia wartość zmiennej sterującej
Przykład 1
1. Wypisanie liczb od 1 do 10
for ( x=1 ; x<=10 ; x++) cout << x <<endl;
2. Wypisanie liczb od 10 do 1
for ( x=10 ; x>=1 ; x--) cout << x <<endl;
Zadania do wykonania
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ę.
Pętle zagnieżdżone
Z instrukcją zagnieżdżoną for mamy do czynienia wtedy gdy instrukcją powtarzaną w pętli jest kolejna instrukcja for.
Przykład 2
for ( x=1 ; x<=10 ; x++)
{
for ( y = 1 ; y<=10 ; y++)
cout << "*";
cout << endl;
}
Zadanie 5.
Napisz program, który wyprowadzi na ekran monitora prostokąt o bokach 10 na 5, narysowanego za pomocą znaków "*". Wnętrze prostokąta powino być wypełnione znakami "*".
**********
**********
**********
**********
**********
Zadanie 6.
Napisz program, który wyprowadzi na ekran monitora prostokąt narysowany za pomocą znaków "*" o wielkości x, y podanej przez użytkownika.
x
**********
**********
********** y
**********
**********
Zadanie 7.
Zmodyfikuj program z przykładu 2, tak aby wyświeltał tabliczkę mnożenia do 100 według przykładu poniżej.
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
.
.
.
10 * 8 = 80
10 * 9 = 90
10 * 10 = 100
Zadanie 8.
Napisz program, który wyprowadzi na ekran monitora trójką narysowany za pomocą znaków "*" według przykładu:
*
**
***
****
*****
Zadanie 9.
Napisz program, który wyprowadzi na ekran monitora trójką narysowany za pomocą znaków "*" według przykładu:
*
***
*****
******
********
Zadanie 10.
Napisz program, który wyprowadzi na ekran monitora trójką narysowany za pomocą znaków "*" według przykładu:
*
***
*****
*
***
*****
*
***
*****
Zadanie 11.
Napisz program, który wyprowadzi na ekran monitora trójką narysowany za pomocą znaków "*" według przykładu:
*
***
*****
*
***
*****
*******
*
***
*****
*******
*********