Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki PHP

Słowa kluczowe: Inkrementacja i dekrementacja w PHP Pętla while w PHP

Jaka będzie wartość $a po wykonaniu kodu?
$i = 10; $a = 0;
while ($i) {
  $a = $a + 2;
  $i--;
}

Źle. Pętla wykonuje się wielokrotnie i zwiększa $a.
Dobrze. 10 obrotów × 2 = 20.
Źle. Pętla nie wykonuje się tylko raz.
Źle. $a rośnie o 2 (nie o 1) na obrót.
Pętla while ($i) powtarza się tak długo, jak warunek w nawiasie jest prawdziwy - a w PHP każda liczba różna od zera znaczy „prawda”, więc pętla działa, dopóki $i nie spadnie do zera. Na starcie $i = 10, a $a = 0. W każdym obrocie ciało pętli najpierw zwiększa $a o 2 (instrukcja $a = $a + 2), a potem $i-- zmniejsza licznik o jeden. Warunek przestaje być spełniony, gdy $i osiągnie 0, więc obrotów jest dokładnie dziesięć - dla $i równego kolejno 10, 9, …, 1. Skoro przy każdym z dziesięciu obrotów dodajemy 2, końcowy wynik to 10 × 2 = 20. Zapamiętaj regułę: liczbę powtórzeń pętli warunkowej wyznacza zmienna sterująca - tu $i maleje o 1, co daje 10 iteracji. Dlatego szukaną wartością jest 20.
Wszystkie błędne wyniki biorą się z pomyłki przy „ręcznym” prześledzeniu pętli. Wartość 0 oznaczałaby, że pętla nie wykonała się ani razu - ale $i startuje od 10, więc warunek od początku jest prawdziwy. Wynik 2 odpowiadałby tylko JEDNEMU obrotowi, a obrotów jest dziesięć (tyle, ile wynosi początkowe $i). Wartość 10 wyszłaby, gdyby $a rosło o 1 na obrót - tutaj jednak rośnie o 2 (instrukcja $a = $a + 2). Prześledź licznik krok po kroku: $i maleje o 1 aż do zera, czyli 10 obrotów, a w każdym dokładamy 2 do $a. Po dziesięciu obrotach po +2 otrzymujemy 10 × 2 = 20 - i to jest poprawny wynik.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.