background image

Pętla For

background image

Pętla - ogólnie

Pętla ogólna to konstrukcja 
programistyczna stanowiąca jeden z 
rodzajów pętli, dostępna w 
niektórych językach programowania. 
Pętla ta umożliwia między innymi 
definiowanie pętli iteracyjnych. 

background image

Pętla for - postawa

Pętla for podobnie jak wszystkie pozostałe pętle 

umożliwi nam powtórzenie określonych operacji tak 
długo jak warunek końcowy jest spełniony. 
Schematycznie pętlę for można zapisać: 

• for (stany Poczatkowe; warunek Koncowy; zmiany)

  lista_instrukcji

• <? for( inicjalizacja zmiennych ; sprawdzenie warunku 

; modyfikacja zmiennych) { blok wyrażeń } ?>

• for (int i = 0; i < 10; ++i) std::cout << i << "-ta 

iteracja." << std::endl; 

background image

Działanie pętli: a)

Działanie tej pętli ma następujący 

przebieg:

1. wykonaj instrukcję zawartą w sekcji 

inicjalizacyjnej (pozycja A na 
schemacie)

2. sprawdź warunek (pozycja B na 

schemacie) 

 jeżeli nie jest spełniony (flase – fałsz 

– 0), to zakończ wykonywanie pętli 
(gałąź FALSE na schemacie)

 jeżeli jest spełniony (true - prawda – 

wartość inna niż 0), to przejdź do 
wykonania kolejnej iteracji (gałąź 
TRUE na schemacie)

3. wykonaj iterację (pozycja D na 

schemacie)

4. wykonaj zmianę wartości (pozycja C na 

schemacie)

5. wróć do punktu 2 (nieoznaczona gałąź 

na schemacie).

background image

b)

Należy podkreślić, że powyższy opis dla sekcji A: 

inicjalizacja; B: warunek-zakończenia; C: 
zmiana-wartości; jest tylko symbolicznym 
określeniem celu stworzenia tych sekcji w 
definicji pętli i nie ma żadnego ograniczenia 
wobec możliwości zapisania tam wyrażeń nie 
związanych z działaniem pętli, np. w sekcji A, 
choć ze względu na czytelność kodu 
źródłowego
 nie jest to zalecane jako 
zaciemnianie kodu. Ponadto w sekcji B: 
warunek-zakończenia; wyrażenie zawarte w 
tej części definicji pętli musi zwrócić wartość 
logiczną
, która określi czy pętla ma zostać 
powtórzona czy zakończona.

background image

c)

W językach takich jak C, C++, 

których nie wprowadzono wprost 
logicznego typu danych stosuje 
się odpowiednią interpretację 
wartości należących do typów 
całkowitoliczbowych
, tzn. wartość 
równa zero interpretowana jest jako 
wartość logiczna fałsz (false), inne 
wartości różne od zera jako wartość 
logiczna prawda (true). Jeżeli 
natomiast w sekcji B nie zapisano 
jakiegokolwiek warunku zakończenia 
pętli, to przyjmuje się, że warunek 
jest spełniony (prawda - true) i pętla 
będzie pętlą nieskończoną.

background image

d)

Na uwagę zasługuje fakt, iż w 
sekcji A: inicjalizacja, można 
także zawierać deklarację 
zmiennych lokalnych. Definicja 
konkretnego języka 
programowania, bądź jego 
implementacja, określa, czy 
zmienna tu zadeklarowana 
jest widoczna tylko w ramach 
wykonywanej pętli, czy także 
po jej zakończeniu, w bloku 
obejmującym daną pętlę.

background image

Składnia pętli for

Pętla ta w językach 

programowania 
definiowana jest za 
pomocą słowa 
kluczowego for.

background image

Pętla ogólna w językach 

programowania

Język programowania

składnia

Alef

For( A; B; C) D

C

For( A; B; C) D

C++

For( A; B; C) D

C++/CLI

For( A; B; C) D

C--

For( A; B; C) D

C#

For( A; B; C) {D}

D

For( A; B; C) D

Go

For A; B; C D

Java

For( A; B; C) D

JavaScript

For( A; B; C) D

Objective

For( A; B; C) D

Per

For (A; B; C) {D}

PHP

For (A; B; C) {D}

SAC

For( A; B; C) D

background image

Składnia pętli for(...)

Pętlę for można podzielić na cztery 

części:

• Inicjacja początkowych wartości 

zmiennych (A)

• Ustalenie warunku kończącego pętlę 

(B)

• Zwiększenie (zmniejszenie) licznika 

pętli (C)

• Powtarzany blok instrukcji (D);

background image

Zapis uogólniony pętli for(...) wygląda 

następująco:

C/C++

for( A; B; C )

{ //początek powtarzanego bloku 

instrukcji

    D

} //koniec powtarzanego bloku 

instrukcji

//lub

for( A; B; C ) D;

Parametry AB i C oddzielamy zawsze 

średnikami. 

background image

Prosty przykład omawianej pętli:

C/C++

for( int i = 1; i <= 10; i++ )

{

    //Powtarzany blok instrukcji

}

//lub

for( int i = 1; i <= 10; i++ ) 

jedna_powtarzana_instrukcja;

Zapis int i = 1 jest to inicjacja 

początkowej wartości 
zmiennej. Zapis ten oznacza, 
że tworzymy zmienną typu 
int, nazywamy ją i oraz 
nadajemy jej wartość 
początkową równą 1. Kolejną 
część pętli for stanowi 
warunek. W tym przypadku 
jest to i <= 10 i oznacza tyle, 
że dopóki warunek jest 
prawdziwy, to ma wykonywać 
blok instrukcji. Trzecią 
częścią, bez której pętla for 
nie byłaby sobą to 
zwiększenie bądź 
zmniejszenie wartości 
zmiennej. W tym przypadku 
jest to zapis i++. Zmienna ta 
jest zwiększana za każdym 
razem po wykonaniu 
wszystkich instrukcji z bloku.


Document Outline