Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 30 kwietnia 2026 08:51
  • Data zakończenia: 30 kwietnia 2026 08:51

Egzamin niezdany

Wynik: 3/40 punktów (7,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Dla dowolnego 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
B. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
C. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
Twoja odpowiedź jest poprawna. Funkcja fun1(a) w języku JavaScript przyjmuje argument a i za pomocą pętli for wypisuje liczby od a do 100 włącznie - a więc pętla jest iterowana tyle razy, ile wynosi różnica między 100 a wartością argumentu a. Po każdej iteracji pętli, wartość zmiennej n jest zwiększana o 1, co jest typowym zachowaniem dla pętli for w JavaScript. Funkcja zwraca wartość zmiennej n po zakończeniu pętli. Tak więc funkcja zwraca 101, ponieważ to właśnie wartość o 1 większa niż warunek kończący pętlę (100) spowoduje jej zakończenie. Ta funkcja to przykładowe zastosowanie pętli for w JavaScript, pokazujące praktyczne zastosowanie tego elementu składni. Pętla for jest standardem w branży i jest powszechnie stosowana do iterowania przez elementy tablicy, obiekty, liczby i inne struktury danych.

Pytanie 2

Jaką instrukcją można zastąpić poniższy kod JavaScript, pełniącą tę samą funkcję?

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}

Kod 1.
while (i < 100) {
  document.write(i + ' ');
}

Kod 2.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}

Kod 3.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}

Kod 4.
A. Kod 4
B. Kod 1
C. Kod 2
D. Kod 3
Odpowiedzi inne niż Kod 3 są niepoprawne ponieważ nie odzwierciedlają poprawnie logiki oryginalnej pętli for. Kod 1 gdzie warunek jest i < 10 zamiast i < 100 będzie iterować zbyt mało razy ponieważ inkrementacja i odbywa się co 10 jednostek a warunek przerywający pętlę jest osiągnięty już po pierwszej iteracji co nie odpowiada strukturze pętli for. Kod 2 również używa błędnego warunku i < 100 ale brakuje w nim inicjalizacji zmiennej i co może prowadzić do błędów związanych z używaniem nieokreślonej zmiennej. W praktyce taki błąd jest często spotykany w przypadku gdy programista zapomina o zdefiniowaniu zmiennej przed rozpoczęciem pętli co prowadzi do nieprzewidywalnego działania kodu. Kod 4 także nie jest poprawny ponieważ w warunku while używa i < 10 co oznacza że pętla znów nie zostanie wykonana odpowiednią ilość razy. Ponadto inkrementacja i o 1 jednostkę zamiast o 10 znacznie zmienia ilość iteracji wymaganych do zakończenia pętli co nie jest zgodne z początkową pętlą for. Rozważając te błędne odpowiedzi warto zauważyć że precyzyjne określanie warunków i operacji w pętlach jest kluczowe dla ich prawidłowego działania co jest podstawą efektywnego programowania.

Pytanie 3

Elementem odpowiadającym imieniu Agata w zaprezentowanej tablicy JavaScript jest:

var Imiona = new Array('Anna','Joanna','Monika','Agata');
A. Imiona[Agata];
B. Imiona['Agata'];
C. Imiona[4];
D. Imiona[3];
Poprawna odpowiedź to Imiona[3], ponieważ w JavaScript indeksowanie tablicy zaczyna się od zera. Oznacza to, że pierwszy element tablicy Imiona to 'Anna' (Imiona[0]), drugi to 'Joanna' (Imiona[1]), trzeci to 'Monika' (Imiona[2]), a czwarty to 'Agata' (Imiona[3]). W kontekście programowania w JavaScript ważne jest, aby znać zasady indeksowania, co jest szczególnie istotne przy pracy z tablicami, ponieważ niewłaściwe indeksowanie może prowadzić do błędów, takich jak undefined. W praktyce, jeżeli chcemy uzyskać dostęp do konkretnego elementu tablicy, musimy użyć odpowiedniego indeksu. Ponadto, korzystanie z tablic w JavaScript jest powszechną praktyką, a zrozumienie ich mechanizmu pozwala na efektywne operowanie danymi. Należy również pamiętać o dobrych praktykach w programowaniu, takich jak stosowanie opisowych nazw zmiennych oraz komentowanie kodu, co zwiększa jego czytelność i zrozumienie dla innych programistów.

Pytanie 4

Jakie zadanie wykonuje funkcja napisana w JavaScript?

function fun1(a,b)
{
    if ( a % 2 != 0 ) a++;
    for(n=a; n<=b; n+=2)
        document.write(n);
}
A. wypisanie liczb parzystych w przedziale od a do b
B. zwrócenie parzystych wartości liczb od a do b
C. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
D. wypisanie wszystkich liczb w zakresie od a do b
Funkcja fun1 napisana w języku JavaScript ma za zadanie wypisanie liczb parzystych z przedziału od a do b. Na początku funkcja sprawdza, czy liczba a jest nieparzysta, wykorzystując operator modulo %. Jeśli a jest nieparzysta, zwiększana jest o jeden, aby stać się liczbą parzystą. Następnie pętla for iteruje od tej nowej wartości a do b, zwiększając a o 2 w każdej iteracji, co zapewnia, że wszystkie generowane liczby są parzyste. Wykorzystanie document.write(n) w każdej iteracji powoduje wypisanie bieżącej liczby. Taki sposób iteracji jest efektywny w kontekście wydajności, ponieważ omija nieparzyste liczby bez potrzeby sprawdzania ich w każdej iteracji. Ta technika jest powszechnie stosowana w programowaniu, gdy chcemy iterować tylko po określonym typie liczb, w tym przypadku parzystych. Dbałość o sprawność kodu i unikanie zbędnych operacji to kluczowe aspekty profesjonalnego programowania, które wpływają na szybkość działania i zasobożerność aplikacji. Implementacja ta jest zgodna z dobrymi praktykami, gdyż unika zbędnych operacji i wykonuje zadanie w sposób możliwie najbardziej efektywny.

Pytanie 5

Które wyrażenie logiczne należy zastosować w języku JavaScript, aby wykonać operacje tylko dla dowolnych liczb ujemnych z przedziału jednostronnie domkniętego <-200, -100)?

A. (liczba <= -200) && (liczba < -100)
B. (liczba >= -200) || (liczba > -100)
C. (liczba >= -200) && (liczba < -100)
D. (liczba -100)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne wyrażenie to (liczba >= -200) && (liczba < -100), bo dokładnie odwzorowuje zapis matematyczny przedziału jednostronnie domkniętego <-200, -100). W matematyce nawias kwadratowy oznacza, że granica jest włączona do przedziału, a nawias okrągły – że granica jest wyłączona. Czyli chcemy wszystkie liczby większe lub równe -200, ale jednocześnie mniejsze niż -100. W JavaScript przekłada się to właśnie na dwa porównania połączone operatorem logicznym AND, czyli &&. Warunek liczba >= -200 pilnuje dolnej granicy, a liczba < -100 pilnuje górnej, która jest otwarta. Jeśli którakolwiek z tych części będzie fałszywa, całe wyrażenie zwróci false, co jest dokładnie tym, czego oczekujemy przy opisie takiego przedziału. W praktyce taki zapis pojawia się bardzo często, np. przy walidacji danych wejściowych, filtrowaniu wyników, ustawianiu zakresów sliderów w interfejsie użytkownika albo przy sprawdzaniu warunków w grach (np. pozycja x obiektu ma być w jakimś zakresie). Przykład w JS: if (liczba >= -200 && liczba < -100) { // wykonaj kod tylko dla liczb z tego zakresu } Moim zdaniem warto od razu wyrobić sobie nawyk zapisywania zakresów w postaci dwóch prostych porównań połączonych &&, bo to jest czytelne dla innych programistów i zgodne z powszechną praktyką w branży. W wielu językach (nie tylko JavaScript, ale też C, Java, PHP) taki schemat warunków jest standardem. Trzeba też pamiętać, że w JS nie ma osobnego operatora „przedziału”, więc zawsze rozbijamy to właśnie na takie składowe porównania logiczne.

Pytanie 6

Przypisanie w JavaScript, zapisane jako var x=true;, prowadzi do tego, że zmienna x przyjmuje typ

A. liczbowym
B. ciągu znaków
C. wyliczeniowym
D. logicznym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja zmiennej w języku JavaScript, przy użyciu słowa kluczowego 'var', tworzy zmienną x, której typ jest logiczny. Typ logiczny (boolean) w JavaScript ma dwa możliwe wartości: true oraz false. Jest to podstawowy typ danych, który jest szeroko używany w programowaniu do reprezentacji wartości prawda/fałsz, co jest niezbędne przy podejmowaniu decyzji, takich jak warunki w instrukcjach if, pętlach czy operacjach logicznych. Dlatego też, przypisanie wartości true do zmiennej x oznacza, że x jest typu boolean, co można zweryfikować za pomocą operatora typeof. W praktycznych zastosowaniach, typ logiczny jest niezwykle ważny, na przykład w formularzach internetowych, gdzie wartości typu boolean mogą określać, czy dany warunek został spełniony. W odniesieniu do standardów, typ boolean jest zdefiniowany w ECMAScript, co czyni go fundamentalnym elementem w programowaniu w tym języku. Zrozumienie typów danych, a szczególnie typu logicznego, jest kluczowe dla efektywnego programowania i optymalizacji kodu.

Pytanie 7

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p id="akapit">akapit2</p>
B. <p>akapit</p>
C. <p class="akapit">akapit4</p>
D. <p href="/akapit">akapit3</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 8

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia między klientem a serwerem oraz umożliwia wymianę danych bez przeładowania całej strony WWW?

A. XML
B. PHP
C. YBScript
D. AJAX

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
AJAX, czyli Asynchronous JavaScript and XML, to naprawdę fajna technika, która pozwala na komunikację między klientem a serwerem bez konieczności przeładowywania całej strony. To znaczy, że możemy wysyłać i odbierać dane w tle, co jest mega wygodne. Dzięki temu możemy np. aktualizować tylko część strony, kiedy użytkownik coś kliknie. Dużo nowoczesnych aplikacji, jak Gmail, korzysta z AJAX, żeby dynamicznie ładować i wysyłać e-maile. W praktyce, gdy użytkownik wysyła wiadomość, to nie musi czekać, aż załaduje się cała strona, żeby zobaczyć nową treść. AJAX współpracuje z różnymi technologiami, jak JSON, co ułatwia wymianę danych w formacie, który JavaScript bez problemu przetwarza. Generalnie, standardy webowe mówią, że warto korzystać z AJAX, bo poprawia to wydajność i responsywność aplikacji. Dlatego jest to narzędzie, które każdy nowoczesny deweloper stron powinien mieć w swoim arsenale.

Pytanie 9

Dla dowolnego a w zakresie (0,99), celem funkcji napisanej w JavaScript jest:

function fun1(a)
{
    for(n=a; n<=100; n++)
        document.write(n);
    return n;
}
A. wypisanie wartości z zakresu a..99 i zwrócenie liczby 100
B. wypisanie wartości z zakresu a...100 i zwrócenie wartości zmiennej n
C. zwrócenie wartości z zakresu a..99
D. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer trzy jest poprawna ponieważ kod funkcji w języku JavaScript zawiera pętlę for która iteruje od wartości a aż do 100 włącznie. W każdym przebiegu pętli wywoływana jest metoda document.write która wypisuje na ekranie bieżącą wartość zmiennej n. Ponieważ pętla kończy się na 100, ostatnia wartość która zostanie wypisana to 100. Dodatkowo zauważmy że po zakończeniu pętli funkcja zwraca wartość zmiennej n, która po zakończeniu pętli będzie równa 101. Jest to typowy wzorzec używany w JavaScript gdzie pętla jest wykorzystywana do iteracji po zbiorze wartości a po jej zakończeniu zwracana jest ostatnia wartość zmiennej sterującej. Praktyczne zastosowanie tej wiedzy obejmuje rozumienie podstawowych mechanizmów iteracji w JavaScript co jest kluczowe w programowaniu. Dobre praktyki wskazują na wyraźne rozdzielenie logiki wyświetlania od logiki zwracania wartości co ułatwia testowanie i utrzymanie kodu. Zwracanie wartości po pętli może być używane w sytuacjach gdy chcemy uzyskać informację o stanie końcowym iteracji co jest częstym scenariuszem w obliczeniach arytmetycznych lub przetwarzaniu danych.

Pytanie 10

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. D.
B. C.
C. B.
D. A.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fajnie, że wybrałeś dobrą odpowiedź! Metoda 'dane' jest powiązana z obiektem 'osoba', co pozwala ci używać słowa kluczowego 'this', żeby odwołać się do 'imię' i 'nazwisko'. To naprawdę ważna zasada w programowaniu obiektowym. 'This' to taki klucz, dzięki któremu możesz wskazać, z którego obiektu korzystasz w danej chwili. W tym przypadku odnosisz się do obiektu 'osoba'. Wyobraź sobie, że tworzysz aplikację i chcesz pokazać informacje o użytkowników, na przykład na stronie profilu. Dzięki metodzie 'dane', która jest częścią obiektu 'osoba', możesz łatwo wyświetlić imię i nazwisko. O to chodzi w programowaniu!

Pytanie 11

Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //

A. w zmiennej x minimalna wartość ze zmiennych a, b, c
B. w zmiennej x maksymalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane
D. wybór wartości maksymalnej spośród zmiennych a, b oraz c

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W analizowanej linii kodu JavaScript, wykorzystujemy funkcję Math.max, która służy do określenia maksymalnej wartości spośród podanych argumentów. W tym przypadku, wartości te są reprezentowane przez zmienne a, b oraz c. Zastosowanie funkcji Math.max jest standardem w programowaniu w JavaScript, co pozwala na efektywne przeprowadzenie operacji porównawczych. Użycie operatora przypisania '=' pozwala na zapisanie wyniku operacji do zmiennej x, co z kolei umożliwia dalsze przetwarzanie tej wartości w programie. Przykład użycia tej funkcji wygląda następująco: var x = Math.max(a, b, c);. Warto również zwrócić uwagę na to, że funkcja Math.max zwraca wartości numeryczne, co czyni ją niezastąpioną w przypadkach, gdy potrzebne jest porównanie różnych liczb w celu wyłonienia największej. W kontekście standardów, Math.max jest częścią obiektu Math, który jest wbudowany w JavaScript i podlega ogólnym zasadom ECMAScript. Dlatego znajomość i umiejętność stosowania tej funkcji jest kluczowa dla każdego programisty JavaScript.

Pytanie 12

Liczba 0x142, przedstawiona w skrypcie JavaScript, jest zapisywana w postaci

A. dwójkowej
B. szesnastkowej
C. dziesiętnej
D. ósemkowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Liczba 0x142 jest zapisana w formacie szesnastkowym, co oznacza, że jest to reprezentacja liczby w systemie liczbowym o podstawie 16. W systemie szesnastkowym używa się cyfr od 0 do 9 oraz liter od A do F, gdzie A reprezentuje 10, B 11, C 12, D 13, E 14, a F 15. Aby przekonwertować tę liczbę na bardziej powszechny system dziesiętny, można zastosować wzór: 1*16^2 + 4*16^1 + 2*16^0, co daje wynik 256 + 64 + 2 = 322. W JavaScript, liczby szesnastkowe są często używane w kontekście kolorów (np. #FF5733) czy adresów pamięci. Użycie prefiksu '0x' jest standardową konwencją w wielu językach programowania do wskazania, że dana liczba jest zapisana w systemie szesnastkowym. Przykładem zastosowania może być definicja kolorów w CSS, gdzie zapis szesnastkowy jest powszechnie stosowany do określenia wartości RGB.

Pytanie 13

W języku JavaScript, aby zmienić wartość atrybutu elementu HTML, po uzyskaniu obiektu za pomocą metody getElementById, należy zastosować

A. metodę setAttribute
B. pole attribute i podać nazwę atrybutu
C. metodę getAttribute
D. pole innerHTML

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda setAttribute w JavaScript jest kluczowym narzędziem do modyfikacji atrybutów elementów DOM. Po uzyskaniu referencji do elementu za pomocą metody getElementById, możemy wykorzystać setAttribute do ustawienia lub zmiany wartości dowolnego atrybutu HTML. Na przykład, aby zmienić atrybut 'src' obrazka, można użyć następującego kodu: const img = document.getElementById('myImage'); img.setAttribute('src', 'newImage.png');. Takie podejście jest zgodne z najlepszymi praktykami, zapewniając elastyczność i kontrolę nad elementami DOM. Metoda ta przyjmuje dwa argumenty: nazwę atrybutu oraz jego nową wartość. Warto pamiętać, że setAttribute działa nie tylko z atrybutami standardowymi, ale również z niestandardowymi i danymi atrybutami, co pozwala na dynamiczne rozszerzanie możliwości HTML. Dobre praktyki zalecają również użycie setAttribute, gdy chcemy zapewnić pełną zgodność z HTML5 i zachować semantykę dokumentu, co jest kluczowe dla dostępności i SEO.

Pytanie 14

W języku JavaScript zmienna i, która ma przechowywać wynik dzielenia równy 1, powinna być zadeklarowana jako

A. var i = 3/2
B. var i = Number(3/2)
C. var i = parseFloat(3/2)
D. var i = parseInt(3/2)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "var i = parseInt(3/2);" jest prawidłowa, ponieważ funkcja parseInt konwertuje podaną wartość na liczbę całkowitą, w tym przypadku wynik dzielenia 3/2 wynosi 1.5. Funkcja ta zaokrągla wynik w dół do najbliższej liczby całkowitej, co skutkuje wartością 1, która jest następnie przypisywana do zmiennej i. W praktyce, użycie parseInt jest często spotykane w sytuacjach, gdy zachodzi potrzeba uzyskania liczby całkowitej z wartości zmiennoprzecinkowej, na przykład podczas obliczeń wymagających całkowitych jednostek, takich jak liczba produktów w koszyku. Ponadto, ważne jest również, aby rozumieć, że parseInt przyjmuje drugi argument, który określa podstawę liczbową, co jest zgodne z najlepszymi praktykami programistycznymi, aby unikać niejednoznaczności w interpretacji wartości. W związku z tym, używanie parseInt w kontekście takich operacji jest zgodne z dobrymi praktykami programistycznymi i pozwala na uniknięcie nieprzewidzianych błędów w obliczeniach.

Pytanie 15

Aby uruchomić kod JavaScript w przeglądarce, potrzebne jest

A. debugowanie
B. kompilowanie
C. interpretowanie
D. przetwarzanie na kod maszynowy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wykonanie kodu JavaScript w przeglądarce wymaga jego interpretowania, co oznacza, że kod jest analizowany i wykonywany linia po linii bezpośrednio przez silnik JavaScript wbudowany w przeglądarkę, taki jak V8 w Google Chrome czy SpiderMonkey w Firefoxie. W odróżnieniu od kompilacji, gdzie cały kod źródłowy jest przekształcany w kod maszynowy przed jego uruchomieniem, interpretacja pozwala na bardziej elastyczne i interaktywne programowanie. Dzięki temu programiści mogą dynamicznie modyfikować i testować skrypty bez potrzeby każdorazowego kompilowania. Przykładem zastosowania jest wbudowana konsola w przeglądarkach, gdzie można na bieżąco wprowadzać i testować fragmenty kodu JavaScript. Interpretacja jest zgodna z zasadami dobrych praktyk programowania webowego, takim jak szybka iteracja i prototypowanie, co czyni ją kluczowym elementem w tworzeniu aplikacji internetowych. Dodatkowo, dzięki interpretacji, JavaScript może być łatwo integrowany z HTML i CSS, co przyczynia się do rozwoju bogatych interfejsów użytkownika w aplikacjach webowych.

Pytanie 16

W JavaScript, funkcja matematyczna Math.pow() jest wykorzystywana do obliczania

A. potęgi liczby
B. wartości przybliżonej liczby
C. wartości bezwzględnej liczby
D. pierwiastka kwadratowego liczby

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku JavaScript funkcja Math.pow() jest używana do obliczania potęgi liczby. Przyjmuje ona dwa argumenty: pierwszy to podstawa potęgowania, a drugi to wykładnik. W wyniku działania funkcji uzyskujemy wartość, która jest równoważna podstawie podniesionej do podanej potęgi. Na przykład, wywołanie Math.pow(2, 3) zwróci 8, ponieważ 2 do potęgi 3 to 2 * 2 * 2. Funkcja ta jest zgodna z ECMAScript, co oznacza, że jest standardem w JavaScript i można jej używać w różnych kontekstach, takich jak obliczenia matematyczne w aplikacjach webowych. Istotnym aspektem używania Math.pow() jest również fakt, że może przyjmować liczby ujemne oraz liczby zmiennoprzecinkowe, co czyni ją bardzo uniwersalnym narzędziem. Dodatkowo, dla potęgowania liczby do potęgi 0, wynik zawsze wynosi 1, co jest zgodne z zasadami matematycznymi. Dlatego Math.pow() jest kluczowym elementem biblioteki matematycznej JavaScript, ułatwiającym programistom wykonywanie bardziej skomplikowanych obliczeń.

Pytanie 17

Wskaż funkcję JavaScript, która umożliwia obliczenie połowy kwadratu liczby podanej jako argument.

A. function wynik(a) { return a*2/2; }
B. function wynik(a) { return a/2+a/2; }
C. function wynik(a) { return 2*a/a; }
D. function wynik(a) { return a*a/2; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja 'wynik' w postaci 'function wynik(a) { return a*a/2; }' poprawnie oblicza połowę kwadratu liczby 'a', co można zapisać matematycznie jako (a^2)/2. Takie podejście jest zgodne z definicją funkcji w programowaniu, gdzie argument 'a' jest przekazywany jako parametr, a następnie wykorzystany w obliczeniach. Przykładowo, jeśli przekazalibyśmy liczbę 4, wynik funkcji wyniósłby (4*4)/2 = 8. W praktycznych zastosowaniach, takie obliczenia mogą być przydatne w różnych dziedzinach, jak grafika komputerowa, gdzie oblicza się pola powierzchni, czy inżynieria, gdzie analizuje się różne parametry techniczne. Użycie operatora mnożenia i dzielenia zapewnia, że wyniki są zgodne z oczekiwaniami matematycznymi, co jest zgodne z najlepszymi praktykami programistycznymi, polegającymi na precyzyjnym oddzieleniu operacji arytmetycznych i dbałości o czytelność kodu.

Pytanie 18

W sklepie z farbami obowiązuje określony sposób obliczania kosztu farby: dla koloru niebieskiego i zielonego przy pojemności 2 litry cena farby wynosi cena bazowa + 20%. Wyrażenie logiczne w języku JavaScript, które weryfikuje tę zasadę, ma formę

A. (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2
B. (kolor = 'niebieski' || kolor = 'zielony') || pojemnosc = 2
C. kolor == 'niebieski' && kolor == 'zielony' && pojemnosc == 2
D. kolor = 'niebieski' || kolor = 'zielony' && pojemnosc = 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest poprawna, ponieważ stosuje właściwą składnię języka JavaScript i prawidłowo określa warunki, które muszą być spełnione, aby cena farby zwiększyła się o 20%. Wyrażenie '(kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2' skutecznie sprawdza, czy zmienna 'kolor' przyjmuje wartość 'niebieski' lub 'zielony', a jednocześnie czy 'pojemnosc' wynosi 2. Użycie operatora logicznego '||' (lub) oraz '&&' (i) jest kluczowe w definiowaniu logiki warunkowej, co jest podstawą w programowaniu. Dzięki tej metodzie można z łatwością rozszerzyć logikę o inne kolory czy pojemności w przyszłości. Przykładem zastosowania tej logiki w praktyce może być tworzenie dynamicznego kalkulatora cen w aplikacji internetowej, gdzie użytkownicy wybierają różne kolory i pojemności, a program automatycznie oblicza cenę na podstawie zadanych reguł. Ważne jest przestrzeganie dobrych praktyk programistycznych, takich jak jasne nazewnictwo zmiennych i unikanie złożonych wyrażeń, co zwiększa czytelność kodu. Warto również pamiętać, że stosując operator '==' zamiast '=' unikamy przypisania wartości, co jest kluczowe w kontekście debugowania i poprawności działania skryptu.

Pytanie 19

Pętla w kodzie JavaScript zostanie uruchomiona

Ilustracja do pytania
A. 27 razy
B. 26 razy
C. 3 razy
D. 2 razy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pętla do-while w JavaScript wykonuje się co najmniej raz ze względu na swoją konstrukcję. W tym przypadku pętla zaczyna się od wartości x równej 1 i w każdej iteracji mnoży x przez 3. Zmienna i jest inkrementowana przy każdej iteracji, co zlicza liczbę wykonanych iteracji. Pętla kontynuuje aż do momentu, gdy x osiągnie wartość 27. Przebieg pętli wygląda następująco: początkowo x=1, po pierwszej iteracji x=3, po drugiej x=9, a po trzeciej x=27. Gdy x osiąga wartość 27, warunek pętli x!=27 przestaje być spełniony i pętla się kończy. Dlatego pętla wykonuje dokładnie 3 iteracje. Zrozumienie działania pętli do-while jest kluczowe, zwłaszcza w kontekście sytuacji, gdzie musimy zagwarantować, że blok kodu wykona się przynajmniej raz niezależnie od warunku na końcu. Tego typu pętle są często używane w aplikacjach wymagających walidacji danych wejściowych, gdzie przynajmniej jedna próba przetworzenia danych musi być wykonana.

Pytanie 20

Jaki jest prawidłowy sposób deklaracji funkcji w języku JavaScript?

A. void myFunction() { }
B. def myFunction() { }
C. func myFunction() { }
D. function myFunction() { }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja funkcji w JavaScript zaczyna się od słowa kluczowego <code>function</code>, po którym następuje nazwa funkcji, nawiasy okrągłe oraz nawiasy klamrowe obejmujące ciało funkcji. Przykładowo, <code>function myFunction() { }</code> tworzy funkcję o nazwie <em>myFunction</em>, która nie przyjmuje żadnych parametrów i nie wykonuje żadnych operacji, gdyż ciało funkcji jest puste. W JavaScript funkcje są fundamentalnym elementem, który pozwala na tworzenie modularnego i wielokrotnego użycia kodu. Można je wywoływać w dowolnym miejscu programu, co ułatwia zarządzanie złożonością kodu. Zgodnie z dobrymi praktykami, nazwy funkcji powinny być opisowe, aby jasno wskazywały na ich działanie. Warto również pamiętać, że w JavaScript funkcje są pierwszoklasowymi obiektami, co oznacza, że mogą być przypisywane do zmiennych, przekazywane jako argumenty do innych funkcji, czy zwracane jako wyniki funkcji. To sprawia, że JavaScript jest bardzo elastycznym językiem do programowania złożonych aplikacji webowych.

Pytanie 21

Jakie wartości zostaną wyświetlone kolejno w wyniku wykonania podanego skryptu?

<script language = "JavaScript">
var x = 1;
var y;
++y;
document.write(++x);
document.write(" ");
document.write(x--);
document.write(" ");
document.write(x);
</script>
A. 2 2 1
B. 2 1 1
C. 1 2 1
D. 1 2 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 2 2 1 ponieważ skrypt modyfikuje wartość zmiennej x krok po kroku. Pierwsza instrukcja ++x zwiększa wartość x z 1 do 2 i wypisuje ją na ekranie. Jest to przykład preinkrementacji gdzie wartość zmiennej jest zwiększana przed jej użyciem w wyrażeniu. Drugie wywołanie x-- to postdekrementacja która najpierw zwraca bieżącą wartość zmiennej x czyli 2 a dopiero potem ją zmniejsza. Dlatego w wyniku druga wartość to również 2. Wreszcie ostatnia instrukcja wypisuje aktualną wartość x po dekrementacji która wynosi teraz 1. Tego typu operacje na zmiennych są kluczowe w programowaniu gdyż pozwalają na efektywną kontrolę nad przepływem danych i logiką sterującą w aplikacjach. Zrozumienie różnicy między pre- i post- inkrementacją jest istotne w kontekście optymalizacji kodu i zapobiegania potencjalnym błędom logicznym.

Pytanie 22

Jaki wynik wyświetli poniższy fragment kodu JavaScript?

x='Powodzenia na egzaminie';
z=x.substring(3,9);
y=z.substring(2,4);
document.write(y);
A. wodzenia
B. wo
C. ze
D. owodzeni

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie JavaScript użyto funkcji substring aby wyodrębnić fragmenty tekstu z ciągu znaków. Początkowa zmienna x zawiera tekst Powodzenia na egzaminie. Pierwsza funkcja x.substring(3,9) zwraca fragment tekstu zaczynający się od indeksu 3 do 8 włącznie co daje fragment wodzen. Wartość ta jest przypisana do zmiennej z. Następnie funkcja z.substring(2,4) wyodrębnia fragment zaczynający się od indeksu 2 do 3 włącznie z tego nowego ciągu wodzen co daje rezultat ze. Wynik ten zostanie wypisany na ekranie przez document.write(y). Praktyczne zastosowanie metody substring polega na manipulacji tekstem co jest powszechne w web development np. do parsowania danych tekstowych lub przygotowania tekstu do wyświetlenia. Dobre praktyki obejmują użycie substring do przetwarzania danych wejściowych np. w formularzach czy przekształcanie danych użytkownika. Ważne jest zrozumienie indeksowania od zera oraz poprawne określenie zakresu aby uniknąć błędów logicznych w kodzie. W kontekście substringu warto pamiętać że drugi parametr jest ekskluzywny co oznacza że nie jest uwzględniany w wyniku. Takie detale są kluczowe dla programistów aby efektywnie zarządzać danymi tekstowymi w różnorodnych zastosowaniach.

Pytanie 23

Która z poniższych opcji najlepiej opisuje przedstawioną definicję w JavaScript?

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. obiektu
B. klasy
C. tablicy
D. zbioru

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Definicja przedstawiona na obrazku odpowiada tablicy w języku JavaScript. Tablice w JavaScript są typem obiektu, który pozwala na przechowywanie wielu wartości w jednej zmiennej. W tym przypadku zmienna imiona zawiera listę stringów reprezentujących imiona. Tablice w JavaScript są dynamiczne co oznacza że ich rozmiar można zmieniać podczas działania programu. Dostęp do poszczególnych elementów tablicy uzyskuje się za pomocą indeksów które zaczynają się od zera. Na przykład pierwszy element tej tablicy to imiona[0] czyli Anna. JavaScript oferuje wiele metod do manipulacji tablicami takich jak push do dodawania elementów na końcu tablicy pop do usuwania ostatniego elementu czy map do tworzenia nowej tablicy na podstawie istniejącej poprzez zastosowanie funkcji do każdego elementu. Zrozumienie działania tablic jest kluczowe dla efektywnego programowania w JavaScript ponieważ są one podstawowym narzędziem do przechowywania i zarządzania danymi.

Pytanie 24

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. może być wywołana z jedną wartością
B. nie przyjmuje żadnych argumentów
C. wymaga podania dwóch argumentów przy wywołaniu
D. nie zwraca wartości

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 25

Jakie jest zadanie funkcji przedstawionej w języku JavaScript?

 function fun1(a, b) {
    if (a % 2 != 0) a++;
    for (n = a; n <= b; n+=2)
        document.write(n);
}
A. sprawdzenie, czy liczba a jest nieparzysta; w przypadku potwierdzenia, wypisanie jej
B. wypisanie wszystkich liczb z zakresu od a do b
C. wypisanie liczb parzystych z zakresu od a do b
D. zwrócenie wartości liczb parzystych od a do b

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "wypisanie liczb parzystych z przedziału od a do b" jest prawidłowa, ponieważ funkcja fun1(a, b) w języku JavaScript ma na celu wyświetlenie wszystkich liczb parzystych w zdefiniowanym zakresie. Funkcja najpierw sprawdza, czy liczba a jest nieparzysta; jeśli tak, to zwiększa ją o 1, co zapewnia, że zaczynamy od najbliższej liczby parzystej. Następnie, za pomocą pętli for, iteruje przez liczby od a do b, zwiększając n o 2 w każdej iteracji. Dzięki temu wypisujemy tylko liczby parzyste. Przykładowo, jeśli a = 3 i b = 9, to funkcja zacznie od 4 i wypisze 4, 6, i 8. Tego typu funkcje są przydatne w różnych kontekstach programistycznych, takich jak generowanie sekwencji liczb dla algorytmów matematycznych, generowanie danych testowych czy też przy pracy z interfejsami użytkownika, gdzie występują interwały liczbowe. Dobrą praktyką jest zawsze jasno określać zakres przetwarzanych danych, co ta funkcja realizuje, zapewniając, że wyniki są zgodne z oczekiwaniami użytkownika.

Pytanie 26

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. 0
B. true
C. false
D. 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'false' jest jak najbardziej na miejscu, bo operator '===' w JavaScript sprawdza nie tylko wartość, ale i typ danych. Przykład 'document.write(5 === '5');' pokazuje, że porównujemy liczbę (5) z ciągiem znaków ('5'). To są różne typy, więc nie mogą być równe! Generalnie, lepiej używać '===' w programowaniu, bo to eliminuje niejasności, które mogą się pojawić przy '=='. Ten drugi lubi zamieniać typy, co czasami prowadzi do chaosu. Dobrze jest mieć na uwadze, że w obiektowym programowaniu ważne jest, by typy danych się zgadzały. Używając '===', mamy pewność, że unikniemy niechcianych błędów związanych z typami.

Pytanie 27

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
B. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
C. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
D. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź druga jest poprawna, ponieważ dokładnie opisuje wzorzec walidacji użyty w kodzie JavaScript. Wyrażenie regularne określa, że pole nazwa może zaczynać się od dowolnej liczby cyfr od 1 do 9, co oznacza, że cyfra 0 jest wykluczona, co jest zgodne z opisem. Następnie musi wystąpić jedna duża litera, co jest również zgodne z wymogiem wzorca. Kolejnym wymogiem jest wystąpienie co najmniej dwóch małych liter, co także jest zgodne z przedstawionym wzorcem. Poprawna i precyzyjna dokumentacja kodu ma kluczowe znaczenie dla utrzymania oraz dalszego rozwoju oprogramowania. Dobrze udokumentowane wyrażenia regularne pozwalają na lepsze zrozumienie logiki walidacji i ułatwiają pracę zespołom deweloperskim. Warto również zauważyć, że stosowanie wyrażeń regularnych w walidacji danych wejściowych jest standardową praktyką w branży IT, szczególnie w aplikacjach webowych, gdzie dane użytkowników wymagają szczegółowego sprawdzania pod kątem poprawności i bezpieczeństwa. Dzięki temu można uniknąć potencjalnych błędów i ataków wynikających z niewłaściwie przetworzonych danych.

Pytanie 28

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) || (a<1000)) || (b<0)
B. ((a>99) || (a<1000)) && (b<0)
C. ((a>99) && (a<1000)) && (b<0)
D. ((a>99) && (a<1000)) || (b<0)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź ((a>99) && (a<1000)) || (b<0) jest prawidłowa, ponieważ warunek ten skutecznie sprawdza, czy dowolna naturalna liczba a jest trzycyfrowa lub czy dowolna całkowita liczba b jest ujemna. Część wyrażenia (a>99) && (a<1000) weryfikuje, czy liczba a jest w przedziale od 100 do 999, co definiuje liczby trzycyfrowe. Z kolei druga część (b<0) sprawdza, czy liczba b jest mniejsza od zera. Całość połączona jest operatorem OR (||), co oznacza, że wystarczy spełnienie jednego z tych warunków, aby cały warunek był spełniony. W praktyce, takie wyrażenia są powszechnie stosowane w programowaniu, szczególnie w formularzach walidacyjnych, gdzie ważne jest, aby dane wprowadzone przez użytkowników spełniały określone kryteria. Dobrą praktyką jest dbałość o czytelność kodu i stosowanie odpowiednich nazw zmiennych, co ułatwia zrozumienie logiki działania aplikacji. Warto również pamiętać o testowaniu różnych przypadków, aby upewnić się, że warunki działają zgodnie z zamierzeniami, co jest kluczowe w zapewnieniu wysokiej jakości oprogramowania.

Pytanie 29

Aby włączyć zewnętrzny skrypt JavaScript o nazwie skrypt.js, konieczne jest umieszczenie w kodzie HTML

A. <script src="/skrypt.js"></script>
B. <link rel="JavaScript" type="js" href="/skrypt.js" />
C. <link rel="script" href="/skrypt.js" />
D. <script> skrypt.js </script>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to <script src="/skrypt.js"></script>. Wykorzystanie atrybutu src w tagu <script> to standardowa metoda do ładowania zewnętrznych skryptów JavaScript w HTML. Dzięki temu przeglądarka wie, żeby pobrać i uruchomić kod z pliku skrypt.js. To z kolei pozwala na lepszą organizację, bo możemy używać tego samego skryptu w różnych miejscach projektu. No i w praktyce, to przynosi dużo korzyści, jak łatwiejsze utrzymanie czy debugowanie aplikacji. Jak mamy porządnie zorganizowany kod, to strona się szybciej ładuje, a przeglądarka może buforować te skrypty. Na koniec warto dodać, że dobrze osadzone skrypty wpływają też pozytywnie na SEO, bo wyszukiwarki lubią strony, które są zorganizowane i zoptymalizowane. Warto pamiętać, żeby umieszczać tagi <script> na końcu dokumentu HTML, zaraz przed zamknięciem tagu </body>, bo to pozwala na szybsze wyświetlanie zawartości.

Pytanie 30

Który z poniższych fragmentów kodu JavaScript zwróci true?

A. "a" > "b"
B. "abc" > "def"
C. "def" > "abc"
D. "ab" > "c"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku JavaScript porównania między ciągami tekstowymi są realizowane zgodnie z zasadami porównania leksykalnego, które opierają się na porównywaniu wartości kodów Unicode. W przypadku porównania 'def' > 'abc', JavaScript analizuje każdy znak z osobna. 'd' ma wartość Unicode 100, a 'a' ma wartość 97. Ponieważ 100 jest większe od 97, całe porównanie zwraca true. W praktyce oznacza to, że ciąg 'def' jest alfabetycznie większy niż 'abc'. Zrozumienie porównania ciągów tekstowych jest kluczowe w programowaniu, zwłaszcza w kontekście sortowania danych, filtracji oraz walidacji wejść. Aby lepiej zrozumieć te zasady, warto zapoznać się z dokumentacją ECMAScript, która precyzyjnie opisuje sposób działania operatorów porównania w różnych kontekstach. Warto również zauważyć, że porównania są wrażliwe na wielkość liter, co oznacza, że 'Z' będzie mniejsze niż 'a'.

Pytanie 31

Aby wykorzystać skrypt znajdujący się w pliku przyklad.js, konieczne jest połączenie go ze stroną przy użyciu kodu

A. <script link="przyklad.js"></script>
B. <link rel="script" href="przyklad.js">
C. <script src="przyklad.js"></script>
D. <script>przyklad.js</script>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <script src="przyklad.js"></script> jest naprawdę na miejscu, bo użycie atrybutu 'src' w znaczniku <script> to taki standardowy sposób dołączania zewnętrznych skryptów JS do HTML-a. Atrybut 'src' mówi przeglądarce, gdzie znaleźć ten skrypt, więc może go załadować i wykonać. Dzięki temu, skrypt z pliku 'przyklad.js' wchodzi w interakcję ze stroną i może dodawać różne funkcje, jak na przykład reagowanie na działania użytkownika czy manipulowanie elementami na stronie. Pamiętaj, że najlepiej dołączać skrypty na końcu dokumentu, zaraz przed </body>, bo wtedy cała zawartość strony ładuje się najpierw. Warto też pomyśleć o atrybucie 'defer' lub 'async', żeby lepiej zoptymalizować ładowanie skryptów i nie blokować renderowania strony. Na przykład, <script src="przyklad.js" defer></script> pozwoli na asynchroniczne ładowanie, co z pewnością poprawia wydajność.

Pytanie 32

O obiekcie przedstawionym w JavaScript można powiedzieć, że posiada

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. trzema metodami
B. trzema właściwościami
C. dwoma właściwościami oraz jedną metodą
D. dwoma metodami oraz jedną właściwością

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Obiekt w języku JavaScript, taki jak przedstawiony na obrazku, składa się z par klucz-wartość zwanych właściwościami. W tym przypadku mamy dwie właściwości x i y, które są przypisane wartości 0. Właściwości te przechowują dane i mogą być dowolnego typu, jak liczby, ciągi znaków czy inne obiekty. Trzecim elementem obiektu jest wsp, który jest przypisany funkcji, co czyni go metodą obiektu. Metoda w JavaScript jest funkcją przypisaną jako wartość właściwości, która może być wywoływana na obiekcie. Tego rodzaju struktura pozwala na efektywne organizowanie kodu i jest często stosowana w programowaniu obiektowym w JavaScript. Dzięki metodom można dynamicznie manipulować danymi wewnątrz obiektu. Takie podejście jest zgodne z zasadami hermetyzacji, które są częścią paradygmatu programowania obiektowego, zwiększając czytelność i utrzymanie kodu. W praktyce, znajomość właściwości i metod obiektów JavaScript jest kluczowa dla tworzenia dynamicznych i interaktywnych aplikacji webowych.

Pytanie 33

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.warn()
B. console.error()
C. console.count()
D. console.log()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 34

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 3 razy
B. 27 razy
C. 26 razy
D. 2 razy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 35

Wskaź poprawną definicję funkcji w języku JavaScript.

A. function nazwa_funkcji(argumenty) {instrukcje;}
B. nazwa_funkcji(argumenty) {instrukcje;}
C. new nazwa_funkcji(argumenty) {instrukcje;}
D. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna definicja funkcji w języku JavaScript to 'function nazwa_funkcji(argumenty) {instrukcje;}'. Kluczowe słowo 'function' wskazuje, że definiujemy nową funkcję, co jest standardową praktyką w programowaniu w JavaScript. Funkcja może przyjmować argumenty, które są zmiennymi przekazywanymi do niej podczas wywołania. Możemy zdefiniować dowolną liczbę argumentów, a ich typy nie są ściśle określone, co zapewnia dużą elastyczność. Wewnątrz nawiasów klamrowych {} umieszczamy instrukcje, które będą wykonane, gdy funkcja zostanie wywołana. Przykładem może być funkcja, która dodaje dwie liczby: 'function dodaj(a, b) { return a + b; }'. Możliwość definiowania funkcji pozwala na organizację kodu, ponowne wykorzystanie oraz modularność, a to wszystko jest zgodne z zasadami programowania obiektowego i funkcjonalnego, które są fundamentem JavaScript. Warto również zauważyć, że zgodnie z ECMAScript, standardem definiującym JavaScript, ta składnia jest właściwa i szeroko stosowana w praktyce programistycznej.

Pytanie 36

W języku JavaScript można inaczej zapisać instrukcję a++; jako

A. a<<1;
B. a&1;
C. 1+=a;
D. a=a+1;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'a=a+1;' jest poprawna, ponieważ dokładnie odzwierciedla działanie inkrementacji w JavaScript. Operacja a++ zwiększa wartość zmiennej a o 1, co można również zapisać jako przypisanie nowej wartości do a, uzyskanej przez dodanie do niej 1. Wartości a nie można zmieniać bezpośrednio bez przypisania nowej wartości, a zapis 'a=a+1;' jasno pokazuje ten proces. W praktycznych zastosowaniach, taka forma może być używana w pętlach lub w sytuacjach, gdy potrzebujemy kontrolować, jak zmienia się wartość zmiennej. Na przykład, w iteracjach przez tablicę, zastosowanie 'a=a+1;' umożliwia elastyczne manipulowanie wartością zmiennej, co jest zgodne z zasadami programowania. Używanie operatorów przypisania, takich jak +=, to dobra praktyka, która poprawia czytelność oraz zrozumienie kodu, zwłaszcza dla mniej doświadczonych programistów, którzy mogą nie znać bardziej zaawansowanych form zapisu.

Pytanie 37

W języku JavaScript zdefiniowano funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Prawidłowa forma wywołania tej funkcji, razem z przypisaniem jej wyniku, powinna wyglądać następująco

A. var wynik = liczba_max(a, b, c);
B. liczba_max(a, b, c);
C. liczba_max(a, b, c, wynik);
D. liczba_max(a, b, c) = wynik;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wywołanie funkcji 'liczba_max' w postaci 'var wynik = liczba_max(a, b, c);' jest prawidłowe, ponieważ stosuje syntaksę języka JavaScript do przypisania wartości zwróconej przez funkcję do zmiennej. Zdefiniowana funkcja 'liczba_max' przyjmuje trzy argumenty, które są porównywane, a maksymalna z nich jest zwracana jako wynik. W tym przypadku 'var wynik' tworzy nową zmienną, która przechowuje tę wartość, co jest zgodne z najlepszymi praktykami programowania, gdzie wyniki operacji są przypisywane do zmiennych dla dalszego wykorzystania. Użycie 'var' (lub 'let', 'const' w nowszych wersjach JavaScript) jest kluczowe, aby jasno określić zakres zmiennej. Przykładowo, jeśli a = 5, b = 10, c = 3, to po wywołaniu 'var wynik = liczba_max(a, b, c);', zmienna 'wynik' będzie miała wartość 10. Tego typu konstrukcje są podstawą programowania w JavaScript i są niezwykle przydatne w tworzeniu dynamicznych aplikacji webowych, gdzie operacje na danych są na porządku dziennym.

Pytanie 38

Fragmenty kodu JavaScript w dokumencie HTML mogą być umieszczone

A. wyłącznie w sekcji <head>, w znaczniku <script>
B. zarówno w sekcji <head>, jak i <body>, w znaczniku <java>
C. wyłącznie w sekcji <body>, w znaczniku <java>
D. zarówno w sekcji <head>, jak i <body>, w znaczniku <script>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wstawianie kodu JavaScript w dokumenty HTML to naprawdę istotna sprawa. Dzięki temu możemy dodawać różne interaktywne funkcje do naszych stron. Warto wiedzieć, że umiejscowienie tego kodu ma ogromne znaczenie dla tego, jak szybko strona się ładowała. Możemy wstawić skrypty w sekcji <head> albo w <body>, ale zawsze muszą być w znaczniku <script>. Kiedy wrzucamy kod do <head>, skrypty ładują się przed resztą zawartości, co może trochę spowolnić ładowanie strony, bo przeglądarka musi najpierw załadować skrypty. Z drugiej strony, jeśli wstawimy je na dole w <body>, strona ładowana jest szybciej, bo najpierw widzimy zawartość, co jest lepsze dla użytkownika. Dobrze też korzystać z atrybutów async lub defer, żeby poprawić wydajność ładowania. Zgodnie z wytycznymi W3C, używanie znacznika <script> to najlepszy sposób na zapewnienie, że wszystko działa, a skrypty są kompatybilne z przeglądarkami. Można to zobaczyć na przykład, gdy chcemy użyć biblioteki jQuery lub dodać jakieś interaktywne elementy na stronie.

Pytanie 39

W języku JavaScript, w programowaniu obiektowym, zapis this.zawod w przedstawionym kodzie oznacza

function Uczen(){
  this.imie = "";
  this.nazwisko = "";
  this.technik = 'informatyk';
  this.zawod = function(){
    return this.technik;
  };
}
A. klasę
B. konstruktor
C. właściwość
D. metodę

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W JavaScript programowanie obiektowe działa trochę inaczej niż w innych językach. W tym kodzie, zapis this.zawod wskazuje, że mamy do czynienia z metodą obiektu. Po prostu, metoda to funkcja przypisana do właściwości obiektu, która może korzystać z danych w obiekcie. Używając this, mamy dostęp do innych właściwości. W tym przypadku, funkcja pod this.zawod zwraca wartość this.technik, co ładnie pokazuje, jak metody mogą zmieniać dane obiektu. To jest właśnie cała filozofia programowania obiektowego, gdzie logika jest umieszczona w funkcjach związanych z danymi. To sprawia, że kod jest bardziej modułowy i łatwiejszy do ogarnięcia. W pracy w zespole dobrze jest, jak nazwy metod mówią, co robią, bo to bardzo pomaga innym zrozumieć, co się dzieje w kodzie.

Pytanie 40

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. HTML
B. innerHTML
C. Body
D. innerBody

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość innerHTML jest kluczowym elementem manipulacji zawartością DOM (Document Object Model) w JavaScript. Umożliwia ona programistom dostęp do zawartości danego elementu HTML oraz jej modyfikację. Gdy pobieramy element za pomocą metody getElementById, mamy możliwość bezpośredniego zmienienia jego treści poprzez przypisanie nowego stringa do innerHTML. Przykładowo, jeśli mamy element o identyfikatorze 'myElement', możemy zaktualizować jego zawartość w następujący sposób: document.getElementById('myElement').innerHTML = 'Nowa treść!';. To podejście jest powszechnie stosowane w dynamicznych aplikacjach internetowych, gdzie treść na stronie musi być często aktualizowana w odpowiedzi na działania użytkownika. Warto jednak pamiętać, że użycie innerHTML niesie ze sobą pewne ryzyko związane z bezpieczeństwem, takie jak podatność na ataki XSS (Cross-Site Scripting). Dlatego zaleca się stosowanie tej właściwości z ostrożnością i rozważenie alternatyw, jak np. textContent, w przypadku, gdy nie potrzebujemy interpretować HTML. Dobrą praktyką jest również walidacja i sanitizacja danych wejściowych, aby zminimalizować ryzyko związane z wstrzyknięciem niepożądanych skryptów. W kontekście standardów kodowania, zasadniczo zaleca się preferowanie metod, które nie tylko poprawiają bezpieczeństwo, ale także czytelność kodu.