Przejdź do głównej treści

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

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe PHP

Słowa kluczowe: Inkrementacja i dekrementacja w PHP Iteracja po tablicy Operatory porównania w PHP PHP Pętla for w PHP Tablice w PHP

Pętla zapisana w języku PHP wstawi do tablicy liczby

$x = 5;
for ($i = 0; $i < 5; $i++)
{
    $tab[$i] = $x;
    $x = $x * 2;
}
A. 0, 5, 10, 20, 40
Źle. Zmienna x zaczyna od 5, a nie od 0 - to licznik i zaczyna od zera.
B. 5, 10, 15, 20, 25
Źle. Kod mnoży x przez 2, a nie dodaje 5.
C. 5, 10, 20, 40, 80
Dobrze. Do tablicy trafia x przed podwojeniem: 5, 10, 20, 40, 80.
D. 10, 20, 40, 80, 160
Źle. Tak byłoby, gdyby podwajanie było przed zapisem do tablicy.

Poprawny jest ciąg 5, 10, 20, 40, 80. Pętla wykonuje się pięć razy (dla $i od 0 do 4). W każdym obiegu najpierw zapisuje bieżącą wartość $x do tablicy, a dopiero potem ją podwaja. Dlatego pierwszym elementem jest początkowe 5, a każdy kolejny jest dwa razy większy od poprzedniego.

Do zapamiętania: przy śledzeniu pętli rozpisuje się tabelkę $i - zapisana wartość - nowe $x: 0-5-10, 1-10-20, 2-20-40, 3-40-80, 4-80-160. Ostatnie 160 trafia już tylko do zmiennej, bo warunek $i < 5 kończy pętlę. Kolejność instrukcji w ciele pętli decyduje o wyniku - to typowy element zadań egzaminacyjnych.

Każda błędna odpowiedź powstaje z innego potknięcia przy śledzeniu kodu. Ciąg 5, 10, 15, 20, 25 zakłada dodawanie piątki, a instrukcja $x = $x * 2 mnoży, więc wartości rosną coraz szybciej. Ciąg zaczynający się od 0 wynika z pomylenia $x z licznikiem $i - zmienna $x ma na starcie wartość 5, a nie 0.

Ciąg 10, 20, 40, 80, 160 to skutek zamiany kolejności instrukcji: tak wyglądałaby tablica, gdyby podwajanie następowało przed zapisem do tablicy. W kodzie jest odwrotnie - najpierw $tab[$i] = $x, potem mnożenie, więc do tablicy trafia wartość sprzed podwojenia. Dobrą metodą jest przejście pętli „na kartce” przez dwa-trzy pierwsze obiegi i sprawdzenie, która odpowiedź zaczyna się tak samo. Taki sposób sprawdzania wyniku jest szybszy niż rozpisywanie całej pętli.

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. Wysłane zostaną 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.