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: 11 grudnia 2025 01:23
  • Data zakończenia: 11 grudnia 2025 01:34

Egzamin zdany!

Wynik: 34/40 punktów (85,0%)

Wymagane minimum: 20 punktów (50%)

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

Jakie wyrażenie logiczne powinno być użyte w języku JavaScript, aby zastosować operacje tylko dla wszystkich 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 <=-200) && (liczba<-100)
Jeśli chcesz wykonywać operacje tylko na liczbach ujemnych w przedziale od -200 do -100 w JavaScript, musisz użyć takiego wyrażenia: (liczba >= -200) && (liczba < -100). To wyrażenie łączy dwa warunki, co oznacza, że oba muszą być spełnione, żeby całość była prawdziwa. Pierwszy warunek mówi, że liczba musi być większa lub równa -200, a drugi, że musi być mniejsza niż -100. Tak definiujemy przedział, co jest zgodne z zasadami ECMAScript, na których oparty jest JavaScript. Dla przykładu, jeśli weźmiesz liczbę -150, to to wyrażenie zwróci prawdę, bo -150 jest w tym przedziale. Natomiast dla -250, wyrażenie zwróci fałsz, bo nie spełnia pierwszego warunku. Dzięki temu, programista ma pewność, że operacje wykonywane są jedynie na liczbach w danym przedziale. Takie zastosowanie można spotkać na przykład w walidacji danych w formularzach czy w filtracji danych w aplikacjach webowych.

Pytanie 2

Co oznacza zapis w obiekcie w języku JavaScript?

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać wynik działania metody nazwa
B. nazwa jest atrybutem klasy przedmiot
C. zmienna x będzie przechowywać rezultat działania funkcji przedmiot
D. nazwa jest cechą obiektu przedmiot
W języku JavaScript wyrażenie przedmiot.nazwa() oznacza wywołanie metody nazwa na obiekcie przedmiot. Wynik tego wywołania jest przypisywany do zmiennej x. Metody są funkcjami zdefiniowanymi wewnątrz obiektu które mogą wykorzystywać jego dane. Przy wywołaniu metody używamy operatora kropki do dostępu do konkretnej funkcji w obiekcie. Taki zapis jest powszechnie stosowany w programowaniu obiektowym i pozwala na wykonywanie operacji zdefiniowanych w kontekście danego obiektu. Dobre praktyki zalecają aby nazewnictwo metod było opisowe co ułatwia rozumienie kodu i jego utrzymanie przez innych programistów. Przykładem może być obiekt samochód mający metodę uruchom która po wywołaniu realizuje logikę uruchomienia samochodu. Warto również zwrócić uwagę na aspekt asynchroniczności który w JavaScript ma duże znaczenie zwłaszcza przy operacjach sieciowych gdzie często stosuje się metody zwracające obietnice. Dzięki temu zapis x = przedmiot.nazwa() jest podstawowym przykładem zastosowania programowania obiektowego w praktyce

Pytanie 3

Zawarty w ramce fragment kodu w języku JavaScript

Ilustracja do pytania
A. przypisze do zmiennej s fragment tekstu ze zmiennej t o długości określonej przez zmienną length
B. przypisze do zmiennej s zmienną t
C. wyświetli długość tekstu ze zmiennej t
D. przypisze zmiennej s długość tekstu ze zmiennej t
Funkcja length w JavaScript jest prostą i potężną metodą, która zwraca długość łańcucha znaków. W przypadku zmiennej t przypisanej do wartości Ala ma kota., kiedy wywołujemy t.length, otrzymujemy liczbę znaków w tym łańcuchu, która wynosi 12, wliczając spacje i znak kropki. Przypisanie s=t.length; oznacza, że zmienna s przyjmie wartość liczbową 12. Jest to standardowy sposób mierzenia długości tekstu w większości języków programowania i jest szeroko stosowany w codziennym programowaniu, np. przy walidacji danych wejściowych, budowaniu dynamicznych interfejsów użytkownika czy przetwarzaniu tekstu. Metoda ta jest częścią podstawowej składni JavaScriptu i jest dobrze wspierana przez wszystkie współczesne przeglądarki, co czyni ją niezawodnym narzędziem w pracy z tekstem. Rozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania danymi tekstowymi i może być rozwijane poprzez praktyczne ćwiczenia w projektach związanych z analizą tekstu czy tworzeniem dynamicznych aplikacji webowych.

Pytanie 4

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 liczb z przedziału a .. 99 i zwrócenie wartości 100
C. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
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 5

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. napisowy
B. zmiennoprzecinkowy
C. NaN
D. liczbowy, całkowity
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 6

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").background-color = "blue";
B. document.getElementById("jeden").color = "blue";
C. document.getElementById("jeden").style.color = "blue";
D. document.getElementById("jeden").style.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 7

Dla dowolnego a z zakresu (0,99) celem funkcji napisanej w języku JavaScript jest
function fun(a)
 {
    for(n=a; n <=100; n++)
    document.write(n);
    return(n);
 }

A. wypisanie liczb z zakresu a .. 100 oraz zwrócenie wartości zmiennej n
B. wypisanie wartości zmiennej a i zwrócenie wartości zmiennej n
C. zwrócenie liczb z zakresu a .. 99
D. wypisanie liczb z zakresu a .. 99 oraz zwrócenie wartości 100
Funkcja napisana w JavaScript przewiduje iterację w celu wypisania liczb z przedziału ustalonego przez zmienną 'a' do 100. W kodzie zastosowano pętlę for, która zaczyna się od wartości a, a kończy na 100. Wartość zmiennej 'n' jest używana jako iterator, zaczynając od 'a' i zwiększając się o 1 w każdym obiegu pętli, aż osiągnie 100. Warto zauważyć, że funkcja wykorzystuje metodę 'document.write()', która służy do zapisywania danych na stronie internetowej. Po zakończeniu iteracji funkcja zwraca wartość zmiennej 'n', co w kontekście tego zadania oznacza, że zwróci ona wartość 101, ponieważ po ostatniej iteracji n przekroczy wartość 100. Przykład użycia tej funkcji w praktyce może obejmować generowanie dynamicznych treści na stronach internetowych, które wymagają wyświetlenia zakresu wartości liczbowych. Warto również dodać, że zgodnie z aktualnymi standardami JavaScript, kod mógłby być bardziej elegancko zapisany, wykorzystując np. funkcję 'console.log()' zamiast 'document.write()', co jest bardziej zalecane w nowoczesnym podejściu do programowania w JavaScript.

Pytanie 8

Instrukcja przypisania elementu do tablicy w języku JavaScript dotyczy tablicy:

Tablica['technik'] = 'informatyk';
A. numerycznej.
B. statycznej.
C. wielowymiarowej.
D. asocjacyjnej.
Poprawna odpowiedź to 'asocjacyjna'. W języku JavaScript, tablice asocjacyjne są strukturami danych, które używają kluczy zamiast indeksów numerycznych. Kluczem może być dowolny ciąg znaków, co oznacza, że elementy tablicy są identyfikowane za pomocą unikalnych kluczy. W praktyce, gdy używamy tablicy asocjacyjnej, przypisujemy wartość do określonego klucza, jak w przedstawionym przykładzie, gdzie wartość 'informatyk' przypisana jest do klucza 'technik'. Jest to często stosowane w praktyce, ponieważ pozwala na bardziej intuicyjne i zrozumiałe indeksowanie danych. Ważne jest jednak, aby pamiętać, że mimo iż tablice asocjacyjne są bardzo użyteczne, nie są one oficjalnie uznawane przez specyfikację języka JavaScript, co oznacza, że różne środowiska mogą je obsługiwać w różny sposób.

Pytanie 9

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. obiekt1::x = …
B. obiekt1.x = …
C. x = …
D. wsp.x = …
JavaScript to fajny język, który pozwala na pracę z obiektami, a właściwie to obiekty są jego podstawą. Chodzi o to, że można w nich przechowywać różne dane w formie par klucz-wartość. Gdy chcesz zmienić jakąś właściwość obiektu, używasz notacji kropkowej. To z pozoru proste, ale bardzo praktyczne. Po prostu wpisujesz nazwę obiektu, kropkę i nazwę właściwości, którą chcesz edytować. Na przykład mamy obiekt o nazwie obiekt1 i właściwość x. Żeby zmienić wartość x, piszesz obiekt1.x, a potem przypisujesz nową wartość. To wszystko jest zgodne z zasadami ECMAScript, które mówią, jak powinno się pracować z obiektami w JavaScript. Takie podejście jest nie tylko jasne, ale również umożliwia szybkie wskazanie, co dokładnie zmieniasz. W praktyce fajnie jest pokazać to na przykładzie, jak np. chcesz zaktualizować imię użytkownika w obiekcie, to robisz coś takiego: user.name = 'Jan'.

Pytanie 10

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 || liczba >= 200)
B. if (liczba < 100 && liczba <= 200)
C. if (liczba > 100 || liczba <= 200)
D. if (liczba > 100 && liczba <= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 11

Które z poniższych twierdzeń o definicji funkcji pokazanej w ramce jest prawdziwe?

function czytajImie(){
  var imie=null;
  do {
    imie=prompt("podaj imie: ");
    if (imie.length<3)
    alert("wprowadzony tekst jest niepoprawny");
  } while(imie.length<3);
}
A. Wczytanie tekstu zakończy się, gdy tekst będzie miał co najmniej 3 znaki
B. Tekst będzie wczytywany do czasu podania liczby większej niż 3
C. Funkcja zawiera pętlę, która powtarza się 3 razy
D. Pętla zostanie uruchomiona tylko raz
Funkcja czytajImie zawiera pętlę do-while która działa dopóki długość wprowadzonego ciągu znaków jest mniejsza niż 3 co oznacza że zakończenie pętli nastąpi gdy użytkownik wprowadzi tekst o długości co najmniej 3 znaków W praktyce oznacza to że funkcja wymaga od użytkownika podania imienia które będzie miało przynajmniej trzy znaki co jest powszechną praktyką podczas walidacji danych wejściowych w celu zapewnienia minimalnej ilości informacji Pętla do-while jest szczególnie przydatna w sytuacjach gdy musimy zagwarantować przynajmniej jedno wykonanie bloku kodu co tutaj pozwala na przynajmniej jednorazowe wywołanie okna prompt do wprowadzenia danych Tego typu walidacja jest podstawą podczas programowania interfejsów użytkownika gdzie poprawność i kompletność danych wejściowych jest kluczowa dla dalszego przetwarzania danych Warto również zauważyć że stosowanie tego rodzaju pętli w kontekście walidacji danych zwiększa użyteczność aplikacji poprzez zapewnienie że dane są zgodne z wymaganiami przed ich dalszym przetwarzaniem

Pytanie 12

W JavaScript zapis a++; można przedstawić w inny sposób jako

A. a << 1
B. a = a & 1
C. a = a + 1
D. 1 += a
Odpowiedź 'a = a + 1;' jest poprawna, ponieważ dokładnie odzwierciedla działanie operatora inkrementacji 'a++;'. Operator '++' w JavaScript zwiększa wartość zmiennej o 1. W przypadku użycia 'a = a + 1;', operacja ta jest explicite zapisana jako przypisanie aktualnej wartości 'a' powiększonej o 1. Taki zapis jest często stosowany w sytuacjach, gdy chcemy lepiej zrozumieć, co się dzieje w kodzie, szczególnie dla początkujących programistów. Przykładowo, jeśli mamy zmienną, która przechowuje liczbę, możemy użyć 'a = a + 1;' w pętli, aby zliczać ilość iteracji. Warto zauważyć, że użycie operatora '++' jest bardziej zwięzłe i często preferowane w profesjonalnym kodzie, jednak zrozumienie, jak działa to na poziomie podstawowym, jest kluczowe. Dobrą praktyką jest dbałość o przejrzystość kodu, zwłaszcza w zespołach, gdzie różne osoby mogą pracować nad tym samym projektem.

Pytanie 13

Po wykonaniu fragmentu kodu HTML i JavaScript na stronie będzie wyświetlony obraz z pliku

<img id="obraz" src="kol1.jpg">
<button id="przycisk">Przycisk</button>

<script>
    document.getElementById("obraz").src = "kol2.jpg";
</script>
A. kol2.jpg, który może być zmieniony na kol1.jpg po wciśnięciu przycisku.
B. kol2.jpg
C. kol1.jpg, który może być zmieniony na kol2.jpg po wciśnięciu przycisku.
D. kol1.jpg
Niestety, nie trafiłeś. Wybierając 'kol1.jpg', mylisz się co do działania JavaScript w kontekście zmiany elementów na stronie. Skrypt używa getElementById, żeby znaleźć obraz o identyfikatorze 'obraz', a potem zmienia atrybut 'src' na 'kol2.jpg'. Tutaj nie ma żadnej interakcji z użytkownikiem, która mogłaby zmienić obrazek. W praktyce jednak, JavaScript daje nam możliwość dynamicznego modyfikowania elementów na stronie, co jest kluczowe przy tworzeniu takich interaktywnych stron. Na przykład, można wykorzystać tą samą metodę do zmiany obrazu, gdy ktoś na niego najedzie albo wciśnie przycisk. W tym przypadku jednak, to nie jest to, co się dzieje. Warto też zrozumieć, że 'kol1.jpg' to nie jest dobra odpowiedź, bo to obraz, który miałby być zmieniony, a nie ten, który się wyświetli.

Pytanie 14

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 15

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

A. pole innerHTML
B. metodę setAttribute
C. pole attribute i podać nazwę atrybutu
D. metodę getAttribute
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 16

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
B. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
C. Zwraca długość napisu zawartego w zmiennej n
D. Przypisuje wartość zmiennej n do zmiennej s
Fragment skryptu w języku JavaScript, w którym zmienne n i s są definiowane, wykonuje przypisanie wartości długości napisu z zmiennej n do zmiennej s. Metoda length jest właściwością obiektów typu string, która zwraca liczbę znaków w danym napisie. W tym przypadku, jeśli zmienna n zawiera napis "Napis1", to zmienna s po wykonaniu tego skryptu przyjmie wartość 6, ponieważ napis ten składa się z 6 znaków. Praktyczne zastosowanie tej funkcji polega na możliwości dynamicznego określenia długości wprowadzanych danych, co jest kluczowe przy walidacji formularzy, obliczaniu rozmiaru danych czy tworzeniu interfejsów użytkownika. Dobrą praktyką w programowaniu jest zawsze uwzględnienie długości napisu w algorytmach przetwarzania tekstu, aby uniknąć błędów podczas operacji na stringach. Warto również wiedzieć, że w JavaScript właściwość length nie wymaga wywołania metody, co jest zgodne z ogólnym założeniem o uproszczeniu użycia obiektów, a tym samym podnosi czytelność kodu.

Pytanie 17

W jakiej technologii niemożliwe jest przetwarzanie danych wprowadzanych przez użytkownika na stronie WWW?

A. CSS
B. JavaScript
C. PHP
D. AJAX
CSS, czyli Kaskadowe Arkusze Stylów, jest technologią używaną do stylizacji stron internetowych. Jego głównym celem jest określenie, jak elementy HTML powinny wyglądać, w tym ich wygląd, kolor, rozmiar oraz układ na stronie. CSS nie ma możliwości przetwarzania danych użytkownika, ponieważ działa wyłącznie po stronie klienta i nie posiada funkcji interakcji z danymi użytkowników. Przykładem zastosowania CSS jest nadanie stylu nawigacji w serwisie internetowym, gdzie style mogą być określone w pliku CSS, ale nie mają zdolności do przechwytywania i przetwarzania informacji wprowadzonych przez użytkowników w formularzach. Standardy CSS rozwijane przez World Wide Web Consortium (W3C) podkreślają jego rolę w stylizacji i prezentacji, a nie w logice aplikacji czy przetwarzaniu danych. Użytkownicy mogą korzystać z CSS do tworzenia responsywnych układów, jednak bez zdolności do interakcji z danymi, co czyni go technologią czysto wizualną.

Pytanie 18

W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób:

var x = parseFloat(a);
Jaki typ będzie miała zmienna x?
A. zmiennoprzecinkowego
B. liczbowego, całkowitego
C. NaN
D. napisowego
Zmienna x będzie typu zmiennoprzecinkowego, ponieważ funkcja parseFloat() konwertuje wartość przekazaną jej jako argument na liczbę zmiennoprzecinkową. W przypadku, gdy zmienna a zawiera poprawną reprezentację liczby, np. '10.5' lub '3.14', parseFloat() zwróci odpowiednią wartość zmiennoprzecinkową. Dobrą praktyką jest zapewnienie, że wartość w a jest odpowiednio walidowana przed konwersją, aby uniknąć błędów i niepożądanych wyników. Zmiennoprzecinkowe dane mogą być szczególnie użyteczne w aplikacjach finansowych, graficznych czy inżynieryjnych, gdzie precyzyjne obliczenia są kluczowe. Ponadto, JavaScript automatycznie przekształca liczby całkowite do postaci zmiennoprzecinkowej, więc nawet jeśli a zawiera liczbę całkowitą, wynik w zmiennej x również będzie typem zmiennoprzecinkowym. Znajomość tego zachowania jest istotna dla programistów, aby skutecznie obsługiwać różnorodne operacje numeryczne.

Pytanie 19

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 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. */
D. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
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 20

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. PHP
B. AJAX
C. XML
D. VBScript
AJAX, czyli Asynchronous JavaScript and XML, to technika umożliwiająca asynchroniczną komunikację pomiędzy klientem a serwerem bez potrzeby przeładowania całej strony WWW. Umożliwia to tworzenie bardziej responsywnych i interaktywnych aplikacji internetowych. Przykładem zastosowania AJAX może być formularz kontaktowy, który po wypełnieniu wysyła dane do serwera i otrzymuje odpowiedź bez odświeżania całej strony, co poprawia doświadczenie użytkownika. Technologia ta wykorzystuje XMLHttpRequest lub Fetch API do przesyłania i odbierania danych w formacie JSON, co jest bardziej efektywne niż tradycyjne metody. AJAX jest szeroko stosowany w aplikacjach typu single-page, gdzie szybkość i wydajność są kluczowe. Warto również zwrócić uwagę na bezpieczeństwo przy korzystaniu z AJAX, takie jak walidacja danych wejściowych oraz ochrona przed atakami XSS i CSRF, które są standardami w branży.

Pytanie 21

W formularzu wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w sposób następujący: ```var x = parseInt(a);``` Jakiego typu będzie zmienna x?

A. zmiennoprzecinkowego
B. liczbowego, całkowitego
C. Nan
D. napisowego
Zmienna x, przypisana w wyniku zastosowania funkcji parseInt na zmiennej a, będzie typu liczbowego, całkowitego. Funkcja parseInt jest używana w JavaScript do konwersji wartości na liczbę całkowitą. Jeśli a jest wartością wprowadzoną przez użytkownika w polu input o typie number, to parseInt(a) zwróci wartość liczbową, eliminując wszelkie znaki niebędące cyframi. Wartością return będzie liczba całkowita, ponieważ parseInt zwraca tylko całkowite części liczb. Wartością zwróconą będzie NaN, jeśli a nie zawiera żadnych cyfr, co w tym kontekście nie ma miejsca, zakładając, że użytkownik wprowadził poprawne dane. Przykład: jeśli użytkownik wprowadzi '42.5', to parseInt('42.5') zwróci 42, eliminując część dziesiętną. Warto zaznaczyć, że parseInt może przyjąć drugi argument, który określa system liczbowy (bazę), w jakim liczba ma być interpretowana, co jest zgodne z wytycznymi ECMAScript. Poznanie możliwości i ograniczeń funkcji parseInt jest kluczowe w pracy z danymi liczbowymi w JavaScript, szczególnie w kontekście walidacji danych wejściowych.

Pytanie 22

Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie

Ilustracja do pytania
A. losowych liczb od 0 do 100, aż do wylosowania wartości 0
B. wylosowanych liczb z zakresu od 1 do 99
C. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0
D. ciągu liczb od 1 do 100
Kod źródłowy przedstawiony w pytaniu inicjuje losowanie liczb w przedziale od 0 do 100 i wyświetla je na ekranie aż do momentu wylosowania liczby 0. Taki sposób działania jest możliwy dzięki zastosowaniu pętli while która wykonuje się dopóki warunek w niej zawarty jest spełniony. W tym przypadku warunek ten to różność zmiennej liczba od zera. Funkcja rand(0 100) generuje losowe liczby całkowite z zadanego przedziału. W momencie wylosowania wartości 0 pętla przestaje się wykonywać co skutkuje zakończeniem procesu wyświetlania liczb na ekranie. Tego typu pętle są często używane w programowaniu do tworzenia losowych zdarzeń np. w grach komputerowych gdzie potrzebne jest dynamiczne generowanie wartości. Warto zwrócić uwagę na to że funkcja rand jest standardową funkcją w wielu językach programowania pozwalającą na generowanie losowych liczb co jest przydatne w testowaniu algorytmów w różnych warunkach. Praktyka ta wspomaga proces nauki i doskonalenia umiejętności programistycznych dzięki możliwości symulacji losowych scenariuszy.

Pytanie 23

Jaki jest cel zapisu w języku JavaScript?

var napis1 = new napisy();
A. zainicjowanie zmiennej napis1 oraz wywołanie funkcji, której argumentem jest napis1
B. wykonanie metody obiektu napisy
C. założenie nowej klasy napis1
D. stworzenie obiektu napis1 z klasy napisy
Prawidłowa odpowiedź dotyczy utworzenia obiektu napis1 klasy napisy. W języku JavaScript, aby stworzyć nowy obiekt na podstawie istniejącej klasy lub funkcji konstruktora, używamy słowa kluczowego new. Wyrażenie var napis1 = new napisy() inicjalizuje nowy obiekt napis1, który jest instancją klasy napisy. Taki zapis jest kluczowy w programowaniu obiektowym, które pozwala na tworzenie wielu instancji obiektów z podobnymi właściwościami i metodami. Praktyczne zastosowanie tego podejścia jest szerokie od modelowania danych po tworzenie modularnych i łatwych do zarządzania aplikacji. Dobra praktyka nakazuje, aby klasy były dobrze zdefiniowane z jasno określonymi właściwościami i metodami, co ułatwia ich ponowne wykorzystanie i rozszerzanie. W programowaniu funkcjonalnym JavaScript często wykorzystuje się prototypowe dziedziczenie, które pozwala na zmniejszenie liczby powtarzalnych kodów oraz efektywne zarządzanie pamięcią. Warto także pamiętać, że w nowoczesnych wersjach JavaScript stosowane są klasy ES6, które wprowadzają bardziej zrozumiałą składnię dla tworzenia klas i obiektów co poprawia czytelność i strukturę kodu.

Pytanie 24

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
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 25

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

A. pobierania danych z pola formularza i przypisania ich do zmiennej id
B. umieszczenia tekstu 'id' na stronie WWW
C. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
D. sprawdzania poprawności formularza z identyfikatorem id
Zrozumienie funkcji document.getElementById(id) jest fundamentalne dla efektywnej pracy z DOM w JavaScript. Wiele błędnych odpowiedzi na to pytanie wynika z nieporozumień dotyczących podstawowych zasad działania tej metody. Propozycja, że metoda ta sprawdza poprawność formularza o identyfikatorze id, jest nieprawidłowa, ponieważ jej głównym celem nie jest walidacja danych, lecz lokalizacja elementu w dokumencie. Walidacja formularza zwykle realizowana jest za pomocą innych metod, takich jak event listeners, które reagują na interakcje użytkownika. Twierdzenie, że document.getElementById() pobiera dane z pola formularza i wstawia je do zmiennej id, jest także mylące, ponieważ id to atrybut, który wskazuje na element, a nie zmienną do przechowywania wartości. W rzeczywistości, jeśli chcielibyśmy uzyskać wartość pola formularza, musielibyśmy najpierw uzyskać odniesienie do tego elementu, a następnie odczytać jego wartość za pomocą np. element.value. Ostatnia nieprawidłowa koncepcja, czyli wstawienie tekstu o treści 'id' na stronie WWW, również jest błędna, gdyż metoda ta nie wstawia tekstu, a jedynie zwraca odniesienie do elementu. Wskazuje to na powszechne błędy myślowe, gdzie użytkownicy mylą funkcję szukania elementu z funkcjami manipulacji jego zawartością. Zrozumienie tych różnic jest kluczowe w nauce programowania w JavaScript.

Pytanie 26

W JavaScript wynik operacji przyjmuje wartość NaN, jeśli skrypt próbował wykonać

A. funkcję sprawdzającą długość napisu, a zawartość zmiennej była liczbą
B. funkcję parseFloat zamiast parseInt na zmiennej typu liczbowego
C. operację arytmetyczną, a zmienna miała postać napisu
D. operację arytmetyczną na dwóch zmiennych liczbowych dodatnich
W JavaScript, wartość NaN (Not-a-Number) jest wynikiem, który pojawia się, gdy operacja arytmetyczna nie może zostać wykonana z powodu nieprawidłowego typu danych. Gdy skrypt próbuje wykonać operacje matematyczne na zmiennej, która jest napisem (string), a nie liczbą, wynikiem jest NaN. Na przykład, wyrażenie '5' + 5 zwróci '55', ponieważ operator '+' w tym przypadku działa jako konkatenacja napisów. Jeżeli jednak spróbujemy wykonać operację, taką jak 'a' * 2, wówczas wynikiem będzie NaN, ponieważ nie można pomnożyć napisu przez liczbę. Zgodnie ze standardem ECMAScript, NaN jest jedyną wartością, która nie jest równa samej sobie, co można sprawdzić za pomocą metody isNaN(). W praktyce, aby uniknąć tego problemu, programiści często stosują funkcje konwertujące, takie jak parseFloat() i parseInt(), aby upewnić się, że operacje są wykonywane na liczbach. Przykładowo, parseFloat('3.14') zwróci 3.14, co umożliwia poprawne przeprowadzenie działań matematycznych.

Pytanie 27

Które spośród poniższych zdań dotyczących definicji funkcji umieszczonej w ramce jest prawidłowe?

function czytajImie(){
var imie=null;
do{
imie=prompt("podaj imie: ");
if(imie.length<3) alert("wprowadzony tekst jest niepoprawny");
}while(imie.length<3);
}
A. Tekst będzie odczytywany do chwili, gdy podana zostanie liczba większa niż 3
B. Wczytywanie tekstu zakończy się, gdy tekst będzie się składał przynajmniej z 3 znaków
C. Pętla wykona się tylko jeden raz
D. Funkcja zawiera pętlę, która powtarza się 3 razy
Prawidłowa odpowiedź odnosi się do warunku zakończenia pętli do while w języku JavaScript. Pętla ta wykonuje się co najmniej raz, ponieważ najpierw wykonuje blok kodu, a dopiero potem sprawdza warunek. W tym przypadku, użytkownik jest proszony o wprowadzenie tekstu reprezentującego imię. Instrukcja if sprawdza, czy wprowadzone imię ma mniej niż 3 znaki. Jeśli tak, pojawia się komunikat, że tekst jest nieprawidłowy, a pętla ponownie prosi o podanie imienia. Proces ten powtarza się, dopóki użytkownik nie wprowadzi imienia o długości co najmniej 3 znaków. Jest to typowa technika walidacji danych wejściowych, zapewniająca, że użytkownik wprowadzi wartości spełniające określone kryteria. Taki sposób walidacji jest stosowany w aplikacjach wymagających dokładności danych wejściowych, zwłaszcza w formularzach internetowych, gdzie poprawność danych jest kluczowa. Praktyka ta pomaga w zapewnieniu, że dane są kompletne i zgodne z wymaganiami biznesowymi, co jest istotne w programowaniu front-end.

Pytanie 28

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

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. zbioru
B. tablicy
C. obiektu
D. klasy
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 29

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 12
B. 11
C. 13
D. 14
W przedstawionym kodzie JavaScript użyto dwóch metod wbudowanych obiektu Math Math.round i Math.pow. Math.round zaokrągla wartość do najbliższej liczby całkowitej. W przypadku liczby 4.51 zostanie to zaokrąglone do 5 ponieważ 0.51 jest bliżej 1 niż 0. Math.pow wykonuje potęgowanie czyli podnosi liczbę do określonej potęgi. W przypadku Math.pow(2 3) mamy do czynienia z potęgowaniem 2 do potęgi 3 co jest równe 8 ponieważ 2 * 2 * 2 = 8. Następnie te dwie wartości są dodawane do siebie co daje 5 + 8 = 13. Wartość 13 jest wyświetlana na stronie za pomocą document.write co jest prostym sposobem na wypisywanie wyników w kontekście przeglądarki. W praktyce jednak korzystanie z document.write jest odradzane na rzecz bardziej nowoczesnych rozwiązań jak manipulacja DOM czy używanie innerHTML. Dzięki tym metodom możemy skutecznie zarządzać i wyświetlać dane na stronach internetowych co jest kluczowe w nowoczesnym tworzeniu stron WWW. Zrozumienie działania takich funkcji wbudowanych pozwala na efektywne rozwiązywanie problemów związanych z obliczeniami w języku JavaScript co jest bardzo przydatne w pracy programisty.

Pytanie 30

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. wypisanie wszystkich liczb z zakresu od a do b
B. wypisanie liczb parzystych z zakresu od a do b
C. zwrócenie wartości liczb parzystych od a do b
D. sprawdzenie, czy liczba a jest nieparzysta; w przypadku potwierdzenia, wypisanie jej
Odpowiedzi takie jak "wypisanie wszystkich liczb z przedziału od a do b" oraz "zwrócenie wartości parzystych liczb od a do b" ilustrują powszechne nieporozumienia dotyczące działania funkcji oraz jej logiki. Funkcja nie wypisuje wszystkich liczb z przedziału, ponieważ jej konstrukcja ogranicza wyniki do liczb parzystych. Odpowiedź ta nie uwzględnia kluczowego kroku w funkcji, polegającego na modyfikacji zmiennej a, co oznacza, że w przypadku nieparzystego a, pierwsza wypisana liczba będzie parzysta. Natomiast odpowiedź sugerująca, że funkcja zwraca wartości parzyste, jest również myląca, ponieważ funkcja nie zwraca wartości (nie używa return), a jedynie wypisuje je na stronie za pomocą document.write(). To może prowadzić do nieporozumień, zwłaszcza w kontekście oczekiwań dotyczących struktury danych. Typowym błędem myślowym jest zakładanie, że pętle for mogą generować wszystkie liczby w danym zakresie, gdy w rzeczywistości sposób ich inkrementacji (w tym przypadku o 2) determinuje, które wartości są ostatecznie wyświetlane. Przykładem na to jest sytuacja, gdy użytkownik nie dostrzega, że pętla zmienia krok zwiększenia i przez to nie uzyskuje pełnej sekwencji liczb. Warto zwrócić uwagę na konwencje programistyczne, takie jak zasady dotyczące wypisywania danych i używania zwrotów, co jest kluczowe dla tworzenia przejrzystego i efektywnego kodu.

Pytanie 31

W języku JavaScript, aby w jednym poleceniu zweryfikować, czy dany ciąg tekstowy zawiera inny ciąg, można zastosować metodę

A. repeat()
B. valueOf()
C. includes()
D. substr()
Metoda includes() w JavaScript służy do sprawdzenia, czy dany ciąg znaków zawiera określony podciąg. Jest to niezwykle przydatne narzędzie, które pozwala na szybkie weryfikowanie zawartości zmiennych tekstowych. Przykład zastosowania to: let str = 'JavaScript jest świetny'; console.log(str.includes('świe')); // true. Warto zwrócić uwagę, że includes() jest metodą case-sensitive, co oznacza, że wielkość liter ma znaczenie w procesie wyszukiwania. Dobrą praktyką jest korzystanie z tej metody w sytuacjach, gdzie chcemy szybko i efektywnie analizować tekst, na przykład podczas walidacji danych wejściowych w formularzach. Ponadto, jest ona zgodna z ES6, co sprawia, że jest szeroko wspierana w nowoczesnych przeglądarkach oraz środowiskach JavaScript. Zastąpienie starszych metod, takich jak indexOf(), które zwracałoby pozycję podciągu, co wymagałoby dodatkowych operacji logicznych do weryfikacji, czyni includes() bardziej eleganckim i przejrzystym rozwiązaniem.

Pytanie 32

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. dwoma właściwościami oraz jedną metodą
C. trzema metodami
D. dwoma metodami oraz jedną właściwością
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

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

A. nieprawidłowe dane
B. w zmiennej x minimalna wartość ze zmiennych a, b, c
C. wybór wartości maksymalnej spośród zmiennych a, b oraz c
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
W analizowanych odpowiedziach znajdują się stwierdzenia, które nie oddają rzeczywistego działania funkcji wykorzystywanej w tej linii kodu. Stwierdzenie dotyczące wyboru losowej wartości ze zmiennych a, b i c jest błędne, ponieważ funkcja Math.max nie dokonuje wyboru losowego, ale precyzyjnie analizuje wartości i zwraca największą z nich. Takie myślenie może prowadzić do poważnych nieporozumień w kontekście programowania, gdzie deterministyczne wyniki są kluczowe. Inne z kolei stwierdzenie, że w zmiennej x znajduje się minimalna wartość ze zmiennych a, b, c, jest całkowicie sprzeczne z logiką funkcji Math.max, która z definicji nakazuje jej zwracać maksymalną, a nie minimalną wartość. Użytkownik, bazując na tym błędnym rozumowaniu, mógłby wprowadzić niepoprawne dane do dalszego przetwarzania. Natomiast ostatnia błędna odpowiedź sugerująca, że zmienna x zawiera maksymalną wartość bez uwzględnienia kontekstu, jest niepoprawna w tym sensie, że nie precyzuje, iż funkcja Math.max porównuje konkretnie wartości a, b i c. Aby uniknąć takich nieporozumień, ważne jest zrozumienie mechanizmu działania wbudowanych funkcji w JavaScript oraz ich zastosowania w praktyce.

Pytanie 34

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. nazwa to pole klasy przedmiot.
B. nazwa to właściwość obiektu przedmiot.
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
D. zmienna x będzie przechowywać wynik działania metody nazwa.
Odpowiedź jest prawidłowa, ponieważ wyrażenie w języku JavaScript x = przedmiot.nazwa(); oznacza, że zmienna x zostanie przypisana do wyniku działania metody nazwa, która jest wywoływana na obiekcie przedmiot. W JavaScript metody są funkcjami zdefiniowanymi jako właściwości obiektów. Kiedy wywołujemy metodę, dodajemy nawiasy okrągłe do jej nazwy, co powoduje jej wykonanie. W przypadku poprawnego zdefiniowania metody nazwa w obiekcie przedmiot, wykonanie tej metody zwróci wartość, która zostanie przypisana do zmiennej x. Taki sposób przypisywania wartości jest powszechnie stosowany w programowaniu obiektowym, co umożliwia dynamiczne uzyskiwanie danych z obiektów. Przykładem zastosowania może być np. obiekt Uzytkownik z metodą pobierzImie(), która zwraca imię użytkownika. Dzięki temu można elastycznie zarządzać danymi obiektów i tworzyć złożone aplikacje. Dobre praktyki programistyczne zalecają czytelne nazywanie metod i korzystanie z nich wtedy, gdy logicznie grupują funkcjonalność, co ułatwia utrzymanie i rozwijanie kodu.

Pytanie 35

Które zdarzenie umożliwia wykonanie skryptu w języku JavaScript podczas przesyłania formularza HTML oraz kontrolowanie jego wysłania?

A. onEnter
B. onClick
C. onChange
D. onSubmit
Zdarzenia 'onClick', 'onEnter' oraz 'onChange' są często mylone z 'onSubmit', co może prowadzić do błędnych wniosków na temat ich zastosowania w kontekście formularzy HTML. Zdarzenie 'onClick' jest wywoływane, gdy użytkownik klika element, ale nie jest bezpośrednio powiązane z procesem wysyłania formularza. Może być używane w celu uruchomienia różnych akcji, ale nie służy do walidacji danych przed wysłaniem. Podobnie, 'onEnter' nie jest standardowym zdarzeniem w JavaScript; to raczej mylne odniesienie do działania klawisza Enter, które nie ma formalnego związku z formularzami. Zdarzenie 'onChange' jest wywoływane, gdy wartość elementu formularza zmienia się, co również nie jest bezpośrednio związane z wysyłaniem formularza. To zdarzenie jest przydatne w kontekście dynamicznej walidacji lub aktualizacji interfejsu, ale nie pozwala na kontrolowanie całego procesu wysyłania. Te niepoprawne odpowiedzi ilustrują typowy błąd myślowy, polegający na myleniu różnych zdarzeń w JavaScript i ich funkcji. Aby poprawnie zrozumieć, kiedy i jak stosować te zdarzenia, warto zgłębić dokumentację oraz standardy dotyczące programowania w JavaScript, co pozwoli uniknąć nieporozumień i zwiększyć efektywność tworzonych aplikacji.

Pytanie 36

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. serwera MySQL
B. przeglądarki internetowej
C. serwera WWW
D. debuggera JavaScript
Aby uruchomić skrypt JavaScript, niezbędne jest posiadanie przeglądarki internetowej, która obsługuje JavaScript. Przeglądarki takie jak Chrome, Firefox, Safari czy Edge zawierają silniki JavaScript, które interpretują i wykonują skrypty na stronach internetowych. Przykładowo, gdy użytkownik wchodzi na stronę internetową, która wykorzystuje JavaScript do dynamicznego ładowania treści lub interakcji z użytkownikiem, przeglądarka przetwarza skrypty w czasie rzeczywistym, co wpływa na doświadczenie użytkownika. Przeglądarki regularnie aktualizują swoje silniki, co przyczynia się do poprawy wydajności i bezpieczeństwa. Dodatkowo, korzystanie z narzędzi deweloperskich w przeglądarkach, takich jak konsola JavaScript, umożliwia programistom testowanie i debugowanie skryptów w łatwy sposób. W kontekście standardów webowych, JavaScript jest kluczowym elementem technologii front-end, współpracując z HTML i CSS, aby zapewnić interaktywność i responsywność stron internetowych. Warto również zauważyć, że niektóre frameworki, takie jak React czy Angular, również opierają się na JavaScript, co podkreśla jego znaczenie w nowoczesnym web developmencie.

Pytanie 37

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. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie
B. wypisanie liczb parzystych w przedziale od a do b
C. wypisanie wszystkich liczb w zakresie od a do b
D. zwrócenie parzystych wartości liczb od a do b
Analiza niepoprawnych odpowiedzi wymaga zrozumienia, dlaczego poszczególne opcje nie pasują do działania funkcji fun1. W pierwszym przypadku, opcja dotycząca sprawdzania, czy liczba a jest nieparzysta i jej wypisywania, nie jest zgodna z logiką funkcji. Chociaż funkcja sprawdza, czy a jest nieparzysta, to nie wypisuje jej, lecz zmienia ją na parzystą, co wskazuje, że jej celem nie jest wypisywanie liczby a, ale przygotowanie jej do dalszej iteracji. Wypisanie wszystkich liczb z przedziału od a do b również nie jest prawidłowe, ponieważ funkcja nie iteruje po wszystkich liczbach, lecz wyłącznie po liczbach parzystych. Warto zauważyć, że funkcja pomija wszystkie liczby nieparzyste, co wyklucza tę opcję. Kolejna możliwa odpowiedź sugeruje zwracanie wartości parzystych liczb od a do b, jednak funkcja nie wykorzystuje żadnej procedury zwracania wartości, a jej konstrukcja wskazuje na bezpośrednie wypisywanie wyników, co wyklucza tę możliwość. Typowy błąd myślowy to niepoprawne rozumienie działania pętli for oraz operacji wypisywania danych w kontekście przeglądarki internetowej, co jest istotne z punktu widzenia dynamicznych aplikacji webowych. Zrozumienie, jak działa operator modulo i jego rola w wyznaczaniu parzystości liczb, jest kluczowe dla poprawnego interpretowania takich fragmentów kodu. Wskazane jest również, aby programiści byli świadomi różnicy między wypisywaniem a zwracaniem wyników, co często prowadzi do nieporozumień w kontekście funkcji i metod w JavaScript i innych językach programowania.

Pytanie 38

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

A. dodać znak $ przed nazwami zmiennych
B. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
C. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze
D. wprowadzić nawiasy klamrowe w sekcji if i else
Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.

Pytanie 39

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)
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 40

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

A. function wynik(a) { return a*a/2; }
B. function wynik(a) { return a*2/2; }
C. function wynik(a) { return a/2+a/2; }
D. function wynik(a) { return 2*a/a; }
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.