Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 13:38
  • Data zakończenia: 8 czerwca 2026 14:12

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

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

W formularzu dokumentu PHP znajduje się pole <input name="im" />. Po wpisaniu przez użytkownika ciągu „Janek”, aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. Janek z kolejnym numerem indeksu
B. im z indeksem Janek
C. Janek z indeksem im
D. im z kolejnym numerem indeksu
Odpowiedzi, które nie są poprawne, bazują na nieprawidłowych założeniach dotyczących sposobu, w jaki PHP przetwarza dane z formularzy. Pierwsza z niepoprawnych odpowiedzi sugeruje, że w tablicy $_POST istnieje element o kluczu 'im' z indeksem 'Janek'. W rzeczywistości, kluczem jest nazwa pola, a wartością jest to, co zostało wprowadzone przez użytkownika, więc takie połączenie klucza i wartości jest mylące. W drugiej niepoprawnej opcji mowa o 'Janek' jako kluczu, co również jest błędne, ponieważ 'Janek' jest wartością, a nie kluczem. Klucz w tablicy $_POST to zawsze nazwa pola formularza, czyli w tym przypadku 'im', a jego wartość to 'Janek'. Trzecia niepoprawna odpowiedź sugeruje, że klucz 'im' miałby być skojarzony z kolejnym numerem indeksu. To również jest niewłaściwe, ponieważ PHP nie dodaje automatycznie numerów indeksów do kluczy tablic, a klucze pozostają takie same, jak nazwy w formularzu. W każdej sytuacji nazwa pola pozostaje kluczem, co jest istotnym elementem przetwarzania danych w PHP.

Pytanie 2

Którego znacznika HTML5 użyć do GRUPOWANIA powiązanych elementów formularza?

A.
<optgroup>
B.
<summary>
C.
<option>
D.
<fieldset>
Znacznik <fieldset> grupuje powiązane elementy formularza w logiczną sekcję (zwykle z ramką), a <legend> daje jej opis. Porządkuje to formularz i poprawia dostępność. Dlatego do grupowania pól formularza służy <fieldset>.

Pytanie 3

W języku JavaScript zapis w ramce oznacza, że

x = przedmiot.nazwa();
A. nazwa jest cechą obiektu przedmiot
B. zmienna x będzie zawierać wynik działania metody nazwa
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot
D. nazwa jest atrybutem klasy przedmiot
Wyrażenie x = przedmiot.nazwa(); w JavaScripcie dość często bywa mylnie interpretowane, bo miesza się pojęcia atrybutów, cech obiektu i metod. W składni obiektowej JavaScript zapis przedmiot.nazwa oznacza odwołanie się do własności o nazwie nazwa, należącej do obiektu przedmiot. Jeśli do tej własności przypisana jest funkcja, to mówimy o metodzie obiektu. Dopiero nawiasy okrągłe () po nazwie powodują wywołanie tej funkcji. To jest istotna różnica: sama kropka nie uruchamia żadnego kodu, tylko daje dostęp do pola lub metody.
Stwierdzenie, że nazwa jest atrybutem klasy przedmiot, wprowadza w błąd z dwóch powodów. Po pierwsze, w klasycznym JavaScripcie pracujemy głównie na obiektach, a nie na „klasach” w sensie znanym z Javy czy C#. Słowo „class” pojawiło się w nowszej składni, ale nadal pod spodem działają prototypy. Po drugie, w kodzie z pytania mamy konkretny obiekt przedmiot, a nie definicję klasy, więc mówienie o „atrybucie klasy” jest tutaj nietrafione. Bardziej poprawnie jest mówić o własności obiektu albo metodzie obiektu.
Druga mylna interpretacja to traktowanie nazwa jako „cechy” obiektu przedmiot. Gdyby to była zwykła cecha (np. tekst), zapis wyglądałby raczej tak: x = przedmiot.nazwa; bez nawiasów. Wtedy x dostałby wartość właściwości, np. string. Dodanie () jasno sugeruje, że nazwa jest funkcją, czyli metodą, a nie prostym polem danych. To jest częsty błąd: nieuwaga na nawiasy prowadzi do złego zrozumienia, co dokładnie robi kod.
Równie mylące jest zdanie, że zmienna x będzie przechowywać wynik działania funkcji przedmiot. W tym zapisie przedmiot nie jest funkcją, tylko obiektem, na którym wywołujemy metodę nazwa(). Gdyby przedmiot był funkcją, wywołanie wyglądałoby przedmiot(), a nie przedmiot.nazwa(). Z mojego doświadczenia wynika, że uczniowie mieszają obiekty z funkcjami, bo w JS funkcja też jest typem danych i można ją przypisać do zmiennej. Dlatego warto mocno utrwalić: obiekt.metoda() – wywołujesz metodę obiektu, funkcja() – wywołujesz funkcję przypisaną bezpośrednio do zmiennej.
Podsumowując, poprawne rozumienie tego zapisu opiera się na zauważeniu dwóch rzeczy: przedmiot jest obiektem, nazwa jest metodą tego obiektu, a nawiasy oznaczają wywołanie metody, której wynik dopiero jest przypisywany do x. Pomyłki wynikają zwykle z ignorowania nawiasów lub z nieodróżniania własności (pól) od metod, co jest podstawą programowania obiektowego w JavaScripcie.

Pytanie 4

W tabeli artykuly w bazie danych sklepu znajduje się pole o nazwie nowy. Jak należy wykonać kwerendę, aby wypełnić to pole wartościami TRUE dla wszystkich rekordów?

A. UPDATE nowy FROM artykuly VALUE TRUE;
B. UPDATE artykuly SET nowy=TRUE;
C. INSERT INTO artykuly VALUE nowy=TRUE;
D. INSERT INTO nowy FROM artykuly SET TRUE;
Pozostałe odpowiedzi są błędne z kilku powodów. Pierwsza, 'INSERT INTO artykuly VALUE nowy=TRUE;', jest niepoprawna, bo instrukcja INSERT służy do dodawania nowych rekordów, a nie do aktualizacji tych, które już są. Używanie tej komendy w kontekście aktualizacji to poważny błąd w zrozumieniu baz danych. Druga odpowiedź, 'UPDATE nowy FROM artykuly VALUE TRUE;', też nie jest dobra, bo składnia tutaj jest błędna. Komenda UPDATE nie używa słowa 'FROM' w taki sposób i brakuje też struktury, która określałaby, które rekordy mają być zmienione. Ostatnia odpowiedź, 'INSERT INTO nowy FROM artykuly SET TRUE;', jeszcze bardziej myli, bo 'INSERT INTO' nie służy do zmiany wartości w kolumnie. Raczej dodaje nowe wiersze do tabeli. Takie podejście łamie zasady SQL i może prowadzić do błędów w zapytaniach. Ważne jest, żeby zrozumieć różnice pomiędzy INSERT a UPDATE, aby skutecznie zarządzać danymi.

Pytanie 5

Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?

A. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
B. sprawdzenie, czy baza działa wystarczająco wydajnie
C. ustalenie systemu kodowania znaków w bazie
D. przyznanie uprawnień do przeglądania bazy dla Administratora
Sprawdzenie poprawności tabel w bazie przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który pozwala na zapewnienie integralności danych. W przypadku, gdy w tabelach występują błędy, takie jak uszkodzone wiersze czy niedopasowane indeksy, proces tworzenia kopii zapasowej może nie uwzględnić tych problemów, co w konsekwencji prowadzi do utraty danych lub trudności w ich przywróceniu. W MySQL, przed rozpoczęciem backupu, zaleca się użycie polecenia 'CHECK TABLE' do weryfikacji stanu tabel. Przykładowo, jeśli tabela 'users' jest sprawdzana i wykryto błąd, można zastosować 'REPAIR TABLE', aby naprawić uszkodzenia. Dobrą praktyką w branży jest regularne tworzenie kopii zapasowych oraz prowadzenie audytów jakości danych, co pozwala na minimalizację ryzyka utraty informacji. Utrzymywanie bazy danych w dobrym stanie technicznym poprzez regularne sprawdzanie tabel oraz ich naprawianie jest zalecane w dokumentacji MySQL oraz innych systemów zarządzania bazami danych, co podkreśla znaczenie tego procesu w kontekście bezpieczeństwa danych.

Pytanie 6

Którą właściwością CSS ustawia się kolor tła elementu (np. strony)?

A.
text-background
B.
background-color
C.
bgcolor
D.
color
Pozostałe odpowiedzi nie ustawią tła w CSS. color to prawdziwa właściwość, ale odpowiada za kolor tekstu, a nie tła. text-background w ogóle nie istnieje - przeglądarka taką deklarację zignoruje. bgcolor to przestarzały atrybut HTML (np. <body bgcolor="...">), wycofany na rzecz stylów - nie jest właściwością CSS. Kolor tła elementu ustawia background-color, dlatego to ona jest poprawna.

Pytanie 7

Którego znacznika HTML użyć, aby wstawić poziomą linię?

A.
<br>
B.
<line>
C.
<hr>
D.
<hl>
Poziomą linię (oddzielającą treść) wstawia znacznik <hr> - to element pusty, bez znacznika zamykającego. Dlatego poziomą linię daje <hr>.

Pytanie 8

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?

A. strstr ('ala ma psa');
B. ucfirst ('ala ma psa');
C. strtoupper('ala ma psa');
D. strtolower('ala ma psa');
Funkcja strtoupper w PHP jest używana do konwersji wszystkich liter w danym ciągu znaków na wielkie litery. W kontekście modyfikacji tekstu „ala ma psa” na „ALA MA PSA”, zastosowanie funkcji strtoupper('ala ma psa') jest poprawnym podejściem. Funkcja ta jest częścią standardowej biblioteki PHP i jest szeroko stosowana w projektach, gdzie zachowanie wielkich liter jest kluczowe. Przykład użycia funkcji strtoupper jest prosty: wystarczy przekazać do niej ciąg, który ma zostać przekształcony. Przykładem może być zapis: $text = 'ala ma psa'; $uppercaseText = strtoupper($text); echo $uppercaseText; co wygeneruje wynik ALA MA PSA. Warto zauważyć, że funkcja ta nie zmienia oryginalnego ciągu, lecz zwraca nowy ciąg z przekształconymi literami. Zastosowanie funkcji strtoupper jest szczególnie przydatne w aplikacjach webowych, gdzie formatowanie tekstu może być kluczowe dla zapewnienia spójności danych wyjściowych oraz ich estetyki.

Pytanie 9

Który z elementów HTML jest elementem blokowym?

A. <strong>
B. <p>
C. <span>
D. <img>
Pozostałe elementy są liniowe (inline) - układają się w obrębie wiersza, nie wymuszając nowej linii. <img> wstawia obraz „w tekst”, więc domyślnie zachowuje się jak element liniowy. <span> to pojemnik inline, używany do wydzielenia fragmentu w obrębie wiersza (np. do ostylowania słowa). <strong> pogrubia fragment tekstu, również nie przerywając wiersza. Pełną szerokość i nowy wiersz zajmuje element blokowy <p>, dlatego ta odpowiedź jest poprawna.

Pytanie 10

Którą funkcją PHP sprawdzić WARTOŚĆ oraz TYP zmiennej?

A.
implode()
B.
var_dump()
C.
strlen()
D.
readfile()
Pozostałe funkcje robią co innego. strlen() zwraca tylko długość napisu, implode() skleja tablicę w tekst, a readfile() wypisuje zawartość pliku. Wartość wraz z typem zmiennej pokazuje var_dump().

Pytanie 11

Która reguła CSS pozwala stosować różne style w zależności od szerokości ekranu (kluczowa w RWD)?

A.
@font-face
B.
@import
C.
@media
D.
@keyframes
Pozostałe reguły at-rules dotyczą czego innego. @font-face pozwala dołączyć i nazwać własną czcionkę, ale nie zmienia układu w zależności od ekranu. @import służy do wczytania kolejnego arkusza stylów do bieżącego - to organizacja kodu, nie responsywność. @keyframes opisuje kolejne etapy animacji i również nie reaguje na szerokość urządzenia. Dopasowanie stylów do rozmiaru ekranu umożliwia wyłącznie @media, dlatego to ona jest poprawna.

Pytanie 12

Aby tworzyć strony internetowe w sposób graficzny, należy skorzystać z

A. programu typu WYSIWYG
B. edytora CSS
C. programu MS Office Picture Manager
D. przeglądarki internetowej
Korzystanie z przeglądarek internetowych do tworzenia stron internetowych jest fundamentalnie niepoprawne, ponieważ przeglądarki są narzędziami do wyświetlania stron, a nie ich tworzenia. Użytkownicy mogą jedynie przeglądać treści, które zostały już opracowane w innych aplikacjach i zamieszczone w Internecie. Również edytory CSS, choć ważne w procesie stylizowania stron, nie są wystarczające do graficznego tworzenia stron internetowych. Edytory te skupiają się jedynie na aspekcie wizualnym poprzez stylowanie elementów HTML, ale nie oferują możliwości łatwego i intuicyjnego projektowania układu strony, co jest kluczowe dla grafików i projektantów stron. Co więcej, program MS Office Picture Manager jest aplikacją do zarządzania i edytowania zdjęć, a nie do tworzenia stron internetowych. Użytkownicy mogą popełniać błąd, myśląc, że podobne programy mogą być używane do projektowania stron, jednak nie są one zaprojektowane do integracji z HTML, CSS czy JavaScript. Zrozumienie tych różnic jest kluczowe dla efektywnego tworzenia stron internetowych, które są nie tylko estetyczne, ale również funkcjonalne i zgodne z nowoczesnymi standardami.

Pytanie 13

Które z pól są umieszczone w formularzu?





Studia podyplomowe Kurs

A. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
B. Textarea, Option, Input(Checkbox), Input(Checkbox), Input (Submit), Input(Reset)
C. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
D. Input(Text), Select, Input(Radio), Input(Radio), Input (Submit), Input(Reset)
Twoja odpowiedź sugeruje pewne nieporozumienia co do typów pól używanych w formularzach html. Przykładowo, Textarea to pole wieloliniowego tekstu, które nie zostało użyte w tym formularzu. Podobnie, Element Option jest zazwyczaj używany wewnątrz elementu Select i nie jest samodzielnym polem formularza. Co więcej, Input(Checkbox) to pole wyboru, które pozwala na zaznaczenie wielu opcji. W tym formularzu, używane są przyciski wyboru (Input(Radio)), które są podobne, ale pozwalają tylko na wybór jednej opcji. Wreszcie, należy pamiętać, że nie wszystkie formularze muszą zawierać wszystkie typy pól. Różne typy pól są używane w zależności od tego, jakiego rodzaju informacje chcemy zebrać. Ważne jest, aby zrozumieć różnice między nimi i kiedy ich używać, aby stworzyć skuteczny formularz, który będzie łatwy do wypełnienia dla użytkowników i będzie zbierał potrzebne informacje.

Pytanie 14

Które wyrażenie należy wstawić w miejsce ??? w pętli zapisanej w języku C++, aby zostały wyświetlone jedynie elementy tablicy tab

int tab[6];
for (int i = 0; ???; i++)
cout << tab[i];
A. i >= 6
B. i <= 6
C. i < 6
D. i > 6
Odpowiedź 'i >= 6' jest błędna, bo prowadzi do tego, że pętla opuści wszystkie elementy tablicy. Gdy i osiągnie 6 lub więcej, pętla staje, więc nic się nie wyświetli, bo przecież indeksy zaczynają się od 0, a kończą na 5. To jest typowy błąd, który wynika z nie do końca zrozumienia, jak działają tablice w C++. Z kolei 'i <= 6' też nie jest ok, bo wtedy pętla zakończy się po wyświetleniu elementu z indeksem 6, co prowadzi do niezdefiniowanego zachowania – a to nie jest fajne, bo nie ma takiego elementu w tablicy z sześcioma elementami. Odpowiedź 'i > 6' też jest źle, bo nie wykona żadnej iteracji, znowu pomijając całą tablicę. Ważne jest, żeby pamiętać, że indeksy tablic zaczynają się od 0, a ostatni indeks przy rozmiarze n wynosi n-1. Stosowanie złych warunków w pętlach może prowadzić do sporych problemów z pamięcią, więc trzeba uważać i pisać warunki, które dobrze pokazują rzeczywisty rozmiar tablicy.

Pytanie 15

Do czego służy debugger?

A. do wyszukiwania błędów w kodzie programu
B. do optymalizacji zużycia pamięci
C. do analizy właściwości oprogramowania
D. do sprawdzania wydajności programu
Debugger to narzędzie do WYSZUKIWANIA BŁĘDÓW w kodzie - pozwala wykonywać program krok po kroku, wstawiać pułapki (breakpointy) i podglądać wartości zmiennych w trakcie działania. Dlatego debugger służy do wyszukiwania błędów w kodzie programu.

Pytanie 16

W języku SQL podczas używania polecenia CREATE TABLE atrybut, który wskazuje na to, która kolumna jest kluczem podstawowym, to

A. IDENTITY FIELD
B. UNIQUE
C. GŁÓWNY KLUCZ
D. PRIMARY KEY
Odpowiedź "PRIMARY KEY" jest prawidłowa, ponieważ w języku SQL klucz podstawowy (ang. primary key) to unikalny identyfikator dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa rekordy nie mają tej samej wartości w kolumnie, co jest kluczowe dla integralności danych. Zwyczajowo klucz podstawowy definiuje się podczas tworzenia tabeli za pomocą polecenia CREATE TABLE, co zwiększa wydajność operacji wyszukiwania oraz modyfikacji danych. Przykład wykorzystania: tworząc tabelę pracowników, można zdefiniować kolumnę "id_pracownika" jako klucz podstawowy, co zapewni, że każdy pracownik będzie miał unikalny identyfikator. W standardach SQL zgodnych z ANSI, klucz podstawowy może składać się z jednej lub więcej kolumn, co pozwala na tworzenie bardziej skomplikowanych struktur danych. Dobrą praktyką jest również oznaczanie klucza podstawowego jako NOT NULL, co uniemożliwia wprowadzenie pustych wartości, co dodatkowo zwiększa integralność bazy danych.

Pytanie 17

W języku CSS zapis

h2 {background-color: green;}
spowoduje, że kolor zielony będzie dotyczył:
A. czcionki nagłówka drugiego stopnia
B. czcionki każdego nagłówka na stronie
C. tła całej strony
D. tła tekstu nagłówka drugiego stopnia
Zrozumienie, jak działa CSS i jakie są efekty przypisania stylów do elementów, jest kluczowe dla prawidłowego projektowania stron internetowych. Odpowiedzi sugerujące, że kolor zielony dotyczyłby czcionki nagłówka drugiego stopnia oraz czcionki każdego nagłówka na stronie, bazują na powszechnym błędzie w interpretacji właściwości CSS. Warto zauważyć, że właściwość <b>background-color</b> nie wpływa na kolor tekstu, ale na jego tło. Oznacza to, że zmiana koloru tła nie zmienia koloru czcionki, co mogłoby prowadzić do mylnego wrażenia, że tekst nabierze nowego koloru, gdy w rzeczywistości będzie on pozostał bez zmian, co prowadzi do obniżenia czytelności. Kolejną nieprawidłowością jest sugerowanie, że tło całej strony mogłoby być zmienione przez ten zapis. Właściwość <b>background-color</b> zdefiniowana dla elementu <h2> dotyczy wyłącznie tego konkretnego elementu, a nie całej strony. To ważna zasada w CSS, gdzie style są dziedziczone w specyficzny sposób. Ogólnie rzecz biorąc, nieprawidłowe interpretacje mogą prowadzić do niezgodności w projektach, a także do frustracji, gdy oczekiwany efekt na stronie nie jest osiągany. Kluczowym wnioskowaniem jest zrozumienie struktury CSS oraz hierarchii stylów, co jest niezbędne do skutecznego tworzenia i modyfikowania stylów w HTML.

Pytanie 18

W podanym fragmencie zapytania w języku SQL, komenda SELECT jest używana do zwrócenia SELECT COUNT(wartosc) FROM …

A. średniej w kolumnie wartosc
B. ilości wierszy
C. średniej wartości z tabeli
D. summy w kolumnie wartosc
Tak, masz rację! To zapytanie zwraca liczbę wierszy. Użycie funkcji COUNT w SQL jest jakby liczeniem, ile jest niepustych wartości w danej kolumnie. Kiedy piszemy coś takiego jak SELECT COUNT(wartosc) FROM ..., to ta funkcja sprawdza, ile wierszy ma coś w kolumnie 'wartosc'. Przykładowo, w tabeli z danymi sprzedażowymi, kolumna 'wartosc' może mieć wszystkie wartości transakcji. To zapytanie pokaże nam, ile transakcji się odbyło, co jest super przydatne, gdy analizujemy biznes. Funkcja COUNT jest szalenie popularna, bo daje nam jasny obraz tego, co się dzieje w naszych danych. A jeśli zamiast COUNT(wartosc) zrobimy COUNT(*), to dostaniemy ogólną liczbę wszystkich wierszy, niezależnie od tego, czy coś w nich jest, co może być też przydatne, gdy chcemy ogarnąć całą tabelę.

Pytanie 19

Który mechanizm jest kluczowy dla Systemu Zarządzania Bazą Danych (SZBD)?

A. wielodostępność do danych
B. narzędzia do generowania statystyk
C. system zarządzania wersjami bazy
D. moduł do wizualizacji diagramów encji
Pozostałe odpowiedzi to narzędzia pomocnicze, a nie fundament SZBD. System zarządzania wersjami bazy, generowanie statystyk czy wizualizacja diagramów encji wspierają administrację lub projektowanie, ale nie są istotą systemu. Tą jest wielodostępność do danych.

Pytanie 20

Który parametr obrazu zmieni się po zmianie wartości NASYCENIA (saturacji)?

A. ostrość krawędzi
B. kolejność wyświetlania pikseli
C. intensywność (żywość) barw
D. przezroczystość
Nasycenie (saturacja) określa INTENSYWNOŚĆ i czystość barw. Przy nasyceniu bliskim zera kolory bledną aż do skali szarości, a przy wysokim stają się soczyste i żywe - to typowy suwak w GIMP-ie czy Photoshopie, gdy zdjęcie ma wyglądać „mocniej” lub „spokojniej”. Sama jasność i barwa (odcień) pozostają, zmienia się tylko siła kolorów. Zapamiętaj: saturacja steruje żywością barw.

Pytanie 21

Co spowoduje

DELETE FROM mieszkania WHERE status = 1;
?
A. usunięcie pola status z tabeli
B. usunięcie tabel z bazy mieszkania
C. usunięcie całej tabeli mieszkania
D. usunięcie rekordów z status = 1 z tabeli mieszkania
DELETE kasuje WIERSZE spełniające warunek, a nie całą tabelę (to robi DROP TABLE) ani kolumnę (to ALTER TABLE ... DROP COLUMN). Nie usuwa też innych tabel z bazy. Polecenie usunie rekordy, w których status = 1.

Pytanie 22

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. td, th { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia.

Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach.

Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy.

Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.

Pytanie 23

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. INSERT INTO
B. UPDATE
C. GRANT
D. ALTER TABLE
Patrząc na Twoje odpowiedzi, inne opcje nie nadają się do modyfikacji struktury tabel w MySQL. Na przykład, 'INSERT INTO' służy do dodawania nowych wierszy do tabeli. To zupełnie coś innego niż zmiana samej struktury tabeli. Używanie 'INSERT INTO' może wprowadzić w błąd, jeśli ktoś myśli, że dodaje dane, a nie zmienia ich układ. 'UPDATE' z kolei zmienia dane, które już są w tabeli, ale nie zmienia struktury. Wiem, że sporo osób myli 'UPDATE' z dodawaniem kolumn, co jest kompletnie mylne. Natomiast 'GRANT' dotyczy zarządzania uprawnieniami użytkowników, więc też nie ma nic wspólnego z modyfikacją tabel. Warto zwracać uwagę na te różnice, bo pomyłki mogą prowadzić do problemów z aplikacjami i utraty danych. Zrozumienie, kiedy używać 'ALTER TABLE', a nie innego polecenia, to klucz do sukcesu w pracy z bazami danych.

Pytanie 24

W jakim języku została napisana podana linia kodu

Ilustracja do pytania
A. PHP
B. C#
C. Python
D. JavaScript
Linia kodu przedstawiona w pytaniu to przykład zastosowania języka JavaScript, co jest kluczowe do rozróżnienia od innych języków programowania. Kod w języku C# różniłby się znacząco, gdyż C# jest częściej używany w kontekście aplikacji desktopowych lub serwerowych, a jego składnia wymagałaby innego podejścia do manipulacji elementami interfejsu użytkownika. PHP, będąc językiem skryptowym działającym po stronie serwera, również nie używa DOM w taki sam sposób jak JavaScript. Jego rola w web development jest bardziej związana z przetwarzaniem danych na serwerze i generowaniem dynamicznych treści przed wysłaniem ich do przeglądarki. Python, znany ze swojej wszechstronności, jest rzadziej używany do bezpośredniej manipulacji DOM w aplikacjach webowych, chociaż istnieją biblioteki umożliwiające takie działania. Typowe błędy w rozróżnianiu tych języków wynikają z niezrozumienia ich specyficznych zastosowań i kontekstów działania. JavaScript jest unikalny ze względu na swoją zdolność do działania bezpośrednio w przeglądarce użytkownika, co pozwala na żywe i dynamiczne zmiany w treści strony bez potrzeby odświeżania. Rozumienie tych różnic jest kluczowe dla skutecznego rozwoju webowego i skutecznego wykorzystania odpowiednich narzędzi w odpowiednich kontekstach.

Pytanie 25

Przy użyciu komendy ALTER TABLE można

A. usunąć dane z rekordu
B. skasować tabelę
C. zmienić dane w rekordach
D. zmodyfikować strukturę tabeli
Kiedy mówimy o poleceniu ALTER TABLE w SQL, to jest to naprawdę ważne narzędzie, które pozwala na zmianę struktury tabeli w bazie danych. Możemy dzięki niemu dodać nowe kolumny, zmienić rodzaj danych w istniejących czy nawet usunąć niepotrzebne kolumny. Na przykład, gdybyśmy chcieli dodać kolumnę 'data_urodzenia' do tabeli 'pracownicy', to musielibyśmy użyć takiego polecenia: ALTER TABLE pracownicy ADD data_urodzenia DATE;. To wszystko jest kluczowe, żeby nasze aplikacje mogły się rozwijać i żeby baza danych spełniała coraz to nowe wymagania. Z mojego doświadczenia wynika, że najlepiej jest zawsze robić kopię zapasową danych przed wprowadzeniem jakichkolwiek zmian. Dobrze by też było testować zmiany w środowisku, które nie jest produkcyjne, zanim coś popsujemy. Warto pamiętać, że niektóre operacje mogą wymagać zablokowania tabeli, co może skutkować tym, że użytkownicy nie będą mogli korzystać z systemu, więc trzeba to mieć na uwadze.

Pytanie 26

Wynikiem działania poniższej pętli for w przedstawionym kodzie PHP jest wyświetlenie liczb:

<?php
   for($i=5;$i>1;$i-=2)
       echo ($i%2)." ";
?>
A. 1 1
B. 1 0
C. 1 0 1
D. 1 0 1 0
Poprawna odpowiedź to 1 1, ponieważ analizując przedstawioną pętlę for, zaczynamy od zmiennej $i, która ma wartość 5. Pętla będzie działać tak długo, jak wartość $i jest większa od 1. W każdym kroku $i jest zmniejszane o 2, co oznacza, że w kolejnych iteracjach przyjmuje wartości 5, 3, a następnie 1. Wartości te są poddawane operacji modulo 2. Operacja modulo zwraca resztę z dzielenia, która dla liczb nieparzystych (5 i 3) wynosi 1 oraz dla liczby parzystej (0) wynosi 0. Zatem, w pierwszej iteracji, $i = 5, 5 % 2 = 1, a w drugiej iteracji, $i = 3, 3 % 2 = 1. Ostatecznie, pętla nie wykonuje się, gdy $i = 1, ponieważ warunek $i > 1 nie jest już spełniony. W rezultacie, poprawnym wynikiem działania tego fragmentu kodu jest wyświetlenie dwóch wartości 1. Przykład zastosowania takiej konstrukcji można znaleźć w sytuacjach, w których chcemy przetworzyć kolekcję liczb i wyodrębnić ich parzystość lub nieparzystość, co jest powszechną operacją w programowaniu.

Pytanie 27

Podano fragment kodu PHP, w którym znajduje się zadeklarowana zmienna typu tablica. Jakie imię zostanie wyświetlone po wykonaniu tego kodu?

Ilustracja do pytania
A. Tomasz
B. Anna
C. Krzysztof
D. Aleksandra
W zadanym pytaniu istotne jest zrozumienie indeksowania tablic w PHP które jest językiem o indeksowaniu zerowym. Oznacza to że pierwszy element tablicy ma indeks 0 drugi ma indeks 1 i tak dalej. Częstym błędem jest intuicyjne przypisywanie pierwszemu elementowi indeksu 1 co prowadzi do niepoprawnych wyników. W przypadku omawianego kodu tablica zawiera elementy: 'Anna' 'Tomasz' 'Krzysztof' i 'Aleksandra'. Aby uzyskać dostęp do trzeciego elementu należy użyć indeksu 2 a nie 3. Element o indeksie 2 w tej tablicy to 'Krzysztof' co jest poprawną odpowiedzią. Pomyłki w indeksowaniu mogą prowadzić do trudnych do zdiagnozowania błędów w programach takich jak 'undefined offset' gdy próbujemy uzyskać dostęp do nieistniejącego indeksu. Dlatego ważne jest aby zawsze weryfikować zakres i poprawność używanych indeksów zwłaszcza w skomplikowanych strukturach danych. Dodatkowo warto zaznaczyć że w niektórych językach programowania takie jak Python indeksowanie również jest zerowe co pozwala na łatwiejsze przejście pomiędzy różnymi językami programowania bez zmiany mentalnego modelu działania tablic.

Pytanie 28

Jak nazywa się proces przedstawienia, w formie właściwej dla danego środowiska, informacji zawartych w dokumencie elektronicznym?

A. mapowanie
B. teksturowanie
C. renderowanie
D. rasteryzacja
Renderowanie to proces przekształcenia opisu dokumentu (np. kodu HTML i CSS, modelu 3D czy pliku) w gotową, widoczną postać odpowiednią dla danego środowiska. W przeglądarce silnik renderujący zamienia znaczniki i style w faktyczny obraz strony, układając tekst, kolory i elementy. W grafice 3D renderowanie generuje obraz sceny na podstawie modeli, świateł i materiałów. Dlatego proces przedstawienia informacji z dokumentu we właściwej formie to renderowanie.

Pytanie 29

Wypisanie tekstu w języku JavaScript nie jest możliwe przy użyciu

A. funkcji MessageBox()
B. metody window.alert()
C. własności innerHTML
D. metody document.write()
W kontekście JavaScriptu w przeglądarce kluczowe jest rozumienie, jakie dokładnie narzędzia udostępnia środowisko uruchomieniowe, a jakie pochodzą z innych technologii czy języków. Częsty błąd polega na mieszaniu pojęć z różnych platform: ktoś programował kiedyś w C#, Delphi czy nawet w jakimś starszym systemie okienkowym i automatycznie zakłada, że funkcja MessageBox() będzie także dostępna w JavaScripcie. Tymczasem standardowe API przeglądarki definiuje inne mechanizmy do wyświetlania komunikatów.

Właściwość innerHTML jest elementem DOM i absolutnie można za jej pomocą „wypisać” tekst na stronie. W praktyce sprowadza się to do modyfikacji zawartości konkretnego elementu HTML. Jeśli pobierzemy np. paragraf przez document.getElementById i ustawimy jego innerHTML na jakiś tekst, to użytkownik od razu zobaczy tę zmianę. Część osób myśli, że to coś „bardziej zaawansowanego” i nie traktuje tego jako zwykłego wypisywania, ale w realnych projektach właśnie tak się pokazuje dane: wyniki obliczeń, komunikaty, odpowiedzi z serwera itp.

Metoda window.alert() jest prostym, ale w pełni poprawnym sposobem wyświetlania tekstu. Nie umieszcza treści w strukturze HTML, tylko pokazuje systemowe okienko dialogowe. Nadal jednak jest to forma prezentacji tekstu użytkownikowi, więc jak najbardziej spełnia definicję „wypisania tekstu” w kontekście zadania. Błędne przekonanie, że „prawdziwe” wypisywanie to tylko coś, co pojawia się w treści strony, jest po prostu zbyt wąskim podejściem.

Document.write() z kolei jest mechanizmem historycznym, ale technicznie pozwala wstrzyknąć tekst do dokumentu podczas jego ładowania. W wielu nowych materiałach odradza się jego używanie, ponieważ utrudnia utrzymanie kodu i może nadpisać zawartość strony po załadowaniu, jednak to nie zmienia faktu, że tekst jest nim realnie wypisywany. Mylenie „złej praktyki” z „brakiem możliwości” to kolejny typowy błąd.

Funkcja MessageBox() nie jest częścią standardowego API JavaScriptu w przeglądarce. Jeżeli nie zdefiniujemy jej sami w kodzie, interpreter zgłosi błąd. Właśnie dlatego to ona jest jedynym poprawnym wyborem jako mechanizm, którego nie da się użyć do wypisania tekstu w typowym środowisku webowym. Dobrą praktyką jest zawsze sprawdzanie dokumentacji konkretnego języka i platformy, a nie opieranie się na intuicji wyniesionej z innych technologii.

Pytanie 30

Tworzenie struktury logicznej strony internetowej polega na

A. stworzonym zestawie grafik dla strony
B. umiejscowieniu elementów w wyznaczonych lokalizacjach witryny
C. określeniu adresów URL dla podstron serwisu
D. określeniu zawartości witryny
Wiesz, wiele osób myli projektowanie witryny z robieniem grafik czy pisaniem treści. Całkiem to zrozumiałe, bo jest sporo różnych rzeczy związanych z tworzeniem stron. Jasne, grafiki są istotne, ale to nie wszystko, na czym się skupiamy, bo sama estetyka nie wystarczy, żeby strona była funkcjonalna. No i ustalanie adresów URL dla podstron też jest ważne, ale bardziej dotyczy struktury strony niż samego układu. Definiowanie treści to jedno, ale najważniejsze jest to, jak je prezentujemy. Często ludzie myślą, że układ i treść to to samo, a w rzeczywistości układ to to, jak treści są ułożone i jakie działania ułatwiają. Żeby dobrze zaprojektować stronę, trzeba spojrzeć na całość i zrozumieć, jakie funkcje ma spełniać, nie tylko skupiać się na pojedynczych grafikach czy tekstach. W moim odczuciu kluczowe jest, żeby myśleć o interakcji użytkownika z witryną - to wymaga umiejętności projektowania i analizy, by stworzyć efektywny interfejs.

Pytanie 31

Hermetyzacja to zasada programowania obiektowego, która mówi, że:

A. pola i metody używane tylko wewnątrz klasy ogranicza się zasięgiem private lub protected
B. typy pól mogą zmieniać się dynamicznie w zależności od danych
C. klasy i obiekty mogą współdzielić funkcjonalność
D. klasy mogą mieć metody wirtualne implementowane w klasach pochodnych
Hermetyzacja (enkapsulacja) to zasada programowania obiektowego polegająca na ukrywaniu wewnętrznych szczegółów obiektu: pola i metody przeznaczone tylko do użytku wewnątrz klasy oznacza się modyfikatorami private lub protected, a na zewnątrz udostępnia jedynie potrzebny interfejs (public). Dostęp do ukrytych pól odbywa się przez metody (np. gettery i settery), co pozwala kontrolować poprawność danych. Dzięki temu zmiana wnętrza klasy nie psuje kodu, który z niej korzysta. Dlatego hermetyzacja oznacza ograniczanie zasięgu pól i metod do private/protected.

Pytanie 32

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Dika, Fuks.
B. Anna Kowalska, Jan Nowak.
C. Fafik, Brutus, Dika, Fuks.
D. Figaro, Dika, Fuks.
Gratulacje! Twoja odpowiedź była poprawna. Wybrałeś 'Dika, Fuks.', co jest prawidłowym wynikiem dla podanego zapytania SQL. Zapytanie przeszukuje bazę danych zwierząt z podziałem na pewne kryteria - w tym przypadku są to zwierzęta o rodzaju, który odpowiada 2 oraz które były szczepione w 2016 roku. Wśród wszystkich rekordów w tabeli tylko 'Dika' i 'Fuks' spełniają te kryteria, dlatego tylko one są wyświetlane. To pokazuje, jak potężne i elastyczne mogą być zapytania SQL - możemy przeszukiwać ogromne ilości danych, stosując różne warunki, aby otrzymać dokładnie to, czego szukamy. Zrozumienie i umiejętne wykorzystanie takich zapytań jest kluczowe w pracy z bazami danych. Pamiętaj, że SQL pozwala nie tylko na pobieranie danych, ale również na ich modyfikację, usuwanie oraz dodawanie nowych rekordów do bazy. Spróbuj teraz zastosować swoją wiedzę w praktycznych zadaniach!

Pytanie 33

Jak nazywa się metoda-konstruktor (wywoływana przy tworzeniu obiektu) w PHP?

A.
__new
B.
__create
C.
__open
D.
__construct
Konstruktor w PHP ma jedną, ustaloną nazwę. __new, __open i __create to metody nieistniejące. Metodą wywoływaną przy tworzeniu obiektu jest __construct.

Pytanie 34

Czym autoryzuje się załatwianie spraw urzędowych przez internet?

A. numerem NIP
B. profilem zaufanym
C. serią i numerem dowodu osobistego
D. imieniem i nazwiskiem
Sprawy urzędowe przez internet (np. na platformie ePUAP, mObywatel) autoryzuje się PROFILEM ZAUFANYM - bezpłatnym, potwierdzonym narzędziem tożsamości, które pełni rolę „podpisu” online. Dzięki niemu urząd ma pewność, kto składa wniosek. Zapamiętaj: profil zaufany = elektroniczne potwierdzenie tożsamości w e-administracji.

Pytanie 35

Który z akapitów został zapisany w wskazanym stylu, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 3
B. Efekt 4
C. Efekt 2
D. Efekt 1
W analizowanym pytaniu trzy efekty nie spełniają wszystkich warunków zdefiniowanych w stylu CSS dla paragrafu. Pierwszy efekt pokazuje tekst z niebieskim tłem który nie jest zgodny z zadanym stylem ponieważ kolor tła nie został określony w stylizacji. Zastosowanie niebieskiego tła często wynika z chęci wizualnego wyróżnienia elementu ale w tym przypadku styl określa jedynie kolor tekstu na niebieski a nie tła. Drugi efekt charakteryzuje się użyciem kursywy co również nie jest zgodne z deklaracją stylu CSS. Stylizacja paragrafu nie zawiera property font-style co oznacza że tekst powinien być w domyślnej formie czyli zwykły a nie kursywa. Trzeci i czwarty efekt mają niezgodne kolory tekstu i inne elementy które nie pasują do zadanego stylu. Typowym błędem w interpretacji stylów CSS jest niedokładne odczytanie wszystkich zdefiniowanych parametrów co prowadzi do błędnych założeń ostatecznego wyglądu elementu. Poprawne zrozumienie stylów wymaga zwrócenia uwagi na wszystkie atrybuty nawet jeśli nie są one wyraźnie widoczne na pierwszy rzut oka. W związku z tym kluczowe jest dokładne zapoznanie się z każdą definicją w stylu aby prawidłowo dopasować wygląd do specyfikacji.

Pytanie 36

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
B. po kliknięciu myszą w celu wprowadzenia tekstu
C. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
D. w każdej sytuacji
Pozostałe odpowiedzi opierają się na błędnym zrozumieniu zastosowania pseudoklas w języku CSS. Pseudoklasa :first-of-type, która mogłaby sugerować pierwsze wystąpienie znacznika w dokumencie, nie odnosi się do stanu aktywności pola edycyjnego. Stylizowanie pierwszego wystąpienia nie ma związku z interakcją użytkownika, a jedynie z pozycją elementu w strukturze dokumentu HTML. Kolejny błąd pojawia się przy założeniu, że zmiana koloru tła nastąpi gdy element zostanie wskazany kursorem myszy. W CSS taka interakcja jest obsługiwana przez pseudoklasę :hover, która stosuje się do elementów, nad którymi znajduje się wskaźnik myszy, ale nie obejmuje stanu aktywnego fokusu potrzebnego do edycji. Ostatnia błędna koncepcja dotyczy twierdzenia, że styl jest stosowany w każdym przypadku. To stwierdzenie ignoruje specyfikę selektorów CSS, które wymagają określonych warunków - w tym przypadku aktywnego fokusu elementu. Zrozumienie różnic między pseudoklasami :focus i :hover oraz znajomość ich zastosowań w projektowaniu interaktywnych interfejsów webowych jest kluczowe dla skutecznego stosowania CSS w praktyce. Poprawna wiedza na temat specyficznych zastosowań tych pseudoklas wpływa na jakość doświadczenia użytkownika i integrację funkcjonalności z estetyką projektu.

Pytanie 37

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

A. Zwraca długość napisu zawartego w zmiennej n
B. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
C. Przypisuje wartość zmiennej n do zmiennej s
D. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
Odpowiedzi, które błędnie interpretują fragment kodu, wskazują na nieporozumienie dotyczące działania właściwości length oraz przypisania wartości w JavaScript. Przypisanie zmiennej n do zmiennej s nie jest możliwe w kontekście omawianego fragmentu, ponieważ zmienna s nie przyjmuje obiektu, a wyłącznie wartość długości napisu. Stwierdzenie, że skrypt wyświetli długość napisu, jest również nieprawidłowe, ponieważ w danym kodzie nie ma operacji wyświetlania - zmienne są jedynie przypisane. Kolejnym błędnym wnioskiem jest przypisanie fragmentu napisu do zmiennej s, co nie ma miejsca, ponieważ length zwraca tylko liczbę, a nie podłańcuch. Podstawowym błędem myślowym jest pomylenie przypisania wartości z operacjami wyświetlania i manipulacji łańcuchami. Warto zrozumieć, że JavaScript, jako język o dynamicznej typizacji, wymaga precyzyjnego rozumienia typów danych, a także właściwości i metod obiektów, co jest kluczowe dla efektywnego programowania. Niezrozumienie tych podstawowych konceptów może prowadzić do wielu błędów w kodzie, które są trudne do zdiagnozowania, a także mogą wpływać na wydajność i stabilność aplikacji.

Pytanie 38

Jakie informacje przechowuje w PHP zmienna $_SERVER?

A. dane dotyczące sesji
B. m.in. adres IP serwera i nazwę protokołu
C. dane z formularza przetwarzanego na serwerze
D. nazwy ciasteczek i powiązane dane
Pozostałe opisy dotyczą innych superglobalnych. Dane z formularza trzyma $_POST/$_GET, dane sesji - $_SESSION, a ciasteczka - $_COOKIE. Informacje o serwerze i żądaniu zawiera $_SERVER.

Pytanie 39

Język JavaScript wspiera

A. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
B. abstrakcyjne klasy
C. obiekty DOM
D. funkcje wirtualne
Wybór jednej z pozostałych opcji może wynikać z nieporozumienia dotyczącego podstawowych koncepcji programowania w JavaScript. Funkcje wirtualne, które są bardziej charakterystyczne dla języków programowania obiektowego, takich jak C++ czy Java, nie mają zastosowania w JavaScript, który nie wspiera klasycznej hierarchii klas w taki sposób, jak te języki. W JavaScript funkcje są obiektami, a prototypowe dziedziczenie jest kluczowym mechanizmem, co często prowadzi do mylnej interpretacji koncepcji klas abstrakcyjnych. JavaScript nie definiuje klas abstrakcyjnych w tradycyjnym sensie, chociaż od ES6 wprowadzono wsparcie dla klas. Co więcej, idea wysyłania ciastek z tą samą informacją do wielu klientów nie jest bezpośrednio związana z językiem JavaScript, lecz z mechanizmami serwerowymi oraz strukturyzowaniem danych w aplikacjach webowych. Często popełniane błędy myślowe dotyczą zrozumienia ról różnych technologii webowych i ich interakcji. JavaScript działa głównie po stronie klienta, a jego integracja z serwerami odbywa się zazwyczaj za pomocą protokołu HTTP, w którym ciasteczka są jednym z wielu elementów zarządzania stanem użytkownika. Zrozumienie roli DOM w kontekście JavaScript jest kluczowe do tworzenia efektywnych i interaktywnych aplikacji, co podkreśla znaczenie tej koncepcji w codziennym programowaniu.

Pytanie 40

W języku JavaScript zapisano funkcję. Co ona ma za zadanie?

function fun1(f) {
    if (f < 0) f = f * (-1);
    return f;
}
A. wypisać wartość odwrotną do f
B. zwrócić wartość odwrotną do f
C. zwrócić wartość bezwzględną z f
D. wypisać wartość bezwzględną z f
Niepoprawna odpowiedź wskazuje, że funkcja ma za zadanie zwrócić wartość odwrotną do f, lub wypisać wartość bezwzględną z f, lub wypisać wartość odwrotną do f. Te wszystkie odpowiedzi są błędne. Wartość odwrotna do f to 1/f, a nie wartość bezwzględna z f. Wypisanie wartości to inny rodzaj operacji niż jej zwrócenie. Funkcje wypisują wartość, kiedy używamy instrukcji console.log() w JavaScript. Zwrócenie wartości oznacza, że funkcja po zakończeniu swojego działania przekazuje tę wartość do miejsca, skąd została wywołana. Zwracanie wartości jest podstawą działania większości funkcji, które następnie używane są do budowy bardziej skomplikowanych algorytmów. Dlatego też ważne jest, aby dobrze rozumieć, jakie wartości są zwracane przez różne typy funkcji.