Lekcja 13
Pętle w języku C++ - pętla for
Pętle - sens istnienia
Pętle umożliwiają powtórzenie pewnych instrukcji dopóki nie zostanie spełniony warunek kończący pętlę. Dzięki temu możemy w bardzo łatwy i krótki sposób wypisać na przykład ten sam (lub podobny) komunikat kilka lub kilkaset razy lub pobrać od użytkownika na przykład 100 zmiennych. Nie będzie to stanowiło już większego problemu i dzięki temu, korzystanie z języka C++ stanie się wygodniejsze i przyniesie nowe możliwości.
Pętla for - podstawy
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 (stanyPoczatkowe; warunekKoncowy; zmiany)
lista_instrukcji
Schematyczna forma pętli for, jak się zapewne domyślasz, sugeruje, że zarówno stanów początkowych jak i zmian może być kilka lub nawet kilkanaście. Poszczególne elementy oddzielimy wtedy przecinkami.
Oto prosty program przedstawiający wykorzystanie pętli for:
#include <iostream>
using namespace std;
int main()
{
int licznik;
for (licznik=1;licznik<10;++licznik)
cout <<"Wykonuje petle po raz "<<licznik<<endl;
cout <<endl<<"Nacisnij ENTER aby zakonczyc"<<endl;
getchar();
return 0;
}
program nr 13.1
W przykładzie tym mamy tylko jeden stan początkowy, jeden warunek końcowy i tylko jedną zmianę. Lista instrukcji (czyli w tym przypadku wypisanie tekstu na ekran) wykonuje się tak długo jak warunek (czyli stan końcowy) jest prawdziwy. Kiedy warunek staje się fałszywy, wówczas pętla zostaje zakończona. Przy każdym wykonaniu pętli zmienna licznik (jest to tak zwana zmienna sterująca pętlą) zostaje zmieniona tak jak to zostało zapisane w liście zmiana - czyli w naszym przypadku o 1.
Przede wszystkim zauważ, że w tym programie wykonujemy tylko jedną instrukcję w pętli. Gdybyśmy chcieli wykonać więcej instrukcji, musimy je otoczyć nawiasami klamrowymi.
Przy okazji zwróć uwagę, że w linii, w której została zapisana lista stanów początkowych, warunków końcowych i zmian, nie ma średnika. Jeśli postawisz tam średnik, kompilator nie poinformuje Cię o błędzie, ale program nie wykona się tak, jak tego oczekujesz.
Zwróć również uwagę na zapisaną zmianę: ++licznik. Wiesz oczywiście, że znaczy to to samo, co licznik+=1. W większości książek dotyczących programowania spotkasz jednak w tym miejscu zapis licznik++. Jak zapewne pamiętasz operator ++ można stosować zarówno przed jak i po zmiennej. Jak powinno być w tym przypadku? Otóż w tym przypadku nie ma to najmniejszego znaczenia z punktu widzenia logiki działania. Jednak operator ++ użyty przed zmienną działa szybciej niż użyty po zmiennej, dlatego też radzę Ci używać w tym przypadku zapisu przed zmienną.