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: 22 czerwca 2026 17:40
  • Data zakończenia: 22 czerwca 2026 18:20

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

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

Jak wygląda poprawny zapis znaczników, który jest zgodny z normami języka XHTML i odpowiada za łamanie linii?

A. <br/>
B. </ br>
C. <br/>
D. </br/>
Zapis znacznika </ br> jest niepoprawny, ponieważ nie można w ten sposób zamknąć znacznika, który nie ma zawartości. W XHTML wszystkie tagi muszą być poprawnie sformatowane, a takie umieszczenie spacji w znaczniku zamknięcia oraz użycie nieodpowiedniego formatu są całkowicie niezgodne z wymaganiami standardów. Kolejną niepoprawną koncepcją jest użycie </br/> - chociaż syntaktyczna forma jest bliska poprawnej, znaczniki otwierające i zamykające muszą mieć odpowiednie konteksty. W przypadku znaczników samozamykających się, takich jak <br/>, nie ma potrzeby umieszczania pary znaczników, ponieważ ich funkcjonalność polega na wstawieniu łamania linii, a nie na wytwarzaniu dodatkowego bloku. Ostatnią z wymienionych odpowiedzi, <br>, również nie jest zgodna z odpowiednim formatowaniem XHTML, ponieważ brakuje ukośnika, co czyni go niepoprawnym w kontekście stricte przestrzegania standardu. Podstawowym błędem w myśleniu, który prowadzi do tych niepoprawnych wniosków, jest niewłaściwe zrozumienie zasady samozamykania znaczników oraz ich roli w strukturze dokumentu HTML. Ignorowanie zasadności i standardów tworzenia HTML prowadzi do wielu problemów z interpretacją kodu przez różne środowiska oraz przeglądarki, co wpływa na ostateczną jakość i dostępność stron internetowych.

Pytanie 2

Jak nazywa się metoda sortowania polegająca na podziale danych na n równych przedziałów (kubełków), posortowaniu ich i scaleniu?

A. sortowanie bąbelkowe
B. sortowanie kubełkowe
C. sortowanie szybkie
D. sortowanie przez wybór
Sortowanie kubełkowe polega na rozrzuceniu danych do n „kubełków” odpowiadających równym przedziałom wartości, posortowaniu zawartości każdego kubełka osobno, a na końcu połączeniu ich po kolei w jeden uporządkowany zbiór. Sprawdza się, gdy dane są w miarę równomiernie rozłożone. Dlatego ta metoda to sortowanie kubełkowe.

Pytanie 3

Który kod da: „pogrubiony” pogrubione, „pochylony” kursywą, a „górnym indeksie” w górnym indeksie?

A.
<b>pogrubiony</b> <i>pochylony</i> lub w <sup>górnym indeksie</sup>
B.
<b>pogrubiony <i>pochylony</i></b> lub w <sub>górnym indeksie</sub>
C.
<i>pogrubiony</i> <b>pochylony</b> lub w <sub>górnym indeksie</sub>
D.
<i>pogrubiony <b>pochylony lub w</i> <sup>górnym indeksie</sup>
Każdy efekt ma swój znacznik: pogrubienie to <b>, kursywa <i>, a górny indeks <sup> (np. x<sup>2). Poprawny zapis to <b>pogrubiony</b> <i>pochylony</i> ... <sup>górnym indeksie</sup>. Zapamiętaj: <sup> = superscript (góra), <sub> = subscript (dół).

Pytanie 4

Aby poprawić wydajność strony z grafiką o wymiarach 2000 px na 760 px, konieczne jest zmniejszenie jej rozmiarów

A. za pomocą atrybutów HTML
B. za pomocą właściwości CSS, podając rozmiar w pikselach
C. za pomocą właściwości CSS, podając rozmiar w procentach
D. w programie graficznym
Odpowiedź "w programie graficznym" jest prawidłowa, ponieważ zmniejszenie rozmiaru grafiki w sposób, który rzeczywiście wpływa na jej wielkość pliku oraz jakość wizualną, powinno być przeprowadzane w programie graficznym. Programy takie jak Adobe Photoshop, GIMP czy Canva umożliwiają precyzyjne dostosowanie wymiarów oraz kompresję grafiki, co pozwala na optymalizację jej do użytku w internecie. Przykładowo, zmieniając rozmiar grafiki do wymiarów 1000 px na 380 px i zapisując ją w odpowiednim formacie (np. JPEG lub PNG z odpowiednią jakością), można znacznie zmniejszyć wielkość pliku, co przyczyni się do szybszego ładowania strony. Ponadto, odpowiednia kompresja umożliwia zachowanie dobrego balansu między jakością a rozmiarem pliku, co jest istotne dla doświadczeń użytkowników. W branży internetowej stosuje się różne techniki optymalizacji grafiki, takie jak lazy loading czy formaty WebP, które wspierają szybkie ładowanie stron. Warto również zwrócić uwagę na znaczenie odpowiedniej rozdzielczości grafiki, aby uniknąć zniekształceń i zapewnić optymalną jakość wizualną.

Pytanie 5

Który paragraf w przedstawionym kodzie zostanie wyświetlony czcionką o kolorze niebieskim?

<!DOCTYPE html>
<html>
<head>
<style>
div~p { color: blue; }
</style>
</head>
<body>
  <div>
    <p>pierwszy paragraf</p>
      <div>
        <p>drugi paragraf</p>
        <p>trzeci paragraf</p>
      </div>
    <p>czwarty paragraf</p>
  </div>
</body>
</html>
A. Trzeci.
B. Drugi.
C. Pierwszy.
D. Czwarty.
Poprawnie wskazany został czwarty paragraf, bo dokładnie tak działa selektor CSS użyty w tym przykładzie. Zapis `div~p` to tzw. selektor rodzeństwa (general sibling selector). Oznacza on: „wybierz każdy element `<p>`, który jest młodszym rodzeństwem jakiegokolwiek elementu `<div>` i znajduje się z nim na tym samym poziomie drzewa DOM (ma tego samego rodzica)”. Kluczowe są tu dwie rzeczy: ten sam rodzic oraz to, że dany element musi występować w kodzie **po** elemencie `div`. W podanym fragmencie HTML wszystkie paragrafy znajdują się wewnątrz jednego głównego `<div>`. Jednak tylko „czwarty paragraf” jest rodzeństwem zewnętrznego `<div>` i jednocześnie pojawia się po nim jako element `<p>` na tym samym poziomie zagnieżdżenia. „Pierwszy”, „drugi” i „trzeci” paragraf są zagnieżdżone wewnątrz divów, więc nie są rodzeństwem dla tagu `div`, do którego odnosi się selektor. W praktyce selektor `A~B` często stosuje się np. do stylowania elementów formularza i opisów, które pojawiają się po jakimś polu, albo do tworzenia efektów typu: „wszystkie akapity po tym bloku mają inny kolor”. Warto też znać różnicę między `div p` (wszystkie potomne akapity w divie), `div>p` (tylko bezpośrednie dzieci) oraz `div+p` (tylko pierwszy akapit bezpośrednio po divie). To są podstawowe narzędzia przy precyzyjnym stylowaniu struktury HTML zgodnie z dobrymi praktykami CSS i zaleceniami specyfikacji W3C.

Pytanie 6

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zmiana jasności zdjęć.
C. Przenikanie zdjęć.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 7

W trakcie obróbki dźwięku, by wyeliminować niepożądane hałasy wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. wyciszenia
B. odgłosów echa
C. usuwania szumów
D. obwiedni
Usuwanie szumów to technika, która jest kluczowa w procesie przetwarzania dźwięku, szczególnie w kontekście nagrań audio i transmisji. Działa na zasadzie identyfikacji i eliminacji niepożądanych dźwięków, takich jak szumy tła, które mogą pochodzić z niskiej jakości mikrofonów lub hałaśliwych środowisk. W praktyce, narzędzia do usuwania szumów analizują dźwięk w czasie rzeczywistym lub podczas edycji i wykorzystują algorytmy, które rozpoznają różnice między pożądanym sygnałem (np. głosem) a szumem. Standardy branżowe, takie jak AES67, podkreślają znaczenie czystości dźwięku w transmisji mediów, co sprawia, że eliminacja szumów staje się kluczowym elementem produkcji audio. Przykładowo, w studio nagraniowym, inżynierowie dźwięku często korzystają z wtyczek do usuwania szumów, aby poprawić jakość nagrań wokalnych. Dzięki tym technikom można osiągnąć klarowność i profesjonalny standard nagrań, co jest niezbędne w przemyśle muzycznym, radiowym czy filmowym.

Pytanie 8

Rozmycie Gaussa, wygładzanie oraz szum RGB to funkcje programów do obróbki:

A. grafiki rastrowej
B. dźwięku w formacie MIDI
C. ścieżki dźwiękowej
D. grafiki wektorowej
Rozmycie Gaussa, wygładzanie i szum RGB operują na pikselach obrazu, więc są funkcjami programów do obróbki grafiki RASTROWEJ (np. GIMP, Photoshop). Dlatego dotyczą grafiki rastrowej.

Pytanie 9

W przedstawionej definicji typu wyliczeniowego w języku C++ enumerator CZWARTEK będzie miał wartość równą

Ilustracja do pytania
A. napisowi 'CZWARTEK'
B. napisowi "CZWARTEK"
C. liczbie 4
D. liczbie 1
W języku C++ typ wyliczeniowy (enum) pozwala na definiowanie grupy nazwanych stałych całkowitych. W przedstawionej definicji enum dni {PONIEDZIAŁEK = 1, WTOREK, ŚRODA, CZWARTEK, PIĄTEK, SOBOTA, NIEDZIELA}; inicjalizacja PONIEDZIAŁEK na 1 powoduje, że kolejne wyliczane wartości są automatycznie zwiększane o 1. Oznacza to, że wartość dla WTOREK wynosi 2, ŚRODA to 3, a CZWARTEK automatycznie staje się równy 4. Takie podejście jest powszechnie stosowane w programowaniu do reprezentowania dyskretnych zestawów wartości, co ułatwia interpretację kodu i minimalizuje ryzyko błędów. W praktyce typy wyliczeniowe są używane do przechowywania dni tygodnia, stanów maszyn oraz innych uporządkowanych kolekcji. Są zgodne ze standardem C++ i odgrywają istotną rolę w tworzeniu czytelnego i efektywnego kodu. Ich zaletą jest możliwość łatwej manipulacji wartościami oraz zwiększenie czytelności kodu dzięki użyciu przyjaznych nazw zamiast surowych wartości liczbowych.

Pytanie 10

W dziedzinie grafiki komputerowej termin kanał alfa odnosi się do

A. pikselizacji
B. przezroczystości
C. koloryzacji
D. barwienia
Kanał alfa jest kluczowym elementem w grafice komputerowej, który odpowiada za reprezentowanie przezroczystości pikseli w obrazie. W praktyce oznacza to, że każdy piksel w obrazie może mieć przypisany poziom przezroczystości, co pozwala na tworzenie efektów takich jak cieniowanie, nakładanie różnych warstw oraz efekty specjalne. Kanał alfa jest zwykle reprezentowany jako dodatkowy kanał w formacie RGBA, gdzie R, G, i B oznaczają odpowiednio kolory czerwony, zielony i niebieski, a A to kanał alfa, który definiuje stopień przezroczystości. Na przykład, w przypadku edytorów graficznych, takich jak Adobe Photoshop, użytkownicy mogą łatwo manipulować przezroczystością warstw, co jest bardzo przydatne w procesie tworzenia złożonych kompozycji. W standardach graficznych, takich jak OpenGL i DirectX, kanał alfa również odgrywa istotną rolę w renderowaniu obiektów 3D, umożliwiając realistyczne efekty wizualne. Zrozumienie działania kanału alfa jest niezbędne dla artystów cyfrowych i projektantów, aby w pełni wykorzystać możliwości, jakie oferuje nowoczesna grafika komputerowa.

Pytanie 11

Z przedstawionych tabel Klienci i Uslugi należy wybrać jedynie imiona klientów oraz odpowiadające im nazwy usług, które są droższe niż 10 zł. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10;
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id;
C. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10;
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id;
Dobra robota, wybrałeś sprawdzoną odpowiedź! To zapytanie SQL, które zaznaczyłeś, łączy tabele 'Klienci' i 'Usługi' przy pomocy klucza obcego 'uslugi_id'. To, co robią takie JOINy, to po prostu łączenie tabel na podstawie wspólnych elementów. W tym przypadku 'uslugi_id' to ten wspólny element, który pozwala na powiązanie obu tabel. A ten warunek 'WHERE cena > 10'? To świetny sposób na to, żeby z ograniczać wyniki do tych, które są droższe niż 10 zł. Fajnie jest mieć pod ręką tylko te informacje, które są dla nas najistotniejsze, szczególnie w większych bazach danych. Pamiętaj, że umiejętność pisania zapytań SQL, jak to, jest naprawdę przydatna, gdy pracujemy z relacyjnymi bazami danych.

Pytanie 12

W instrukcjach, których celem jest odtwarzanie dźwięku na stronie internetowej jako tła muzycznego, nie stosuje się atrybutu

A. volume="-100"
B. href="c:/100.wav"
C. balance="10"
D. loop="10"
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku powodów. Atrybut loop, który jest używany do powtarzania dźwięku, nie może przyjmować wartości liczbowych, dlatego loop='10' jest niewłaściwy. Wartość loop jest typu boolowskiego, gdzie obecność atrybutu w tagu <audio> lub <source> oznacza, że dźwięk ma być odtwarzany w pętli. Kolejną niepoprawną odpowiedzią jest balance='10', który nie jest uznawany za standardowy atrybut HTML. W kontekście dźwięku, nie istnieje atrybut balance, który mógłby kontrolować balans lewego i prawego kanału. Ostatnia z niepoprawnych odpowiedzi, volume='-100', także nie jest obowiązującym atrybutem. W HTML5 nie ma możliwości ustawienia głośności w ten sposób; zamiast tego dźwięk musi być kontrolowany za pomocą JavaScript i API Web Audio, co pozwala na programowe dostosowanie głośności dźwięku. Podsumowując, wszystkie te odpowiedzi nie odpowiadają na wymagania techniczne dotyczące odtwarzania dźwięku w standardach internetowych.

Pytanie 13

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu Java Script, należy wykonać przed pętlą?

var text;
for ( var i = 0; i < tab.length; i++ ) {
  text += tab[i] + "<br>";
}
A. Sprawdzić czy text j est typu znakowego.
B. Zadeklarować zmienną i.
C. Zainicjować zmienną text.
D. Sprawdzić rozmiar tabeli tab.
Dobrze! Prawidłową odpowiedzią jest 'Zainicjować zmienną text'. W języku JavaScript, przed rozpoczęciem pętli, istotne jest zainicjowanie zmiennej, która będzie używana do akumulacji wyników. Zmienna 'text' w tym przypadku spełnia tę rolę. Jej prawidłowe zainicjowanie, czyli przypisanie jej początkowej wartości, zazwyczaj pustego ciągu znaków ('text = "";'), jest kluczowe dla poprawnej pracy kodu. Pozwala to na uniknięcie błędów związanych z niezdefiniowaną zmienną. Jest to standardowa procedura stosowana w wielu językach programowania, nie tylko w JavaScript. Zrozumienie i zastosowanie tej praktyki pomaga w pisaniu czystego i efektywnego kodu.

Pytanie 14

Brak którego elementu spowoduje błąd walidatora dokumentu HTML5?

A. prologu <!DOCTYPE html>
B. przynajmniej jednego <h1>
C. <body>
D. <meta name="author" content="...">
Każdy poprawny dokument HTML5 musi zaczynać się od deklaracji typu dokumentu <!DOCTYPE html>. Mówi ona przeglądarce i walidatorowi, że dokument jest w standardzie HTML5, i włącza tryb zgodny ze standardem. Jej brak walidator zgłosi jako błąd. Dlatego niezbędny jest prolog <!DOCTYPE html>.

Pytanie 15

W tabeli pracownicy (kolumny: nazwisko, imie, pensja, wiek) chcemy obliczyć średnią pensję. Które zapytanie jest poprawne?

A.
SELECT VAR(pensja) FROM nazwisko
B.
SELECT AVG(nazwisko) FROM pracownicy
C.
SELECT VAR(pracownicy) INTO pensja
D.
SELECT AVG(pensja) FROM pracownicy
Średnią wartość z kolumny liczy funkcja agregująca AVG, której podaje się nazwę kolumny liczbowej, a po FROM - nazwę tabeli. Aby uzyskać średnią pensję, zapisuje się SELECT AVG(pensja) FROM pracownicy. Dlatego to zapytanie jest poprawne.

Pytanie 16

Którą funkcją PHP przekierować użytkownika na inną stronę?

A.
require();
B.
upload();
C.
include();
D.
header();
Przekierowanie na inną stronę realizuje w PHP funkcja header(), wysyłając nagłówek HTTP, np. header("Location: index.php");. Dlatego do przekierowania służy header().

Pytanie 17

Jak nazywa się powiązanie między dwoma zbiorami encji na diagramie ER?

A. krotką
B. związkiem
C. dziedziną
D. atrybutem
Powiązanie między dwoma zbiorami encji na diagramie ER nazywa się ZWIĄZKIEM (relacją) - opisuje, jak encje są ze sobą połączone (np. „klient składa zamówienie”). Dlatego to powiązanie to związek.

Pytanie 18

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest widoczne na zamieszczonym rysunku?

Ilustracja do pytania
A. WordPress
B. Joomla!
C. Drupal
D. MediaWiki
Joomla! to popularny system zarządzania treścią CMS który jest szeroko stosowany do tworzenia stron internetowych aplikacji online i portali. Dzięki swojej elastyczności Joomla! jest wybierany przez wiele firm i organizacji do zarządzania treścią online. System ten charakteryzuje się modułową architekturą która umożliwia łatwe rozszerzanie jego funkcjonalności za pomocą komponentów modułów i wtyczek. Jednym z głównych atutów Joomla! jest intuicyjny interfejs użytkownika który umożliwia zarządzanie treścią bez potrzeby głębokiej wiedzy technicznej. Dodatkowo Joomla! wspiera wiele języków co czyni go idealnym wyborem dla międzynarodowych organizacji. Warto również zaznaczyć że Joomla! jest open-source co oznacza że jest rozwijany przez społeczność programistów z całego świata którzy regularnie aktualizują i ulepszają oprogramowanie. Wybranie Joomla! jako CMS pozwala na korzystanie z dużej liczby szablonów i dodatków które umożliwiają personalizację witryny zgodnie z wymaganiami klienta. Dzięki solidnej bazie użytkowników i deweloperów Joomla! oferuje wsparcie techniczne i dokumentację która ułatwia rozwiązywanie problemów. W praktyce Joomla! jest wykorzystywany przez różnorodne witryny od małych blogów po rozbudowane platformy e-commerce co potwierdza jego wszechstronność i skuteczność.

Pytanie 19

Jakie informacje przechowuje w PHP zmienna $_SERVER?

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

Pytanie 20

Aby właściwie skomentować poniższą linię kodu JavaScript, po znakach // należy opisać, że powoduje ona:

document.getElementById("napis").innerHTML = Date(); //
A. wyświetlenie tekstu „Date()” w elemencie o id „napis”
B. wstawienie nieprawidłowych danych
C. zmianę stylu (CSS) elementu o id „napis”
D. wyświetlenie aktualnej daty i czasu w elemencie o id „napis”
document.getElementById("napis") pobiera element strony o identyfikatorze „napis”, a przypisanie do jego właściwości innerHTML ustawia jego zawartość. Po prawej stronie Date() zwraca bieżącą datę i czas. W efekcie do elementu „napis” trafia aktualna data i czas. Dlatego komentarz powinien mówić, że linia wyświetla datę i czas w elemencie o id „napis”.

Pytanie 21

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if ((a>0 || a<100) && b>0)
B. if ((a>0 && a<100) || b<0)
C. if (a>0 && a<100 && b>0)
D. if (a>0 || a<100 || b<0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 22

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik=2016;
Jakie wartości zostaną zwrócone w wyniku tego zapytania?
Ilustracja do pytania
A. Czerwony, grafitowy
B. Punto, Corsa, Corolla
C. Fiat, Opel, Toyota
D. Punto, Corsa, Astra, Corolla, Yaris
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 23

Podaj polecenie SQL, które wprowadza kolumnę miesiacSiewu do istniejącej tabeli rosliny?

A. INSERT INTO rosliny VALUES (miesiacSiewu int)
B. UPDATE rosliny ADD miesiacSiewu int
C. ALTER TABLE rosliny ADD miesiacSiewu int
D. CREATE TABLE rosliny {miesiacSiewu int}
Poprawna odpowiedź to ALTER TABLE rosliny ADD miesiacSiewu int. To polecenie SQL jest używane do modyfikacji istniejącej tabeli w bazie danych. W tym przypadku, zmiana dotyczy dodania nowego pola 'miesiacSiewu', które określi miesiąc siewu roślin. Typ danych 'int' oznacza, że wartość tego pola będzie przechowywana jako liczba całkowita, co jest odpowiednie, jeśli miesiące będą reprezentowane jako liczby od 1 do 12. Przykład użycia polecenia w praktyce: po dodaniu tego pola można wprowadzać dane o miesiącu siewu dla różnych roślin, co może być przydatne w systemach zarządzania uprawami. Dobrą praktyką jest zawsze dokumentować zmiany w schemacie bazy danych, aby zapewnić spójność i przejrzystość w zarządzaniu danymi. Ważne jest również, aby przed modyfikacją tabeli upewnić się, że nie wprowadza to konfliktów z istniejącymi danymi lub strukturami.

Pytanie 24

Jakie polecenie należy zastosować, aby w trakcie tworzenia tabeli dodać klucz obcy obejmujący wiele kolumn?

A. CONSTRAINT(nazwisko,imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
B. CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
C. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
D. CONSTRAINT(nazwisko,imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
Wszystkie odpowiedzi inne niż 'CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)' zawierają błędy, które mogą prowadzić do nieprawidłowego definiowania klucza obcego. Pierwsza odpowiedź niepoprawnie używa terminu 'FOREIGN REFERENCES KEY', co jest błędną konstrukcją, ponieważ nie istnieje taki termin w standardzie SQL. Poprawnym terminem jest 'FOREIGN KEY', który jasno wskazuje na rolę kolumn w kontekście relacji między tabelami. Dwie kolejne odpowiedzi błędnie zdefiniowały składnię definicji klucza obcego, używając niepoprawnych konstrukcji, takich jak 'ON' czy niewłaściwego umiejscowienia nazwy ograniczenia. Klucz obcy powinien być zdefiniowany w kontekście kolumn, które są nim objęte, a także powinien odnosić się do kolumn w innej tabeli, co w tych przypadkach nie zostało zrobione prawidłowo. Typowe błędy myślowe prowadzące do takich wniosków obejmują mylenie terminów i składni SQL, co może wynikać z braku znajomości standardów SQL lub po prostu z nieuwagi. Ważne jest, aby osoby pracujące z bazami danych dokładnie znały zasady składni oraz funkcje, jakie pełnią różne elementy definicji tabel i relacji, aby unikać takich błędów i zapewniać integralność danych.

Pytanie 25

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. $name = $POST['Imię']
B. name = $_GET[imie]
C. $name = $_POST['imie']
D. name = GET['imie']
Prawidłowe pobranie wartości z formularza przesłanego metodą POST w języku PHP wymaga użycia globalnej tablicy asocjacyjnej $_POST. W kontekście tego pytania, zmienna $name zostaje przypisana wartości wprowadzonej do pola edycyjnego o nazwie imie. Kluczowym aspektem jest zrozumienie różnic między metodami GET i POST w HTTP. Metoda POST jest często preferowana do przesyłania danych formularzy, ponieważ umożliwia przesyłanie większych ilości danych i oferuje większe bezpieczeństwo, ponieważ dane nie są widoczne w adresie URL. Użycie $_POST['imie'] jest zgodne z dobrymi praktykami, a także zgodne z zasadami bezpieczeństwa takimi jak sanitizacja danych wejściowych i walidacja. Przykładowo można użyć filtrów: $name = filter_input(INPUT_POST 'imie' FILTER_SANITIZE_STRING); co zapobiega wstrzyknięciom kodu. Takie podejście jest zgodne z najlepszymi praktykami programowania w PHP i zapewnia bezpieczeństwo oraz niezawodność aplikacji. Zrozumienie tych mechanizmów jest kluczowe w tworzeniu bezpiecznych i efektywnych aplikacji webowych.

Pytanie 26

Która instrukcja PHP wysyła tekst do przeglądarki (wyświetla go)?

A.
break
B.
type
C.
exit
D.
echo
Instrukcja echo w PHP wysyła tekst (lub wartość zmiennej) na wyjście, czyli do przeglądarki - np. echo "Witaj";. Dlatego tekst wyświetla echo.

Pytanie 27

Ikona przedstawiająca funkcję w edytorze grafiki rastrowej, znana jako „kubełek”, pozwala na

Ilustracja do pytania
A. wybór obszaru o identycznym kolorze
B. pobranie wybranej barwy i ustawienie jej jako aktywnej
C. zmianę bieżących kolorów
D. wypełnienie obszaru, który został zaznaczony kolorem
Narzędzie 'kubełek', często spotykane w edytorach grafiki rastrowej takich jak Adobe Photoshop czy GIMP, służy do wypełniania zaznaczonego obszaru kolorem. Jest to szczególnie przydatne w sytuacjach, gdy chcemy szybko zapełnić jednolitym kolorem duże powierzchnie, takie jak tła lub obiekty. Działa na zasadzie zalewania najbliższych pikseli wybranym kolorem, uwzględniając podobieństwo kolorów, co można regulować za pomocą opcji tolerancji. W praktyce, narzędzie to usprawnia proces tworzenia grafik, ponieważ eliminuje potrzebę ręcznego kolorowania każdego piksela. Dodatkowo 'kubełek' może być stosowany w połączeniu z różnymi trybami mieszania, co pozwala na uzyskanie bardziej zaawansowanych efektów wizualnych. Praca z 'kubełkiem' wymaga zrozumienia koncepcji warstw, ponieważ wypełnianie na konkretnej warstwie ma wpływ na finalny wygląd projektu. Wiedza o tym, jak skutecznie używać narzędzia 'kubełek', jest niezbędna dla każdego grafika cyfrowego, który chce pracować efektywnie i profesjonalnie, realizując projekty zgodnie z najlepszymi praktykami branżowymi.

Pytanie 28

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(F, 0, E0)
B. rgb(255, 0, 128)
C. rgb(FF, 0, E0)
D. rgb(255, 0, 224)
Oznaczenie #FF00E0 to zapis koloru w systemie szesnastkowym (hex), bardzo typowym w CSS i ogólnie w tworzeniu interfejsów. Składa się ono z trzech par znaków: FF (czerwony), 00 (zielony), E0 (niebieski). Każda para to jedna składowa kanału RGB zapisana w systemie szesnastkowym, czyli w bazie 16. Zakres dla każdej składowej to od 00 do FF, co odpowiada wartościom dziesiętnym od 0 do 255.

FF w systemie szesnastkowym to 15×16 + 15 = 255 w systemie dziesiętnym. 00 to po prostu 0. Natomiast E0 to 14×16 + 0 = 224. Dlatego zapis #FF00E0 jest równoważny rgb(255, 0, 224). To jest dokładnie ten sam kolor, tylko zapisany w innym formacie. W CSS możesz używać obu zapisów zamiennie: np. `color: #FF00E0;` oraz `color: rgb(255, 0, 224);` dadzą identyczny efekt w przeglądarce.

W praktyce, przy projektowaniu stron i interfejsów, warto rozumieć oba zapisy, bo narzędzia graficzne (Photoshop, GIMP, Figma) często podają kolory w hex, a dokumentacja front-endowa i tutoriale bardzo często używają rgb() albo nawet rgba(). Dobra praktyka w branży jest taka, żeby umieć szybko w głowie lub z pomocą prostego kalkulatora przeliczyć wartości hex na dziesiętne, szczególnie przy drobnych korektach kolorów. Moim zdaniem świadomość, że hex to po prostu inna reprezentacja tych samych liczb 0–255, bardzo ułatwia później rozumienie gradientów, filtrów, a nawet pracy z kolorami w JavaScript, gdzie możesz programowo generować wartości rgb().

Pytanie 29

Tabela naprawy ma kolumny klient i czyNaprawione. Jak usunąć rekordy, w których czyNaprawione jest prawdą?

A.
DELETE FROM naprawy WHERE czyNaprawione = TRUE;
B.
DELETE naprawy WHERE czyNaprawione = TRUE;
C.
DELETE FROM naprawy;
D.
DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
Usuwanie wierszy spełniających warunek ma składnię DELETE FROM <tabela> WHERE <warunek>. Zapis DELETE FROM naprawy WHERE czyNaprawione = TRUE; skasuje tylko rekordy z prawdziwą wartością pola. Dlatego poprawne jest DELETE FROM naprawy WHERE czyNaprawione = TRUE;.

Pytanie 30

Którą wartością można zapisać kolor BIAŁY?

A.
#000000
B.
rgb(FF, FF, FF)
C.
rgb(255, 255, 255)
D.
#255255
#000000 to czarny (wszystkie składowe zerowe). #255255 jest błędny (zapis szesnastkowy ma 6 cyfr 0-F, a „255” to liczba dziesiętna). rgb(FF, FF, FF) miesza składnię - w rgb() podaje się liczby 0-255, nie zapis hex. Biały to rgb(255, 255, 255).

Pytanie 31

Jaką kompetencję społeczną ma osoba, która potrafi wyrażać swoje zdanie i bronić swoich racji, nie naruszając przy tym granic własnych ani innych ludzi?

A. asertywność
B. empatia
C. konformizm
D. akomodacja
Pozostałe pojęcia opisują inne postawy. Empatia to zdolność rozumienia uczuć innych, a nie wyrażania własnego zdania. Akomodacja (dostosowanie) i konformizm oznaczają uleganie otoczeniu i rezygnację z własnego stanowiska, czyli przeciwieństwo bronienia racji. Opisana postawa to asertywność.

Pytanie 32

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

<title>Strona o psach</title>
A. Zostanie umieszczony w treści strony, na samym czubku.
B. Pojawi się na karcie dokumentu w przeglądarce.
C. Jest fakultatywny w kontekście HTML 5 i nie jest wymagany w dokumencie.
D. Stanowi jedynie informację dla robotów wyszukiwania i nie jest widoczny w przeglądarce.
Zaznaczenie poprawnej odpowiedzi pokazuje, że to, co jest w znaczniku <title>, pojawia się na karcie w przeglądarce. To naprawdę ważny element HTML, bo informuje użytkowników, o czym jest dana strona. Zgodnie z tym, co mówi W3C, tytuł strony jest kluczowy dla SEO, gdyż wyświetla się w wynikach wyszukiwania i na zakładkach przeglądarek. Fajnie, jak tytuł jest krótki, ma kluczowe słowa, które mówią o zawartości, i przyciąga wzrok. Na przykład, jak zrobisz stronę o psach rasowych, to tytuł <title> w stylu 'Strona o psach - Poradnik dla właścicieli' nie tylko mówi, o czym będzie treść, ale też może sprawić, że lepiej widać ją w wynikach wyszukiwania. Pamiętaj, że zawartość znacznika <title> widać na górze okna przeglądarki, co ułatwia poruszanie się i znajdowanie otwartych kart.

Pytanie 33

Według którego pola tabeli zostały pogrupowane dane w przedstawionym raporcie?

Ilustracja do pytania
A. wynik
B. id_uczestnika
C. nazwa
D. rok
Poprawnie wskazano, że dane w raporcie zostały pogrupowane według pola „rok”. Widać to po tym, że poszczególne rekordy są zebrane w bloki oznaczone nagłówkami 2009, 2010, 2011, 2012, 2020, a dopiero pod każdym z tych lat pojawiają się konkretne konkursy, id_uczestnika i wynik. To jest właśnie klasyczny przykład grupowania danych w raporcie po jednym z pól tabeli – w tym przypadku po kolumnie roku.
W praktyce, czy to w SQL, czy w kreatorach raportów (np. w MS Access, LibreOffice Base, Crystal Reports, narzędziach BI), gdy projektujemy raport, często definiujemy tzw. sekcję grupującą (group header) opartą na wybranym polu. Tutaj takim polem jest rok, więc każda zmiana wartości roku powoduje rozpoczęcie nowej grupy i wyświetlenie nagłówka z tą wartością. To poprawia czytelność i pozwala łatwo analizować dane w podziale na lata.
Moim zdaniem warto zapamiętać, że grupowanie po dacie lub roku to jedna z najczęściej stosowanych praktyk raportowych: używa się tego do raportów sprzedaży w latach, statystyk odwiedzin strony WWW, wyników egzaminów itd. W SQL można by to od strony danych poprzedzić np. zapytaniem sortującym: SELECT * FROM konkursy ORDER BY rok, nazwa; a samo faktyczne grupowanie wizualne realizuje już mechanizm raportów. Dobrą praktyką jest też, żeby pole, po którym grupujemy, było najpierw użyte do sortowania – inaczej grupy mogą się „rozsypać” i raport stanie się nieczytelny.

Pytanie 34

W języku SQL zrealizowano polecenia GRANT przedstawione w ramce. Kto uzyska prawo do przeglądania i modyfikowania danych?

GRANT ALL ON frmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON frmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON frmy TO 'tomasz'@'localhost';
A. Tomasz i Adam
B. Jedynie Tomasz
C. Adam oraz Anna
D. Tomasz oraz Anna
Odpowiedź, że prawo do przeglądania i zmiany danych mają Tomasz i Adam, jest prawidłowa, ponieważ wynikają one z poleceń GRANT wykonanych w SQL. Adam otrzymuje pełne prawa do bazy danych 'frmy' dzięki komendzie 'GRANT ALL', co oznacza, że może zarówno przeglądać, jak i modyfikować wszelkie dane w tej bazie. Z kolei Tomasz, dzięki przyznanym mu uprawnieniom SELECT, INSERT i UPDATE, również ma możliwość przeglądania danych oraz ich zmiany. Ta sytuacja odzwierciedla kluczowe aspekty zarządzania uprawnieniami w systemach baz danych, gdzie precyzyjne przydzielanie ról i dostępów jest fundamentalne dla zapewnienia bezpieczeństwa i integralności danych. Praktyczne zastosowania takich operacji obejmują sytuacje, w których administratorzy baz danych muszą zróżnicować dostęp do danych w zależności od ról użytkowników, co jest zgodne z zasadami minimalnych uprawnień, które są standardem w branży IT.

Pytanie 35

Która funkcja PHP sortuje tablicę asocjacyjną według KLUCZY?

A.
sort()
B.
ksort()
C.
rsort()
D.
asort()
Pozostałe funkcje sortują inaczej. asort() porządkuje po WARTOŚCIACH, ale zachowuje klucze. sort() też idzie po wartościach, lecz RESETUJE klucze na 0, 1, 2... rsort() robi to samo malejąco. Po kluczach sortuje ksort().

Pytanie 36

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
B. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
D. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator 'OR' w połączeniu z warunkiem 'pamiec<8', co jest niewłaściwe, ponieważ pozwala na zwrócenie komputerów, które mają procesor Intel, ale pamięć RAM mniejszą niż 8 GB. To nie spełnia wymagań dotyczących minimalnej pamięci. Druga odpowiedź również błędnie używa operatora 'OR', co pozwala na zwrócenie komputerów z procesorem Intel, które mogą mieć pamięć większą lub równą 8 GB, ale także te, które nie mają procesora Intel, ale ich pamięć RAM jest mniejsza niż 8 GB. To narusza zasadę, że obydwa warunki muszą być jednocześnie spełnione, co prowadzi do nieprawidłowych wyników. Ostatnia niepoprawna odpowiedź wykorzystuje operator 'AND', jednak warunek dotyczący pamięci jest błędny, ponieważ odnosi się do pamięci mniejszej niż 8 GB, co jest sprzeczne z wymaganiami. Każda z tych odpowiedzi wprowadza w błąd, ponieważ nie spełniają one kryteriów, które zostały jasno określone w pytaniu, co może prowadzić do nieefektywnego zarządzania danymi w bazie i błędnych analiz.

Pytanie 37

Które polecenie doda kolumnę do istniejącej tabeli zadania?

A.
ALTER TABLE zadania ADD COLUMN zadaniekompletne int
B.
CREATEINDEX zadania ADD COLUMN zadanie_kompletne int
C.
ADD COLUMN zadanie kompletne WITH zadania
D.
INSERT INTO zadania VALUES zadania kompletne
Pozostałe zapisy mają błędną składnię. INSERT INTO dodaje WIERSZ z danymi, a nie kolumnę. CREATEINDEX (w dodatku bez spacji) tworzyłoby indeks, a nie kolumnę. Wariant zaczynający się od ADD COLUMN ... WITH nie jest poprawnym poleceniem SQL. Kolumnę dodaje ALTER TABLE zadania ADD COLUMN zadaniekompletne int.

Pytanie 38

Pokazane pole input pozwala na

<input type="checkbox" name="text1" value="text2">
A. selekcję opcji z listy zawierającej wartości text1 oraz text2
B. wprowadzenie hasła
C. wybranie opcji
D. wpisanie dowolnego ciągu znaków
Pole input typu checkbox to fajna opcja, bo pozwala użytkownikom zaznaczać jedną albo więcej opcji z dostępnych wyborów. Takie checkboxy można zobaczyć na różnych stronach internetowych, są super przydatne, a użytkownik może je odznaczać kiedy chce. W HTML mamy atrybut type, który mówi, co użytkownik może wpisać. W przypadku checkboxa mamy to pole, które można zaznaczyć i dzięki temu dodajemy wartość do formularza, gdy go wysyłamy. Przykładem mogą być formularze zgód, gdzie trzeba potwierdzić kilka polityk prywatności lub warunków korzystania z serwisu. Ważne jest także, żeby każdy checkbox miał odpowiednio przypisane atrybuty name i value, bo dzięki temu łatwiej jest je zidentyfikować, gdy przesyłamy dane. I pamiętajmy, żeby dobrze oznaczać checkboxy etykietami przez element label – to pomaga, zwłaszcza osobom korzystającym z technologii wspomagających. Takie poprawne używanie checkboxów to klucz do budowania intuicyjnych i użytecznych interfejsów użytkowników.

Pytanie 39

Której wartości użyć w CSS, aby obramowanie było linią KRESKOWĄ?

A.
dashed
B.
solid
C.
groove
D.
dotted
Styl obramowania ustawia border-style. Wartość dashed rysuje ramkę linią KRESKOWĄ (z krótkich kresek). Dlatego linię przerywaną kreskową daje dashed.

Pytanie 40

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. pokazać zmienną $db
B. zastosować pętlę z poleceniem mysqli_fetch_row
C. zaindeksować zmienną tab, tab[0] to pierwsze imię
D. użyć polecenia mysql_fetch
Prawidłowa odpowiedź dotyczy zastosowania pętli z poleceniem mysqli_fetch_row. W języku PHP przy pracy z bazą danych MySQL wykorzystujemy bibliotekę mysqli, która oferuje funkcje pozwalające na manipulację danymi. Funkcja mysqli_query wykonuje zapytanie SQL na połączeniu z bazą danych, zwracając wynik w postaci obiektu typu mysqli_result. Aby pobrać wszystkie wiersze wyników, konieczne jest zastosowanie pętli, która iteruje przez każdy wiersz zwracany przez zapytanie. Funkcja mysqli_fetch_row jest używana do pobrania kolejnego wiersza z wyniku jako tablicy numerycznej. Przykładowy kod mógłby wyglądać następująco while ($row = mysqli_fetch_row($tab)) { echo $row[0]; } co pozwala na wyświetlenie imion wszystkich osób poniżej 18 roku życia. Praktyczne podejście polega na iteracyjnej obsłudze wyników zapytań, co jest zgodne z branżowymi standardami. Takie rozwiązanie umożliwia dynamiczne przetwarzanie danych w czasie rzeczywistym zwiększając elastyczność aplikacji. Dodatkowo warto pamiętać o odpowiednim zarządzaniu zasobami, takim jak zamknięcie połączenia z bazą danych po zakończeniu operacji. To podejście podkreśla znaczenie efektywnego zarządzania danymi w aplikacjach webowych.