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: 9 grudnia 2025 10:42
  • Data zakończenia: 9 grudnia 2025 11:16

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W JavaScript metoda Math.random() ma na celu

A. porównać dwie sekwencje znaków
B. zaokrąglić liczbę do najbliższej większej liczby całkowitej
C. zwrócić liczbę po zaokrągleniu
D. zwrócić liczbę pseudolosową
Metoda Math.random() w języku JavaScript jest kluczowym narzędziem do generowania liczb pseudolosowych w zakresie od 0 (włącznie) do 1 (wyłącznie). Oznacza to, że każdorazowe wywołanie tej metody zwraca nową, losową wartość zmiennoprzecinkową, co jest przydatne w wielu zastosowaniach, takich jak tworzenie gier, symulacje, a także w algorytmach generujących dane testowe. Ważne jest, aby pamiętać, że Math.random() nie generuje liczb losowych w sensie statystycznym, lecz wykorzystuje algorytmy deterministyczne do produkcji wartości, co oznacza, że są one przewidywalne, jeśli znany jest stan początkowy. W praktyce, aby uzyskać liczbę losową w określonym zakresie, można zastosować następujący wzór: Math.floor(Math.random() * (max - min + 1)) + min, gdzie 'min' i 'max' to odpowiednio dolna i górna granica zakresu. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdyż pozwala na elastyczne wykorzystanie losowości w aplikacjach.

Pytanie 2

Jaką instrukcję w JavaScript można uznać za równoważną pod względem funkcjonalności do zaprezentowanej?

Ilustracja do pytania
A. Kod 3
B. Kod 2
C. Kod 4
D. Kod 1
W przypadku analizy niepoprawnych odpowiedzi, ważne jest zrozumienie błędnych koncepcji, które mogą prowadzić do błędnych wniosków. W Kodzie 1 błędnie zastosowano mechanizm else, który prowadzi do tego, że ostatnia operacja jest wykonywana zawsze, gdy żaden poprzedni warunek nie jest spełniony. Może to prowadzić do nieprzewidywalnych wyników, jeśli wartość 'dzialanie' nie pasuje do żadnego z przypadków. Kod 3, z użyciem operatora !=, nie zapewnia prawidłowego działania, gdyż realizuje wszystkie operacje niezależnie od wartości 'dzialanie', co jest sprzeczne z zamiarem instrukcji switch. To powszechny błąd, gdzie brak pełnego zrozumienia logiki warunkowej prowadzi do pomyłek w implementacji. Z kolei, Kod 4 ma poprawną strukturę if-else if, ale różni się od poprawnej odpowiedzi nadmiarem zagnieżdżonych warunków, co może wprowadzać niepotrzebne komplikacje i zwiększać czas wykonania. Zrozumienie błędów w logice warunkowej jest kluczowe do pisania efektywnego i poprawnego kodu, co jest fundamentalne w programowaniu aplikacji o wysokiej niezawodności. Kluczem do unikania takich błędów jest praktyka i głębokie zrozumienie struktury danych oraz logiki w programowaniu.

Pytanie 3

Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?

Ilustracja do pytania
A. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
B. Zmiana koloru tekstu "i skrypt" na niebieski
C. Zmiana koloru przycisku na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
W analizowanym kodzie JavaScript celem operacji jest zmiana koloru tekstu przy użyciu funkcji changeColor. Funkcja ta została zaprojektowana do modyfikacji koloru tekstu konkretnego elementu HTML z identyfikatorem 'para1'. Błędne interpretacje wynikały z nieprawidłowego rozumienia struktury kodu i mechanizmu działania funkcji. Jednym z częstych błędów myślowych jest przypuszczenie, że przycisk uruchamiający funkcję zmienia swój własny kolor, jednak w rzeczywistości funkcja modyfikuje tylko wskazany element za pomocą getElementById. Kolejna niepoprawna interpretacja dotyczyła modyfikacji tekstu 'i skrypt', który znajduje się w osobnym paragrafie bez id, przez co nie jest objęty zmianą koloru. Funkcja changeColor została zaprojektowana tak, aby modyfikować jedynie elem.style.color dla określonego elementu identycznego z parametrem id. Błędy w analizie tego kodu często wynikają z pomijania istotnych szczegółów oraz z niedokładnej interpretacji funkcji JavaScript. Ważne jest odpowiednie zrozumienie kontekstu działania funkcji oraz ich parametrów, co pozwala na uniknięcie takich pomyłek. W praktyce programistycznej, dokładne poznanie metod operujących na elementach DOM jest kluczowe dla tworzenia interaktywnych i dynamicznych stron internetowych.

Pytanie 4

Które z poniższych poleceń JavaScript zmieni kolor tekstu na niebieski w paragrafie oznaczonym w HTML?

<p id="jeden">Kwalifikacja EE.01</p>
A. document.getElementById("jeden").color = "blue";
B. document.getElementById("jeden").style.background-color = "blue";
C. document.getElementById("jeden").style.color = "blue";
D. document.getElementById("jeden").background-color = "blue";
W języku JavaScript do zmiany stylu elementu HTML używamy obiektu style powiązanego z danym elementem. W przypadku zmiany koloru tekstu w akapicie używamy właściwości color. Poprawna składnia to document.getElementById("jeden").style.color = "blue";. Funkcja getElementById pobiera element o podanym identyfikatorze w tym przypadku jeden. Następnie poprzez przypisanie wartości blue do style.color zmieniamy kolor tekstu wewnątrz tego elementu na niebieski. Jest to zgodne z praktykami programowania w JavaScript ponieważ separacja stylów od treści jest istotna dla czytelności i utrzymania kodu a użycie style pozwala na bezpośrednią modyfikację właściwości CSS. Dobre praktyki sugerują aby stylowanie umieszczać w plikach CSS jednak JavaScript daje możliwość dynamicznej modyfikacji stylów co jest użyteczne w interaktywnych aplikacjach webowych. Przykładowo podczas tworzenia dynamicznych interfejsów użytkownika możemy reagować na różne zdarzenia zmieniając style elementów w odpowiedzi na działania użytkownika co zwiększa responsywność i atrakcyjność aplikacji.

Pytanie 5

W skrypcie JavaScript operatory: ||, && są klasyfikowane jako operatorzy

A. bitowe
B. logicznymi
C. arytmetyczne
D. przypisania
Operatory || (OR logiczny) oraz && (AND logiczny) w języku JavaScript należą do grupy operatorów logicznych. Używają ich programiści do prowadzenia operacji na wartościach boolowskich (true/false), co jest kluczowe w tworzeniu warunków w instrukcjach warunkowych i pętlach. Operator && zwraca true, jeśli obie jego operandy są prawdziwe, natomiast operator || zwraca true, gdy przynajmniej jedna z operand jest prawdziwa. Przykładem praktycznego zastosowania operatora && może być sprawdzanie, czy użytkownik jest zalogowany i ma odpowiednie uprawnienia do wykonania danej operacji. Z kolei operator || może być użyty do wyświetlenia komunikatu, jeśli użytkownik nie podał danych, bądź podał niewłaściwe wartości. Dobrze jest stosować te operatory w kontekście logiki programowania, co pozwala na tworzenie bardziej złożonych, ale jednocześnie czytelnych i efektywnych warunków. Warto również pamiętać, aby w kodzie unikać zbyt skomplikowanych warunków, co może prowadzić do trudności w utrzymaniu kodu oraz zwiększać ryzyko błędów.

Pytanie 6

W języku JavaScript funkcja document.getElementById(id) służy do

A. sprawdzania poprawności formularza z identyfikatorem id
B. pobierania danych z pola formularza i przypisania ich do zmiennej id
C. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
D. umieszczenia tekstu 'id' na stronie WWW
Metoda document.getElementById(id) jest kluczowym elementem API DOM (Document Object Model) w JavaScript, służącym do manipulacji elementami HTML na stronie internetowej. Jej głównym zadaniem jest zwrócenie odniesienia do pierwszego elementu, który ma określony identyfikator (id). Identyfikatory w HTML muszą być unikalne w obrębie dokumentu, co pozwala na efektywne i bezbłędne znajdowanie konkretnego elementu. Na przykład, jeśli mamy element o id 'header', możemy go uzyskać za pomocą document.getElementById('header'). To odniesienie pozwala nam na dalsze manipulacje tym elementem, takie jak zmiana jego zawartości, stylów CSS czy atrybutów. Przykładowe zastosowanie polega na tym, iż możemy zmienić tekst nagłówka na 'Witaj w moim serwisie' poprzez: document.getElementById('header').innerText = 'Witaj w moim serwisie'. Tego typu operacje są fundamentem interaktywnych aplikacji webowych i są zgodne z dobrymi praktykami w zakresie programowania JavaScript, które promują jasny i zrozumiały dostęp do struktury dokumentu.

Pytanie 7

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

A. <p>akapit</p>
B. <p class="akapit">akapit4</p>
C. <p href="/akapit">akapit3</p>
D. <p id="akapit">akapit2</p>
Metoda getElementsByClassName('akapit') w JavaScript jest metodą DOM, która zwraca kolekcję wszystkich elementów w dokumencie HTML, które mają przypisaną określoną klasę. W tym przypadku interesuje nas klasa 'akapit'. Poprawna odpowiedź to <p class="akapit">akapit4</p>, ponieważ ten akapit ma atrybut class ustawiony na 'akapit'. Zastosowanie klasy w HTML jest zgodne z najlepszymi praktykami programistycznymi, ponieważ pozwala na łatwe stylowanie i manipulowanie grupą elementów za pomocą CSS i JavaScript. Na przykład, jeśli chcemy zmienić kolor tekstu wszystkich akapitów z klasą 'akapit', możemy to zrobić jednym poleceniem w CSS: .akapit { color: red; }. Ponadto, metoda getElementsByClassName zwraca tzw. HTMLCollection, co oznacza, że możemy iterować po tej kolekcji i modyfikować jej elementy. Użycie klas w ten sposób wspiera zasadę separacji treści od prezentacji, co jest kluczowe w nowoczesnym podejściu do tworzenia stron internetowych.

Pytanie 8

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

var obiekt1 = {
    x: 0,
    y: 0,
    wsp: function() { [...] }
}
A. trzema właściwościami
B. trzema metodami
C. dwoma właściwościami oraz jedną metodą
D. dwoma metodami oraz jedną właściwością
Analizując strukturę obiektów w języku JavaScript, często spotykamy się z terminami właściwości i metody. Właściwości to elementy obiektu przechowujące dane, natomiast metody to funkcje przypisane jako wartości właściwości, które pozwalają na wykonywanie operacji na obiekcie. Błędne zrozumienie tych pojęć może prowadzić do niepoprawnej interpretacji struktury obiektu. Jeśli zakładamy, że obiekt ma dwie metody i jedną właściwość, oznaczałoby to, że w obiekcie znajdziemy dwie funkcje i jeden element przechowujący dane, co nie odpowiada rzeczywistości przedstawionej na obrazku. Podobnie, stwierdzenie, że obiekt zawiera trzy właściwości, ignoruje obecność funkcji, która pełni rolę metody. Z kolei twierdzenie, że obiekt ma trzy metody, oznaczałoby całkowity brak właściwości przechowujących dane, co jest sprzeczne z danymi stanowymi obiektu. Takie nieporozumienia wynikają często z braku zrozumienia struktury i natury obiektów w języku JavaScript. Dla poprawnego programowania kluczowe jest rozróżnienie tych elementów i poprawne przypisywanie ich ról w obiekcie, co prowadzi do bardziej wydajnego i przejrzystego kodu. Dobre praktyki programistyczne zalecają dokładne analizowanie wymagań i struktury danych przy projektowaniu obiektów, co pozwala na uniknięcie takich błędów w przyszłości i poprawia jakość aplikacji.

Pytanie 9

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. Ruby on Rails
B. JavaScript
C. CSS
D. PHP
Zastosowanie CSS do weryfikacji formularzy jest nieodpowiednie, ponieważ CSS jest językiem stylizacji, a nie programowania. Jego głównym zadaniem jest określenie wyglądu i układu elementów na stronie, a nie logika operacji lub przetwarzanie danych. CSS nie ma możliwości interakcji z danymi użytkownika ani przeprowadzania jakichkolwiek obliczeń, co czyni go całkowicie nieadekwatnym narzędziem do walidacji formularzy. Z kolei PHP jest językiem skryptowym działającym po stronie serwera, co oznacza, że wszelkie operacje związane z weryfikacją danych musiałyby odbywać się po przesłaniu formularza, co prowadzi do złego doświadczenia użytkownika. Użytkownik musiałby czekać na odpowiedź serwera, co często wiąże się z opóźnieniami i frustracją. Ruby on Rails, jako framework do rozwijania aplikacji webowych, również nie jest odpowiednim rozwiązaniem do realizacji walidacji po stronie klienta. Jego zastosowanie koncentruje się głównie na logice po stronie serwera i tworzeniu aplikacji, a nie na interakcji użytkownika z interfejsem. Tym samym zarówno PHP, jak i Ruby on Rails nie są w stanie efektywnie zrealizować wymogu weryfikacji formularzy przed ich przesłaniem.

Pytanie 10

W języku JavaScript zadeklarowano funkcję.
function absValue(f) {
    return Math.abs(f);
}

A. wypisać wartość bezwzględną z f
B. zwrócić wartość przeciwną do f
C. wypisać wartość przeciwną do f
D. zwrócić wartość bezwzględną z f
Poprawna odpowiedź to „zwrócić wartość bezwzględną z f”. Funkcja absValue(f) korzysta z wbudowanej metody Math.abs(), która zwraca wartość bezwzględną liczby przekazanej jako argument. Oznacza to, że jeśli liczba f jest ujemna, zostanie zamieniona na dodatnią, a jeśli dodatnia — pozostanie bez zmian. Funkcja nie wypisuje wartości, lecz zwraca wynik, który można następnie wykorzystać w dalszych obliczeniach. Takie podejście jest często stosowane w programowaniu, gdy chcemy operować na wielkościach zawsze nieujemnych, np. przy obliczaniu różnic, odległości lub w analizie danych numerycznych.

Pytanie 11

Jakie zdarzenie należy wykorzystać, aby funkcja JavaScript była aktywowana za każdym razem, gdy użytkownik wprowadza jakikolwiek znak w polu tekstowym?

A. onmouseout
B. onclick
C. onload
D. onkeydown
Odpowiedzi onload, onclick oraz onmouseout nie są odpowiednie do zadania, ponieważ każde z tych zdarzeń ma inne zastosowanie i nie odpowiada wymaganiom związanym z rejestrowaniem wprowadzania tekstu przez użytkownika. Zdarzenie 'onload' jest wywoływane, gdy strona internetowa lub element zasobu (np. obraz) jest w pełni załadowany. Jest to idealne do inicjalizacji skryptów lub stylów, ale nie reaguje na interakcje użytkownika w czasie rzeczywistym. 'onclick' dotyczy sytuacji, gdy użytkownik klika element, co nie jest wystarczające do uchwycenia zmian dokonywanych w polu edycji podczas pisania. W związku z tym, nie będzie skuteczne w kontekście, gdy chcemy wykrywać każdy naciśnięty klawisz. Z kolei 'onmouseout' jest wywoływane, gdy kursor myszy opuszcza dany element na stronie. Użycie tego zdarzenia mogłoby prowadzić do nieprzewidywalnych efektów i nie miałoby żadnego znaczenia w kontekście wprowadzania tekstu przez użytkownika. Z tego powodu, aby prawidłowo zareagować na wprowadzanie danych, zastosowanie 'onkeydown' jest zdecydowanie najbardziej odpowiednie.

Pytanie 12

Jak należy poprawnie udokumentować wzorzec weryfikacji dla pola nazwa w kodzie aplikacji JavaScript?

Ilustracja do pytania
A. /* Pole nazwa powinno składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa musi składać się w tej kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużych liter i dwóch małych liter. */
D. /* 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. */
Poprawna odpowiedź zakłada, że pole 'nazwa' musi zawierać określoną strukturę wyrażenia regularnego które jest kluczowym elementem w walidacji danych wejściowych w aplikacjach JavaScript. Wzorzec /[1-9]*[A-Z]{1}[a-z]{2,}$/ wskazuje że pole może zaczynać się od dowolnej liczby cyfr z wyłączeniem 0 po których następuje jedna duża litera i co najmniej dwie małe litery. Taka konstrukcja jest przydatna w tworzeniu bezpiecznych aplikacji ułatwiając wymuszenie określonego formatu danych które mogą być używane na przykład w formularzach rejestracyjnych gdzie wymagane jest podanie specyficznego identyfikatora użytkownika. Warto pamiętać że walidacja po stronie klienta jak w tym przypadku powinna być zawsze wspierana dodatkowymi sprawdzeniami po stronie serwera co jest dobrą praktyką programistyczną w celu zabezpieczenia aplikacji przed niepożądanym dostępem oraz złośliwymi atakami. Zrozumienie i stosowanie wyrażeń regularnych znacznie poprawia jakość kodu oraz jego zdolność do adaptacji w różnych warunkach technicznych co jest kluczowe w dzisiejszym dynamicznym środowisku IT.

Pytanie 13

Poniżej zamieszczony fragment skryptu w JavaScript zwróci

Ilustracja do pytania
A. ze
B. wo
C. owodzeni
D. wodzenia
Ten skrypt w JavaScript zaczyna od zadeklarowania zmiennej x, której przypisywana jest fraza 'Powodzenia na egzaminie'. Potem korzysta z metody substring na tej zmiennej z parametrami (3, 9). To znaczy, że wyciąga kawałek tekstu od indeksu 3 do 9. Pamiętaj, w JavaScript liczymy od zera, więc indeks 3 to czwarty znak, czyli 'o'. Dlatego z.substring(3, 9) zwraca 'odzeni'. Następnie, robimy kolejne wywołanie substring na tym wyniku, z parametrami (2, 4), co daje nam fragment od indeksu 2 do 4 w 'odzeni', czyli 'ze'. Na końcu, funkcja document.write(y) pokaże ten wynik na stronie. To świetny przykład na to, jak manipulować tekstem, co jest naprawdę przydatne w pracy z danymi. Z mojej perspektywy, zrozumienie operacji na tekstach to klucz do skutecznego przetwarzania i prezentacji informacji. Użycie takich metod w JavaScript do pracy z tekstem to absolutna podstawa, z którą warto się zapoznać.

Pytanie 14

W języku Javascript obiekt typu array jest używany do przechowywania

A. wielu wartości różnych typów
B. wielu wartości jedynie tekstowych
C. wielu wartości lub metod
D. wielu wartości jedynie liczbowych
Obiekt typu array w języku JavaScript jest niezwykle potężnym narzędziem, które pozwala na przechowywanie wielu wartości dowolnego typu w jednej zmiennej. W przeciwieństwie do niektórych innych języków programowania, JavaScript pozwala na umieszczanie w tablicach zarówno liczb, jak i stringów, obiektów, a nawet funkcji. Dzięki temu programiści mogą tworzyć złożone struktury danych, które są elastyczne i dopasowane do ich potrzeb. Przykładem praktycznego zastosowania tablicy może być tworzenie listy użytkowników, gdzie każdy element tablicy może być obiektem użytkownika zawierającym różne właściwości, takie jak imię, nazwisko, adres e-mail itd. Dobrymi praktykami przy korzystaniu z tablic w JavaScript są stosowanie metod takich jak map, filter, reduce, które ułatwiają manipulację danymi oraz dbałość o czytelność kodu, co sprzyja jego późniejszej konserwacji. Warto także pamiętać o tym, że tablice są dynamiczne, co oznacza, że można je modyfikować w trakcie działania programu, co daje dodatkową elastyczność.

Pytanie 15

W jakim formacie zostanie przedstawiona data po wykonaniu podanego kodu?

A. Poniedziałek, 10th lipca 2017
B. 10, poniedziałek lipca 2017
C. Poniedziałek, 10 lipca 2017
D. Poniedziałek, 10th lipca 17
Przy analizie podanego kodu PHP, kluczowym elementem jest sposób, w jaki funkcja date() interpretuje format daty. W kodzie występuje błąd składniowy, ponieważ użycie funkcji date() powinno być w postaci date('format'). Zakładając, że błąd zostanie naprawiony na date('I, dS F Y'), funkcja ta zwraca datę w określonym formacie. 'I' oznacza pełną nazwę dnia tygodnia, 'dS' to dzień miesiąca z odpowiednim suffix, 'F' to pełna nazwa miesiąca, a 'Y' to rok w formacie czterocyfrowym. Przykładowe wyjście dla daty 10 lipca 2017 roku będzie wyglądać tak: 'Monday, 10th July 2017'. Użycie 'dS' generuje dodatek 'th' dla dni 10, 11 i 12 oraz 'st', 'nd', 'rd' dla innych dni, co jest zgodne z konwencją zapisu dat w języku angielskim. Warto podkreślić, że PHP korzysta z własnej biblioteki do zarządzania datami i czasem, co zapewnia dużą elastyczność w formatowaniu dat. Przykłady zastosowania tej funkcji można znaleźć w dokumentacji PHP, co czyni ją niezbędnym narzędziem w codziennym programowaniu.

Pytanie 16

W języku JavaScript należy sformułować warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (również nie zerową) lub gdy zmienna b będzie liczbą mieszczącą się w przedziale od 10 do 100, włącznie. Wyrażenie logiczne zastosowane w tym warunku powinno mieć formę

A. (a>0) || ((b>=10) || (b<=100))
B. (a>0) && ((b>=10) && (b<=100))
C. (a>0) || ((b>=10) && (b<=100))
D. (a>0) && ((b>=10) || (b<=100))
Odpowiedź (a>0) || ((b>=10) && (b<=100)) jest poprawna, ponieważ precyzyjnie odwzorowuje wymagane warunki. Warunek logiczny składa się z dwóch głównych części. Pierwsza część, (a>0), sprawdza, czy zmienna a jest liczbą naturalną dodatnią. Liczby naturalne dodatnie to liczby całkowite większe od zera, co oznacza, że a musi być większe od zera, aby warunek był spełniony. Druga część warunku, ((b>=10) && (b<=100)), wymaga, aby zmienna b znajdowała się w przedziale od 10 do 100, włącznie z tymi wartościami. Zastosowanie operatora && w tej części oznacza, że obie nierówności muszą być spełnione jednocześnie. Operator || łączy te dwie części, co oznacza, że wystarczy spełnić jeden z warunków, aby cały wyrażenie logiczne zwróciło prawdę. Jest to zgodne z zasadami programowania, które wskazują na konieczność precyzyjnego definiowania warunków w celu uniknięcia niejasności. W praktyce takie wyrażenie jest niezwykle przydatne w sytuacjach, gdy konieczne jest weryfikowanie wartości zmiennych przed ich dalszym przetwarzaniem, co pozwala na zwiększenie bezpieczeństwa i stabilności aplikacji.

Pytanie 17

Kod JavaScript aktywowany przez kliknięcie przycisku ma na celu ``` ```

A. ukryć obraz2.gif
B. zmienić styl obrazu o id i1
C. zamienić obraz1.gif na obraz2.gif
D. pokazać obraz2.gif obok obraz1.gif
Kod JavaScript w przedstawionym przykładzie został zaprogramowany w celu zamiany źródła obrazu na nowe po naciśnięciu przycisku. Gdy użytkownik kliknie na przycisk, wywołuje on funkcję, która zmienia atrybut 'src' elementu <img> z 'obraz1.gif' na 'obraz2.gif'. Jest to typowy sposób manipulacji elementami DOM w JavaScript, co jest fundamentalnym elementem programowania interakcji na stronach internetowych. Takie podejście jest zgodne z najlepszymi praktykami w zakresie programowania front-end, ponieważ pozwala na dynamiczne zmiany na stronie bez konieczności przeładowania całej strony. Przykładem praktycznego zastosowania może być użycie tego typu kodu w aplikacjach webowych, gdzie użytkownik może interaktywnie zmieniać widok, na przykład w galeriach zdjęć, grach przeglądarkowych czy aplikacjach do nauki. Zrozumienie tej techniki jest kluczowe dla każdego programisty front-end, ponieważ efektywne wykorzystanie JavaScript do manipulacji DOM jest jednym z podstawowych narzędzi w budowie nowoczesnych aplikacji webowych.

Pytanie 18

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać wynik działania metody nazwa.
B. nazwa to pole klasy przedmiot.
C. nazwa to właściwość obiektu przedmiot.
D. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
Rozważając inne proponowane odpowiedzi, należy zrozumieć, że język JavaScript często wykorzystuje programowanie obiektowe, gdzie właściwości i metody obiektów różnią się w użyciu. Pierwsza opcja sugeruje, że nazwa jest właściwością obiektu przedmiot, co jest błędne w kontekście przedstawionego kodu, ponieważ użyto nawiasów okrągłych, co jednoznacznie wskazuje na wywołanie metody, a nie na odwołanie się do właściwości. Druga opcja mówi o nazwie jako polu klasy przedmiot, co jest mylące, ponieważ w JavaScript nie istnieje formalny podział na pola i metody w taki sposób, jak w statycznie typowanych językach jak Java czy C++. JavaScript, jako język dynamiczny, używa właściwości obiektu do przechowywania zarówno danych, jak i funkcji. Czwarta propozycja, że zmienna x będzie przechowywać wynik działania funkcji przedmiot, również jest błędna, ponieważ w kodzie widzimy wywołanie metody nazwa() na obiekcie przedmiot, a nie wywołanie funkcji przedmiot. Typowe błędy myślowe mogą wynikać z niewłaściwego rozróżnienia między funkcjami i metodami, czy też z niepoprawnego przypisywania ról poszczególnym elementom składni w dynamicznie typowanych językach, co prowadzi do nieporozumień w kontekście konwencji programistycznych stosowanych w JavaScript.

Pytanie 19

Jakim słowem kluczowym można zainicjować zmienną w JavaScript?

A. instanceof
B. new
C. variable
D. var
W języku JavaScript, deklaracja zmiennej przy użyciu słowa kluczowego 'var' jest jednym z podstawowych i fundamentalnych aspektów programowania. Słowo kluczowe 'var' umożliwia tworzenie zmiennych, które mogą przechowywać wartości zarówno typu prymitywnego, jak i obiektowego. Wartością dodaną użycia 'var' jest to, że zmienne zadeklarowane w ten sposób mają zasięg funkcji, co oznacza, że są dostępne w obrębie funkcji, w której zostały zadeklarowane, jak również w zasięgu globalnym, jeśli zostały zdefiniowane poza funkcją. Przykład użycia 'var': var liczba = 10; zmienna 'liczba' jest teraz dostępna w obrębie całej funkcji. Warto również zauważyć, że w nowszych standardach JavaScript, takich jak ECMAScript 6, wprowadzono dodatkowe słowa kluczowe takie jak 'let' i 'const', które oferują bardziej precyzyjny zasięg blokowy i zwiększają bezpieczeństwo kodu. 'Var' pozostaje jednak ważnym elementem do zrozumienia dla każdego programisty JavaScript, ponieważ jest fundamentem, na którym opiera się wiele starszych i nadal używanych skryptów.

Pytanie 20

Który język programowania powinien być wykorzystany do stworzenia skryptu działającego po stronie klienta w przeglądarce internetowej?

A. Perl
B. PHP
C. JavaScript
D. Python
Perl, PHP i Python to języki programowania, które nie są przeznaczone do wykonywania skryptów po stronie klienta w przeglądarkach internetowych. Perl jest przede wszystkim używany jako język skryptowy po stronie serwera, idealny do przetwarzania tekstu i automatyzacji zadań systemowych, ale nie ma zastosowania w kontekście interakcji z użytkownikiem bezpośrednio w przeglądarkach. PHP to język skryptowy stworzony do generowania dynamicznych treści po stronie serwera, co oznacza, że jego skrypty są wykonywane na serwerze przed wysłaniem danych do przeglądarki, co ogranicza jego zdolność do reagowania na akcje użytkownika w czasie rzeczywistym. Python z kolei jest wszechstronnym językiem programowania, który zyskuje na popularności w różnych dziedzinach, jednak jego tradycyjne zastosowanie skupia się na backendzie oraz automatyzacji procesów, a nie na skryptach wykonywanych w przeglądarkach. Choć istnieją frameworki pozwalające na używanie Pythona w aplikacjach webowych (np. Brython), nie są one standardem, a ich wsparcie w przeglądarkach jest ograniczone. W związku z tym, żadna z wymienionych odpowiedzi nie może być uznana za poprawną w kontekście skryptów działających po stronie klienta.

Pytanie 21

W przedstawionym kodzie JavaScript występuje błąd logiczny. Program zamiast informować, czy liczby są równe, nie działa prawidłowo. Wskaż, jaka odpowiedź dotyczy tego błędu

var x = 5;
var y = 3;
if (x = y)
  document.getElementById("demo").innerHTML = "zmienne są równe";
else
  document.getElementById("demo").innerHTML = "zmienne się różnią";
A. Zmienne zostały błędnie zadeklarowane
B. Polecenia w sekcjach if i else powinny zostać zamienione miejscami
C. Przed instrukcją else nie powinno być średnika
D. W instrukcji if znajduje się przypisanie zamiast operacji porównania
W tym przypadku mamy do czynienia z częstym błędem w programowaniu, gdzie zamiast porównania użyto operatora przypisania. W języku JavaScript operator przypisania '=' służy do przypisywania wartości do zmiennej, natomiast do porównania dwóch wartości używa się operatora '==' dla równości lub '===' dla równości i sprawdzania typu. Użycie '=' w warunku if powoduje przypisanie wartości y do x, co zawsze zwróci true, jeśli y jest różne od zera. To prowadzi do nieoczekiwanych rezultatów w logice programu. Poprawnym zapisem w tym kontekście jest if (x == y). Warto pamiętać o dobrych praktykach, które zalecają używanie '===' zamiast '==' dla uzyskania lepszej precyzji i uniknięcia błędów spowodowanych niejawnych konwersji typów. To podejście minimalizuje ryzyko błędów logicznych i poprawia czytelność kodu. Regularne stosowanie takich dobrych praktyk zwiększa jakość kodu i ułatwia jego późniejszą konserwację oraz rozwój.

Pytanie 22

W języku JavaScript funkcja getElementById odnosi się do

A. zmiennej numerycznej
B. elementu HTML z określoną nazwą klasy
C. klasy zdefiniowanej w CSS
D. elementu HTML z podanym id
Metoda getElementById w języku JavaScript jest kluczowym narzędziem do manipulacji DOM (Document Object Model), które pozwala deweloperom na łatwe odwoływanie się do konkretnych elementów HTML za pomocą ich atrybutu id. Dzięki temu, możemy dynamicznie zmieniać treść, style lub atrybuty tych elementów, co jest niezwykle przydatne w tworzeniu interaktywnych stron internetowych. Na przykład, jeśli mamy element HTML z atrybutem id='header', możemy użyć `document.getElementById('header')` do uzyskania do niego dostępu. To podejście jest zgodne z zasadami poprawnej struktury HTML, gdzie atrybut id powinien być unikalny w obrębie dokumentu. Rekomendowane jest, aby id było zrozumiałe i jasno określało zawartość elementu, co ułatwia późniejszą nawigację i skrypty, a także poprawia dostępność strony. W praktyce, korzystając z getElementById, możemy na przykład zmieniać tekst nagłówka: `document.getElementById('header').innerText = 'Nowy nagłówek';`.

Pytanie 23

Jakiego typu tablicy dotyczy instrukcja dodawania elementu w JavaScript?

Tablica['technik'] = 'informatyk';
A. liczbowej
B. wielowymiarowej
C. stałej
D. asocjacyjnej
Tablica asocjacyjna w JavaScript to struktura danych, która przechowuje wartości w formie par klucz-wartość, co pozwala na efektywne i dynamiczne przypisywanie i pobieranie danych. Klucze w tablicy asocjacyjnej mogą być dowolnymi łańcuchami znaków, co daje dużą elastyczność w organizacji danych. Przykładem jest przypisanie Tablica['technik'] = 'informatyk'; gdzie 'technik' jest kluczem, a 'informatyk' wartością. To podejście jest zgodne ze standardami JavaScript, w którym tablice asocjacyjne są implementowane jako obiekty. W praktyce używa się ich często do przechowywania konfiguracji, danych użytkowników lub innych danych, które wymagają szybkiego dostępu i modyfikacji. Tablice asocjacyjne umożliwiają dynamiczne dodawanie nowych par klucz-wartość, co jest cenioną cechą w aplikacjach wymagających skalowalności. Warto zauważyć, że podczas gdy tradycyjne tablice używają indeksów liczbowych, tablice asocjacyjne oferują większą elastyczność poprzez użycie kluczy tekstowych, co jest zgodne z dobrymi praktykami kodowania i ułatwia czytelność oraz utrzymanie kodu.

Pytanie 24

W JavaScript poprawnie zdefiniowana zmienna to

A. imię%
B. imię2
C. imie2
D. #imie
Odpowiedź 'imie2' jest prawidłowa, ponieważ spełnia wszystkie zasady dotyczące nazewnictwa zmiennych w języku JavaScript. Zgodnie z tymi zasadami, nazwy zmiennych mogą zaczynać się od litery (a-z, A-Z), znaku podkreślenia (_) lub znaku dolara ($). Następnie, dozwolone są litery, cyfry (0-9), znaki podkreślenia oraz znaki dolara. Nazwa 'imie2' jest zgodna z tymi zasadami, ponieważ zaczyna się od litery, a następnie zawiera cyfrę, co jest akceptowalne. Przykładowo, dobra praktyka w programowaniu polega na nadawaniu zmiennym nazw związanych z ich przeznaczeniem, na przykład 'userAge' dla wieku użytkownika. Warto pamiętać, że unikanie użycia polskich znaków oraz specjalnych symboli w nazwach zmiennych, takich jak znaki procentu czy hashtagi, zwiększa czytelność i przenośność kodu, szczególnie w międzynarodowych projektach. Dobra praktyka sugeruje również używanie camelCase, co ułatwia identyfikację zmiennych w większych projektach.

Pytanie 25

W języku JavaScript stworzono zmienną i, która będzie przechowywać wynik dzielenia równy 1, to

A. var i=parseInt(3/2)
B. var i=parseFloat(3/2)
C. var i=3/2
D. var i=Number(3/2)
Wybór pozostałych opcji jest błędny z kilku powodów związanych z typem zwracanej wartości oraz sposobem, w jaki JavaScript obsługuje konwersję typów. Pierwsza z niepoprawnych odpowiedzi, która korzysta z operatora dzielenia 3/2, zwraca wartość 1.5, a następnie wykorzystuje ją w konstrukcji var i=3/2; bez jakiejkolwiek konwersji. Rezultatem jest wartość zmiennoprzecinkowa, co nie odpowiada wymaganiu przechowywania wyniku jako liczby całkowitej. Druga odpowiedź wykorzystuje funkcję Number, co również skutkuje zwróceniem wartości 1.5. Funkcja Number konwertuje każdy argument na typ liczbowy, ale nie zaokrągla go w dół do najbliższej liczby całkowitej, co jest celem tego zadania. Ostatnia z niepoprawnych odpowiedzi, var i=parseFloat(3/2);, również prowadzi do tego samego rezultatu: 1.5. Funkcja parseFloat przekształca argument na liczbę zmiennoprzecinkową, a nie całkowitą, co jest sprzeczne z wymaganiami dotyczącymi uzyskania wyniku 1. W kontekście tego pytania, kluczowe znaczenie ma zrozumienie różnic między tymi funkcjami oraz ich zastosowania w praktyce programistycznej.

Pytanie 26

Zdarzenie JavaScript, które jest wywoływane po pojedynczym kliknięciu dowolnego elementu na stronie, określa się jako

A. onClick
B. onDblClick
C. onLoad
D. onKeyDown
Zdarzenie onClick w JavaScript jest jednym z najczęściej używanych zdarzeń w interakcji użytkownika z elementami na stronie internetowej. Jego podstawowa funkcjonalność polega na rejestrowaniu pojedynczego kliknięcia na danym elemencie, co pozwala na wykonanie określonej akcji w odpowiedzi na to zdarzenie. Zdarzenie to jest szczególnie istotne w kontekście rozwoju aplikacji webowych, gdzie interaktywność jest kluczowym elementem doświadczenia użytkownika. Aby zaimplementować zdarzenie onClick, można użyć zarówno atrybutu HTML, jak i metod JavaScript, takich jak addEventListener. Przykładowo, dodając do przycisku HTML atrybut onClick, możemy bezpośrednio wywołać funkcję JavaScript, co znacząco upraszcza kod. W kontekście standardów, onClick jest częścią DOM Level 2 Events Specification, co zapewnia kompatybilność z różnymi przeglądarkami. Przykład zastosowania: <button onClick='alert("Hello World!")'>Kliknij mnie</button> wywoła okno alertu po kliknięciu przycisku. Korzystanie z onClick pozwala na tworzenie dynamicznych interfejsów, które dostosowują się do działań użytkownika, co jest kluczowe w nowoczesnym web designie i programowaniu JavaScript.

Pytanie 27

Warunek zapisany w JavaScript będzie prawdziwy, gdy zmienna x posiada

Ilustracja do pytania
A. dowolną całkowitą wartość liczbową
B. dowolną dodatnią wartość liczbową
C. wartość, która nie jest liczbą
D. pusty ciąg znaków
W JavaScript warunek zapisany jako if (!isNaN(x) && x > 0) sprawdza dwie rzeczy jednocześnie. Po pierwsze, użycie funkcji isNaN(x) w negacji oznacza, że zmienna x musi być wartością liczbową. Funkcja isNaN() zwraca true, jeśli wartość nie jest liczbą, więc jego negacja wymaga, aby x było liczbą. Po drugie, x > 0 wymaga, aby liczba była większa od zera, czyli dodatnia. To sprawia, że warunek jest prawdziwy tylko wtedy, gdy x jest dowolną dodatnią wartością liczbową. W praktyce takie sprawdzenie jest używane na przykład w walidacji danych wejściowych, kiedy chcemy upewnić się, że użytkownik podał poprawną wartość liczbową, która ma znaczenie w kontekście aplikacji, na przykład w przypadku formularzy zamówień, gdzie cena produktu musi być dodatnia. Użycie takich warunków odzwierciedla dobre praktyki programistyczne, gdzie walidacja i sprawdzanie poprawności danych są kluczowe dla stabilności i bezpieczeństwa aplikacji. Podsumowując, poprawne rozumienie i implementacja takiego warunku pomaga unikać błędów logicznych i zapewnia, że aplikacja działa zgodnie z oczekiwaniami.

Pytanie 28

W języku JavaScript potrzebne jest odwołanie się do elementu znajdującego się w pierwszym paragrafie danego fragmentu kodu HTML. Można to osiągnąć przy użyciu funkcji

<body>
<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
A. getElementsByTagName('p')[0]
B. getElementsByClassName('p.1')[0]
C. getElementById('p1')
D. getElement('p')
Odpowiedź getElementsByTagName("p")[0]; jest poprawna, ponieważ metoda getElementsByTagName zwraca kolekcję wszystkich elementów o danym tagu, w tym przypadku "p". Wywołując tę metodę, otrzymujemy tablicę wszystkich paragrafów na stronie, co pozwala na łatwy dostęp do pierwszego z nich, korzystając z indeksu [0]. Jest to standardowy sposób uzyskiwania dostępu do elementów w DOM w JavaScript. Zastosowanie tej metody jest zgodne z dobrą praktyką, umożliwiającą selekcję elementów w sposób dynamiczny i elastyczny. Przykładowo, jeśli chcemy zmienić tekst pierwszego paragrafu, możemy wykorzystać: document.getElementsByTagName("p")[0].innerText = 'Nowy tekst';. Dzięki temu możemy skutecznie manipulować zawartością stron internetowych, co jest kluczowe w rozwoju front-endu. Dodatkowo, metody takie jak getElementsByTagName są dobrze wspierane przez wszystkie nowoczesne przeglądarki, co zapewnia ich niezawodność w codziennej pracy programisty.

Pytanie 29

Jakie wyrażenie w języku JavaScript określa komentarz jednoliniowy?

A. ?
B. /*
C. //
D. #
Odpowiedź '//', stosowana w języku JavaScript, jest poprawnym zapisem komentarza jednoliniowego. Komentarze jednowierszowe rozpoczynają się od podwójnego ukośnika, co oznacza, że wszystko, co znajduje się po tym znaku w danym wierszu, jest ignorowane przez interpreter. Używanie komentarzy jest kluczowe w procesie programowania, ponieważ pozwala na dodawanie notatek, które mogą wyjaśniać logikę kodu lub przypominać o jego funkcji innym programistom oraz przyszłemu ja. Na przykład, jeśli mamy kod odpowiedzialny za obliczenia, można dodać komentarz wyjaśniający, co dokładnie robi dany blok kodu, co ułatwia utrzymanie kodu i jego późniejsze modyfikacje. Komentarze są niezwykle ważne w kontekście dobrych praktyk programistycznych, takich jak DRY (Don't Repeat Yourself) oraz KISS (Keep It Simple, Stupid), pomagając w utrzymaniu przejrzystości i czytelności kodu. Standardy ECMAScript, na których oparty jest JavaScript, jasno definiują sposób użycia komentarzy, co czyni ich stosowanie nie tylko praktyką, ale również zgodnością z normami branżowymi.

Pytanie 30

Podany fragment dokumentu HTML zawierający kod JavaScript sprawi, że po naciśnięciu przycisku

Ilustracja do pytania
A. obraz1.png zostanie zniknięty
B. obraz1.png zostanie wymieniony na obraz2.png
C. obraz2.png zostanie wymieniony na obraz1.png
D. obraz2.png zostanie zniknięty
Załączony fragment kodu HTML pokazuje dwa elementy img oraz przycisk. Obrazek obraz2.png ma przypisany atrybut id o wartości id1. W kodzie JavaScript przypisanym do zdarzenia onclick przycisku wykorzystywana jest metoda document.getElementById('id1').style.display='none'. Ta metoda odwołuje się bezpośrednio do elementu o identyfikatorze id1 czyli obrazka obraz2.png i zmienia jego styl CSS display na none. W praktyce oznacza to że element ten zostanie ukryty na stronie po naciśnięciu przycisku. Praktyczne zastosowanie tej techniki to dynamiczne zarządzanie widocznością elementów na stronie bez konieczności jej przeładowania co poprawia doświadczenie użytkownika. Tego typu manipulacje DOM (Document Object Model) są podstawą interaktywnych aplikacji webowych i są powszechnie używane w nowoczesnym programowaniu JavaScript. Dobrym standardem jest jednak unikanie bezpośredniego pisania skryptów JavaScript w HTML co poprawia czytelność kodu i jego utrzymywalność

Pytanie 31

Liczba 0x142, przedstawiona w kodzie JavaScript, przyjmuje formę

A. dwójkową
B. dziesiętną
C. ósemkową
D. szesnastkową
Liczba 0x142 jest zapisana w systemie szesnastkowym, co oznacza, że jest reprezentowana w bazie 16. W systemie szesnastkowym posługujemy się cyframi od 0 do 9 oraz literami od A do F, gdzie A odpowiada 10, B to 11, C to 12, D to 13, E to 14, a F to 15 w systemie dziesiętnym. Przykład zastosowania tego systemu można zauważyć w programowaniu oraz w różnych standardach, takich jak HTML, gdzie kolory są często reprezentowane w formacie szesnastkowym, np. #FFFFFF dla bieli. Można także spotkać się z systemem szesnastkowym w adresacji pamięci oraz w reprezentacji liczb dużych, co jest szczególnie przydatne w kontekście programowania niskopoziomowego i systemów wbudowanych. Zrozumienie różnych systemów liczbowych, w tym szesnastkowego, jest niezbędne dla każdego programisty, szczególnie podczas pracy z danymi binarnymi, hex i podczas obliczeń niskopoziomowych.

Pytanie 32

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. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
B. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
C. zwrócenie liczb z przedziału a .. 99
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
Wybrane przez Ciebie odpowiedzi są niepoprawne, gdyż nie odzwierciedlają w pełni działania pętli for w JavaScript. Pętla for jest używana do iterowania tyle razy, ile wynosi różnica między 100 a wartością argumentu a, wypisując każdą iterację. Następnie funkcja zwraca wartość o 1 większą niż warunek kończący pętlę (100), co wynosi 101. Błędem było zakładanie, że funkcja zwraca wartości w inny sposób. Przykładowo, jedna z nieprawidłowych odpowiedzi sugerowała, że funkcja zwraca liczby z przedziału a do 99 - jednakże zwracana jest liczba 101. Inna błędna odpowiedź sugerowała, że funkcja wypisuje wartość zmiennej a i zwraca wartość zmiennej n - jednakże wypisywane są liczby od a do 100, a zwracana jest wartość 101. Kolejnym błędem było zakładanie, że funkcja zwraca wartość 100 - co jest nieprawdą, gdyż funkcja zwraca wartość 101. Zrozumienie działania pętli for i funkcji zwracających wartości jest kluczowe dla programowania w JavaScript, dlatego warto poświęcić więcej czasu na praktykę i naukę tych konceptów.

Pytanie 33

Jakie zdarzenie umożliwia uruchomienie kodu w języku JavaScript w momencie przesyłania formularza HTML oraz kontrolowanie tego, czy ma on zostać wysłany?

A. onChange
B. onSubmit
C. onEnter
D. onClick
Odpowiedź onSubmit jest rzeczywiście na miejscu, bo to zdarzenie uruchamia się, gdy wysyłasz formularz HTML. Dzięki temu można wprowadzić kod JavaScript, który pozwoli na przeprowadzenie dodatkowych walidacji przed wysłaniem danych na serwer. To super sprawa, bo jeśli coś jest nie tak, to można zablokować wysłanie formularza. Można też zrobić inne rzeczy, na przykład zapisać dane lokalnie albo pokazać jakiś komunikat użytkownikowi. Weźmy na przykład formularz logowania – sprawdzamy, czy hasło i login są odpowiednie przed wysłaniem. Takie podejście to norma w branży, bo walidacja danych po stronie klienta naprawdę poprawia doświadczenia użytkownika i zmniejsza obciążenie serwera. Fajnie jest też korzystać z metod asynchronicznych, jak AJAX, żeby przetwarzać formularze bez potrzeby przeładowywania strony, co naprawdę dodaje interaktywności aplikacjom webowym.

Pytanie 34

W języku JavaScript stworzono funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Jak powinno wyglądać prawidłowe wywołanie tej funkcji oraz uzyskanie jej wyniku?

A. var wynik=liczba_max(a,b,c);
B. liczba_max(a,b,c)=wynik;
C. liczba_max(a,b,c);
D. liczba_max(a,b,c,wynik);
Odpowiedź "var wynik=liczba_max(a,b,c);" jest poprawna, ponieważ w ten sposób prawidłowo wywołujemy funkcję liczba_max, przekazując do niej trzy argumenty: a, b oraz c. Funkcja ta ma na celu zwrócenie maksymalnej wartości z przekazanych liczb, więc przypisanie jej wyniku do zmiennej wynik jest logicznym krokiem. W języku JavaScript, operator przypisania (=) pozwala na zdefiniowanie zmiennych, co w tym przypadku oznacza, że zmienna wynik będzie zawierać wartość zwróconą przez funkcję. Wartością tą jest największa liczba spośród a, b i c. Zastosowanie takiego podejścia jest zgodne z koncepcją programowania funkcjonalnego, gdzie funkcje są traktowane jako „pierwszej klasy obywateli”, co oznacza, że można je przypisywać do zmiennych. Dobrą praktyką w programowaniu jest również używanie czytelnych nazw zmiennych oraz funkcji, co ułatwia zrozumienie kodu przez inne osoby. Dodatkowo, warto zwrócić uwagę na typy danych przekazywanych do funkcji, aby uniknąć nieprzewidzianych błędów podczas obliczeń.

Pytanie 35

W formularzu, wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w pokazany sposób. Jaki typ będzie miała zmienna x?

var x = parseInt(a);
A. NaN
B. liczbowy, całkowity
C. napisowy
D. zmiennoprzecinkowy
Funkcja parseInt() w JavaScript jest super przydatna, bo pozwala zamienić ciąg znaków na liczbę całkowitą. Jak masz zmienną a, która bierze dane z inputu typu number, to parseInt() łapie te liczby i wyrzuca wszystko, co nie jest cyfrą. Dzięki temu dostajesz liczby całkowite. Warto wiedzieć, że ta funkcja nie zaokrągla wyników, tylko obcina część dziesiętną. To świetna opcja, gdy potrzebujesz tylko całkowitych wartości. parseInt() dobrze działa w programowaniu – często wykorzystuje się go do walidacji i manipulacji liczbami. Z mojego doświadczenia, kiedy pracujesz z różnymi typami danych, musisz zadbać, żeby przekształcenia były na miejscu, bo to bardzo ważne dla aplikacji. Użycie parseInt() jest zgodne z zasadami ECMAScript, co oznacza, że działa w różnych środowiskach JavaScript. Przykładem dobrego zastosowania są aplikacje webowe, gdzie często potrzebujesz liczb całkowitych, na przykład w kalkulatorach czy formularzach z wyborem ilości produktów.

Pytanie 36

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. dodatnich elementów tablicy
B. wszystkich elementów tablicy
C. parzystych elementów tablicy
D. nieparzystych elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 37

W instrukcji warunkowej w JavaScript powinno się zweryfikować sytuację, w której zmienne a oraz b są większe od zera, przy czym zmienna b jest mniejsza od 100. Taki warunek należy zapisać w następujący sposób:

A. if ( a > 0 && b > 0 && b < 100)
B. if ( a > 0 || (b > 0 && b < 100))
C. if ( a > 0 || b > 0 || b > 100)
D. if ( a > 0 && b > 0 || b > 100)
Odpowiedź if ( a > 0 && b > 0 && b < 100) jest poprawna, ponieważ precyzyjnie spełnia wszystkie wymagane warunki. Wyrażenie to sprawdza, czy obie zmienne a i b są dodatnie, przy czym dodatkowo b musi być mniejsze niż 100. W kontekście programowania, taki sposób sprawdzania warunków jest zgodny z najlepszymi praktykami, gdyż wykorzystuje operator logiczny AND (&&), co zapewnia, że wszystkie warunki muszą być spełnione jednocześnie. Na przykład, w aplikacji, w której mamy do czynienia z ograniczeniami dla zmiennej b, takie podejście pozwala na kontrolowanie wartości, co jest istotne w kontekście bezpieczeństwa danych. W przypadku, gdyby b miało mieć wartość większą lub równą 100, mogłoby to generować błędy, a więc taki warunek jest kluczowy w zabezpieczaniu logiki programu. Dodatkowo, stosowanie złożonych warunków w instrukcjach warunkowych pozwala na elastyczność i łatwość w modyfikacjach kodu w przyszłości, co jest zgodne z zasadą DRY (Don't Repeat Yourself).

Pytanie 38

Jak prawidłowo skomentować linię kodu w języku Java Script? Komentarz powinien być umieszczony po znakach //

x = Math.max(a,b,c); //
A. w zmiennej x maksymalna wartość ze zmiennych a, b, c
B. nieprawidłowe dane
C. wybór losowej wartości ze zmiennych a, b i c
D. w zmiennej x minimalna wartość ze zmiennych a, b, c
Odpowiedź numer 1 jest całkiem trafna, bo funkcja Math.max w JavaScript tak naprawdę najpierw sprawdza, która z podanych wartości jest największa. W tym wypadku, x = Math.max(a, b, c) zwraca największą liczbę z a, b i c i przypisuje ją do x. To jest super przydatne, gdy musisz szybko porównać jakieś liczby, na przykład podczas analizowania danych albo ustalania maksymalnych limitów w aplikacjach internetowych. Math.max to część wbudowanej biblioteki Math, która ma sporo przydatnych funkcji. Wykorzystanie tej funkcji jest zgodne z dobrymi praktykami programowania, bo jest szybka i bezpieczna. Co ważne, Math.max przyjmuje różną liczbę argumentów, więc można ją łatwo dopasować do swoich potrzeb. Używanie tej funkcji naprawdę poprawia czytelność kodu, a to jest kluczowe w projektach, gdzie inne osoby mogą musieć zrozumieć nasz kod.

Pytanie 39

Jak wygląda instrukcja przypisania wartości do elementu tablicy w języku JavaScript względem tablicy? ```Tablica['technik'] = 'informatyk';```

A. statycznej
B. wielowymiarowej
C. numerycznej
D. asocjacyjnej
W języku JavaScript tablice mogą być traktowane jako obiekty, a więc wykazują cechy struktur asocjacyjnych. Przypisując wartość do tablicy za pomocą notacji z nawiasami kwadratowymi, jak w przykładzie 'Tablica[\'technik\'] = \'informatyk\';', tworzymy nowy element o kluczu 'technik', co jest charakterystyczne dla obiektów asocjacyjnych. W JavaScript tablice są dynamiczne, co oznacza, że możemy dodawać elementy w dowolny sposób, a ich rozmiar nie jest ustalony z góry. Standard ECMAScript definiuje tablice jako obiekty, gdzie klucze są indeksami liczb całkowitych, ale można również używać stringów jako kluczy, co czyni tablice asocjacyjnymi. Przykładem może być obiekt, który przechowuje różne informacje, a elementy są dostępne zarówno za pomocą indeksów numerycznych, jak i stringów. Warto zaznaczyć, że użycie tablicy jako obiektu asocjacyjnego może być praktyczne w wielu zastosowaniach, np. w przechowywaniu konfiguracji czy zestawów danych. Dobrą praktyką jest jednak ograniczać użycie takich technik dla przejrzystości kodu."

Pytanie 40

Jakie metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A. fromCodePoint()
B. row()
C. getMonth() oraz getDay()
D. concat() oraz pop()
W języku JavaScript obiekt Date jest predefiniowanym obiektem, który umożliwia operacje związane z datami i czasem. Metody getMonth() oraz getDay() są kluczowymi funkcjami, które pozwalają na uzyskanie informacji o dacie. Metoda getMonth() zwraca miesiąc danej daty, przy czym wartości są indeksowane od 0 (styczeń) do 11 (grudzień). Z kolei metoda getDay() zwraca dzień tygodnia, gdzie wartości wynoszą od 0 (niedziela) do 6 (sobota). Przykładowe użycie tych metod może wyglądać następująco: var date = new Date('2023-10-05'); var month = date.getMonth(); var day = date.getDay(); console.log(month); // 9, console.log(day); // 4. Zgodnie z dokumentacją ECMAScript, obiekt Date i jego metody są standardem w JavaScript, co czyni je niezbędnymi w programowaniu webowym oraz aplikacjach. Dzięki tym metodom programiści mogą efektywnie zarządzać datami w różnych kontekstach, od planowania wydarzeń po analizy czasowe.