KWALIFIKACJA SPL2 - TEST WIEDZY NR 3

PYTANIE NR 15.
Rozważ następujący fragment kodu:
function calculateBerthingTime(shipSize, portCapacity) {
    return shipSize / portCapacity;
}
Funkcja ta oblicza czas cumowania statku w porcie. Jakie dane są niezbędne do prawidłowego działania tej funkcji?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja korzysta wyłącznie z dwóch parametrów wejściowych: shipSize oraz portCapacity, a wynik zwraca jako ich iloraz. Dlatego do jej działania potrzebne są dane odpowiadające rozmiarowi statku i przepustowości/pojemności portu; pozostałe informacje nie występują w obliczeniu.

Pełne wyjaśnienie:

W przedstawionym fragmencie kodu funkcja przyjmuje dwa parametry: shipSize i portCapacity. W ciele funkcji jedyną operacją jest dzielenie: zwracana wartość to shipSize / portCapacity. To oznacza, że do uruchomienia funkcji trzeba dostarczyć dwie wartości liczbowe (lub dające się na liczbę zamienić) odpowiadające tym parametrom.

Odpowiedź "Rozmiar statku i pojemność portu" jest poprawna, bo dokładnie te dwie wielkości są użyte w obliczeniu. Bez którejkolwiek z nich nie da się policzyć wyniku, a funkcja nie miałaby kompletnych danych wejściowych.

Dlaczego pozostałe propozycje są niepoprawne?

  • "Nazwa statku i nazwa portu" – są to dane opisowe (tekstowe). W samym kodzie nie ma żadnego miejsca, w którym wykorzystywano by nazwy do obliczenia ilorazu, więc nie są niezbędne do działania tej funkcji.
  • "Prędkość statku i odległość od portu" – te wielkości mogłyby służyć do liczenia czasu dojścia (np. odległość/prędkość), ale w podanej funkcji nie ma takich parametrów ani takiej formuły.
  • "Liczba pasażerów na statku i liczba pracowników w porcie" – mogą wpływać na procesy obsługi pasażerskiej lub organizację pracy, jednak nie są użyte w obliczeniu zdefiniowanym w kodzie.

Wskazówka egzaminacyjna: w pytaniach o działanie funkcji najpierw sprawdź listę parametrów i to, które zmienne pojawiają się w wyrażeniu zwracanym. Odpowiedź powinna dotyczyć wyłącznie danych, które kod faktycznie wykorzystuje.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Parametry funkcji to nazwy zmiennych podane w nawiasie w definicji funkcji. Określają, jakie dane wejściowe funkcja ma otrzymać, aby wykonać obliczenia. W praktyce są to "miejsca" na wartości przekazane przy wywołaniu funkcji.
Trzeba przekazać dwie wartości odpowiadające parametrom: shipSize oraz portCapacity. Funkcja liczy wynik jako iloraz tych dwóch danych, więc bez nich nie wykona działania i nie zwróci sensownego rezultatu.
Nazwa statku jest informacją identyfikacyjną, zwykle tekstową. W kodzie funkcji nie ma operacji na nazwach ani użycia takiej zmiennej, więc przekazanie nazwy nie wpływa na wynik shipSize / portCapacity i nie jest niezbędne.
Sprawdź listę parametrów w definicji oraz zmienne użyte w obliczeniu (np. w instrukcji return). Jeżeli w kodzie występują tylko dwie zmienne, to tylko te dane są wymagane do wyznaczenia wyniku.
Tak, w praktyce trzeba dbać o spójne jednostki (np. tony i tony/godz.). Kod sam jednostek nie narzuca, ale sens wyniku zależy od tego, w jakich jednostkach podasz shipSize i portCapacity. Niespójność jednostek daje błędny czas.
Dzielenie przez zero w JavaScript nie daje zwykłej liczby: może pojawić się Infinity lub -Infinity, a przy niepoprawnych danych także NaN. W systemach operacyjnych portu warto dodać walidację: pojemność/przepustowość nie może być zerowa.
Tak. Prędkość i odległość pasują do obliczania czasu dopłynięcia (zwykle odległość/prędkość). To jednak inny problem niż ten opisany w kodzie, gdzie czas jest modelowany jako rozmiar podzielony przez przepustowość.
Najlepiej przekazywać liczby (typ number) albo wartości, które jednoznacznie konwertują się do liczb. Dzięki temu dzielenie działa przewidywalnie. Gdy przekażesz tekst niebędący liczbą, wynik może stać się NaN.
Typowo z planu zawinięć, zgłoszeń armatora, systemów TOS/PCS lub rejestrów operacyjnych: wielkość jednostki (np. parametry ładunkowe) oraz przepustowość stanowiska/nabrzeża. Kluczowe jest, by dane odpowiadały dokładnie polom użytym w modelu.
Ćwicz odczytywanie: (1) listy parametrów, (2) wyrażenia zwracanego, (3) operatorów (np. /, +, *). Zwracaj uwagę, które zmienne naprawdę występują w obliczeniu, a które dane są tylko "życiowo" związane z tematem, ale nie są w kodzie użyte.
info

To pytanie poprawnie rozwiązuje 80% zdających egzamin. średnio łatwe

W praktyce zawodowej kluczowe jest to, że funkcja korzysta wyłącznie z dwóch parametrów wejściowych: shipSize oraz portCapacity, a wynik zwraca jako ich iloraz.

Źródła:

  • MDN Web Docs: JavaScript functions — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions (dostęp: 2026-02-28)
  • MDN Web Docs: Arithmetic operators (/) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Division (dostęp: 2026-02-28)
  • ECMA-262 (Language Specification): ECMAScript® 2024 Language Specification, sekcje dot. funkcji i operatorów arytmetycznych — https://tc39.es/ecma262/ (dostęp: 2026-02-28)

Materiały:

  • Dokumentacja JavaScript dotycząca funkcji i parametrów
  • Materiały szkoleniowe z podstaw programowania (zmienne, operatory, funkcje)
  • Przykłady prostych modeli obliczeniowych w narzędziach planowania operacji portowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego