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: 8 czerwca 2026 08:07
  • Data zakończenia: 8 czerwca 2026 08:23

Egzamin zdany!

Wynik: 36/40 punktów (90,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakie pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?

A. Przyciski, menu, interakcja użytkownika z aplikacją
B. Szkic strony, mapa witryny, diagram przepływu informacji
C. Wysyłanie zapytań do bazy, skrypty PHP
D. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji
Odpowiedź "Przyciski, menu, interakcja użytkownika z aplikacją" jest prawidłowa, ponieważ odnosi się bezpośrednio do kluczowych elementów interfejsu użytkownika (UI) na stronach internetowych. Interfejs użytkownika to zespół wszystkich punktów kontaktowych między użytkownikiem a systemem, a przyciski i menu są podstawowymi składnikami, które umożliwiają interakcję z aplikacją. Dobre praktyki projektowania UI opierają się na zapewnieniu intuicyjności i dostępności tych elementów, co jest podstawą pozytywnego doświadczenia użytkownika (UX). Na przykład, przyciski powinny być jasno oznaczone i łatwo rozpoznawalne, a menu powinno być zorganizowane w sposób logiczny, aby użytkownicy mogli szybko znaleźć potrzebne informacje. W kontekście standardów, warto zwrócić uwagę na wytyczne WCAG, które dotyczą dostępności treści internetowych, oraz zasady heurystyki Jakobsona, które pomagają w ocenie interfejsu użytkownika. Dobry design UI powinien również uwzględniać responsywność, co oznacza, że interfejs powinien być użyteczny na różnych urządzeniach i rozmiarach ekranów.

Pytanie 2

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
B. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
C. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
D. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
Pierwsze stwierdzenie sugeruje, że plik animacja.mp4 musi mieć dokładnie rozdzielczość 640x480 pikseli, co jest nieprawdziwe. Format &lt;video&gt; w HTML umożliwia odtwarzanie filmów w różnych rozdzielczościach, a przeglądarka automatycznie dostosuje odtwarzanie w zależności od dostępnych zasobów i jakości pliku wideo. Drugie stwierdzenie, że użytkownik nie będzie miał możliwości sterowania odtwarzaniem, jest sprzeczne z definicją atrybutu 'controls', który dodaje elementy sterujące do odtwarzacza, takie jak play, pause i seek. Trzecie stwierdzenie odnosi się do lokalizacji pliku, podczas gdy w rzeczywistości plik animacja.mp4 może być lokalizowany w różnych folderach, a nie tylko w ścisłej ścieżce bezwzględnej. HTML5 wprowadza wiele standardów i uproszczeń, a deweloperzy są zobowiązani do przestrzegania tych standardów, aby zapewnić, że ich treści będą dostępne na różnych platformach. Typowe błędy myślowe prowadzące do takich wniosków obejmują nieznajomość zasad działania znaczników HTML oraz niepełne zrozumienie mechanizmów, jakie przeglądarki stosują w kontekście odtwarzania multimediów.

Pytanie 3

Jakie oznaczenie wykorzystuje się do jednoliniowego komentarza w skryptowym języku PHP?

A. #
B. /*
C. --
D. $
Oznaczenie jednoliniowego komentarza w języku PHP realizuje się za pomocą znaku '#'. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie wyjaśnień, notatek lub przypomnień dotyczących implementacji. Umożliwiają one innym programistom (lub nawet samym sobie w przyszłości) zrozumienie kontekstu i logiki stosowanych rozwiązań. Przykładowo, można umieścić komentarz w kodzie w taki sposób: '# To jest komentarz, który wyjaśnia, co robi poniższy kod'. Warto pamiętać, że stosowanie komentarzy zgodnie z najlepszymi praktykami programowania zwiększa czytelność kodu oraz ułatwia jego utrzymanie. PHP pozwala również na stosowanie komentarzy wieloliniowych z użyciem znaków '/* ... */', jednak w przypadku komentarzy jednoliniowych preferowanym podejściem jest użycie znaku '#', szczególnie w kontekście prostych, krótkich notatek. Przykład: echo 'Hello World!'; # Ta linia wyświetla powitanie.

Pytanie 4

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki został naciśnięty
B. klawiatury został naciśnięty
C. klawiatury został zwolniony
D. myszki został zwolniony
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 5

Co można powiedzieć o przedstawionym zapisie języka HTML5?

<title>Strona o psach</title>
A. Jest jedynie informacją dla robotów wyszukiwarek i nie jest wyświetlany przez przeglądarkę.
B. Zostanie wyświetlony w treści strony, na samej górze.
C. Jest opcjonalny w języku HTML5 i nie musi występować w dokumencie.
D. Pojawi się na karcie dokumentu w przeglądarce.
Brawo, Twoja odpowiedź jest prawidłowa! Znacznikiw języku HTML 5 służy do określenia tytułu strony internetowej, który jest wyświetlany na karcie przeglądarki. Nie jest to opcjonalna informacja - każda strona powinna mieć tytuł dla lepszej identyfikacji i optymalizacji SEO (Search Engine Optimization). Tytuł strony jest jednym z kluczowych elementów dla SEO, ponieważ wyszukiwarki internetowe, takie jak Google, często wykorzystują tytuł strony jako główny link w wynikach wyszukiwania. Tytuł strony jest również ważny z punktu widzenia użytkownika - dobrze sformułowany tytuł może przyciągnąć uwagę potencjalnego odbiorcy i zachęcić go do odwiedzenia strony. Warto zauważyć, że tytuł nie jest wyświetlany bezpośrednio na stronie, ale na pasku tytułu przeglądarki lub na karcie strony. To ważne rozróżnienie pomaga zrozumieć, dlaczego niektóre elementy są widoczne dla użytkownika, a inne nie.

Pytanie 6

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy OR wiek > '25'
B. SELECT * FROM pracownicy WHERE wiek > '25'
C. SELECT * FROM wiek WHERE pracownicy > '25'
D. SELECT * FROM pracownicy AND wiek > '25'
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 7

Instrukcję transakcyjną ROLLBACK wydaje się, aby:

A. zatwierdzić transakcję
B. cofnąć transakcję już po wykonaniu COMMIT
C. zatwierdzić tylko wybrane zmiany transakcji
D. cofnąć (wycofać) zmiany wykonane w transakcji
Transakcja to zbiór operacji wykonywanych „wszystko albo nic”. Instrukcja ROLLBACK wycofuje wszystkie zmiany dokonane od początku transakcji, przywracając bazę do stanu sprzed niej - stosuje się ją, gdy w trakcie coś pójdzie nie tak i nie chcemy zapisać częściowych modyfikacji. Przeciwieństwem jest COMMIT, który zmiany zatwierdza na stałe. Można też cofnąć się tylko do oznaczonego miejsca poleceniem ROLLBACK TO SAVEPOINT. Dlatego ROLLBACK służy do cofnięcia działania transakcji.

Pytanie 8

W języku SQL aby zmodyfikować dane w tabeli, należy posłużyć się poleceniem

A. CREATE
B. UPDATE
C. JOIN
D. SELECT
Polecenie UPDATE to w SQL podstawowe narzędzie do modyfikowania istniejących danych w tabelach. W praktyce oznacza to, że jeśli chcesz np. zmienić wartość jakiegoś pola dla wybranego rekordu, to właśnie tego polecenia używasz. Przykład z życia: masz tabelę pracowników i ktoś zmienił numer telefonu – nie robisz nowego wpisu, nie tworzysz nowej tabeli, tylko aktualizujesz jedną kolumnę w odpowiednim wierszu. Składnia tego polecenia jest dość intuicyjna: UPDATE nazwa_tabeli SET kolumna=nowa_wartość WHERE warunek. Bardzo ważne jest stosowanie klauzuli WHERE, bo inaczej możesz przez przypadek podmienić dane we wszystkich wierszach tabeli, co niestety zdarza się nawet doświadczonym programistom, zwłaszcza przy pracy na środowiskach testowych. Warto wiedzieć, że SQL-92 (czyli jeden z najważniejszych standardów języka SQL) dokładnie opisuje sposób działania tego polecenia. Często w praktyce spotyka się też połączenie UPDATE z transakcjami, żeby mieć możliwość cofnięcia zmian, gdyby coś poszło nie tak. Moim zdaniem umiejętne stosowanie UPDATE to podstawa pracy z bazami danych – prawie każdy większy system korzysta z tego polecenia na co dzień. Dobrze też pamiętać o bezpieczeństwie i zawsze sprawdzać, czy warunek w WHERE jest poprawny, żeby nie napsuć w danych. Praktyka czyni mistrza i z czasem takie operacje wchodzą w krew.

Pytanie 9

Jak nazywa się tłumaczenie kodu źródłowego napisanego przez programistę na zrozumiały dla komputera kod maszynowy?

A. analizowanie błędów
B. kompilowanie
C. wykonywanie
D. wdrażanie
Tłumaczenie kodu źródłowego na zrozumiały dla komputera kod maszynowy nazywa się kompilowaniem - wykonuje je kompilator, tworząc plik wynikowy. Dlatego ta czynność to kompilowanie.

Pytanie 10

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A INNER JOIN B
B. A RIGHT JOIN B
C. A LEFT JOIN B
D. A FULL OUTER JOIN B
Poprawnie – w tym zadaniu kluczowe jest zrozumienie, że interesuje nas **wszystko z tabeli B**, a dodatkowo – tam gdzie się da – dokładamy dane z tabeli A. Dokładnie tak działa `RIGHT JOIN` zapisany jako `A RIGHT JOIN B ON ...`. Prawa tabela w zapisie JOIN (czyli B) jest zawsze tą „obowiązkową”: dostajemy wszystkie jej wiersze, a dane z lewej (A) pojawiają się tylko tam, gdzie warunek łączenia jest spełniony. Tam gdzie dopasowania w A nie ma, kolumny z A przyjmują wartość `NULL`. To dokładnie odpowiada zielonemu obszarowi na diagramie – cała B plus część wspólna A∩B.
W praktyce taki RIGHT JOIN przydaje się np. gdy tabela B jest tabelą główną (np. `Zamowienia`), a tabela A jest pomocnicza (np. `Klienci_archiwalni`), ale z jakiegoś powodu w zapytaniu chcemy właśnie B mieć „gwarantowaną” – czyli nawet jeśli w A brakuje powiązanego rekordu, zamówienie i tak ma się pojawić w wynikach. Przykładowo:
`SELECT * FROM Klienci_archiwalni A RIGHT JOIN Zamowienia B ON A.id_klienta = B.id_klienta;`
Dobra praktyka w SQL mówi, że częściej stosuje się `LEFT JOIN`, bo jest czytelniejszy (łatwiej myśleć: „biorę wszystko z lewej”), ale logicznie RIGHT JOIN robi to samo, tylko „odwraca perspektywę”. Wiele zespołów wręcz zaleca, żeby zamiast RIGHT JOIN przepisać zapytanie tak, by użyć LEFT JOIN i zamienić kolejność tabel – ale na egzaminach i w testach warto znać oba. Moim zdaniem dobrze jest też od razu kojarzyć: `LEFT JOIN` – wszystko z lewej, `RIGHT JOIN` – wszystko z prawej, `INNER JOIN` – tylko przecięcie, `FULL OUTER JOIN` – suma zbiorów. Dzięki temu każde zadanie z diagramem Venna w SQL robi się dużo prostsze i mniej mylące.

Pytanie 11

Które zdarzenie pozwala uruchomić skrypt JavaScript przy wysyłaniu formularza HTML i kontrolować jego wysłanie?

A. onEnter
B. onSubmit
C. onChange
D. onClick
Zdarzenie onsubmit uruchamia się przy WYSYŁANIU formularza i pozwala skryptowi sprawdzić dane, a nawet zablokować wysłanie (np. przez return false) - dlatego używa się go do walidacji przed wysłaniem. Dlatego pasuje onsubmit.

Pytanie 12

Analizując poniższy kod HTML, jak w przeglądarce zachowa się blok B względem bloku A?

<div>A</div>
<div style="margin-top: 20px">B</div>
A. zostanie ustawiony dolny margines bloku B
B. blok A zostanie przesunięty w lewo o 20 px
C. blok B będzie oddalony od bloku A o 20 px
D. bloki A i B będą nachodzić na siebie
Drugi <div> (blok B) ma w atrybucie style ustawione margin-top: 20px - to margines zewnętrzny po GÓRNEJ stronie. Ponieważ blok B leży pod blokiem A, ten 20-pikselowy margines tworzy odstęp nad B, odsuwając go w dół od A. Dlatego blok B będzie oddalony od bloku A o 20 px.

Pytanie 13

Jakim zapisem w dokumencie HTML można stworzyć element, który wyświetli obraz kotek.jpg oraz tekst alternatywny "obrazek kotka"?

A. <img href="kotek.jpg" alt="obrazek kotka">
B. <img src="kotek.jpg" alt="obrazek kotka">
C. <img src="kotek.jpg" title="obrazek kotka">
D. <img href="kotek.jpg" title="obrazek kotka">
Odpowiedź <img src="kotek.jpg" alt="obrazek kotka"> jest poprawna, ponieważ zawiera element <img>, który jest standardowym rozwiązaniem do wyświetlania obrazów w dokumentach HTML. Atrybut src określa ścieżkę do pliku obrazu, co jest kluczowe dla poprawnego załadowania grafiki na stronie. Atrybut alt z kolei pełni istotną rolę w zapewnieniu dostępności treści; tekst alternatywny wyświetla się w przypadku, gdy obraz nie może zostać załadowany lub jest odczytywany przez programy dla osób niewidomych. Zastosowanie odpowiednich atrybutów jest zgodne z wytycznymi W3C dotyczącymi dostępności, co pozwala na tworzenie bardziej przyjaznych dla użytkowników stron internetowych. W praktyce, prawidłowe wykorzystanie atrybutu alt jest również korzystne dla SEO, ponieważ wyszukiwarki analizują te opisy przy ocenie kontekstu strony. Ważne jest, aby zawsze stosować zarówno src, jak i alt, aby zapewnić pełnię funkcji obrazu na stronie.

Pytanie 14

Która jednostka CSS jest WZGLĘDNA i zależy od rozmiaru czcionki?

A.
pt
B.
px
C.
em
D.
in
Pozostałe jednostki są STAŁE (bezwzględne). px to piksele, pt to punkty typograficzne (1/72 cala), a in to cale - nie zależą od rozmiaru czcionki. Zależnością od rozmiaru pisma cechuje się em.

Pytanie 15

Ile razy zostanie wykonana pętla w języku PHP, jeśli zmienna kontrolna pozostaje niezmienna podczas działania pętli?

for($i=0; $i<=10; $i++) {
        .......
}
A. 10
B. 11
C. Nieskończoność
D. 0
Pętla for w języku PHP, zapisana jako for($i=0; $i<=10; $i++), będzie miała 11 iteracji ponieważ warunek $i<=10 pozwala na wykonanie pętli aż do momentu gdy $i wynosi 10 włącznie. Pętla zaczyna się od wartości 0 dla zmiennej $i i zwiększa jej wartość o 1 w każdej iteracji. Ponieważ warunek końcowy dopuszcza wartość 10 pętla wykona się dla wartości 0 1 2 3 4 5 6 7 8 9 i 10 co daje łącznie 11 iteracji. Tego typu pętla jest często wykorzystywana do iteracyjnego przetwarzania elementów tablic czy generowania sekwencji liczb. Jest to zgodne ze standardowymi praktykami programistycznymi gdzie pętle for są używane do iteracji tam gdzie liczba kroków jest z góry znana. Znajomość podstawowych struktur iteracyjnych takich jak pętla for jest kluczowa w efektywnym programowaniu i umożliwia tworzenie czytelnego i efektywnego kodu. Ważne jest też aby odpowiednio definiować warunki początkowe i końcowe oraz krok iteracji zgodnie z zamierzonym działaniem algorytmu aby uniknąć nieskończonych pętli lub błędów logicznych wynikających z niewłaściwie ustawionych warunków.

Pytanie 16

Zmienna o typie integer lub int jest w stanie przechowywać

A. liczbę całkowitą
B. znak
C. liczbę rzeczywistą
D. łańcuch znaków
Zmienna typu integer, znana również jako int, jest podstawowym typem danych w wielu językach programowania, takich jak C, C++, Java czy Python. Jej kluczową zaletą jest możliwość przechowywania tylko liczb całkowitych, co czyni ją idealnym wyborem do operacji arytmetycznych, które wymagają precyzyjnego zarządzania wartościami całkowitymi bez części dziesiętnych. Przykłady zastosowania to m.in. przechowywanie ilości przedmiotów w magazynie, zliczanie punktów w grze lub reprezentowanie indeksów w tablicach. W praktyce, użycie zmiennych typu integer umożliwia efektywne wykorzystanie pamięci, ponieważ zajmują one mniej miejsca niż zmienne typu zmiennoprzecinkowego, a ich operacje są wykonywane szybciej. Ponadto, stosowanie zmiennych całkowitych jest zgodne z dobrymi praktykami programowania, które zalecają dobór odpowiednich typów danych do specyficznych potrzeb aplikacji, co zwiększa ich wydajność i czytelność kodu. Warto także zrozumieć, że w kontekście programowania, typ zmiennej determinuje zakres wartości, które można przechowywać, co w przypadku typu integer zwykle wynosi od -2,147,483,648 do 2,147,483,647 w standardzie 32-bitowym, co czyni go wystarczającym dla wielu zastosowań.

Pytanie 17

Zaproponowany blok ilustruje operację

Ilustracja do pytania
A. realizacji zadania w pętli
B. podjęcia decyzji
C. wykorzystania wcześniej zdefiniowanej procedury lub funkcji
D. załadowania lub przedstawienia danych
Podjęcie decyzji w programowaniu jest kluczowym elementem umożliwiającym dynamiczne i warunkowe działania w aplikacjach. Symbolicznie, blok decyzyjny w diagramie przepływu, takim jak przedstawiony na obrazku, oznacza punkt, w którym program sprawdza określony warunek i w zależności od jego wyniku podejmuje różne ścieżki działania. Jest to często implementowane przy użyciu struktur decyzyjnych takich jak instrukcje if-else w wielu językach programowania. Na przykład w języku Python decyzję można wyrazić jako if temperatura > 30: print('Gorąco') else: print('Chłodno'). Decyzje te pozwalają programowi reagować na zmieniające się warunki i dane wejściowe, co jest niezbędne w tworzeniu interaktywnych aplikacji czy systemów sterowania. Zgodnie z dobrymi praktykami w inżynierii oprogramowania, właściwe stosowanie bloków decyzyjnych sprzyja czytelności kodu i efektywności jego działania. Dodatkowo, w większych projektach często stosuje się wzorce projektowe takie jak stan lub strategia, które opierają się na mechanizmach decyzyjnych, pomagając zarządzać złożonością kodu i poprawiać jego skalowalność.

Pytanie 18

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. tekstu akapitu
B. odnośników, które otwierają się w tej samej karcie
C. każdego linku
D. odnośników, które otwierają się w nowej karcie
Prawidłowa odpowiedź wskazuje na zastosowanie selektora a[target="_blank"] w języku CSS. Ten selektor odnosi się do wszystkich odnośników HTML, które otwierają się w nowej karcie przeglądarki dzięki użyciu atrybutu target z wartością "_blank". Stylizacja tych odnośników na kolor żółty jest możliwa przez przypisanie właściwości color z odpowiednią wartością. Jest to praktyczne podejście, które pozwala na wizualne wyróżnienie linków otwierających się w osobnych zakładkach. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych, gdzie wskazane jest, aby użytkownicy mieli wyraźne sygnały o nietypowych działaniach linków. W kontekście dostępności webowej, takie stylizowanie wspiera użytkowników w szybszym orientowaniu się w sposobie działania poszczególnych elementów interfejsu. Separacja stylu i treści zgodnie z zasadami CSS umożliwia bardziej elastyczne zarządzanie wyglądem strony i ułatwia utrzymanie spójności wizualnej na całej witrynie. Przykład ten ilustruje, jak CSS może wpływać na interakcję użytkownika z elementami strony, co jest kluczowe w procesie tworzenia przyjaznych i intuicyjnych interfejsów użytkownika.

Pytanie 19

W formularzu HTML użyto znacznika <input>. Pole to będzie służyło do wprowadzania maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które są widoczne w trakcie wprowadzania
B. 20 znaków, które są widoczne w trakcie wprowadzania
C. 30 znaków, które nie są widoczne w polu tekstowym
D. 20 znaków, które nie są widoczne w polu tekstowym
Odpowiedzi sugerujące, że w polu tekstowym mogą być widoczne znaki, są nieprawidłowe z kilku istotnych powodów. Przede wszystkim znaczenie atrybutu 'type' w znaczniku <input> jest kluczowe. Użycie 'type="password"' jednoznacznie wskazuje, że wprowadzone znaki będą maskowane, co ma na celu ochronę prywatności użytkownika. Odpowiedzi wskazujące na 30 znaków, które są widoczne, są całkowicie błędne, ponieważ atrybut 'size' definiuje szerokość pola, a nie maksymalną liczbę znaków, które można wprowadzić. To może prowadzić do mylnego wrażenia, że użytkownik ma pełen wgląd w wprowadzane dane, co nie jest zgodne z zamierzeniem tego typu pól. Oprócz tego, maksymalna liczba znaków 'maxlength' nie ma żadnego wpływu na to, czy znaki są widoczne, czy nie. Typowe błędy myślowe związane z tym zagadnieniem mogą obejmować niepoprawne zrozumienie roli atrybutów 'size' i 'maxlength'. Kluczowe jest, aby użytkownicy rozumieli, że odpowiednie projektowanie formularzy powinno zawsze uwzględniać bezpieczeństwo danych oraz ich ochronę, zwłaszcza w przypadku haseł. Dobre praktyki w zakresie UX/UI zalecają korzystanie z pól typu 'password' w sytuacjach wymagających ochrony danych, co przyczynia się do zwiększenia bezpieczeństwa aplikacji webowych.

Pytanie 20

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:active { 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 21

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
B. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
C. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
D. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 lat
Zapytanie SQL, które zostało podane, wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że wybiera tylko te rekordy, które spełniają określone warunki. W tym przypadku, filtrujemy osoby na podstawie ich wieku, wybierając tylko te, które mają 18 lub 30 lat. W związku z tym, wynik zapytania będzie zawierał imiona, numery PESEL oraz wiek osób, które mają dokładnie 18 lub 30 lat. W praktyce, takie zapytania są niezwykle użyteczne w bazach danych, gdzie często potrzebujemy uzyskać dane dla konkretnej grupy wiekowej. Dobrą praktyką jest również stosowanie takich filtrów, aby unikać błędów w analizach danych i zapewnić, że wyniki są zgodne z oczekiwaniami. Na przykład, jeśli prowadzisz badania demograficzne, możesz chcieć skupić się na określonych grupach wiekowych, co pozwala na bardziej szczegółowe wnioski i lepsze zrozumienie danej populacji."}

Pytanie 22

Liczba 0x142 zapisana w kodzie JavaScript jest w postaci

A. szesnastkowej
B. dwójkowej
C. dziesiętnej
D. ósemkowej
Prefiks 0x oznacza zapis SZESNASTKOWY, więc 0x142 to liczba szesnastkowa (dziesiętnie 322). Dlatego 0x142 jest w postaci szesnastkowej.

Pytanie 23

Którego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <meta>
B. <link>
C. <h2>
D. <title>
Odpowiedź <h2> jest trafna, bo ten znacznik jest właśnie do nagłówków w HTML. Powinien być używany w sekcji <body>, nie w <head>. Jak dobrze wiesz, nagłówki, czyli <h1> do <h6>, mają spore znaczenie w organizacji tekstu i hierarchii, co wpływa później na SEO i dostępność strony. Dzięki <h2> możesz dodać podtytuł, co sprawia, że tekst jest bardziej przejrzysty i łatwiejszy do zrozumienia. Stosowanie nagłówków w odpowiedni sposób to ważna zasada, żeby dokument miał sens i był logicznie poukładany. Warto też wiedzieć, że znaczniki takie jak <link>, <meta> i <title> są super ważne dla strony, ale pełnią inne funkcje niż nagłówki. Więc ogólnie rzecz biorąc, fajnie, że to rozumiesz!

Pytanie 24

Podaj polecenie SQL, które pozwoli na dodanie kolumny miesiacSiewu do tabeli rośliny znajdującej się w bazie danych

A. ALTER TABLE rośliny ADD miesiacSiewu int;
B. UPDATE rośliny ADD miesiacSiewu int;
C. INSERT INTO rośliny VALUES (miesiacSiewu int);
D. CREATE TABLE rośliny {miesiacSiewu int};
Odpowiedź 'ALTER TABLE rośliny ADD miesiacSiewu int;' jest jak najbardziej na miejscu. Używasz tutaj komendy SQL 'ALTER TABLE', co jest standardem, jeśli chcesz coś zmienić w już istniejącej tabeli. W tym przypadku dodajesz nowe pole 'miesiacSiewu' w formacie 'int' do tabeli 'rośliny'. Fajnie, bo dodawanie kolumn w relacyjnych bazach danych to chleb powszedni, zwłaszcza gdy musisz dodać nowe informacje. Na przykład, jak chcesz wiedzieć, kiedy siać rośliny, to zrobienie tego przy pomocy tej komendy pozwoli Ci trzymać te dane blisko innych szczegółów roślin. Warto też pamiętać, żeby nowe kolumny były dobrze indeksowane lub miały jakieś wartości domyślne, bo to może przyspieszyć zapytania do bazy. Tego typu operacje są naprawdę ważne w zarządzaniu bazami danych, bo dają Ci elastyczność, żeby dostosować strukturę bazy do potrzeb Twojej aplikacji.

Pytanie 25

Fragment kodu w PHP przedstawia się następująco (patrz ramka): Przy założeniu, że zmienna tablicowa $tab zawiera liczby naturalne, wynik działania programu polega na wypisaniu

Ilustracja do pytania
A. najmniejszego elementu w tablicy
B. elementu tablicy równemu wartości $tab[0]
C. tych elementów, które przewyższają wartość zmiennej $liczba
D. największego elementu w tablicy
Kod w PHP, który widzisz, robi coś fajnego – znajduje największy element w tablicy. Na początku przydzielamy zmiennej $liczba wartość pierwszego elementu z tablicy $tab. Potem przechodzimy przez wszystkie elementy tablicy za pomocą pętli foreach. W środku mamy warunek if, który sprawdza, czy aktualny element $element jest większy od tego, co mamy w $liczba. Jeśli tak, zmieniamy wartość $liczba na ten właśnie element. Gdy już skończymy pętlę, w $liczba mamy największą wartość z tablicy, a następnie to wypisujemy przez echo. Takie podejście to całkiem dobre rozwiązanie, szczególnie przy mniejszych zbiorach danych. Moim zdaniem, jest to piece of cake w programowaniu i często używane za każdym razem, gdy porównujemy różne wartości. Dobrze jest się nauczyć tej metody, bo sprawdza się w różnych sytuacjach, chociaż przy większych danych warto też pomyśleć o innych algorytmach jak sortowanie, które mogą uprościć sprawę.

Pytanie 26

W CSS, co spowoduje poniższy kod z plikiem rysunek.png?

p {background-image: url("rysunek.png");}
A. widoczny, jeśli zastosowany zostanie znacznik img w kodzie
B. tłem całej witryny
C. pokazany obok każdego akapitu
D. tłem dla każdego akapitu
Wybrana odpowiedź jest poprawna ponieważ w arkuszach stylów CSS zastosowanie selektora elementu p z właściwością background-image powoduje że obraz rysunek.png zostanie ustawiony jako tło dla każdego elementu paragrafu na stronie. Jest to przydatna technika gdy chcemy nadać spójny wygląd wszystkim paragrafom w dokumencie. Tło to może być używane do celów estetycznych lub jako część identyfikacji wizualnej strony. Warto pamiętać że w CSS można dodatkowo kontrolować sposób wyświetlania obrazka tła za pomocą właściwości takich jak background-repeat background-size i background-position co pozwala na precyzyjne dostosowanie wyświetlania. Dobre praktyki zalecają aby obrazy tła były odpowiednio zoptymalizowane pod kątem rozmiaru aby nie wpływały negatywnie na szybkość ładowania strony. W praktyce stosowanie obrazów jako tła w paragrafach może wspierać wizualne narracje oraz zwiększać zaangażowanie użytkowników szczególnie gdy są stosowane w przemyślany sposób w kontekście projektowania doświadczeń użytkownika UX.

Pytanie 27

W skrypcie JavaScript zmienne mogą być definiowane

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

Pytanie 28

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
B. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
C. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
D. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.

Pytanie 29

Czym jest odpowiednik encji w relacyjnej bazie danych?

A. kolumna
B. atrybut
C. tabela
D. wiersz
W modelu relacyjnym odpowiednikiem encji (obiektu opisywanego danymi) jest TABELA - przechowuje wszystkie egzemplarze danego typu, każdy w osobnym wierszu. Dlatego encji odpowiada tabela.

Pytanie 30

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. odebranie uprawnień danemu użytkownikowi
B. przyznawanie praw do tabeli
C. przyznawanie uprawnień z użyciem ustalonego schematu
D. usunięcie użytkownika z bazy danych
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.

Pytanie 31

Na czym polega operacja selekcji w algebrze relacji?

A. na wyborze krotek bez wartości NULL
B. na usunięciu krotek z powtarzającymi się polami
C. na usunięciu pustych wierszy
D. na wyborze krotek spełniających określone warunki
Selekcja w algebrze relacji to operacja wyboru tych KROTEK (wierszy), które spełniają zadany warunek - jej odpowiednikiem w SQL jest klauzula WHERE. Z całej relacji zostają więc tylko rekordy pasujące do kryterium (np. pracownicy z pensją powyżej 5000). Dlatego selekcja to wybór krotek spełniających warunek.

Pytanie 32

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
Ta odpowiedź jest prawidłowa, ponieważ używa poprawnej składni SQL do wykonania zapytania z dwóch tabel powiązanych relacją jeden do wielu. Kluczowym elementem jest użycie klauzuli JOIN, która łączy tabelę Zgloszenia z tabelą Klienci poprzez pole Klienci_id, będące kluczem obcym w tabeli Zgloszenia. Dzięki temu możliwe jest powiązanie odpowiednich rekordów z dwóch tabel. Warunek w klauzuli WHERE Zgloszenia.id = 5 precyzuje, że zapytanie ma zwrócić dane tylko dla zgłoszenia o identyfikatorze 5. Taki sposób pisania zapytań SQL jest zgodny z normami ANSI SQL i jest powszechnie stosowany w systemach zarządzania bazami danych jak MySQL, PostgreSQL czy SQL Server. Korzystanie z JOIN, zwłaszcza z klauzulą ON, jest dobrą praktyką, ponieważ zapewnia czytelność i bezpieczeństwo zapytań. W realnych zastosowaniach, takie zapytania są używane do łączenia danych z różnych źródeł w celu ich analizy lub raportowania. Prawidłowa struktura zapytania ułatwia jego modyfikację i integrację z innymi operacjami bazy danych, co jest niezbędne w zarządzaniu danymi w dużych systemach informatycznych. Zrozumienie mechanizmu JOIN oraz użycie klauzuli WHERE w celu ograniczenia wyników jest kluczowe w efektywnym zarządzaniu i analizie danych w relacyjnych bazach danych.

Pytanie 33

Zdefiniowanie klucza obcego jest niezbędne do utworzenia

A. transakcji.
B. klucza podstawowego.
C. relacji 1..1.
D. relacji 1..n.
Poprawnie – klucz obcy definiujemy właśnie po to, żeby utworzyć i wymusić relację między tabelami, najczęściej relację 1..n. W praktyce wygląda to tak, że w tabeli „dziecko” (np. ZAMOWIENIA) umieszczamy kolumnę, która odwołuje się do klucza głównego w tabeli „rodzic” (np. KLIENCI). Ta kolumna jest właśnie kluczem obcym. Dzięki temu każde zamówienie musi być powiązane z istniejącym klientem. To jest klasyczny przykład relacji 1 klient – wiele zamówień (1..n).
Moim zdaniem to jest jeden z fundamentów relacyjnych baz danych: klucze obce pilnują integralności referencyjnej. Silnik bazy (MySQL, PostgreSQL, SQL Server itd.) sprawdza, czy wartość w kolumnie z kluczem obcym faktycznie istnieje w tabeli nadrzędnej. Jeżeli spróbujesz wstawić zamówienie z nieistniejącym id_klienta, dostaniesz błąd. To jest dokładnie to, co chcemy w dobrze zaprojektowanym systemie – brak „osieroconych” rekordów.
W relacjach 1..n stosuje się standardowo schemat: tabela nadrzędna ma klucz podstawowy (PRIMARY KEY), a tabela podrzędna ma kolumnę z kluczem obcym (FOREIGN KEY), który wskazuje na ten klucz podstawowy. W SQL zapisuje się to np.: `FOREIGN KEY (id_klienta) REFERENCES klienci(id_klienta)`. Dobre praktyki mówią też, żeby na kolumnach kluczy obcych zakładać indeksy, bo to przyspiesza złączenia (JOIN) i operacje kasowania/aktualizacji.
Warto też wiedzieć, że klucz obcy może być używany z dodatkowymi opcjami, np. `ON DELETE CASCADE` lub `ON UPDATE RESTRICT`, żeby automatycznie usuwać powiązane rekordy lub blokować operacje łamiące spójność danych. W realnych aplikacjach webowych (np. systemy sklepów internetowych, CRM-y, systemy magazynowe) poprawne zdefiniowanie relacji 1..n przez klucze obce to podstawa stabilności całej bazy – bez tego bardzo szybko robi się bałagan, duplikaty i niespójne dane.

Pytanie 34

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. najmniejszej.
B. nieparzystej.
C. parzystej.
D. największej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 35

Najłatwiejszym sposobem na zmianę obiektu z numerem 1 na obiekt z numerem 2 jest

Ilustracja do pytania
A. geometriczne przekształcenie obiektu
B. narysowanie obiektu docelowego
C. zmiana warstwy obiektu
D. animacja obiektu
Geometryczne transformowanie obiektu to proces, który pozwala na zmiany w wielkości, kształcie, pozycji lub orientacji obiektu bez modyfikacji jego struktury. W przypadku zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2, transformacja geometryczna, jak skalowanie, jest najprostszą metodą. Skalowanie pozwala na proporcjonalne powiększenie obiektu, co jest niezbędne, gdy chcemy zwiększyć jego rozmiar bez zniekształceń. W praktyce, narzędzia do obróbki grafiki czy modelowania 3D, takie jak Adobe Illustrator czy AutoCAD, oferują funkcje do precyzyjnego skalowania. Kluczowe jest zachowanie proporcji, co można osiągnąć poprzez skalowanie względem określonego punktu odniesienia. Transformacje geometryczne są fundamentalne w wielu dziedzinach, takich jak projektowanie graficzne, inżynieria czy animacja komputerowa, i są zgodne z najlepszymi praktykami, które promują efektywność i precyzję w pracy z obiektami wizualnymi.

Pytanie 36

W kodzie HTML 5, w celu walidacji wartości pola <input type="text"> za pomocą wyrażenia regularnego, należy użyć atrybutu

A. readonly
B. pattern
C. value
D. step
W tym pytaniu chodzi o konkretny mechanizm walidacji wbudowany w HTML5, a nie o ogólne właściwości pól formularza. Walidacja za pomocą wyrażeń regularnych jest w standardzie przypisana do jednego, ściśle określonego atrybutu – właśnie pattern. Inne atrybuty z listy pełnią zupełnie inne role i ich mylenie to dość typowy błąd przy nauce formularzy.

Atrybut step jest używany do określania „kroku” dla wartości liczbowych lub dat, np. w input type="number" czy type="date". Pozwala zdefiniować, o ile ma się zwiększać lub zmniejszać wartość przy użyciu strzałek lub walidować, czy liczba jest wielokrotnością danego kroku. Przykład: step="0.5" przy liczbie zmiennoprzecinkowej. Nie ma on żadnego związku z wyrażeniami regularnymi ani ze zwykłym tekstem w type="text".

value z kolei to po prostu wartość pola – początkowa (domyślna) lub aktualna, odczytywana i modyfikowana przez JavaScript lub wysyłana w formularzu. Ustawienie value nie waliduje danych, tylko je definiuje. Można wprawdzie ręcznie sprawdzać value w JS i dopasowywać je do regexa, ale to już logika skryptu, a nie działanie samego atrybutu w HTML. To pewnie częsty skrót myślowy: „wartość pola” vs. „sprawdzenie wartości pola”, ale przeglądarka sama z siebie nie waliduje na podstawie samego value.

readonly natomiast blokuje możliwość edycji pola przez użytkownika, ale nadal wysyła jego wartość z formularzem. To przydatne, gdy chcemy coś pokazać, ale nie pozwolić na zmianę, np. wygenerowany identyfikator. Nie ma tu żadnej analizy treści, żadnego dopasowywania do wzorca – po prostu pole jest nieedytowalne. Czasem ktoś myśli: „skoro nie można tego zmienić, to jakby jest bezpieczne i zwalidowane”, ale to już bardziej kwestia logiki aplikacji, a nie mechanizmu walidacji.

Mechanizm HTML5 do regexów jest jeden: pattern. Warto go łączyć z innymi atrybutami walidacyjnymi, jak required, minlength, maxlength, type, ale to właśnie pattern odpowiada za dopasowanie tekstu do określonego wzorca. Wszystko inne z tej listy pełni pomocnicze lub zupełnie inne funkcje i nie zastępuje typowej walidacji opartej o wyrażenia regularne.

Pytanie 37

Która metoda obiektu Math dla x = 2.8 zwróci 2?

A.
Math.sqrt(x)
B.
Math.floor(x)
C.
Math.ceil(x)
D.
Math.exp(x)
Metoda Math.floor() zaokrągla w DÓŁ do najbliższej liczby całkowitej, więc dla x = 2.8 zwróci 2. Dlatego wynik 2 daje Math.floor(x).

Pytanie 38

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
B. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 39

Aby z tabeli Pracownicy wybrać tylko nazwiska kończące się na literę „i”, można zastosować następującą kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i;
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";
Prawidłowa kwerenda SQL do wyszukania nazwisk pracowników, których ostatnią literą jest 'i', to 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. Operator LIKE w SQL jest używany do wyszukiwania wzorców w danych tekstowych. W tym przypadku symbol '%' przed literą 'i' oznacza, że przed 'i' może występować dowolna liczba znaków (w tym zero), co umożliwia znalezienie wszystkich nazwisk kończących się na tę literę. Przykładowe nazwiska, które mogą być zwrócone przez tę kwerendę to 'Kowalski', 'Nowak', czy 'Wiśniewski'. Zgodnie z standardem SQL, użycie podwójnych cudzysłowów dla wzorca jest właściwe w kontekście baz danych, jednak w wielu systemach baz danych, w tym MySQL, częściej stosuje się pojedyncze cudzysłowy. Warto także zauważyć, że technika ta jest przydatna przy pracy z bazami danych, gdyż umożliwia elastyczne wyszukiwanie informacji oraz jest szczególnie cenne w aplikacjach wymagających filtrowania danych według specyficznych kryteriów.

Pytanie 40

Który opis dotyczy metody POST przesyłania formularza?

A. dane są przesyłane w adresie URL, widoczne dla użytkownika
B. ma ograniczenie długości adresu do 255 znaków
C. jest zalecana przy przesyłaniu danych wrażliwych (hasło, numer karty)
D. można ją zapisać jako zakładkę w przeglądarce
Metoda POST przesyła dane w treści żądania (a nie w adresie URL), więc nie są one widoczne w pasku adresu - dlatego zaleca się ją dla danych wrażliwych, jak hasło czy numer karty. Dlatego POST jest zalecana przy danych wrażliwych.