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 11:56
  • Data zakończenia: 9 grudnia 2025 12:19

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

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

Aby poprawnie udokumentować poniższą linię kodu, trzeba po znakach // dodać komentarz: ```document.getElementById("napis").innerHTML = Date(); //```

A. wyświetlenie tekstu "Date()" w elemencie o id = napis
B. błędne informacje
C. wyświetlenie daty i czasu w elemencie o id = napis
D. zmiana stylizacji atrybutu innerHTML
Odpowiedź 'wyświetlenie daty i czasu w znaczniku o id = napis' jest poprawna, ponieważ linia kodu używa metody 'getElementById', która pozwala na dostęp do elementu HTML za pomocą jego identyfikatora. W tym przypadku, 'document.getElementById("napis")' odnosi się do elementu, którego identyfikator to 'napis'. Następnie, przypisując do atrybutu 'innerHTML' wynik funkcji 'Date()', kod wstawia bieżącą datę i czas jako zawartość tego elementu. Funkcja 'Date()' zwraca aktualną datę i czas w formacie czytelnym dla użytkownika, co czyni kod użytecznym w aplikacjach internetowych, gdzie użytkownik może chcieć zobaczyć bieżący czas. W praktyce, takie podejście jest często stosowane w aplikacjach do wyświetlania informacji o czasie, na przykład w kalendarzach czy aplikacjach do planowania. Warto również dodać, że użycie 'innerHTML' do aktualizacji zawartości elementu jest zgodne z najlepszymi praktykami w JavaScript, pod warunkiem, że nie wprowadza się niebezpiecznych danych z niezaufanych źródeł, co mogłoby prowadzić do ataków typu XSS.

Pytanie 2

Aby w JavaScript wykonać wymienione kroki:

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
   następnie po zatwierdzeniu
2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
   wartość pobrana z okna "Kwalifikacja: ..."
należy w znaczniku <script> umieścić kod
A. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

B. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " .A);

C. A = alert("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

D. A << prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);
A. C.
B. B.
C. A.
D. D.
Dobra robota! W JavaScript, aby wyświetlić okno, w którym użytkownik może wpisać swoje kwalifikacje, najlepiej użyć funkcji `prompt`. Ta funkcja wyświetla okienko, w które można coś wpisać, a to co wprowadzisz, zostaje zwrócone. Potem, żeby pokazać te dane na stronie, używamy funkcji `document.write`. Dzięki temu możemy dynamicznie dodawać tekst na stronę, co jest super przydatne, gdy chcemy, żeby użytkownik wpisał jakieś informacje, które od razu wyświetlamy. Moim zdaniem, to fajny sposób na interakcję z użytkownikami!

Pytanie 3

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

A. variable
B. new
C. instanceof
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 4

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

A. concat() oraz pop()
B. fromCodePoint()
C. getMonth() oraz getDay()
D. row()
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.

Pytanie 5

W języku JavaScript, deklaracja: ```var x=true;``` sprawia, że zmienna x ma typ

A. łańcuch znaków
B. logiczy
C. enumeracyjny
D. numeryczny
Zmienna x w JavaScript, która została zadeklarowana jako 'var x=true;', to typ logiczny, czyli boolean. W tym języku mamy dwie możliwe wartości: true (prawda) i false (fałsz). Ten typ jest naprawdę ważny, zwłaszcza gdy mówimy o warunkach w programach, bo to właśnie one są bazą dla programowania strukturalnego i obiektowego. Kiedy piszesz instrukcje if albo pętle, typ logiczny odgrywa kluczową rolę w tym, co się dzieje w programie. Fajnie jest korzystać z zmiennych logicznych, by kontrolować, co się dzieje w kodzie, a także sprawiać, że warunki są czytelniejsze. Ciekawe jest też to, że w JavaScript inne typy, jak liczby czy ciągi znaków, mogą być używane w kontekście wartości prawdziwych i fałszywych. To czyni typ logiczny bardzo elastycznym i wszechstronnym. Im lepiej rozumiesz ten typ, tym lepiej potrafisz tworzyć dynamiczne aplikacje, które dobrze reagują na różne sytuacje.

Pytanie 6

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

Ilustracja do pytania
A. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
B. /* 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. */
C. /* 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. */
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. */
Niepoprawne odpowiedzi zakładają niewłaściwą interpretację wymagań dotyczących wzorca walidacji. Pierwsza opcja sugeruje że pole 'nazwa' może składać się z dowolnych cyfr i liter co nie uwzględnia wymogu specyficznej kolejności i liczby znaków co może prowadzić do wprowadzenia nieprawidłowych danych. Taki brak restrykcji mógłby skutkować potencjalnymi lukami w zabezpieczeniach aplikacji. Inna odpowiedź zakłada że po cyfrze musi wystąpić duża litera a następnie ciąg małych liter co nie spełnia wymogu co najmniej dwóch małych liter. Podejście to ignoruje szczegółowe wymagania dotyczące liczby małych liter w końcowej części ciągu. Kolejne błędne założenie mówi o konieczności posiadania dwóch małych liter ale nie wymaga dużej litery co również jest sprzeczne ze wzorcem przedstawionym w zadaniu. Częstym błędem jest nieuwzględnianie pełnej struktury wzorca co powoduje że walidacja jest niekompletna i potencjalnie niewystarczająca do zapewnienia integralności danych. Prawidłowe użycie wyrażeń regularnych wymaga szczegółowego zrozumienia zarówno składni jak i logiki stojącej za walidacją danych aby skutecznie zabezpieczyć aplikację przed nieprawidłowymi wpisami które mogą wpłynąć na jej funkcjonalność i bezpieczeństwo. Zrozumienie zasad poprawnej walidacji jest kluczowym elementem w procesie tworzenia bezpiecznych i niezawodnych aplikacji webowych.

Pytanie 7

Jak można opisać przedstawiony obiekt w JavaScript?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { ... }
}
A. dwiema właściwościami i jedną metodą
B. trzema właściwościami
C. trzema metodami
D. dwiema metodami i jedną właściwością
Obiekt w języku JavaScript to struktura danych, która przechowuje zbiór właściwości, gdzie każda właściwość jest parą klucz-wartość. W podanym przykładzie mamy obiekt o nazwie 'obiekt1' zdefiniowany za pomocą literału obiektowego. Składa się on z dwóch właściwości 'x' i 'y', które mają przypisane wartości liczby całkowitej zero oraz jednej metody 'wsp', która jest funkcją. Właściwości 'x' i 'y' są prostymi wartościami liczbowymi, a metoda 'wsp' jest zdefiniowana jako funkcja, co oznacza, że można ją wywoływać, aby wykonywać pewne operacje. Tego typu struktury są często używane w JavaScript do tworzenia obiektów reprezentujących dane, jak współrzędne punktów na płaszczyźnie. Dzięki możliwości definiowania metod, obiekty mogą wykonywać operacje na swoich danych, co jest zgodne z zasadami programowania obiektowego. Dzięki zrozumieniu tej struktury, programista może efektywnie zarządzać danymi i logiką aplikacji, stosując dobre praktyki takie jak enkapsulacja i modularność kodu.

Pytanie 8

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

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 12
B. 13
C. 11
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 9

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

Tablica['technik'] = 'informatyk';
A. asocjacyjnej.
B. numerycznej.
C. statycznej.
D. wielowymiarowej.
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 10

W skrypcie JavaScript zmienne mogą być definiowane

A. jedynie wtedy, gdy podamy typ zmiennej oraz jej nazwę
B. w chwili pierwszego użycia zmiennej
C. wyłącznie na początku skryptu
D. zawsze poprzedzone znakiem $ przed nazwą
W języku JavaScript zmienne mogą być zadeklarowane w momencie ich pierwszego użycia dzięki mechanizmowi hoisting. Oznacza to, że silnik JavaScript przenosi deklaracje zmiennych na początek ich zasięgu, co pozwala na ich użycie w kodzie przed ich faktycznym zadeklarowaniem. Przykładem może być sytuacja, gdy zmienną deklarujemy za pomocą słowa kluczowego 'let' lub 'const'. Chociaż sama deklaracja jest hoistowana, to inicjalizacja zmiennej pozostaje w miejscu, co oznacza, że nie można jej używać przed faktycznym przypisaniem wartości. Dobrą praktyką jest zawsze deklarowanie zmiennych przed ich użyciem, aby uniknąć niejasności i błędów, takich jak ReferenceError. Warto również zauważyć, że JavaScript pozwala na dynamiczne typowanie, więc nie trzeba określać typu zmiennej przy jej deklaracji, co zwiększa elastyczność i uproszcza kod.

Pytanie 11

Gdzie w dokumencie HTML mogą być umieszczane fragmenty kodu JavaScript?

A. wyłącznie w sekcji <body>, w znaczniku <java>
B. tak w sekcji <head>, jak i <body>, w znaczniku <java>
C. jedynie w sekcji <head>, w znaczniku <script>
D. zarówno w sekcji <head>, jak i <body>, w znaczniku <script>
Wiesz, wstawianie kodu JavaScript do dokumentu HTML powinno odbywać się w znaczniku <script>. Możesz go umieścić zarówno w <head>, jak i w <body>. Często wrzucamy skrypty do <head>, bo chcemy, żeby załadowały się przed wyświetleniem treści. To się przydaje, gdy skrypty zmieniają coś w DOM. Z drugiej strony, jak wrzucisz je do <body>, to skrypty będą ładowane po całej treści, co może przyspieszyć to, co widzi użytkownik. Na przykład, jeśli tworzysz coś interaktywnego, lepiej umieścić skrypty na dole, żeby nie blokować renderowania. Dobrze jest też pamiętać o atrybucie 'defer' w <script>, bo dzięki temu skrypt się ściąga równolegle z innymi rzeczami, ale działa dopiero jak cały dokument jest załadowany. To ważne, żeby strony działały sprawnie i były przyjemne w użytkowaniu.

Pytanie 12

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt->w
B. obiekt::w
C. obiekt.w
D. obiekt:w
Błędne odpowiedzi opierają się na nieprawidłowej interpretacji sposobu dostępu do właściwości obiektów w JavaScript. Notacja 'obiekt:w' nie jest poprawna, ponieważ nie stosuje się dwukropka do uzyskiwania dostępu do właściwości. Dwukropek jest używany w kontekście tworzenia obiektów, gdzie określa parę klucz-wartość, a nie podczas odczytywania wartości. Z kolei notacja 'obiekt::w' w JavaScript również nie ma zastosowania. Podwójny dwukropek nie jest uznawany za prawidłową operację i nie ma zastosowania w kontekście obiektów. Zresztą, w wielu innych językach programowania, takich jak C++ czy Python, używa się podwójnego dwukropka w zupełnie innym kontekście, co może prowadzić do pomyłek. Ostatnia odpowiedź 'obiekt->w' może sugerować wpływy z języków takich jak C czy C++, gdzie operator strzałki '->' jest używany do dostępu do właściwości wskaźnika na obiekt. W JavaScript jednak nie używa się wskaźników, a dostęp do właściwości obiektu odbywa się przez notację kropkową lub notację indeksu. Właściwe zrozumienie tych koncepcji jest kluczowe dla efektywnego programowania w JavaScript, a błędne podejście do notacji prowadzi do frustracji i błędów w kodzie.

Pytanie 13

W skrypcie JavaScript deklaracja zmiennych ma miejsce

A. zawsze z poprzedzającym nazwą znakiem $
B. wyłącznie na początku skryptu
C. w chwili pierwszego użycia zmiennej
D. tylko gdy określimy typ zmiennej oraz jej nazwę
W języku JavaScript zmienne mogą być deklarowane w momencie ich pierwszego użycia, co oznacza, że nie muszą być z góry zadeklarowane przed ich użyciem. To podejście ułatwia rozwój aplikacji, ponieważ programista może dynamicznie wprowadzać zmienne w trakcie pisania kodu. Przykładem może być sytuacja, gdy podczas wykonywania funkcji chcemy stworzyć zmienną w oparciu o dane wejściowe użytkownika. W takiej sytuacji możemy od razu przypisać wartość do zmiennej bez wcześniejszej deklaracji. Na przykład: "let x = 10;" można zamienić na "let x; x = 10;". Dodatkowo, JavaScript wspiera hoisting, co oznacza, że deklaracje zmiennych są „podnoszone” na początek ich zakresu, co może prowadzić do sytuacji, w której zmienna jest używana przed jej deklaracją. Zrozumienie tych mechanizmów jest kluczowe dla efektywnego programowania w JavaScript oraz unikania typowych pułapek, takich jak niezamierzona referencja do niezdefiniowanej zmiennej. Praktyczne zastosowanie tej wiedzy pozwala tworzyć bardziej elastyczne i dynamiczne skrypty, co jest zgodne z nowoczesnymi standardami programowania.

Pytanie 14

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
B. Wyświetli długość tekstu ze zmiennej n
C. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej n
D. Przypisze zmienną n do zmiennej s
W języku JavaScript właściwość length dla obiektów typu String zwraca liczbę znaków w danym napisie. W przedstawionym fragmencie skryptu zmiennej n przypisano wartość stringa 'Napis1'. Kiedy używamy n.length uzyskujemy długość tego stringa czyli liczbę 6 ponieważ są w nim dokładnie sześć znaków. Następnie tę wartość przypisujemy zmiennej s co oznacza że s przechowuje liczbę 6. Jest to użyteczne w wielu sytuacjach takich jak walidacja danych wejściowych w formularzach sprawdzanie czy dany tekst mieści się w określonych limitach lub po prostu kontrola poprawności danych w procesach biznesowych. Wartość length jest często stosowana w pętlach do iteracji przez każdy znak w stringu lub w operacjach takich jak odcinanie fragmentów tekstu. Praktyka korzystania z length jest standardem w programowaniu webowym i zaliczana jest do dobrych praktyk ponieważ umożliwia łatwą manipulację tekstowymi danymi i kontrolę ich wymiaru co bywa krytyczne zwłaszcza w aplikacjach o dużej skali gdzie efektywność i klarowność kodu mają znaczenie kluczowe.

Pytanie 15

Instrukcja JavaScript: document.write5==='5'); co zostanie wyświetlone?

A. 1
B. true
C. 0
D. false
W analizowanym wyrażeniu JavaScript, 'document.write5==='5');', kod ten zawiera błąd składniowy, a także logiczny. Przede wszystkim, użycie 'document.write5' jest niepoprawne, ponieważ 'write' to metoda obiektu 'document', a '5' nie jest częścią tej metody. Poprawna forma powinna wyglądać jak 'document.write(5 === '5');'. W tej poprawionej wersji sprawdzamy, czy liczba 5 jest równa stringowi '5'. W JavaScript operator '===' sprawdza zarówno wartość, jak i typ operandów. W tym przypadku, liczba 5 jest typu number, a '5' jest typu string. Ponieważ typy są różne, wynik porównania będzie 'false'. Przy użyciu operatora '==' wynik byłby 'true', ponieważ operator ten nie sprawdza typów, ale w tym przypadku używamy operatora '===', więc wynik to 'false'. Przykład: '5 === '5'' zwraca 'false', co oznacza, że operacja nie jest prawdziwa. W kontekście standardów ECMAScript, porównania z użyciem '===' są zalecane, aby unikać niejasności i błędów typów.

Pytanie 16

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację i przesyłanie danych w języku PHP
B. walidację i przesyłanie danych w języku JavaScript
C. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
D. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
Mówiąc szczerze, podejście, które zakłada walidację i przesyłanie danych tylko w PHP, to nie za bardzo dobry pomysł. Dlaczego? Bo każde weryfikowanie danych po stronie serwera wymaga przesyłania ich tam, co powoduje zbędne obciążenie. To z kolei może spowalniać interakcję z użytkownikiem, co jest frustrujące, zwłaszcza w przypadku większych formularzy. A walidacja w PHP i przesyłanie w JavaScript? Znowu nie jest to najlepsze rozwiązanie. Walidacja po stronie serwera nie jest natychmiastowa, więc użytkownik może czekać, co zazwyczaj nie jest fajne. Gdy ktoś weźmie niepoprawne dane, to musi czekać na odpowiedź serwera i to jest czasochłonne. Najlepiej łączyć walidację w JavaScript, bo to poprawia interakcję, a wysyłanie danych do serwera robić w PHP, bo on dba o bezpieczeństwo i kontakt z bazą danych. Takie rozdysponowanie zadań sprawia, że wszystko chodzi sprawnie i łatwiej to potem rozwijać, co jest zgodne z aktualnymi standardami.

Pytanie 17

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. napisowego
B. NaN
C. liczbowego, całkowitego
D. zmiennoprzecinkowego
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 18

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. var
B. variable
C. new
D. instanceof
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.

Pytanie 19

W języku JavaScript przedstawiona definicja jest definicją

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. kolekcji.
B. tablicy.
C. obiektu.
D. klasy.
Dobra robota! Wybrałeś poprawną odpowiedź, czyli tablicę. W języku JavaScript, tablice służą do przechowywania wielu wartości w pojedynczej zmiennej. W podanym przykładzie, zmienna 'imiona' jest tablicą, która zawiera ciągi znaków reprezentujące imiona. Tablica w JavaScript jest obiektem globalnym, który jest używany w kontekście obiektu. Tablice są jednym z podstawowych typów danych, które są niezbędne dla tworzenia i manipulowania danymi. Tworzenie tablicy jest bardzo proste, wystarczy użyć nawiasów kwadratowych [] i oddzielić elementy za pomocą przecinków. Oto przykład: var imiona = ['Jan', 'Anna', 'Piotr'];. W praktyce, tablice są używane w wielu różnych sytuacjach, takich jak przechowywanie danych do dalszej analizy, grupowanie powiązanych danych, tworzenie list lub tabel, a także do przechowywania danych na potrzeby pętli i innych struktur sterujących.

Pytanie 20

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. slice()
B. split()
C. replace()
D. trim()
Użycie metod takich jak trim(), replace() czy slice() w kontekście zamiany tekstu na tablicę jest nieprawidłowe z kilku powodów. Metoda trim() służy do usuwania białych znaków (spacji, tabulatorów itp.) z początku i końca ciągu znaków. Choć jest to przydatne w wielu sytuacjach, nie ma ona żadnego wpływu na strukturę samego tekstu, a tym samym nie może być używana do przekształcania ciągu w tablicę. Z kolei replace() jest metodą, która zastępuje podciąg w łańcuchu, ale nie dzieli go na elementy. Na przykład, użycie replace() na ciągu "Jan,Kasia,Piotr" z celem uzyskania tablicy spowoduje, że nadal będziemy mieć jeden łańcuch, w którym nie będą mogły wystąpić oddzielne elementy. Natomiast metoda slice() służy do wycinania określonej części łańcucha, co również nie prowadzi do generowania tablicy. Powszechnym błędem myślowym jest założenie, że te metody mogą spełniać funkcję podziału tekstu, podczas gdy ich rzeczywiste zastosowanie jest zupełnie inne. W praktyce, stosując metody, które nie są przeznaczone do dzielenia tekstu, programiści mogą napotkać problemy z wydajnością i czytelnością kodu, co jest sprzeczne z zasadami dobrego programowania. Zrozumienie różnicy między tymi metodami oraz ich odpowiednim zastosowaniem jest kluczowe dla efektywnej pracy z danymi tekstowymi i zapewnia, że procesy przetwarzania informacji w aplikacjach są zarówno efektywne, jak i łatwe do utrzymania.

Pytanie 21

W JavaScript stworzono funkcję o nazwie licz_pitagoras, która oblicza długość przeciwprostokątnej w trójkącie prostokątnym, zgodnie z twierdzeniem Pitagorasa. Funkcja przyjmuje dwa parametry wejściowe i zwraca wynik. Poprawne wywołanie tej funkcji, wraz z uzyskaniem zwróconej wartości, będzie miało formę

A. licz_pitagoras(a, b, c);
B. c = licz_pitagoras(a, b);
C. licz_pitagoras(a, b) = c;
D. licz_pitagoras(a, b);
Odpowiedź 'c = licz_pitagoras(a, b);' jest poprawna, ponieważ przedstawia sposób wywołania funkcji oraz przypisania jej wyniku do zmiennej. W języku JavaScript, aby skorzystać z funkcji, należy najpierw ją wywołać, a następnie, w przypadku gdy funkcja zwraca wartość, możemy tę wartość przypisać do zmiennej. W tym przypadku, funkcja 'licz_pitagoras' przyjmuje dwa argumenty, które odpowiadają długościom dwóch przyprostokątnych w trójkącie prostokątnym i zwraca długość przeciwprostokątnej, obliczoną na podstawie wzoru a^2 + b^2 = c^2. Przykład praktyczny to wykorzystanie tej funkcji w aplikacji, która oblicza długości boków trójkątów, co jest przydatne w różnych dziedzinach, takich jak inżynieria czy architektura. Warto pamiętać o dobrej praktyce, aby nazwy funkcji były opisowe, co ułatwia zrozumienie ich funkcji bez potrzeby zagłębiania się w implementację.

Pytanie 22

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. Funkcja zawiera pętlę, która powtarza się 3 razy
B. Wczytywanie tekstu zakończy się, gdy tekst będzie się składał przynajmniej z 3 znaków
C. Tekst będzie odczytywany do chwili, gdy podana zostanie liczba większa niż 3
D. Pętla wykona się tylko jeden raz
W analizowanej funkcji głównym celem jest zapewnienie, że użytkownik wprowadza imię o odpowiedniej długości. Pętla do while jest strukturą sterującą stosowaną, gdy chcemy, aby blok kodu wykonał się co najmniej raz przed sprawdzeniem warunku. W tym przypadku pętla nie wykona się tylko raz, ponieważ warunek jest taki, że imię musi mieć co najmniej trzy znaki długości. Błędne zrozumienie logiki mogłoby wynikać z myślenia, że pętla zawsze kończy się po pierwszym wykonaniu, co jest nieprawidłowe w kontekście tej funkcji. Odnośnie twierdzenia, że funkcja posiada pętlę powtarzającą się trzy razy, jest ono nieprawdziwe, ponieważ liczba iteracji nie jest stała i zależy od danych wejściowych użytkownika. Często mylne jest założenie, że pętle mają z góry określoną liczbę iteracji, podczas gdy w rzeczywistości często kończą się na podstawie zdefiniowanego warunku logicznego. Wreszcie, opcja mówiąca o wczytywaniu tekstu do momentu podania liczby większej niż 3 błędnie interpretuje warunek pętli. Warunek mówi o długości wprowadzonego tekstu, a nie o jego wartości liczbowej. Często błędnie zakłada się, że każdy warunek logiczny odnosi się do wartości liczbowych, co w tym przypadku prowadzi do nieporozumienia. Zrozumienie, jak działają warunki logiczne i pętle kontrolne, jest kluczowe w programowaniu, ponieważ pozwala to na tworzenie bardziej elastycznego i dynamicznego kodu, który odpowiednio reaguje na różne dane wejściowe.

Pytanie 23

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

A. zmienić styl obrazu o id i1
B. pokazać obraz2.gif obok obraz1.gif
C. zamienić obraz1.gif na obraz2.gif
D. ukryć obraz2.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 24

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienna1––;
B. zmienna1 === zmienna1 - 1;
C. zmienia1 = zmienna1 - 0;
D. zmienna1++;
Instrukcja 'zmienna1 -= 1;' w języku JavaScript jest skróconą formą zapisu, która oblicza nową wartość zmiennej 'zmienna1', odejmując od niej 1. Działa to na zasadzie równania, gdzie zmienna zostaje zaktualizowana do nowej wartości. Z kolei zapis 'zmienna1--;' również dokonuje dekrementacji zmiennej 'zmienna1' o 1, ale w formie operatora post-dekrementacji. W praktyce oznacza to, że obie instrukcje mają ten sam efekt końcowy, czyli zmiana wartości 'zmienna1' o 1 w dół. Przykładowo, jeżeli 'zmienna1' wynosi 5 przed wykonaniem powyższych operacji, to po ich wykonaniu jej wartość wyniesie 4. Takie skrócone formy zapisu są powszechną praktyką w programowaniu, ponieważ umożliwiają bardziej zwięzłe i czytelne przedstawienie operacji na zmiennych, co jest zgodne z zasadami czystego kodu. Używanie operatorów skróconych, takich jak '+=' i '-=', jest zalecane, ponieważ poprawia czytelność i zrozumiałość kodu.

Pytanie 25

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. wsp.x = …
B. x = …
C. obiekt1::x = …
D. obiekt1.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 26

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

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

Pytanie 27

Skrypt stworzony w języku JavaScript wyznacza cenę promocyjną dla swetrów w barwach: zielonej, niebieskiej (zmienna kolor) przy wydatkach przekraczających 200 zł (zmienna zakupy). Warunek niezbędny do obliczeń powinien być zapisany z użyciem wyrażenia logicznego?

A. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
B. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
C. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
D. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
Odpowiedź zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski') jest poprawna, ponieważ dokładnie spełnia warunki opisane w pytaniu. Wyrażenie logiczne składa się z dwóch głównych części: sprawdzenia, czy wartość zmiennej zakupy jest większa niż 200 oraz sprawdzenia, czy zmienna kolor jest równa 'zielony' lub 'niebieski'. Użycie operatora logicznego '&&' (AND) w połączeniu z '||' (OR) pozwala na zdefiniowanie warunków, które muszą być spełnione, aby uzyskać cenę promocyjną. Przykładowo, jeśli użytkownik kupi sweter za 250 zł w kolorze zielonym, warunek będzie prawdziwy, a cena promocyjna zostanie zastosowana. W kontekście standardów programistycznych, taka konstrukcja jest zgodna z najlepszymi praktykami pisania czytelnego i efektywnego kodu w JavaScript, gdzie zrozumiałość i logika wyrażeń warunkowych są kluczowe dla utrzymania i rozwoju aplikacji.

Pytanie 28

var obj1 = {     czescUlamkowa: 10,     czescCalkowita: 20,     oblicz: function) {...} } Kod przedstawiony powyżej jest zapisany w języku JavaScript. W podanej definicji obiektu, metodą jest element o nazwie

A. czescCalkowita
B. obj1
C. oblicz
D. czescUlamkowa
Zrozumienie, dlaczego obj1 i jego właściwości czescUlamkowa oraz czescCalkowita nie są metodami, to kluczowy element nauki programowania w JavaScript. Obiekt obj1 to jakby instancja, która przechowuje dane, ale nie jest funkcją ani metodą. Generalnie, obiekt to struktura z różnymi właściwościami i metodami, ale sama z siebie nie robi nic. CzescUlamkowa i czescCalkowita to tylko właściwości z wartościami liczbowymi, ale nie mają w sobie żadnej logiki wykonawczej. Więc mylenie ich z metodami jest po prostu błędne, bo nie mają przypisanych funkcji ani nie są zdefiniowane jako funkcje w kontekście tego obiektu. Żeby właściwości stały się metodami, musiałyby być zdefiniowane jako funkcje, jak ta nasza oblicz. Metoda oblicz to przykład funkcji związanej z obiektem, a nie tylko przechowującej dane. Dlatego całość obj1 i jego właściwości czescUlamkowa oraz czescCalkowita nie mogą być uznawane za metody. Ważne jest, żeby to zrozumieć, bo to wpływa na to, jak zarządza się danymi w aplikacjach JavaScript.

Pytanie 29

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 zmiennej s długość tekstu ze zmiennej t
C. przypisze do zmiennej s zmienną t
D. wyświetli 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 30

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

A. metodę setAttribute
B. metodę getAttribute
C. pole attribute i podać nazwę atrybutu
D. pole innerHTML
Wybór innych metod lub pól do zmiany wartości atrybutów w elementach HTML wskazuje na pewne nieporozumienia dotyczące sposobu działania DOM w JavaScript. Metoda getAttribute służy do odczytywania wartości atrybutu, a nie do jego modyfikacji. Użytkownik może mylnie sądzić, że wystarczy odczytać wartość atrybutu, aby następnie ją zmienić, co jest błędne. Podobnie, pole innerHTML jest używane do manipulacji zawartością wewnętrzną elementu, a nie bezpośrednio do zmiany atrybutów. Umożliwia to wstawienie lub zmianę HTML w obrębie elementu, ale nie wpływa na atrybuty, co może prowadzić do niezamierzonych efektów, takich jak utrata istniejących atrybutów. W przypadku, gdy ktoś zdecyduje się użyć pola attribute, wprowadza zamieszanie, ponieważ nie istnieje takie pole w standardowym obiekcie DOM. Dlatego kluczowe jest zrozumienie różnicy pomiędzy odczytem a zapisem atrybutów, co jest fundamentalne dla efektywnego programowania w JavaScript. Aby uniknąć typowych błędów, programiści powinni skupić się na wykorzystaniu właściwych metod i narzędzi, co zapewni prawidłowe zarządzanie atrybutami w dokumentach HTML.

Pytanie 31

Aby zmienić wartość atrybutu elementu przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
B. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
C. document.getElementById(id).innerHTML = <nowa wartość>
D. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
Sposoby zapisu w pozostałych odpowiedziach nie są odpowiednie dla zmiany cech elementów opisanych w CSS, co może prowadzić do nieporozumień w zakresie manipulacji stylem w JavaScript. Użycie document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>; może sugerować, że próbujemy ustawić atrybuty HTML, jednak nie odnosi się to do stylów CSS. Atrybuty HTML i style CSS to dwa różne obszary, a manipulowanie stylem wymaga bezpośredniego odniesienia do obiektu style. Podobnie, w przypadku document.getElementById(id).<nazwa właściwości> = <nowa wartość>; wygląd elementu nie jest zmieniany, ponieważ nie wskazujemy na obiekt style, lecz na właściwości samego elementu. Użycie document.getElementById(id).innerHTML = <nowa wartość>; również wprowadza w błąd, ponieważ ta metoda służy do zmiany zawartości HTML wewnątrz danego elementu, a nie stylów. Często pojawia się mylne przekonanie, że można manipulować stylem, używając ogólnych atrybutów lub zawartości, co prowadzi do nieefektywnego i błędnego kodu. Istotne jest zrozumienie, że stylizacja elementów wymaga poprawnej interakcji z obiektem style, co zapewnia jednocześnie zgodność z najlepszymi praktykami programowania i pozwala uniknąć błędów w logice aplikacji.

Pytanie 32

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. debuggera JavaScript
B. serwera MySQL
C. serwera WWW
D. przeglądarki internetowej
W kontekście uruchamiania skryptów JavaScript, odpowiedzi sugerujące potrzeby związane z debugerem JavaScript, serwerem WWW czy bazą danych MySQL są wynikiem nieporozumienia dotyczącego roli, jaką pełnią te technologie w ekosystemie webowym. Debuger JavaScript to narzędzie, które wspomaga programistów w identyfikowaniu błędów w kodzie, ale sam w sobie nie jest wymagany do uruchomienia skryptu. Można pisać i testować skrypty JavaScript bezpośrednio w przeglądarkach, które mają wbudowane funkcjonalności debugujące, co czyni ten element zbędnym na etapie uruchamiania. Serwer WWW jest potrzebny do hostowania stron internetowych i dostarczania ich do przeglądarek, ale nie jest konieczny, jeśli użytkownik testuje skrypty lokalnie. Na przykład, wiele deweloperów korzysta z lokalnych środowisk, aby uruchamiać skrypty JavaScript bez potrzeby wdrażania ich na serwerze. Z kolei serwer MySQL jest bazą danych, która nie ma żadnego związku z uruchamianiem kodu JavaScript; jej rola sprowadza się do przechowywania danych, które mogą być pobierane przez aplikacje webowe. To typowe pomylenie funkcji różnych komponentów technologicznych, które może prowadzić do mylnego przekonania o konieczności posiadania ich dla podstawowego działania skryptów JavaScript.

Pytanie 33

Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?

A. echo Date() + Time()
B. innerHTML = Date()
C. document.write(Date())
D. echo Date()
Odpowiedź 'document.write(Date());' jest prawidłowa, ponieważ wykorzystuje metodę 'document.write()', która pozwala na wstawienie tekstu bezpośrednio do dokumentu HTML w momencie jego ładowania. Funkcja 'Date()' zwraca aktualną datę i czas w formie tekstu, co czyni ją odpowiednią do użycia w metodzie 'document.write()'. Warto zauważyć, że zastosowanie 'document.write()' może być ograniczone do momentu pierwszego ładowania strony, dlatego istotne jest, aby używać tej metody z rozwagą. Dobrym praktycznym przykładem jest skrypt, który po załadowaniu strony wyświetla datę i czas w nagłówku lub w innym elemencie strony. Przykładowo, można użyć: <script>document.write('Aktualna data i czas: ' + Date());</script>. Dodatkowo, warto zaznaczyć, że w nowoczesnym podejściu do programowania w JavaScript preferuje się użycie metod manipulacji DOM, takich jak 'innerHTML', ale 'document.write()' nadal ma swoje miejsce w prostych przykładach edukacyjnych.

Pytanie 34

Jakie skutki wywoła poniższy fragment kodu w języku JavaScript? ```n = "Napis1"; s = n.length;```

A. Przypisze zmiennej s wartość odpowiadającą długości tekstu w zmiennej n
B. Przypisze wartość zmiennej n do zmiennej s
C. Wyświetli liczbę znaków napisu z zmiennej n
D. Przypisze zmiennej s część napisu ze zmiennej n o długości określonej przez zmienną length
Fragment skryptu w języku JavaScript, w którym zmienna n jest przypisana do napisu "Napis1", a następnie zmienna s jest przypisana do długości tego napisu, korzysta z właściwości length. Odpowiedź 3 jest poprawna, ponieważ właściwość length dla obiektów typu string zwraca liczbę znaków w danym napisie. W tym przypadku "Napis1" ma 6 znaków, więc zmienna s przyjmie wartość 6. Tego typu operacje są powszechnie stosowane w programowaniu do manipulacji i analizy danych tekstowych, co jest istotnym aspektem tworzenia aplikacji webowych. W praktyce, programiści często muszą sprawdzać długość napisów, aby weryfikować dane wejściowe, przygotowywać napisy do dalszego przetwarzania lub dostosowywać interfejs użytkownika. Dobrym przykładem zastosowania length jest walidacja formularzy, gdzie długość wprowadzonego tekstu musi spełniać określone kryteria, np. minimalną lub maksymalną liczbę znaków. Warto zaznaczyć, że zgodnie ze standardami ECMAScript, wszystkie napisy w JavaScript mają tę właściwość, co czyni ją niezwykle użyteczną w codziennej pracy programisty.

Pytanie 35

W deklaracji w języku JavaScript:```var x=true;``` zmienna x przyjmuje typ

A. ciąg znaków
B. wyliczeniowym
C. liczbowym
D. logicznym
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 36

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

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

Pytanie 37

W języku JavaScript trzeba sformułować warunek, który będzie spełniony, gdy zmienna a będzie dowolną liczbą naturalną dodatnią (więcej niż 0) lub gdy zmienna b będzie dowolną liczbą z przedziału domkniętego od 10 do 100. Wyrażenie logiczne w tym warunku powinno mieć postać

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))
Pierwsza odpowiedź (a > 0) && ((b >= 10) && (b <= 100)) opiera się na błędnym założeniu, że oba warunki muszą być spełnione jednocześnie, co jest sprzeczne z wymaganiami. W kontekście tego pytania, aby warunek był prawdziwy, wystarczy, że przynajmniej jeden z podanych warunków będzie spełniony. To podejście prowadzi do niepotrzebnej ścisłości, ograniczając funkcjonalność programu. Druga odpowiedź (a > 0) && ((b >= 10) || (b <= 100)) również jest myląca; operator logiczny '||' w kontekście zmiennej b sugeruje, że b może być mniejsze niż 10 lub większe niż 100, co nie spełnia wymagań, które określają, że b musi być w przedziale 10-100. Trzecia odpowiedź (a > 0) || ((b >= 10) || (b <= 100)) wprowadza dodatkowe zamieszanie, ponieważ druga część warunku znowu nie wymusza, aby b znajdowało się w odpowiednim zakresie. Przypadki takie jak te wskazują na typowe błędy logiczne, gdzie programiści mogą mylnie interpretować potrzeby warunku, co skutkuje błędami w kodzie. Kluczowe jest zrozumienie, jak działają operatory logiczne oraz jakie są ich konsekwencje w kontekście projektowania warunków. Właściwe użycie operatorów jest fundamentem skutecznego programowania, a unikanie takich pułapek jest kluczowe dla tworzenia stabilnych aplikacji.

Pytanie 38

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

A. przypisania
B. logicznymi
C. bitowe
D. arytmetyczne
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 39

Jakie znaki lub sekwencje oznaczają początek komentarza w języku JavaScript?

A. <!--
B. #
C. //
D. <?
W języku JavaScript komentarze są oznaczane na dwa podstawowe sposoby. Najbardziej powszechnym sposobem jest użycie podwójnego ukośnika, co wygląda jak '//' i jest stosowane do tworzenia komentarzy jednolinijkowych. Komentarze te są ignorowane przez interpreter JavaScript, co oznacza, że nie mają wpływu na działanie kodu. Na przykład, w kodzie można napisać: // To jest komentarz, który nie wpływa na wykonanie kodu. Oprócz tego, JavaScript obsługuje też komentarze wielolinijkowe, które rozpoczynają się od '/*' i kończą na '*/'. Umożliwiają one wstawienie dłuższego opisu, obejmującego kilka linii. Przykład: /* To jest komentarz, który zajmuje kilka linii. */ Komentarze w kodzie są niezwykle istotne, ponieważ poprawiają czytelność skryptu, umożliwiają dokumentację oraz ułatwiają pracę z zespołem. Warto zaznaczyć, że zgodność z ECMAScript, standardem, na którym oparty jest JavaScript, wymaga użycia tych znaczników w celu prawidłowego komentowania kodu.

Pytanie 40

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript? ```javascript document.write(Math.round(4.51) + Math.pow(2, 3)); ```

A. 14
B. 12
C. 13
D. 11
Zobaczmy, jak doszliśmy do poprawnej odpowiedzi 13. W kodzie JavaScript mamy fragment: <script type='text/javascript'> document.write(Math.round(4.51) + Math.pow(2, 3)); </script>. Co tu się dzieje? Dwie główne operacje to zaokrąglanie i potęgowanie. Funkcja Math.round(4.51) zaokrągla do najbliższej liczby i zwraca 5. Potem mamy Math.pow(2, 3), które daje wynik 8, bo 2 do potęgi 3 to 2 * 2 * 2. Jak to zsumujemy, to mamy 5 + 8, co daje 13. Warto wiedzieć, że Math.round i Math.pow są częścią obiektu Math w JavaScript, który ma różne przydatne funkcje. Na przykład, Math.sqrt() oblicza pierwiastek kwadratowy, a Math.random() daje losowe liczby. To są naprawdę przydatne rzeczy w aplikacjach webowych, gdzie często potrzebujemy obliczeń z danymi liczbowymi. Standard ECMA-262 opisuje, jak te funkcje mają działać, więc możemy być pewni, że będą działać tak samo w różnych środowiskach JavaScript.