Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych Autor artykułu: mgr Jerzy Wałaszek |
©2017 mgr
Jerzy Wałaszek
|
Obiegi wykonywane przez pętlę można numerować. Obieg
numerowany nazywamy iteracją (ang.
iteration). Iteracja wymaga dodatkowej zmiennej,
która przechowuje numer wykonywanego przez pętlę obiegu.
Zmienna ta nosi nazwę licznika pętli
(ang. loop counter). Pętlę iteracyjną możemy utworzyć
przy pomocy poznanych dotychczas pętli warunkowych.
Przykład:
Poniższe pętle wykonują 10 obiegów. Obiegi zliczane są przez zmienną i,
która pełni tutaj rolę licznika pętli.
Ponieważ pętle iteracyjne pojawiają się w programach bardzo często, w języku C++ istnieje specjalna instrukcja do ich łatwej realizacji. Składnia tej instrukcji jest następująca:
for(prolog; kontynuacja; epilog)
instrukcja ;
lub z instrukcją złożoną:
for(prolog; kontynuacja; epilog) {
|
||||||||||||||||||||||||||||||||||||||||
Przykłady różnych pętli iteracyjnych
W poniższych przykładach zakładamy, iż wszystkie niezbędne zmienne zostały
wcześniej odpowiednio zadeklarowane.
Pętla wypisuje kolejne liczby całkowite od 1 do 10: for(i = 1; i <= 10; i++) cout << i << endl ;Pętla wypisuje liczby od 10 do 1 w kierunku odwrotnym: for(i = 10; i >= 1; i--) cout << i << endl ;Pętla wypisuje kolejne liczby parzyste od 4 do 26: for(i = 4; i <= 26; i += 2) cout << i << endl ; |
||||||||||||||||||||||||||||||||||||||||
Zagnieżdżone pętle iteracyjnePoniższy fragment programu wypisuje wiersz zbudowany z 20 znaków X: for(i = 0; i < 20; i++) cout << "X"; cout << endl; Jeśli powtórzymy ten fragment programu 20 razy, to otrzymamy kwadrat z literek X. Instrukcją powtarzaną w pętli może być druga pętla - otrzymamy wtedy układ zagnieżdżony: for(j = 0; j < 20; j++) { Pętla wewnętrzna jest sterowana zmienną i. Jej zadaniem jest wyświetlenie jednego wiersza 20 znaków X. Pętla ta jest powtarzana 20 razy przez pętlę zewnętrzną sterowaną zmienną j. W efekcie w oknie konsoli pojawia się 20 wierszy, każdy zbudowany z 20 literek X:
W pętlach zagnieżdżonych muszą być stosowane różne zmienne liczników pętli. Jeśli ilość wykonań pętli wewnętrznej uzależnimy od numeru obiegu pętli zewnętrznej, to otrzymamy trójkąt: for(j = 0; j < 20; j++) cout << endl;
Zastanów się, jak zmienić podane pętle, aby uzyskać następujące wydruki w oknie konsoli:
|
||||||||||||||||||||||||||||||||||||||||
Funkcje logiczne
W wyrażeniach możemy stosować funkcje logiczne, których w języku C++ mamy trzy:
NIE - Negacja/Zaprzeczenie logiczne
(ang. NOT)
Jest to funkcja jednoargumentowa, której argumentem jest wyrażenie w. Wynikiem jest wartość przeciwna do wartości logicznej wyrażenia w.
LUB - Alternatywa/Suma logiczna (ang. OR)
Jest to funkcja dwuargumentowa. Wynik jest równy true tylko wtedy, gdy dowolny z argumentów jest prawdziwy (ma wartość różną od zera). Jeśli oba argumenty są fałszywe (równe zero), to wynikiem jest false. Nazwa suma logiczna pochodzi z podobieństwa wyniku tej funkcji do operacji dodawania liczb nieujemnych. Suma dwóch liczb nieujemnych jest różna od 0, jeśli dowolna z sumowanych liczb jest różna od 0. Suma wynosi 0, jeśli oba argumenty są równe 0.
I - Koniunkcja/Iloczyn logiczny (ang. AND)
Jest to funkcja dwuargumentowa. Wynik jest równy true tylko wtedy, gdy oba argumenty są prawdziwe (różne od zera). W przeciwnym razie wynik jest równy false. Nazwa iloczyn logiczny pochodzi z podobieństwa wyniku tej funkcji do operacji mnożenia. Wynik mnożenia jest niezerowy, jeśli wszystkie mnożone liczby są niezerowe.
Funkcje logiczne można łączyć:
a || b || c || d
a && b && c && d a && (b || c) !(a || b && c)
|
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe