Pętla do... while - Programowanie jest łatwe

Pętla while jest najprostszą formą wielokrotnego wykonania danego fragmentu algorytmu, jednak z punktu widzenia algorytmiki jeszcze prostszą jest pętla do... while.

M. C. Escher

Pętla do... while różni się od pętli while tym, że najpierw wykonywany jest blok instrukcji, a dopiero na końcu sprawdzany jest warunek, czy dany blok powtórzyć. Różnica niewielka, można te dwie pętle stosować zamiennie. Popatrzmy jednak chwilę na słowny zapis algorytmu, za pomocą którego uzyskamy doskonałą konsystencję ciasta na naleśniki, zakładając, że w misce mamy zmieszane mleko, jajka, cukier i szczyptę soli:

  1. Dosyp trochę mąki
  2. Mieszaj, aż rozpuści się mąka bez grudek
  3. Jeżeli ciasto jest zbyt rzadkie, idź do punktu 1.

Ten algorytm to jeden do jednego pętla do... while. Jej postać w kodzie wyglądałaby następująco:

do {
  dodaj_make();
  mieszaj_skrupulatnie();
} while (!ciasto_rzadkie());

To samo przy użyciu pętli while wyglądałoby następująco:

while (!ciasto_rzadkie()) {
  dodaj_make();
  mieszaj_skrupulatnie();
}

Różnica niby żadna, jednak na początku sprawdzanie, czy ciasto jest rzadkie, bez dodawania mąki nie wydaje się sensowne (choć nie jest błędem).

Przy tworzeniu pętli do... while (w języku c, w innych najprawdopodobniej tak samo), należy zwrócić uwagę na średnik po warunku: while (...);. Bez tego średnika otrzymamy błąd przy kompilacji programu.

Ćwiczenia

  1. Kiedy według Ciebie lepiej zastosować pętlę do... while niż while?
  2. Napisz pętlę do.. while, która wyświetli wartości ciągu Fibonacciego do 200 (wartość kolejnej liczby jest sumą dwóch poprzednich, gdzie pierwsze dwie poprzednie to 0 i 1). Wynikiem powinno być: 1, 2, 3, 5, 8, 13, 21, etc.).

Dodano: 2018-04-20 07:59 przez Piotr Poźniak

ćwiczenia , pętle , do , while ,
Piotr Poźniak
O autorze:

Programuję od ponad 15 lat. Prowadzę software house. Angażuję i zachęcam wszystkich do programowania w ramach inicjatywy Programowanie jest łatwe.