Loading...
Kurs c++

LEKCJA 8 Pętle for | poziom 1

Kurs C++

Czym są pętle?

Pętle to mechanizmy pozwalające na wykonanie wielokrotnie jednej czynności. Po co? np., żeby wypisać wszystkie wartości z tablicy w dowolnej kolejności.

Z czego składa się pętla for?

int main()
{
    for(int i=0; i<3; i++)
    {
        cout<<i<<endl;
    }

    return 0;
}

 

Każda pętla for składa się z trzech parametrów. Pierwszy to wartość początkowa, do której potrzebujemy jakiejś zmiennej. W tym przykładnie będzie to int i. Drugi parametr to warunek zakończenia działania pętli, dla nas i<3. Oznacza to, że dopóki i<3 będzie prawdą pętla będzie działać. Trzeci parametr jest niezbędny do zakończenia pętli. Można go nazwać parametrem modyfikującym, u nas i++. Jest to jedyne miejsce, w którym powinniśmy modyfikować parametr początkowy.

Jak to działa?

Na początku działania pętli ustawiamy i na wartość 0, następnie wykonujemy instrukcję w klamrach {}, modyfikujemy parametr początkowy (i++), czyli zwiększamy i o 1, a następnie sprawdzamy, czy warunek dalej jest prawdziwy. Aktualna sytuacja to i=1<3, czyli warunek jest prawdą, znowu wykonujemy instrukcję, zwiększamy i, oraz sprawdzamy warunek. Teraz mamy sytuację i=2<3, co nadal jest prawdą, zatem całość wykonujemy jeszcze razwykonanie instrukcji, zmiana parametru, porównanie warunku. W tym momencie dochodzimy do sytuacji i=3<3 co nie jest już prawdą. Kiedy warunek przestaje być prawdziwy pętla kończy się, a program rusza do dalszych instrukcji.
Należy pamiętać, że parametr modyfikujący może mieć dowolną formę (i=i+5, i--, i=i*2) ważne jest, tylko żeby parametr początkowy zmieniał się i warunek kiedyś był fałszywy. W przeciwnym wypadku możemy stworzyć pętlę nieskończoną. Może ona wyglądać np tak:

int main()
{
    for(int i=0; i<3; i=i+0)
    {
        cout<<i<<endl;
    }

    return 0;
}

 

Pętla nieskończona jak sama nazwa wskazuje obraca się w nieskończoność, co powoduje zawieszenie się programu, a czasami nawet komputera.

 

Przejdź do: LEKCJA 9 Pętle while

LEKCJA 8 Pętle for | poziom 1
Rate this post