W pętlach typu for i while kluczowe jest to, czy warunek pętli jest spełniony przed pierwszym wejściem do jej wnętrza. Gdy analizujemy przypadek brzegowy n=0, bardzo często (np. w algorytmach liczonych "od 1 do n") warunek ma postać porównania w stylu "i <= n" przy starcie "i=1".
Jeżeli wtedy podstawimy n=0, dostajemy już na starcie relację 1 <= 0, czyli warunek jest fałszywy. Skutek jest prosty: program nie wchodzi do bloku pętli ani razu, więc liczba iteracji wynosi 0. Tę zasadę stosuje się także przy analizie innych wejść granicznych, np. pustej tablicy lub pustej listy.
Dlaczego pozostałe odpowiedzi są błędne?
- "i + 1 razy." – to typowe mylenie liczby iteracji z wartością zmiennej sterującej albo z innym, nieokreślonym fragmentem programu. Bez spełnionego warunku startowego pętla nie wykona się nawet "jeden raz".
- "silnia razy." – sugeruje skojarzenie z algorytmem obliczania silni, ale sama obecność n=0 nie oznacza automatycznie, że pętla wykona się "silnia razy". W praktyce silnia dla 0 jest zdefiniowana, ale liczba iteracji w pętli zależy od warunku, a nie od nazwy zadania.
- "Nieskończoną ilość razy." – nieskończona pętla pojawia się wtedy, gdy warunek nigdy nie staje się fałszywy (albo brak jest zmiany stanu). Dla n=0 w typowych pętlach zakresowych warunek jest fałszywy od początku, więc nie ma podstaw do wniosku o nieskończoności.
Wskazówka egzaminacyjna: zawsze sprawdzaj warunek wejścia dla danych brzegowych (0, 1, puste zbiory) zanim zaczniesz liczyć iteracje.