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: Algorytmy i podstawy informatyki JavaScript

Dla dowolnej liczby całkowitej a z przedziału (0, 99) zadaniem funkcji zapisanej w języku JavaScript jest

function fun1(a)
{
    for (n = a; n < 100; n++)
        document.write(n);
    return n;
}
A. zwrócenie liczb z przedziału a .. 99
Źle. return oddaje jedną wartość, a liczby z przedziału są wypisywane przez document.write.
B. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
Dobrze. Pętla wypisuje a .. 99, a po niej n ma wartość 100 i to ją zwraca return.
C. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej a
Źle. Pętla wypisuje cały ciąg od a do 99, a zwracana jest wartość n po pętli.
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości 101
Źle. Pętla działa, dopóki n jest mniejsze od 100, więc 100 nie zostanie wypisane, a zwracana jest 100, nie 101.
Funkcja wypisuje liczby od a do 99 i zwraca wartość 100. Pętla for (n = a; n < 100; n++) zaczyna od a i wykonuje document.write(n), dopóki n jest mniejsze od 100. Po wypisaniu 99 licznik zwiększa się do 100, warunek n < 100 staje się fałszywy i pętla się kończy. Instrukcja return n; stoi za pętlą, więc zwraca wartość, przy której pętla się zatrzymała, czyli 100. Do zapamiętania: po zakończeniu pętli licznik ma pierwszą wartość, która NIE spełnia warunku. Przy n <= 100 funkcja wypisałaby jeszcze 100 i zwróciła 101. Zmienną licznika lepiej deklarować przez let n, aby nie powstała zmienna globalna.
Najczęstszy błąd to pomylenie ostatniej wypisanej liczby z wartością zwracaną. document.write wypisuje kolejne liczby, a return oddaje tylko jedną wartość - funkcja nie może zwrócić całego przedziału liczb. Warunek n < 100 jest ostry, więc 100 nie zostanie wypisane; wersja z wypisaniem do 100 i zwróceniem 101 pasowałaby do warunku n <= 100. Wypisanie tylko a i zwrócenie a pomija działanie pętli: zmienna n rośnie przy każdym obiegu, więc na ekran trafia cały ciąg liczb, a zwracana jest wartość n, nie a. Prześledź krańce: dla a = 98 pętla wypisze 98 i 99, potem n osiąga 100, warunek przestaje być spełniony i return n oddaje 100. To samo dzieje się dla każdego a z przedziału. Taki „test krańców” to dobra metoda przy każdym pytaniu o pętlę: sprawdź pierwszy i ostatni obieg oraz wartość licznika po wyjściu z 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.