Im dalej tym lżej - przynajmniej dla mnie :) Zanim przejdziemy do merytorycznej części niniejszego rozdziału zajmiemy się najpierw czymś dużo ważniejszym, tj. postaram uświadomić Ci jak ważne narzędzie w tym rozdziale poznasz.
Do czego służą pętle?
Pętla w największym uproszczeniu służy do powtarzania instrukcji, które chcemy by się wykonały więcej niż raz bez konieczności ich wielokrotnego pisania w kodzie.
Przykładowo zamiast pisać:
instrukcja1;
instrukcja2;
instrukcja1;
instrukcja2;
instrukcja1;
instrukcja2;
możemy zapisać to samo krócej informując kompilator, że blok instrukcji:
instrukcja1;
instrukcja2;
ma się wykonać np. trzy razy. Operacja powtarzania wielokrotnego wybranych fragmentów kodu jest do tego stopnia istotna w programowaniu, że język C++ udostępnia nam aż trzy rodzaje pętli. Pętle, które poznasz niebawem różnią się drobnymi szczegółami, jednak ich idea jest ta sama - powtarzać wybrane fragmenty kodu.
Co powinniśmy na początek wiedzieć o pętlach?
Pętle są przede wszystkim najpotężniejszym narzędziem w ręku programisty. Dzięki pętlom możemy pisać kod krótszy, czytelniejszy i łatwiejszy w utrzymaniu. Wspomniane cechy są bardzo ważnymi atrybutami dla dobrego programisty. Ma on bowiem tworzyć krótki i zwięzły kod, który będzie jednocześnie łatwy w utrzymaniu.
Składnia pętli do ... while
do
{
} while( warunek_konczacy );
Kod, który ma być powtarzany umieszczamy wewnątrz bloku instrukcji, który jest poprzedzony słowem kluczowym
do oraz zakończony słowem kluczowym
while. Liczba powtórzeń instrukcji umieszczonych w bloku pętli
do ... while jest zależna od warunku kończącego pętlę. Pętla do ... while zakończy się gdy warunek umieszczony w nawiasach zaokrąglonych zwróci wartość
false. Istotną cechą pętli
do ... while jest fakt, że kod zawarty między słowami kluczowymi
do ... while zawsze wykona się conajmniej jeden raz.
Przykłady
Skoro już wiemy w teorii co to jest pętla oraz zapoznaliśmy się jak się formalnie zapisuje pętlę
do ... while, to przeanalizuj teraz kilka przykładów, które w praktyce zademonstrują Ci jej działanie. Spróbuj przewidzieć jaki będzie wynik działania każdego z przykładowych programów, a następnie sprawdź czy program zachował się zgodnie z Twoimi przewidywaniami.
#include <iostream>
int main()
{
int ile = 4;
do
{
std::cout << "Napis" << std::endl;
ile--;
} while( ile > 0 );
return 0;
}
#include <iostream>
int main()
{
int ile;
std::cout << "Ile razy wypisac napis? ";
std::cin >> ile;
if( ile > 0 )
do
{
std::cout << "Napis" << std::endl;
ile--;
} while( ile > 0 );
return 0;
}
#include <iostream>
int main()
{
int ile;
std::cout << "Ile razy wypisac napis? ";
std::cin >> ile;
int pozycja = 1;
if( ile > 0 )
do
{
std::cout << "Napis nr" << pozycja << std::endl;
pozycja++;
ile--;
} while( ile > 0 );
return 0;
}
#include <iostream>
int main()
{
int liczba;
do
{
std::cout << "Podaj liczbe 123 aby zakonczyc petle" << std::endl;
std::cin >> liczba;
std::cout << "Podales liczbe " << liczba << std::endl;
} while( liczba != 123 );
std::cout << "Koniec" << std::endl;
return 0;
}
Zadanie domowe
Podsumowanie
Przeanalizuj uważnie działanie wszystkich programów z niniejszego rozdziału. Nie rozpoczynaj kolejnego rozdziału jeżeli nie zrozumiałeś działania pętli oraz nie wykonałeś wszystkich zadań z niniejszego rozdziału. Dla początkującego programisty niniejszy rozdział jest pierwszym punktem krytycznym, który
koniecznie trzeba opanować zanim zacznie się pisać proste aplikacje.