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

function fun1(f) { if (f > 0) return 1; if (f < 0) return -1; return 0; } Przedstawiona funkcja zapisana w języku JavaScript ma za zadanie

function fun1(f)
{
    if (f > 0) return 1;
    if (f < 0) return -1;
    return 0;
}
Przedstawiona funkcja zapisana w języku JavaScript ma za zadanie
A. wypisać znak liczby f (1, -1 albo 0)
Źle. Funkcja niczego nie wypisuje; wynik oddaje instrukcją return.
B. zwrócić znak liczby f (1, -1 albo 0)
Dobrze. Funkcja zwraca 1, -1 albo 0, czyli znak liczby f.
C. wypisać wartość bezwzględną z f
Źle. Funkcja ani nie wypisuje, ani nie liczy wartości bezwzględnej.
D. zwrócić wartość bezwzględną z f
Źle. Wartość bezwzględna dla -7 wynosiłaby 7, a funkcja zwraca -1.

Funkcja zwraca znak liczby: 1 dla liczby dodatniej, -1 dla ujemnej i 0 dla zera. Instrukcja return kończy funkcję i oddaje wartość do miejsca wywołania, więc przy fun1(-7) wykonanie zatrzymuje się na drugim warunku z wynikiem -1. Ostatnie return 0; wykona się tylko wtedy, gdy żaden warunek nie był spełniony, czyli dla zera.

Wynik trzeba samemu wykorzystać, na przykład let z = fun1(x); albo console.log(fun1(x));. JavaScript ma do tego gotową funkcję Math.sign(). Do zapamiętania: return zwraca, a wypisuje dopiero console.log(), document.write() albo zmiana treści elementu strony.

Rozróżnienie „wypisać” i „zwrócić” rozstrzyga połowę odpowiedzi. W funkcji nie ma console.log(), alert() ani document.write(), więc nic nie pojawi się na ekranie. Funkcja tylko oddaje wynik instrukcją return, a co się z nim stanie, decyduje kod wywołujący.

Druga część pomyłek to wartość bezwzględna. Ta zwracałaby liczbę bez znaku, na przykład 7 dla -7 albo 3,5 dla 3,5. Analizowana funkcja niezależnie od wielkości liczby zwraca tylko jedną z trzech wartości: 1, -1 albo 0, czyli informuje o znaku, a nie o odległości od zera.

Łatwo to sprawdzić, podstawiając liczby: fun1(5) daje 1, fun1(-5) daje -1, a fun1(0) daje 0. Funkcja zwraca więc znak liczby f.

Ta sama analiza pomaga przy każdej funkcji: najpierw sprawdź, czy wynik jest zwracany, czy wypisywany, a potem podstaw kilka wartości.

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.