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: 10 czerwca 2026 12:13
  • Data zakończenia: 10 czerwca 2026 12:42

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

Wymagane minimum: 20 punktów (50%)

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

Język JavaScript wspiera

A. obiekty DOM
B. funkcje wirtualne
C. abstrakcyjne klasy
D. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
Obiekty DOM (Document Object Model) są fundamentalnym aspektem języka JavaScript, umożliwiającym interakcję z dokumentami HTML i XML. Dzięki DOM, programiści mogą dynamicznie manipulować strukturą dokumentu, co pozwala na tworzenie interaktywnych aplikacji webowych. Na przykład, za pomocą JavaScript można zmieniać tekst w elementach HTML, dodawać lub usuwać elementy, a także reagować na zdarzenia użytkownika, takie jak kliknięcia czy ruchy myszy. Przykładowy kod: document.getElementById('example').innerHTML = 'Nowa zawartość'; ilustruje, jak można zmienić zawartość elementu z identyfikatorem 'example'. Zrozumienie i umiejętność pracy z DOM jest kluczowe w nowoczesnym tworzeniu stron internetowych oraz aplikacji w JavaScript, co wpisuje się w najlepsze praktyki rozwoju oprogramowania, takie jak separacja logiki od prezentacji i programowanie obiektowe.

Pytanie 2

W jaki sposób, stosując język PHP można usunąć ciasteczko o nazwie ciastko?

A. unsetcookie(""$ciastko"");
B. deletecookie(""ciastko"");
C. setcookie(""$ciastko"", """", 0);
D. setcookie(""ciastko"", """", time()-3600);
Wiele z błędnych odpowiedzi opiera się na niepoprawnych założeniach dotyczących metod usuwania ciasteczek w PHP. Przykładowo, użycie deletecookie("ciastko") jest nieprawidłowe, ponieważ w standardowej bibliotece PHP nie istnieje funkcja o takiej nazwie. PHP nie dostarcza wbudowanej funkcji do bezpośredniego usuwania ciasteczek; zamiast tego należy użyć setcookie, aby ustawić ciasteczko z przestarzałym czasem ważności. Podobnie, użycie unsetcookie("$ciastko") jest błędne, ponieważ nie ma takiej funkcji w PHP. Użytkowanie funkcji unset dotyczy zmiennych, a nie ciasteczek, co może prowadzić do konfuzji. W praktyce, aby usunąć ciasteczko, musisz wyraźnie określić jego nazwę z użyciem setcookie, a także wartość oraz czas wygaśnięcia. Ostatecznie, niewłaściwe podejścia do usuwania ciasteczek mogą prowadzić do problemów z bezpieczeństwem, na przykład w sytuacjach, gdy aplikacja niepoprawnie zarządza sesjami użytkowników, co naraża dane na nieautoryzowany dostęp. Aby skutecznie zarządzać ciasteczkami, ważne jest zrozumienie ich mechanizmów oraz stosowanie zgodnych z normami metod ich usuwania.

Pytanie 3

W języku JavaScript funkcja getElementById() odnosi się do

A. klasy zdefiniowanej w CSS
B. elementu HTML o określonym id
C. zmiennej liczbowej
D. elementu HTML o wskazanej nazwie klasy
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.

Pytanie 4

Jakie polecenie wydane w terminalu systemu operacyjnego, które zawiera w swojej składni opcję --repair, pozwala na naprawę bazy danych?

A. create
B. mysqldump
C. mysqlcheck
D. truncate
Truncate to polecenie, które służy do szybkiego usuwania wszystkich wierszy z tabeli, a nie do naprawy bazy danych. Często mylone jest z usuwaniem danych, jednak nie wykonuje ono operacji naprawczych ani nie zdejmuje blokad związanych z integralnością danych. Mysqldump to z kolei narzędzie do tworzenia kopii zapasowych baz danych, które eksportuje dane do postaci pliku, ale również nie ma możliwości naprawy istniejących błędów w danych czy strukturze tabel. Create to komenda używana do tworzenia nowych tabel lub baz danych, jednak nie ma zastosowania w kontekście naprawy już istniejących obiektów. Typowym błędem myślowym jest przypisywanie funkcji, które są dedykowane do zarządzania danymi, do operacji naprawczych, co może prowadzić do utraty danych lub niewłaściwego postępowania z bazą. Kluczowym aspektem w zarządzaniu bazami danych jest znajomość właściwych narzędzi i ich zastosowań, co pozwala na skuteczne i bezpieczne zarządzanie danymi. Użycie niewłaściwych poleceń w kontekście zarządzania bazami danych może prowadzić do problemów z dostępnością, a nawet do uszkodzenia danych, dlatego istotne jest, aby dobrze rozumieć funkcje narzędzi, które się wykorzystuje.

Pytanie 5

document.getElementById("napis").innerHTML = Date); // Aby poprawnie skomentować podaną linijkę kodu w języku JavaScript, należy dodać komentarz po znakach //

A. wyświetlenie ciągu "Date()" w znaczniku o id = napis
B. niepoprawne informacje
C. zmiana właściwości atrybutu innerHTML
D. wyświetlenie daty oraz czasu w znaczniku o id = napis
W przedstawionej linii kodu JavaScript, 'document.getElementById("napis").innerHTML = Date;', mamy do czynienia z modyfikacją zawartości elementu HTML o identyfikatorze 'napis'. Funkcja 'getElementById' pozwala na selekcję elementu DOM, a atrybut 'innerHTML' umożliwia przypisanie nowej wartości, która będzie wyświetlana w tym elemencie. Wartością, która zostanie przypisana, jest 'Date', a nie 'Date()'. Przy użyciu 'Date' bez nawiasów, odnosi się do obiektu funkcji, a nie do wyniku wykonania tej funkcji, który zwraca aktualną datę i czas. W poprawnej wersji kodu powinno być 'document.getElementById("napis").innerHTML = new Date();', co spowoduje wyświetlenie bieżącej daty i godziny w elemencie o id 'napis'. Takie podejście jest zgodne z aktualnymi standardami ECMAScript, a także jest często wykorzystywane w aplikacjach webowych do dynamicznej aktualizacji treści na stronach internetowych, co zwiększa ich interaktywność i użytkowalność. Dla lepszego zrozumienia, praktycznym przykładem może być użycie tego kodu w aplikacji, która pokazuje czas rzeczywisty na stronie, co jest popularne w wielu projektach webowych.

Pytanie 6

Na podstawie tabeli Towar wykonano następujące zapytanie SQL. Jaki będzie wynik tej operacji?

 SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC;
IDnazwa_towarucena_katalogowawagakolor
1Papier ksero A4112.3biel
2Zeszyt A54.20.13wielokolorowy
3Zeszyt A5 w linie3.50.12niebieski
4Kredki 24 kolory90.3wielokolorowy
5Plecak szkolny65.51.3zielony
A. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
C. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
D. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
Twoja odpowiedź jest niepoprawna. Wydaje się, że nie zrozumiałeś, jak działa zapytanie SQL w kontekście selekcji i sortowania danych. Zapytanie to zwracałoby nazwy towarów, które spełniają warunek ceny katalogowej mniejszej niż 65. Następnie sortuje te towary od najcięższego do najlżejszego. W przypadku podanej tabeli towary, które spełniają te warunki to: Papier ksero A4 (waga 2.3), Kredki 24 kolory (waga 0.3), Zeszyt A5 (waga 0.13) i Zeszyt A5 w linie (waga 0.12). Błędne odpowiedzi sugerują, że nie zrozumiałeś, w jaki sposób zapytanie SQL sortuje wyniki na podstawie wagi. Istotne jest zrozumienie, że SQL pozwala na filtrowanie danych za pomocą różnych operatorów, takich jak 'mniejszy od', a następnie sortowanie tych wyników za pomocą różnych kryteriów. W tym przypadku sortowanie odbywa się od najcięższego do najlżejszego towaru. Upewnij się, że rozumiesz te koncepcje, ponieważ są one kluczowe w pracy z bazami danych.

Pytanie 7

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. &lt;hr&gt;
B. &lt;/ hr&gt;
C. &lt;/ hr /&gt;
D. &lt;/hr?&gt;
Wszystkie inne odpowiedzi dotyczące znacznika <hr> są błędne, i to z kilku powodów. Po pierwsze, odpowiedź &lt;/ hr&gt; sugeruje, że <hr> potrzebuje zamknięcia, co nie jest zgodne z zasadami HTML5. Znaczniki samodzielne, jak <hr>, nie mają zamykających wersji, bo to właśnie ich urok. Następnie, &lt;/hr?&gt; ma ten dziwny znak zapytania, co sprawia, że trudno to rozczytać. Tego typu znaki nie mogą być w nazwach znaczników, więc przeglądarki się w tym gubią. I jeszcze inna odpowiedź, &lt;/ hr /&gt;, wraca do starych wersji HTML, gdzie można było takie rzeczy robić, ale teraz to nie ma sensu. Niepoprawne znaczniki mogą sprawić, że strona będzie działać dziwnie, a to nie jest fajne dla użytkowników. Lepiej trzymać się aktualnych zasad, żeby wszystko działało jak należy.

Pytanie 8

W systemie baz danych sklepu znajdują się dwie tabele połączone relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, opisaną poprzez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID wynoszącym 10, należy wykorzystać zapytanie

A. MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
C. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
D. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
Odpowiedź 'SELECT MAX(ocena) FROM oceny WHERE produktID = 10;' jest poprawna, ponieważ wykorzystuje funkcję agregującą MAX, która zwraca największą wartość w danej kolumnie. W kontekście tego zapytania, funkcja MAX jest stosowana do kolumny 'ocena' w tabeli 'oceny', a dodatkowy warunek 'WHERE produktID = 10' ogranicza wyniki do tylko tych ocen, które są związane z produktem o ID równym 10. To podejście jest zgodne z najlepszymi praktykami SQL, które zalecają korzystanie z funkcji agregujących dla wydobywania statystyk z danych. W praktyce, takie zapytania są niezwykle ważne w analizie danych, na przykład do oceny jakości produktów, co może wpłynąć na decyzje biznesowe. Dzięki umiejętności konstruowania takich zapytań, analitycy mogą w łatwy sposób uzyskać kluczowe informacje niezbędne do strategii marketingowych oraz poprawy jakości obsługi klienta.

Pytanie 9

W zamieszczonym kodzie PHP, zamiast znaków zapytania powinien być wyświetlony komunikat:

$x = mysql_query('SELECT * FROM mieszkancy');
if (!$x)
    echo '??????????????????????';
A. Niepoprawna nazwa bazy danych
B. Niepoprawne hasło do bazy danych
C. Zapytanie zostało poprawnie przetworzone
D. Błąd w trakcie przetwarzania zapytania
W przedstawionym kodzie PHP, komunikat "??????????????????????" powinien wskazywać na błąd przetwarzania zapytania SQL. Kiedy wynik funkcji mysql_query() jest równy fałszowi (false), oznacza to, że zapytanie nie mogło zostać poprawnie wykonane. Może to być spowodowane różnymi czynnikami, takimi jak błędy w składni zapytania, problemy z połączeniem z bazą danych, lub nieprawidłowe tabele. W tym przypadku, dobrym podejściem jest użycie funkcji mysql_error() w celu uzyskania bardziej szczegółowych informacji na temat natury błędu. Przykład poprawnego kodu mógłby wyglądać tak: <p>$x = mysql_query('SELECT * FROM mieszkancy');<br>If (!$x) {<br>echo mysql_error();<br>}</p> Używanie tej metody pomaga w diagnostyce problemu i pozwala na szybsze jego rozwiązanie. Znalezienie i naprawienie błędów w zapytaniach SQL jest kluczowe w pracy z bazami danych, szczególnie w kontekście aplikacji internetowych, które muszą być niezawodne i efektywne.

Pytanie 10

W języku SOL komenda INSERT INTO

A. tworzy tabelę
B. wprowadza dane do tabeli
C. wprowadza pola do tabeli
D. modyfikuje rekordy ustaloną wartością
Polecenie INSERT INTO w języku SQL (Structured Query Language) jest kluczowym komponentem do wprowadzania danych do tabeli w bazie danych. Używając tego polecenia, użytkownicy mogą dodać nowe rekordy, co jest podstawowym zadaniem w zarządzaniu informacjami w systemach zarządzania bazą danych (DBMS). Przykładowo, jeśli mamy tabelę 'Użytkownicy', możemy dodać nowego użytkownika za pomocą: INSERT INTO Użytkownicy (Imię, Nazwisko) VALUES ('Jan', 'Kowalski'). Warto zauważyć, że wprowadzanie danych powinno być zgodne z definicją tabeli, co oznacza, że typy danych w wartości muszą odpowiadać typom zdefiniowanym w tabeli. Dobrą praktyką jest również walidacja danych przed ich wprowadzeniem, aby zapewnić spójność i integralność danych. W przypadku pracy z dużymi zbiorami danych, warto rozważyć użycie transakcji, aby zapewnić, że operacje wprowadzania są atomowe i nie wprowadzą niezgodności w bazie danych, co jest zgodne ze standardami ACID (Atomicity, Consistency, Isolation, Durability).

Pytanie 11

Aby w PHP uzyskać dostęp do danych formularza przesyłanych w sposób bezpieczny, należy użyć tablicy

A. $_FILES
B. $_SERVER
C. $_POST
D. $_SESSION
W języku PHP tablica $_POST jest kluczowym narzędziem do obsługi danych przesyłanych za pomocą metody POST, która jest jedną z najczęściej stosowanych metod przesyłania formularzy w aplikacjach webowych. Odpowiedź ta jest prawidłowa, ponieważ $_POST umożliwia dostęp do danych wprowadzonych przez użytkownika w formularzu, które są wysyłane na serwer. Metoda POST jest bezpieczniejsza od metody GET, ponieważ nie ujawnia danych w URL, co jest istotne w kontekście prywatności i bezpieczeństwa. Przykłady zastosowania obejmują formularze logowania, gdzie dane użytkownika, takie jak hasło, są przesyłane do serwera. Stosując $_POST, programista może w łatwy sposób przetwarzać te dane, walidować je, a następnie zapisać w bazie danych lub wykonać inne operacje. W dobrych praktykach programistycznych zaleca się również stosowanie odpowiednich zabezpieczeń, takich jak filtrowanie i walidacja danych, aby uniknąć ataków typu SQL Injection czy XSS. Użycie $_POST jest kluczowe w tworzeniu nowoczesnych i bezpiecznych aplikacji internetowych.

Pytanie 12

Zgodnie z zasadami ACID, które odnoszą się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, że

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od wydarzeń, które nastąpią po jej zakończeniu
B. transakcja może w pewnych okolicznościach być podzielona na dwa niezależne etapy
C. w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
D. w trakcie wykonywania transakcji dane mogą być zmieniane przez inne transakcje
Wybranie odpowiedzi, że w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi, nie jest zbyt mądre. Usuwanie tabel mogłoby naprawdę zaszkodzić strukturze danych i doprowadzić do poważnych problemów. Spójność baz danych to jeden z elementów ACID, ale to nie znaczy, że w razie kłopotów można po prostu rzucać się na tabele. W kontekście trwałości (durability) warto unikać działań, które mogą skutkować utratą danych. Zauważyłem też, że druga opcja sugeruje, że dane mogą być zmieniane przez inne transakcje w trakcie trwania jednej. To jest naruszenie zasady izolacji, która mówi, że każda transakcja powinna działać niezależnie. Zmiany równocześnie mogą prowadzić do chaosu, a zasady ACID starają się temu zapobiegać. Co do podziału transakcji na dwa etapy, to też jest niezgodne z zasadami ACID, zwłaszcza w kontekście trwałości i izolacji. Takie coś może tylko skomplikować sprawę i doprowadzić do niespójności. Dlatego, żeby dobrze zarządzać transakcjami w bazach danych, trzeba naprawdę zrozumieć zasady ACID i wdrażać strategie, które pomogą unikać błędów i zapewnić porządek.

Pytanie 13

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. trzy bloki operacyjne (procesy).
B. jeden blok decyzyjny.
C. dwie pętle.
D. jedną pętlę.
W przedstawionym fragmencie algorytmu zastosowano jedną pętlę co jest zgodne z poprawną odpowiedzią. Pętla to konstrukcja programistyczna pozwalająca wielokrotnie wykonywać fragment kodu dopóki spełniony jest określony warunek. W analizowanym schemacie widzimy jednokrotną pętlę oznaczoną powrotem do wcześniejszego punktu co jest charakterystyczne dla takich struktur. Najczęściej używane pętle to for while i do-while różniące się sposobem sprawdzania warunku początkowego. Pętle są fundamentalne w algorytmice i pozwalają na realizację złożonych operacji takich jak iteracja po tablicach czy przetwarzanie danych wejściowych. Ich zastosowanie zwiększa efektywność kodu i upraszcza jego strukturę. Dobrą praktyką jest dbanie o czytelność pętli i unikanie skomplikowanych zależności co poprawia zrozumienie kodu przez innych programistów. Warto również pamiętać o zasadach optymalizacji np. minimalizowanie liczby iteracji co przekłada się na lepszą wydajność.

Pytanie 14

Semantyczny znacznik sekcji języka HTML 5 przeznaczony do umieszczenia stopki strony WWW to

A. <footer>
B. <header>
C. <figcaption>
D. <aside> 
Poprawna odpowiedź to <footer>, bo właśnie ten znacznik w HTML5 jest semantycznie przeznaczony na stopkę strony lub stopkę sekcji. W specyfikacji HTML5 wyraźnie podkreślono, że <footer> służy do umieszczania informacji końcowych: praw autorskich (copyright), linków do polityki prywatności, kontaktu, autorów, krótkich podsumowań czy nawigacji pomocniczej. Moim zdaniem warto traktować <footer> jak miejsce na „meta‑informacje” o stronie albo o danej części dokumentu. Co ważne, <footer> nie musi występować tylko raz – możesz mieć stopkę całej strony w obrębie <body>, ale też osobne stopki np. dla artykułu (<article>) czy sekcji (<section>). To jest dobra praktyka, bo poprawia strukturę dokumentu i czytelność kodu. W praktyce wygląda to np. tak: <footer><p>© 2026 Firma XYZ</p><nav><a href="/regulamin">Regulamin</a> | <a href="/kontakt">Kontakt</a></nav></footer>. Czytniki ekranowe i roboty wyszukiwarek lepiej rozumieją wtedy, że ta część strony to zakończenie i informacje dodatkowe. To się przekłada na lepszą dostępność (WCAG) i trochę sensowniejsze SEO. Z mojego doświadczenia warto pilnować, żeby nie wrzucać do <footer> całej reszty layoutu, tylko właśnie elementy typowo „stopkowe”. Dobrą praktyką jest też trzymanie się spójnej struktury na wszystkich podstronach, żeby użytkownik intuicyjnie wiedział, że w stopce znajdzie np. link do pliku RODO albo dane firmy. HTML5 mocno stawia na semantykę, więc używanie <footer> zamiast jakiegoś bezsensownego <div id="stopka"> to po prostu nowocześniejsze i zgodne ze standardami podejście.

Pytanie 15

Która funkcja PHP obsługi bazy danych służy do kodowania polskich znaków?

A. mysqli_query()
B. mysqli_set_charset()
C. mysqli_fetch_assoc()
D. mysqli_connect()
Prawidłowa odpowiedź to mysqli_set_charset(), bo właśnie ta funkcja ustawia zestaw znaków (charset) dla połączenia z bazą danych w rozszerzeniu mysqli. W praktyce oznacza to, że dzięki niej PHP i serwer bazy danych (np. MySQL) „dogadują się”, w jakim kodowaniu mają być przesyłane i zapisywane teksty – w tym polskie znaki typu ą, ę, ł, ś itd. Bez poprawnie ustawionego charsetu bardzo łatwo o krzaczki, znaki zapytania zamiast liter albo problemy z sortowaniem tekstu. Moim zdaniem dobrą praktyką jest zawsze po nawiązaniu połączenia mysqli_connect natychmiast wywołać mysqli_set_charset($conn, 'utf8mb4'). Ten konkretny charset (utf8mb4) jest obecnie standardem de facto: obsługuje pełne Unicode, w tym emotikony, różne alfabety, a przy okazji bez problemu radzi sobie z polskimi znakami. Przykładowy, poprawny fragment kodu może wyglądać tak: $conn = mysqli_connect('localhost', 'user', 'haslo', 'baza'); mysqli_set_charset($conn, 'utf8mb4'); Dzięki temu każda instrukcja mysqli_query, każde pobieranie danych mysqli_fetch_assoc będzie już działać w odpowiednim kodowaniu. Warto pamiętać, że ustawienie charsetu powinno być spójne na wszystkich poziomach: konfiguracja bazy (collation i charset tabel), ustawienia połączenia (właśnie mysqli_set_charset) oraz nagłówki HTTP/HTML (meta charset="utf-8"). Dopiero takie podejście zgodne z dobrymi praktykami branżowymi zmniejsza ryzyko błędów związanych z kodowaniem tekstu, zwłaszcza w większych aplikacjach webowych. Jeśli robi się projekty komercyjne, to ignorowanie tej funkcji bardzo szybko mści się przy migracjach danych czy integracjach z innymi systemami.

Pytanie 16

Który z atrybutów obrazu jest niezbędny w znaczniku

<img src="nowa_lektura.jpg" ...>
aby ułatwić korzystanie ze strony użytkownikom z niepełnosprawnością narządu wzroku?
A. align="middle"
B. "height="42" width="42"
C. alt="technik informatyk"
D. usemap="#lekturamap"
W tym zadaniu chodziło o dostępność stron WWW dla osób z niepełnosprawnością narządu wzroku, czyli o to, jak strona współpracuje z czytnikami ekranu i innymi technologiami asystującymi. Wiele osób intuicyjnie skupia się na wizualnych właściwościach obrazka, takich jak wyrównanie, rozmiar czy mapy odsyłaczy, bo to widać od razu w przeglądarce. Problem w tym, że dla użytkownika niewidomego te wizualne parametry nie mają większego znaczenia – dla niego liczy się opis i funkcja elementu, którą czytnik ekranu potrafi odczytać. Atrybut align="middle" dotyczy tylko sposobu wyrównania obrazu na stronie. Kiedyś był częściej używany w starym HTML, dziś jest w zasadzie przestarzały i zgodnie z dobrymi praktykami powinno się go zastępować stylami CSS. Nie wnosi on żadnej informacji semantycznej, niczego nie opisuje, jedynie zmienia położenie elementu na ekranie. Czytnik ekranu nie zyska z niego żadnej treści, którą mógłby przekazać użytkownikowi. Atrybut usemap="..." służy do powiązania obrazu z tzw. mapą odsyłaczy, czyli zdefiniowanymi obszarami klikanymi na grafice. To jest technicznie ciekawa funkcja, ale znowu – ona nie opisuje, co jest na obrazku ani jaką ten obraz pełni rolę. Bez poprawnego tekstu alternatywnego taka mapa może być wręcz trudniejsza do obsługi dla osoby korzystającej z klawiatury i czytnika, bo ma wiele aktywnych pól, ale brak kontekstu. Rozmiar obrazu, ustawiany przez height="..." i width="...", wpływa tylko na sposób wyświetlania w przeglądarce: ile pikseli ma mieć szerokość i wysokość. Z mojego doświadczenia wielu uczniów myśli, że skoro obraz będzie większy lub mniejszy, to może będzie „czytelniejszy”, a więc jakby bardziej dostępny. Dla osoby, która nie widzi, nie ma to żadnego znaczenia – czytnik ekranu nie odczytuje rozmiarów obrazu jako opisu. Takie myślenie jest typowym błędem: mylimy komfort wizualny użytkownika widzącego z dostępnością dla użytkownika niewidomego. Kluczowe w dostępności jest dostarczenie równoważnej informacji w formie tekstu, a nie tylko ładne ustawienie grafiki. W standardach WCAG i zaleceniach W3C jednoznacznie podkreśla się, że każdy istotny obraz powinien mieć odpowiedni atrybut alt. Pozostałe atrybuty, choć czasem przydatne w projektowaniu layoutu lub nawigacji graficznej, nie zastąpią tekstu alternatywnego. Dlatego, kiedy myślisz o użytkownikach z niepełnosprawnością wzroku, najpierw zadbaj o sensowny alt, a dopiero potem o wyrównanie, rozmiar czy bardziej zaawansowane funkcje grafiki.

Pytanie 17

Jaki znacznik w HTML jest używany do oznaczania fragmentów tekstu jako kodu programistycznego?

A. <blockquote> </blockquote>
B. <span> </span>
C. <code> </code>
D. <em> </em>
<code> to znacznik w HTML, który służy do oznaczania fragmentów tekstu jako kodu komputerowego. Użycie tego znacznika jest zgodne z wytycznymi W3C i stanowi istotny element semantycznej struktury dokumentów HTML. Zastosowanie <code> pozwala na wyróżnienie fragmentów tekstu, takich jak kawałki kodu źródłowego czy polecenia, co jest niezwykle ważne w kontekście programowania oraz dokumentacji technicznej. Przykłady użycia obejmują: <code>console.log('Hello, World!');</code> w JavaScript, co przekłada się na lepszą czytelność i zrozumienie dla programistów. Stosując <code>, przeglądarki często renderują ten tekst w sposób wyróżniający, na przykład z użyciem czcionki monospace, co dodatkowo podkreśla jego znaczenie w kontekście kodowania. Oprócz tego, znacznik <code> ma korzystny wpływ na SEO, ponieważ poprawia semantykę treści, co jest doceniane przez wyszukiwarki. W kontekście standardów W3C, <code> należy do rodziny znaczników, które mają na celu ułatwienie prezentacji i interpretacji treści webowych.

Pytanie 18

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. tr { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. td, th { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 19

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

A. YBScript
B. AJAX
C. PHP
D. XML
XML to format danych, ale sam w sobie nie jest techniką komunikacji. W kontekście webowym, XML może przesyłać dane między serwerem a klientem, ale nie ma tu mowy o asynchroniczności. PHP to język skryptowy używany głównie po stronie serwera, więc nie robi bezpośredniej asynchronicznej komunikacji z klientem. PHP przetwarza żądania, a potem generuje stronę, przez co cała strona przeładowuje się przy każdym żądaniu. YBScript z kolei to w ogóle nie jest standard ani technologia w webie. Często można się pogubić w tych technologiach i ich zastosowaniu. Wiele osób myśli, że XML czy PHP mogą działać jak AJAX, ale to nieprawda. Ważne jest, żeby zrozumieć, że AJAX to narzędzie do asynchronicznej komunikacji, bo to kluczowe przy tworzeniu interaktywnych aplikacji webowych. Z dzisiejszymi standardami webowymi warto znać AJAX, JSON i JavaScript, bo to fundamenty budowy efektywnych aplikacji, które zapewniają użytkownikom płynne i responsywne doświadczenie.

Pytanie 20

W tabeli mieszkańcy zawierającej pola id, imie, nazwisko, ulica, numer, czynsz (wartość całkowita) należy zidentyfikować osoby zamieszkujące ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz jest niższy niż
1000 zł. Jak będzie wyglądać klauzula WHERE w zapytaniu?

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
Odpowiedź jest prawidłowa, ponieważ klauzula WHERE w zapytaniu SQL skutecznie filtruje dane zgodnie z wymaganiami. W tym przypadku, użycie operatora AND w połączeniu z IN i warunkiem < 1000 zapewnia, że zwrócone zostaną jedynie te rekordy, które spełniają wszystkie trzy kryteria: ulica musi być 'Mickiewicza', numer musi być jednym z 71, 72 lub 80, a czynsz musi być mniejszy niż 1000 zł. To jest zgodne z dobrą praktyką w SQL, gdzie łączenie warunków z użyciem operatorów logicznych pozwala na precyzyjne określenie zestawu danych, które nas interesują. Przy tak skonstruowanej klauzuli, zapytanie będzie wydajne i zrozumiałe, co jest kluczowe w pracy z bazami danych. Przykładowe zastosowanie to generowanie raportów dotyczących mieszkańców, co może być istotne dla zarządzania nieruchomościami lub analizy rynku wynajmu. Tego typu zapytania są powszechnie używane w aplikacjach webowych i systemach zarządzania danymi, co podkreśla znaczenie umiejętności formułowania precyzyjnych zapytań SQL.

Pytanie 21

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby dodać do tego tekstu kilka słów sformatowanych innym stylem, należy użyć znacznika

A. <table>
B. <span>
C. <hr>
D. <section>
<span> jest znacznikiem HTML, który służy do stosowania stylów CSS do określonych fragmentów tekstu w obrębie bloków HTML. Umożliwia on formatowanie tekstu w bardziej lokalny sposób, co jest niezwykle przydatne, gdy chcemy wyróżnić niektóre słowa lub frazy w dłuższym akapicie. W odróżnieniu od znaczników takich jak <div>, które są stosowane do większych sekcji, <span> działa na poziomie inline, co oznacza, że nie wprowadza nowego bloku w układzie strony. Przykład użycia tej etykiety może wyglądać następująco: <p>W tym akapicie <span style='color:red;'>ważne słowo</span> jest wyróżnione kolorem czerwonym.</p>. Dzięki temu możemy łatwo zastosować różnorodne style, takie jak zmiana koloru czcionki, czcionki, tła lub nawet dodawanie efektów animacyjnych do konkretnego fragmentu tekstu. Zgodnie z standardami W3C, <span> jest zalecanym sposobem na selektywne formatowanie tekstu, co czyni go niezwykle praktycznym narzędziem w tworzeniu elastycznych i atrakcyjnych wizualnie stron internetowych.

Pytanie 22

Które z poniższych oprogramowań nie jest systemem do zarządzania treścią (CMS)?

A. Apache
B. WordPress
C. Mambo
D. Joomla
Odpowiedź "Apache" jest prawidłowa, ponieważ Apache to serwer HTTP, który jest odpowiedzialny za obsługę i dostarczanie stron internetowych do przeglądarek użytkowników. Nie jest to system zarządzania treścią (CMS), który służy do tworzenia, edytowania i publikowania treści na stronach internetowych. Systemy takie jak Mambo, Joomla i WordPress to platformy CMS, które umożliwiają użytkownikom zarządzanie treściami w sposób intuicyjny i przyjazny dla użytkownika. Na przykład, WordPress, będący jednym z najpopularniejszych CMS-ów, oferuje bogaty ekosystem wtyczek oraz motywów, co pozwala na łatwe dostosowanie witryn do indywidualnych potrzeb. W kontekście branżowych standardów, stosowanie CMS-ów pozwala na skuteczniejsze zarządzanie treściami w witrynach, co jest zgodne z najlepszymi praktykami w zakresie tworzenia i utrzymania stron internetowych.

Pytanie 23

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. arytmetycznych.
B. logicznych.
C. przypisania.
D. bitowych.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 24

Która z poniższych funkcji w języku PHP zmieni słowo „kota” na „mysz” w zdaniu „ala ma kota”?

A. replace("kota", "mysz", "ala ma kota");
B. str_replace("ala ma kota", "kota", "mysz");
C. str_replace( "kota", "mysz", "ala ma kota");
D. replace("ala ma kota", "kota", "mysz");
Funkcja str_replace w języku PHP jest odpowiedzialna za zamianę określonych ciągów znaków w danym tekście. W poprawnej odpowiedzi użyto jej w sposób zgodny z jej syntaksą, co jest kluczowe dla prawidłowego działania w tym kontekście. W przypadku str_replace, pierwszy argument to ciąg znaków, który chcemy zamienić, drugi argument to nowy ciąg, który ma zastąpić stary, a trzeci argument to tekst, w którym dokonujemy zamiany. W przedstawionym przykładzie, zamieniamy słowo 'kota' na 'mysz' w napisie 'ala ma kota', co skutkuje wynikiem 'ala ma mysz'. Tego rodzaju operacje są powszechnie stosowane w programowaniu webowym, szczególnie przy dynamicznym generowaniu treści, gdzie konieczne jest modyfikowanie tekstu na podstawie danych użytkownika lub baz danych. Warto również zwrócić uwagę na to, że stosowanie str_replace zgodnie z dokumentacją PHP jest standardem, który pozwala na uniknięcie wielu błędów związanych z manipulacją tekstem.

Pytanie 25

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. JavaScript
B. PHP
C. Python
D. Perl
JavaScript to język skryptowy, który super nadaje się do interakcji z użytkownikami w przeglądarkach. Właściwie to jedyny język z tej całej paczki, który działa po stronie klienta. To znaczy, że skrypty w JavaScript są interpretowane przez przeglądarkę, a nie przez serwer. Można go używać na przykład do zmieniania treści stron w locie, walidacji formularzy, animacji i różnych interaktywnych elementów. Jest też ważnym elementem w technologiach internetowych, obok frameworków jak React, Angular czy Vue.js, które pomagają tworzyć nowoczesne aplikacje webowe. Uważam, że każdy programista webowy powinien znać JavaScript przynajmniej na poziomie średnim, żeby wdrażać dobre praktyki dotyczące wydajności i UX. Standardy takie jak ECMAScript mówią, jak ten język ma działać, a jego wszechstronność sprawia, że obecnie jest jednym z najpopularniejszych języków programowania na świecie. Ostatnio dużo mówi się też o używaniu go po stronie serwera z Node.js.

Pytanie 26

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onclick="return dodaj()">dodaj</button>
B. <button onclick="return oblicz()">dodaj</button>
C. <button onselect="return dodaj()">oblicz</button>
D. <button onselect="return dodaj()">dodaj</button>
Gratulacje, wybrałeś poprawną odpowiedź. Przycisk w JavaScript jest aktywowany poprzez zdarzenie onclick, które jest wyzwalane po kliknięciu przycisku. Właściwość onclick jest jednym z wielu zdarzeń w JavaScript, które są używane do obsługi interakcji użytkownika. Kiedy użytkownik kliknie przycisk, zdarzenie onclick jest wywoływane i kod zawarty w tym zdarzeniu jest wykonany. W tym przypadku, kod to 'return dodaj()', co oznacza, że funkcja 'dodaj' jest wywoływana. Ta funkcja została zdefiniowana w skrypcie JavaScript i realizuje dodawanie dwóch liczb. Zdarzenie onclick jest często używane w praktycznych zastosowaniach, takich jak przyciski subskrybcji, przyciski do logowania czy przyciski do przesyłania formularzy. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają utrzymanie interakcji użytkownika w kodzie JavaScript zamiast HTML.

Pytanie 27

W językach programowania strukturalnego do przechowywania danych o 50 uczniach (ich imionach, nazwiskach, średniej ocen) należy zastosować

A. strukturę 50 elementów o składowych tablicowych.
B. tablicę 50 elementów o składowych strukturalnych.
C. klasę 50 elementów typu tablicowego.
D. tablicę 50 elementów o składowych typu łańcuchowego.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazująca na użycie tablicy 50 elementów o składowych strukturalnych jest poprawna z kilku powodów. Po pierwsze, struktury (lub klasy) są idealnym rozwiązaniem do przechowywania złożonych danych, takich jak imiona, nazwiska i średnie oceny uczniów. Struktura pozwala na grupowanie tych składowych w jedną jednostkę, co zwiększa czytelność i organizację kodu. Na przykład, w języku C można zdefiniować strukturę 'Uczeń' z odpowiednimi polami, a następnie stworzyć tablicę, która pomieści 50 takich obiektów. W praktyce, struktury są szeroko stosowane w programowaniu, gdyż umożliwiają łatwe przekazywanie grup danych jako jednego obiektu, co jest zgodne z zasadami programowania obiektowego. Dodatkowo, korzystanie z tablicy struktur zamiast oddzielnych tablic dla każdego atrybutu ucznia minimalizuje ryzyko błędów związanych z synchronizacją danych i ułatwia manipulację danymi. W standardach programowania, szczególnie w kontekście zarządzania danymi, takie podejście jest uznawane za najlepszą praktykę, gdyż pozwala na spójną reprezentację oraz operowanie na danych.

Pytanie 28

Tabela o nazwie naprawy posiada kolumny klient oraz czyNaprawione. W celu usunięcia rekordów, w których wartość pola czyNaprawione wynosi prawda, należy użyć komendy

A. DELETE FROM naprawy;
B. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
C. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
D. DELETE naprawy WHERE czyNaprawione = TRUE;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "DELETE FROM naprawy WHERE czyNaprawione = TRUE;" jest poprawna, ponieważ wykorzystuje właściwą składnię SQL do usunięcia rekordów z tabeli. Komenda DELETE jest używana do usuwania danych z bazy danych, a klauzula WHERE precyzuje, które rekordy mają być usunięte na podstawie określonych warunków. W tym przypadku, usuwane są tylko te rekordy, które mają wartość TRUE w polu czyNaprawione. Zastosowanie klauzuli WHERE jest kluczowe, ponieważ umożliwia precyzyjne wybranie danych do usunięcia, co zapobiega przypadkowemu skasowaniu wszystkich rekordów w tabeli. W praktyce, taką komendę można wykorzystać w różnych aplikacjach związanych z zarządzaniem danymi, np. w systemach informatycznych do obsługi klienta, gdzie zachodzi potrzeba bieżącego zarządzania statusami napraw. Dobre praktyki w programowaniu baz danych nakazują zawsze stosować klauzulę WHERE przy usuwaniu danych, aby uniknąć niezamierzonych skutków. Warto również przetestować zapytania w środowisku testowym przed ich zastosowaniem w produkcji, co zwiększa bezpieczeństwo operacji na danych.

Pytanie 29

Które stwierdzenie najlepiej opisuje klasę Owoc zdefiniowaną w języku PHP i przedstawioną na listingu?

class Owoc {
    public $nazwa;
    private $kolor;
    function set_nazwa($nazwa) {
        $this->nazwa = $nazwa;
    }
}
A. Zawiera dwa pola oraz jeden konstruktor, oba pola mają zasięg widzialności ograniczony wyłącznie do metod klasy.
B. Zawiera dwa pola i jedną metodę, a pole nazwa ma zasięg widzialności ograniczony wyłącznie do metod klasy.
C. Zawiera dwa pola i jedną metodę, a pole kolor ma zasięg widzialności ograniczony wyłącznie do metod klasy.
D. Zawiera jedno pole i dwie metody, z których jedna ma ograniczony zasięg prywatny.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klasa Owoc rzeczywiście ma dwa pola: publiczne pole nazwa oraz prywatne pole kolor. Widoczność pola kolor ogranicza się do wnętrza klasy, co oznacza, że nie może być ono bezpośrednio dostępne z zewnątrz. Metoda set_nazwa jest jedyną zdefiniowaną metodą, która umożliwia modyfikację wartości pola nazwa. Przykładowo, można stworzyć nowy obiekt klasy Owoc i ustawić jego nazwę za pomocą tej metody: $owoc = new Owoc(); $owoc->set_nazwa('Jabłko');. Takie podejście ilustruje zasadę enkapsulacji, która jest jedną z podstaw programowania obiektowego, gdzie dane obiektu są chronione i dostępne tylko poprzez metody, co zwiększa bezpieczeństwo i integralność danych. Dobrą praktyką jest również stosowanie metod get i set do zarządzania wartościami pól, co ułatwia kontrolowanie dostępu i weryfikację danych.

Pytanie 30

W języku HTML zapisano formularz. Który z efektów działania poniższego kodu zostanie wyświetlony przez przeglądarkę, zakładając, że w pierwsze pole użytkownik wpisał wartość "Przykładowy tekst"?

<form>
    <textarea rows="3" cols="30"></textarea><br>
    <input type="checkbox"> Opcja1<br>
    <input type="checkbox"> Opcja2
</form>
Ilustracja do pytania
A. Efekt 3.
B. Efekt 1.
C. Efekt 4.
D. Efekt 2.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Wybrałeś odpowiedź 'Efekt 2', która jest zgodna z zachowaniem formularza HTML w opisanym scenariuszu. Formularz zawiera pole tekstowe i dwa pola typu checkbox. Kiedy wpiszesz do pola tekstowego wartość 'Przykładowy tekst' i wyświetlisz formularz w przeglądarce, zobaczysz ten tekst w polu tekstowym oraz dwa pola wyboru typu checkbox poniżej z etykietami 'Opcja1' i 'Opcja2'. To dokładnie taki układ, co pokazuje Efekt 2. Tworzenie formularzy HTML to ważna umiejętność w projektowaniu stron internetowych. Pozwalają one na interakcję z użytkownikiem oraz zbieranie od niego informacji. Pamiętaj, że dobry formularz powinien być intuicyjny w użyciu i jasno prezentować swoje funkcje użytkownikowi.

Pytanie 31

Wskaż kod CSS, który odpowiada layoutowi bloków 2 – 5, zakładając, że są one utworzone na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 2
B. Kod 3
C. Kod 4
D. Kod 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod 2 jest poprawny, ponieważ najlepiej odpowiada przedstawionemu układowi bloków. W tym układzie blok 2 ma style float: left i szerokość 40%, co oznacza, że jest wypływany w lewo i zajmuje 40% dostępnej szerokości. Blok 3 również jest ustawiony z float: left, ale z szerokością 30%, co pozwala na ułożenie go obok bloku 2, o ile suma szerokości nie przekracza 100%. Blok 4 jest ustawiony z float: right i szerokością 30%, co umieszcza go po prawej stronie kontenera. Takie ustawienie float pozwala na zapełnienie przestrzeni między blokiem 2 i 4 blokiem 3, przy zachowaniu równowagi wizualnej. Blok 5 został ustawiony z float: left i szerokością 30%, co pozwala mu na umieszczenie poniżej bloku 3, ale z wyrównaniem do lewej. Taki układ jest częsty w projektowaniu stron, gdzie używa się systemu float do tworzenia responsywnych układów. W praktyce jednak, float jest coraz częściej zastępowany flexboxem lub gridem, które oferują bardziej elastyczne i intuicyjne sposoby zarządzania układem elementów na stronie.

Pytanie 32

Która komenda pozwala na przesłanie tekstu do przeglądarki?

A. break
B. exit
C. echo
D. type

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'echo' jest poprawna, ponieważ ta instrukcja służy do generowania tekstu, który jest przesyłany do przeglądarki w kontekście skryptów PHP. Echo jest jedną z najprostszych i najczęściej używanych funkcji do wyświetlania danych na stronie internetowej, co jest kluczowym elementem w budowaniu dynamicznych aplikacji webowych. Przykład zastosowania: w prostym skrypcie PHP możemy użyć echo do wyświetlenia powitania użytkownika: <?php echo 'Witaj, użytkowniku!'; ?>. Dzięki temu, użytkownicy mogą interaktywnie odbierać informacje, co jest istotne dla doświadczenia użytkownika. W praktyce, zastosowanie echo ma również znaczenie w kontekście bezpieczeństwa aplikacji, ponieważ prawidłowe zarządzanie danymi wyjściowymi ochroni przed atakami typu XSS, gdyż pozwala na odpowiednie filtrowanie i kodowanie danych, które są wyświetlane przeglądarki. W branży zaleca się stosowanie echo w połączeniu z odpowiednimi standardami zabezpieczeń, aby zapewnić najwyższą jakość i bezpieczeństwo aplikacji webowych.

Pytanie 33

Zastosowanie klauzuli PRIMARY KEY w poleceniu CREATE TABLE sprawi, że dane pole stanie się

A. indeksem unikalnym
B. indeksem klucza
C. kluczem podstawowym
D. kluczem obcym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klauzula PRIMARY KEY w instrukcji CREATE TABLE definiuje unikalny identyfikator dla każdej rekord w tabeli, co oznacza, że pole oznaczone jako klucz podstawowy musi mieć unikalne wartości i nie może zawierać wartości NULL. Klucz podstawowy jest fundamentalnym elementem w relacyjnych bazach danych, ponieważ umożliwia tworzenie relacji między tabelami oraz zapewnia integralność danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'ID', która jest kluczem podstawowym, to każda wartość w tej kolumnie będzie unikalna, co pozwala na jednoznaczne identyfikowanie użytkowników. Zgodnie z normami SQL, klucz podstawowy może składać się z jednej lub wielu kolumn, a w przypadku złożonego klucza podstawowego, wszystkie kolumny muszą spełniać warunki unikalności oraz nie mogą mieć wartości NULL. W praktyce, użycie klucza podstawowego jest kluczowe dla organizacji danych i optymalizacji zapytań, ponieważ bazy danych mogą tworzyć indeksy na tych polach, co przyspiesza operacje wyszukiwania i sortowania.

Pytanie 34

Znacznik <s> w HTML skutkuje

A. pochylaniem tekstu
B. migotaniem tekstu
C. podkreślaniem tekstu
D. przekreślaniem tekstu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <s> w HTML jest używany, żeby pokazać tekst, który jest przekreślony. To zazwyczaj oznacza, że coś jest już nieaktualne lub błędne. W HTML5 ten znacznik jest semantyczny, więc poprawia czytelność strony i ułatwia korzystanie z niej. Na przykład, jeśli autor tekstu chce zaznaczyć, że cena produktu się zmieniła, to mogą użyć <s>, żeby pokazać starą cenę, jak <s>100 zł</s> obok nowej <strong>80 zł</strong>. Dzięki temu przeglądarki dobrze to wyświetlają, a to jest fajne w kontekście zakupów online, blogów czy dokumentacji. Dodatkowo, użycie <s> może pomóc w SEO, bo lepiej oznaczony tekst jest łatwiejszy do zrozumienia dla wyszukiwarek, co może przyciągnąć więcej osób na stronę.

Pytanie 35

Która z poniższych funkcji języka PHP zamieni wyraz „kota” na wyraz „mysz” w zdaniu „ala ma kota”?

A. replace("ala ma kota", "kota", "mysz");
B. replace("kota", "mysz", "ala ma kota");
C. str_replace( "kota", "mysz", "ala ma kota");
D. str_replace("ala ma kota", "kota", "mysz");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja str_replace w języku PHP jest używana do zastępowania fragmentów tekstu w łańcuchach znaków. W przypadku podanego zadania, funkcja ta ma trzy argumenty: pierwszy argument to szukany ciąg ("kota"), drugi argument to ciąg, który ma zastąpić ten szukany ("mysz"), a trzeci argument to łańcuch, w którym ma zostać dokonana zmiana ("ala ma kota"). Dzięki tej funkcji, wynikowym tekstem po zastosowaniu będzie "ala ma mysz", co jest dokładnie tym, co chcemy osiągnąć. W praktyce, str_replace jest często wykorzystywana w aplikacjach webowych do dynamizowania treści, gdzie na przykład użytkownik może podać różne dane, które należy przetworzyć. Stosowanie str_replace jest zgodne z najlepszymi praktykami programowania w PHP – umożliwia łatwe i efektywne manipulowanie danymi tekstowymi, co jest integralną częścią wielu projektów. Dodatkowo, warto zaznaczyć, że str_replace jest funkcją case-sensitive, co oznacza, że rozróżnia wielkość liter, więc stosowanie jej wymaga staranności w kontekście przetwarzania tekstów.

Pytanie 36

Kiedy zakończy się wykonanie poniższego fragmentu kodu w języku C/C++, do zmiennej zwanej zmienna2 zostanie przypisane:

...
int zmienna1 = 158;
int *zmienna2 = &zmienna1;
A. przypisana ta sama wartość, co przechowywana w zmienna1
B. przypisany adres zmiennej o nazwie zmienna1
C. przypisana zamieniona na łańcuch wartość przechowywana w zmienna1
D. przypisana liczba w kodzie binarnym odpowiadająca wartości przechowywanej w zmienna1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ w języku C/C++ symbol '&' używany przed nazwą zmiennej wskazuje na operator adresu, co oznacza, że zwraca adres w pamięci, pod którym przechowywana jest dana zmienna. W przedstawionym kodzie zmienna1 jest typu int i przechowuje wartość 158. Deklaracja int *zmienna2 oznacza, że zmienna2 jest wskaźnikiem na typ int. Przypisanie &zmienna1 do zmiennej2 powoduje, że zmienna2 przechowuje adres zmiennej1. Jest to podstawowa praktyka w programowaniu wskaźników, co umożliwia efektywne zarządzanie pamięcią, modyfikację danych w ich pierwotnym miejscu oraz tworzenie dynamicznych struktur danych jak listy czy drzewa. Wskaźniki są nieodłącznym elementem niskopoziomowego programowania, szczególnie w aplikacjach wymagających optymalizacji zasobów. Dobrą praktyką jest zawsze inicjalizować wskaźniki przed ich użyciem oraz unikać błędów typu odwołania do adresów NULL. Zrozumienie mechanizmu działania wskaźników jest kluczowe dla każdego programisty C/C++ i stanowi fundament dla zaawansowanych technik programistycznych.

Pytanie 37

Delegacja domeny to

A. zmiana rejestratora domeny.
B. zmiana nazwy domeny.
C. utrata okresu ważności domeny z możliwością odnowienia jej.
D. umieszczenie informacji o zewnętrznych serwerach, które obsługują stronę.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo – delegacja domeny to właśnie umieszczenie informacji o zewnętrznych serwerach nazw (DNS), które obsługują daną domenę. W praktyce oznacza to, że w panelu rejestratora domeny wskazujesz adresy serwerów DNS (np. ns1.hosting.pl, ns2.hosting.pl), a od tego momentu to one odpowiadają za tłumaczenie nazwy domeny na adresy IP serwerów WWW, poczty itd. Moim zdaniem to jedno z kluczowych pojęć w administracji usługami internetowymi, bo bez poprawnej delegacji domena „nie istnieje” w praktycznym użyciu. Delegacja nie zmienia samej nazwy domeny, nie przenosi jej do innego rejestratora, tylko mówi światu: „tej domeny szukaj na tych konkretnych serwerach DNS”. W dobrych praktykach branżowych używa się co najmniej dwóch serwerów DNS, najlepiej w różnych lokalizacjach, żeby zwiększyć niezawodność. W panelu hostingodawcy zwykle konfigurujesz rekordy DNS (A, AAAA, CNAME, MX, TXT itd.), a w panelu rejestratora tylko delegujesz domenę na te serwery. Przykład z życia: kupujesz domenę w firmie A, a hosting masz w firmie B. Wtedy w firmie A ustawiasz delegację na serwery DNS firmy B. Dzięki temu ruch do Twojej domeny trafia na właściwy serwer WWW. W dużych projektach często deleguje się domenę na profesjonalne usługi DNS (np. Cloudflare), żeby zyskać dodatkowe funkcje jak CDN, ochrona przed DDoS czy łatwe zarządzanie rekordami. To wszystko dalej opiera się na tym samym mechanizmie – poprawnej delegacji domeny w rejestrze.

Pytanie 38

Zidentyfikuj styl CSS, który doprowadził do uzyskania pokazanego efektu.

Ilustracja do pytania
A. Styl 2
B. Styl 4
C. Styl 1
D. Styl 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź Styl 2 jest prawidłowa, ponieważ zastosowanie border-radius w wartości 50px pozwala osiągnąć efekt zaokrąglenia narożników elementu do kształtu koła, o ile element jest kwadratem. W tym przypadku obraz ma szerokość 100px, co oznacza, że promień zaokrąglenia równy 50px sprawia, że wszystkie narożniki zbiegają się w punktach centralnych ścianek kwadratu, tworząc idealny okrąg. Ta technika jest szeroko stosowana w projektowaniu stron internetowych zwłaszcza w odniesieniu do awatarów lub elementów graficznych, które wymagają zaokrąglonego kształtu. Stosowanie odpowiednich wartości border-radius jest zgodne z dobrymi praktykami w CSS, co pozwala projektantom na eleganckie i efektywne kształtowanie wyglądu witryny. Dzięki temu można tworzyć intuicyjne i estetyczne interfejsy użytkownika. Ważne jest również, aby testować wyświetlanie na różnych urządzeniach, ponieważ CSS powinien być responsywny i adaptowalny do różnorodnych rozdzielczości wyświetlaczy co zwiększa dostępność oraz użyteczność witryn.

Pytanie 39

Obraz o rozdzielczości 72 PPI oznacza, że ma 72 piksele na

A. cal.
B. megabajt.
C. centymetr.
D. milimetr.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
PPI (Pixels Per Inch) dosłownie oznacza „piksele na cal” i jest standardową jednostką opisującą gęstość pikseli w obrazie rastrowym. Czyli obraz o rozdzielczości 72 PPI ma 72 piksele ułożone w jednym calu długości, zarówno w pionie, jak i w poziomie. Cal to jednostka długości używana głównie w krajach anglosaskich i właśnie ona jest przyjętym standardem w grafice komputerowej, drukarkach, monitorach i specyfikacjach urządzeń. W praktyce, gdy projektujesz grafikę do internetu, bardzo często widzi się właśnie wartość 72 lub 96 PPI, ale trzeba mieć świadomość, że dla wyświetlania na ekranie ważniejsza jest liczba pikseli (np. 1920×1080), a nie sama liczba PPI. PPI ma większe znaczenie, gdy przygotowujesz projekt do druku. Typowa dobra praktyka poligraficzna to 300 PPI dla druku wysokiej jakości (np. ulotki, plakaty, katalogi). Wtedy oznacza to 300 pikseli na jeden cal, czyli znacznie większą szczegółowość niż przy 72 PPI. Moim zdaniem warto od razu kojarzyć: PPI = piksele na cal (ekran, grafika rastrowa), a DPI (dots per inch) = kropki na cal (drukarka, fizyczne krople tuszu lub punkty tonera). W codziennej pracy te pojęcia są często mylone, ale w profesjonalnym środowisku graficznym dobrze jest je rozróżniać. Podsumowując: poprawna odpowiedź „cal” wynika z samej definicji skrótu PPI i z przyjętych w branży standardów opisu rozdzielczości obrazu.

Pytanie 40

Kolor zapisany w modelu RGB(255, 0, 0) to

A. czerwony
B. zielony
C. niebieski
D. żółty

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź czerwona jest poprawna, ponieważ w modelu RGB kolor jest definiowany przez kombinację trzech podstawowych kolorów: czerwonego, zielonego i niebieskiego. Wartości w modelu RGB mieszczą się w zakresie od 0 do 255, gdzie 255 oznacza pełną intensywność danego koloru, a 0 brak intensywności. W przypadku RGB(255, 0, 0), maksymalna wartość oznacza, że kolor czerwony jest w pełni nasycony, podczas gdy wartości zielonej i niebieskiej są równe zeru, co skutkuje uzyskaniem czystego koloru czerwonego. W praktyce, model RGB jest powszechnie stosowany w technologii wyświetlania kolorów na ekranach komputerów, telewizorów oraz w grafice komputerowej. Zrozumienie modelu RGB jest kluczowe dla projektantów interfejsów użytkownika, grafików i specjalistów od marketingu wizualnego, którzy muszą umieć manipulować kolorami, aby osiągnąć zamierzony efekt wizualny lub brandingowy. Dobre praktyki w zakresie doboru kolorów obejmują uwzględnienie harmonii kolorystycznej oraz różnorodności percepcji kolorów przez różne osoby, co można osiągnąć poprzez testy A/B lub badania użytkowników.