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: 29 kwietnia 2026 00:06
  • Data zakończenia: 29 kwietnia 2026 00:24

Egzamin zdany!

Wynik: 37/40 punktów (92,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

Na przedstawionej tabeli samochody wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik = 2016;
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry
A. Czerwony, grafitowy.
B. Fiat, Opel, Toyota.
C. Punto, Corsa, Corolla.
D. Punto, Corsa, Astra, Corolla, Yaris.
Twoja odpowiedź jest prawidłowa. Zapytanie SQL 'SELECT model FROM samochody WHERE rocznik = 2016' miało na celu wydobycie informacji o modelach samochodów z rocznika 2016 z tabeli 'samochody'. SQL (Structured Query Language) jest standardowym językiem służącym do manipulowania danymi w bazach danych. W tym przypadku, użyliśmy klauzuli WHERE do nakierowania zapytania na konkretne rekordy - te, dla których wartość w kolumnie 'rocznik' to 2016. Dlatego też poprawna odpowiedź to 'Punto, Corsa, Corolla', ponieważ to właśnie te modele samochodów są z rocznika 2016. To jest praktyczne zastosowanie zapytań SQL - pozwalają one na filtrowanie danych na podstawie konkretnych kryteriów. Dobrym zwyczajem jest tworzenie zapytań SQL, które są jak najbardziej precyzyjne, co przekłada się na efektywność i wydajność pracy z bazą danych.

Pytanie 2

Aby skutecznie zrealizować algorytm wyznaczający największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. pięciu zmiennych
B. dwóch warunków
C. dwóch tablic
D. jednej pętli
Wybór odpowiedzi "dwa warunki" jest prawidłowy, ponieważ algorytm do znalezienia największej z trzech liczb – a, b i c – można zrealizować za pomocą zaledwie dwóch porównań. Na przykład, pierwszy warunek mógłby porównywać liczby a i b, aby ustalić, która z nich jest większa. Następnie, drugi warunek porównuje tę większą wartość z liczbą c. W rezultacie, w ciągu dwóch warunków jesteśmy w stanie zidentyfikować największą liczbę. Praktycznie, to podejście jest efektywne i minimalistyczne, co jest zgodne z zasadą KISS (Keep It Simple, Stupid), która jest istotna w inżynierii oprogramowania. Ograniczenie liczby operacji do niezbędnego minimum nie tylko ułatwia zrozumienie algorytmu, ale także poprawia jego wydajność. Takie podejście jest często stosowane w codziennej programistyce, a także w bardziej zaawansowanych algorytmach, gdzie minimalizacja złożoności obliczeniowej jest kluczowa dla wydajności aplikacji.

Pytanie 3

Który z przedstawionych rysunków ilustruje efekt działania zamieszczonego fragmentu kodu HTML?

Ilustracja do pytania
A. rys. A
B. rys. D
C. rys. C
D. rys. B
Odpowiedzi inne niż rys. C nie są poprawne z powodu błędnego zrozumienia jak działa atrybut rowspan w języku HTML. Gdy komórka tabeli posiada atrybut rowspan oznacza to że komórka ta rozciąga się pionowo na określoną liczbę wierszy. W przypadku braku zrozumienia tego mechanizmu można błędnie przypuszczać że każda komórka zaczyna się i kończy w obrębie jednego wiersza. Taki tok myślenia prowadzi do niepoprawnego rozmieszczenia elementów tabeli jak w rys. A lub D gdzie nie wzięto pod uwagę łączenia komórek w pionie. W odpowiedzi A pierwsza komórka nie obejmuje dwóch wierszy co jest sprzeczne z kodem. W odpowiedzi B z kolei drugi wiersz zawiera dwie komórki co również jest sprzeczne z kodem który definiuje tylko jedną. Takie błędy często wynikają z braku doświadczenia w używaniu zaawansowanych funkcji HTML co może prowadzić do mylnych wyobrażeń o tym jak kod przekłada się na widok strony. Atrybuty rowspan i colspan są kluczowe w kontekście strukturalnego podejścia do budowy stron internetowych i ich poprawne użycie ma istotne znaczenie dla dostępności oraz zrozumienia danych przez użytkowników i technologie wspomagające. Ważne jest także zrozumienie różnic między tworzeniem struktury a prezentacją co jest możliwe dzięki CSS zamiast nadużywania tabel do layoutów.

Pytanie 4

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

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

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"><br>
obowiązki: <br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">testy oprogramowania<br>
</form>

A.

stanowisko: obowiązki: sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

B.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

C.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania

D.

stanowisko:
obowiązki:
sporządzanie dokumentacji
pisanie kodu
testy oprogramowania
A. A.
B. D.
C. B.
D. C.
Dokładnie tak powinien wyglądać ten formularz! Zwróć uwagę, jak HTML interpretuje znaczniki <br> – one wymuszają przejście do nowej linii, więc w kodzie wyjściowym każda sekcja obowiązków pojawi się osobno, pod sobą. To, że jeden z checkboxów ma atrybuty disabled oraz checked, powoduje, że jest domyślnie zaznaczony, ale nie można go odznaczyć ani zaznaczyć ponownie – to ważny niuans, bo czasem zapomina się, że disabled nie oznacza tylko „wyszarzony”, ale też „nie bierz udziału w wysyłaniu formularza”. Takie wykorzystanie checkboxów jest powszechne, szczególnie jeśli chcesz pokazać użytkownikowi pewne stałe informacje (np. obowiązek, którego nie można uniknąć). Z mojego doświadczenia, bardzo często w praktycznych projektach „disabled” stosuje się np. przy wymaganych oświadczeniach, gdzie użytkownik ma tylko do wglądu informację, że coś już jest włączone i nie może tego zmienić. No i jeszcze – checked przy pisaniu kodu powoduje, że checkbox jest domyślnie zaznaczony, co jest zgodne z kodem źródłowym. Same nazwy pól (czyli atrybuty name i value) zostaną wysłane do serwera tylko dla tych pól, które nie są disabled i użytkownik je zaznaczył. To też jest bardzo praktyczna rzecz, bo pozwala precyzyjnie sterować tym, co trafia do backendu. Moim zdaniem taka forma zapisu formularza to dobry punkt wyjścia do dalszej rozbudowy – łatwo dodać tutaj walidację, obsługę JavaScript czy zastosować style CSS. Trzymanie się tej składni ułatwia też potem pracę zespołową, bo jest czytelna i zgodna z oczekiwaniami innych programistów. Podsumowując, wybrałeś opcję najbliższą temu, co wyświetli przeglądarka na bazie danego kodu HTML – i to jest podejście zgodne ze standardami, doceniane w branży.

Pytanie 6

Jaką relację w projekcie bazy danych należy zdefiniować pomiędzy tabelami przedstawionymi na rysunku, zakładając, że każdy klient sklepu internetowego składa przynajmniej dwa zamówienia?

Ilustracja do pytania
A. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
B. 1:1
C. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
D. n:n
Relacja 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia, jest prawidłowa, ponieważ odzwierciedla rzeczywiste założenie, że każdy klient może złożyć wiele zamówień. W praktyce baza danych musi odwzorowywać te zależności, co pozwala na efektywne zarządzanie danymi. Każdy klient posiada unikalny identyfikator, zwykle klucz podstawowy, który nie może się powtarzać w tabeli Klient. Tabela Zamówienie posiada natomiast klucz obcy, który odnosi się do klucza podstawowego w tabeli Klient, umożliwiając przechowywanie wielu zamówień przypisanych do jednego klienta. Dzięki temu możemy łatwo wykonywać operacje takie jak wyszukiwanie wszystkich zamówień danego klienta czy śledzenie historii zakupów. Dobre praktyki projektowania baz danych podkreślają znaczenie poprawnego zdefiniowania relacji między tabelami, co zwiększa spójność danych i ułatwia ich późniejsze przetwarzanie. W systemach e-commerce taka struktura bazy danych jest niezbędna do obsługi klientów i śledzenia ich zamówień, co jest podstawą do analizy sprzedaży i tworzenia strategii marketingowych.

Pytanie 7

Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji JavaScript jest

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
Kod 1.
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}
Kod 2.
while (i < 100)
  document.write(i + ' ');
Kod 3.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}
Kod 4.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}
A. Kod 2.
B. Kod 1.
C. Kod 4.
D. Kod 3.
Gratulacje! Wybrałeś poprawną odpowiedź, która jest Kodem 3. Pętla for prezentowana na obrazku inicjuje zmienną i na 0, a następnie sprawdza warunek i < 100, wykonuje instrukcje w pętli for i zwiększa i o 10 za każdą iteracją. To jest standardowe zachowanie dla pętli for w języku programowania JavaScript. Kod 3 jest równoważny funkcjonalnie z pętlą for, ponieważ również inicjuje zmienną i na 0, a następnie w pętli while sprawdza warunek (i < 100), wykonuje instrukcje w pętli i zwiększa i o 10 w każdej iteracji. Zrozumienie różnych rodzajów pętli i ich równoważności jest kluczowe dla skutecznego programowania, ponieważ pozwala na optymalizację kodu i poprawę jego czytelności. Dobrą praktyką jest zrozumienie, kiedy używać różnych typów pętli w zależności od specyficznych wymagań danego problemu programistycznego.

Pytanie 8

Jaką metodę zastosowano do dodania arkusza stylów do dokumentu HTML w pokazanym kodzie?

Ilustracja do pytania
A. Styl wpisany, lokalny
B. Styl alternatywny, zewnętrzny
C. Styl wewnętrzny
D. Styl zewnętrzny
Styl wpisany lokalny w HTML to metoda definiowania stylów CSS bezpośrednio wewnątrz elementów HTML za pomocą atrybutu style. Jest to często stosowane, gdy chcemy szybko zdefiniować unikalne style dla pojedynczego elementu bez tworzenia lub edytowania zewnętrznego pliku CSS. Przykładowo poniższy kod HTML pokazuje jak możemy zmienić kolor tekstu w paragrafie na czerwony używając właśnie stylu pisanego zwanego również inline. Choć jest to proste i szybkie rozwiązanie nie jest zalecane dla większych projektów ze względu na brak możliwości ponownego użycia kodu i problematyczną jego konserwację. W praktyce najlepszym podejściem jest stosowanie stylów zewnętrznych które umożliwiają centralne zarządzanie wyglądem całego dokumentu. Standardy HTML i CSS promują modularność i oddzielenie warstwy prezentacyjnej od struktury co jest bardziej efektywne i zgodne z zasadami projektowania responsywnych aplikacji internetowych. Styl wpisany może być jednak przydatny w testach szybkich prototypach lub sytuacjach gdy zmiany muszą być wprowadzone lokalnie i mają one charakter jednorazowy. Dla bardziej złożonych aplikacji zaleca się jednak stosowanie bardziej zorganizowanych metod stylizacji takich jak style zewnętrzne.

Pytanie 9

Jaki wynik pojawi się po wykonaniu zaprezentowanego kodu HTML?

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź B
C. Odpowiedź C
D. Odpowiedź A
Odpowiedź D jest prawidłowa, ponieważ prezentowany kod HTML zawiera zagnieżdżone listy uporządkowane i nieuporządkowane. Zewnętrzna lista uporządkowana zaczyna się od numeru 1 i zawiera elementy li, gdzie drugi z nich zawiera w sobie listę nieuporządkowaną ul. Taka struktura jest zgodna ze standardami HTML i pozwala na efektywne prezentowanie hierarchii informacji. Co ważne, dodatkowy element ol z atrybutami type=A i start=4 generuje listę literową zaczynającą się od D, co jest wykorzystywane do tworzenia niestandardowych punktów startowych w listach uporządkowanych. Praktycznie, listy zagnieżdżone są używane do tworzenia bardziej złożonych struktur danych, jak instrukcje czy spisy treści. Korzystając z atrybutów type i start, możemy manipulować prezentacją list, co jest przydatne w rozwijających się serwisach internetowych. Zastosowanie atrybutu type z wartościami A, a, I itp., pozwala na zmianę stylu numerowania, co jest zgodne z dobrymi praktykami projektowania stron.

Pytanie 10

Aby skutecznie stworzyć relację typu m…n, która będzie wolna od redundancji danych, konieczne jest

A. zaprojektowanie tabeli pomocniczej.
B. bezpośrednie połączenie kluczy podstawowych obu tabel.
C. bezpośrednie połączenie kluczy obcych z obu tabel.
D. uporządkowanie przynajmniej jednej z tabel.
Stworzenie tabeli pomocniczej to kluczowy element w projektowaniu relacji typu m:n (wiele do wielu) w bazach danych. Taka relacja, aby była efektywna i nienarażona na redundancję danych, wymaga wprowadzenia dodatkowej tabeli, która będzie pełniła rolę pośrednika między dwiema głównymi tabelami. Tabela pomocnicza zawiera klucze obce, które odnoszą się do kluczy podstawowych obu tabel, co pozwala na zminimalizowanie duplikacji danych. Na przykład, w bazie danych dotyczącej studiów, jeśli mamy tabelę studentów i tabelę kursów, relacja m:n między nimi mogłaby być reprezentowana przez tabelę pomocniczą 'Zapisani', która zawierałaby identyfikatory studentów i identyfikatory kursów. Dzięki temu każdy student może być zapisany na wiele kursów, a każdy kurs może mieć wielu studentów, bez powielania informacji. Tworzenie takich tabel pomocniczych jest zgodne z zasadami normalizacji danych, co jest standardem w projektowaniu baz danych, mającym na celu optymalizację struktury danych oraz eliminację redundancji.

Pytanie 11

W znaczniku (w sekcji ) strony internetowej nie zamieszcza się informacji odnoszących się do

A. kodowania
B. rodzaju dokumentu
C. automatycznego przeładowania
D. autora
Odpowiedź "typu dokumentu" jest trafna, bo znacznik <meta> w HTML jest używany do ustawiania metadanych, które nie mówią nam bezpośrednio o typie dokumentu. W praktyce, to co znajdziemy w <meta>, dotyczy głównie takich rzeczy jak automatyczne odświeżanie strony (przez tag http-equiv="refresh"), kodowanie (gdzie definiujemy zestaw znaków, np. UTF-8) czy informacje o autorze strony (poprzez tag name="author"). Typ dokumentu jest ustalany w deklaracji DOCTYPE na początku dokumentu HTML, a nie w <meta>. Znaczniki <meta> mogą też pomóc w SEO i lepszym indeksowaniu przez wyszukiwarki. Na przykład, używając tagu <meta name="description" content="Opis strony">, możemy pomóc wyszukiwarkom lepiej zrozumieć, o czym jest nasza strona, co może zachęcić do kliknięcia w link w wynikach wyszukiwania.

Pytanie 12

Na podstawie jakiego parametru oraz z ilu tabel zostaną zwrócone wiersze w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis
WHERE producent.nr_id = hurtownia.nr_id
AND producent.wyrob_id = serwis.wyrob_id
AND hurtownia.nr_id = sklep.nr_id
AND sklep.nr_id = serwis.nr_id
AND producent.nr_id = 1;
A. Na podstawie parametru wyrob_id ze wszystkich tabel
B. Na podstawie parametru wyrob_id wyłącznie z trzech tabel
C. Na podstawie parametru nr_id ze wszystkich tabel
D. Na podstawie parametru nr_id wyłącznie z trzech tabel
Zapytanie SQL używa parametru nr_id jako kluczowego elementu łączącego cztery tabele producent hurtownia sklep oraz serwis Dzięki temu zapytanie zwraca wiersze dla wszystkich tych tabel gdzie istnieje wspólna wartość nr_id W praktyce klucz taki jak nr_id jest używany do tworzenia relacji pomiędzy różnymi tabelami co jest podstawą w relacyjnych bazach danych Użycie tego samego klucza w zapytaniu umożliwia efektywne łączenie danych i jest zgodne z zasadami normalizacji danych która zmniejsza redundancję i poprawia integralność danych Praktycznym przykładem może być analiza danych sprzedażowych gdzie nr_id reprezentuje unikalny identyfikator zamówienia łączący dane producenta dystrybutora sklepu i serwisu W ten sposób można uzyskać pełny widok na procesy biznesowe we wszystkich etapach cyklu życia produktu Zachowanie tej struktury relacyjnej pozwala na szybkie i dokładne analizy co jest kluczowe w podejmowaniu decyzji biznesowych

Pytanie 13

W przedstawionym diagramie bazy danych biblioteka, elementy: czytelnik, wypozyczenie i ksiazka są

Ilustracja do pytania
A. polami.
B. atrybutami.
C. krotkami.
D. encjami.
W diagramie bazy danych pokazanym w pytaniu elementy „czytelnik”, „wypozyczenie” i „ksiazka” to klasyczne przykłady encji. Encja w modelu relacyjnym (a dokładniej w modelu ER – Entity-Relationship) oznacza pewien typ obiektu ze świata rzeczywistego, o którym chcemy przechowywać dane w bazie. W praktyce encja odpowiada tabeli w relacyjnej bazie danych: encja CZYTELNIK → tabela czytelnik, encja KSIĄŻKA → tabela ksiazka, encja WYPOŻYCZENIE → tabela wypozyczenie. Każda z tych encji ma swój klucz główny (np. czytelnik_id, ksiazka_id, wypozyczenie_id), czyli atrybut jednoznacznie identyfikujący rekord. To jest dokładnie to, co w dobrych praktykach projektowania baz danych (np. wg standardowych metodologii ERD używanych w SQL Server, MySQL Workbench czy Oracle Data Modeler) uważa się za podstawę poprawnego modelu danych. Moim zdaniem bardzo ważne jest rozróżnienie poziomów: encja to „typ obiektu” (tabela), atrybut to „cecha obiektu” (kolumna), a krotka/rekord to „konkretne wystąpienie obiektu” (pojedynczy wiersz). Na przykład: encja CZYTELNIK opisuje wszystkich możliwych czytelników biblioteki, atrybuty tej encji to imie, nazwisko, ulica itd., a jedna konkretna krotka w tabeli czytelnik opisuje jedną osobę, np. Jana Kowalskiego z ulicy Lipowej 5. W projektowaniu systemów bibliotecznych, systemów sprzedażowych, magazynowych czy w aplikacjach webowych z bazą danych zawsze zaczyna się właśnie od zidentyfikowania encji: klient, zamówienie, produkt, faktura itd. Dopiero potem dopisuje się atrybuty, ustala relacje (tak jak tu: czytelnik – wypożyczenie – książka) i definiuje klucze obce. To podejście jest zgodne z normalizacją i ogólnymi zasadami projektowania relacyjnych baz danych – pomaga uniknąć nadmiarowości danych i błędów logicznych w aplikacji.

Pytanie 14

Wskaż warunek w języku JavaScript, który ma na celu sprawdzenie, czy przynajmniej jeden z poniższych przypadków jest spełniony: 1) dowolna naturalna liczba a jest liczbą trzycyfrową 2) dowolna liczba całkowita b jest liczbą ujemną

A. ((a>99)&&(a<1000))&&(b<0)
B. ((a>99)&&(a<1000))||(b<0)
C. ((a>99)||(a<1000))||(b<0)
D. ((a>99)||(a<1000))&&(b<0)
Warunek zapisany jako ((a>99)&&(a<1000))||(b<0) jest poprawny, ponieważ sprawdza dwa różne przypadki. Pierwsza część warunku, (a>99)&&(a<1000), zwraca prawdę, gdy a jest liczbą naturalną w zakresie od 100 do 999, co oznacza, że jest to liczba trzycyfrowa. Z kolei druga część, b<0, jest spełniona, gdy b jest liczbą całkowitą mniejszą od zera, co oznacza, że jest to liczba ujemna. Zastosowanie operatora logicznego '||' (OR) pozwala na spełnienie warunku, gdy przynajmniej jeden z dwóch przypadków jest prawdziwy. Użycie operatora '&&' (AND) w pierwszej części jest kluczowe, ponieważ musi być spełniony zarówno warunek większy niż 99, jak i mniejszy niż 1000, co pozwala na precyzyjne określenie, czy a jest liczbą trzycyfrową. Przykładowo, gdy a = 150, a b = -5, cały warunek zwróci prawdę z powodu drugiej części warunku. Na przeciwnym biegunie, jeśli a = 50, a b = 5, warunek zwróci fałsz, ponieważ ani a nie jest trzycyfrowe, ani b nie jest ujemne. Tego rodzaju warunki są powszechnie stosowane w programowaniu, aby weryfikować różne stany i wartości zmiennych w aplikacjach webowych i systemach informatycznych.

Pytanie 15

Które z poniższych stwierdzeń o antyaliasingu jest poprawne?

A. Antyaliasing jest jednym z filtrów stosowanych do wyostrzania obrazu
B. Antyaliasing pozwala na eliminację tzw. schodkowania obrazu
C. Wykorzystanie antyaliasingu dotyczy krzywych Beziera w grafice wektorowej
D. Antyaliasing jest stosowany w obrazach, aby wprowadzić przezroczystość
Antyaliasing to technika graficzna, która ma na celu eliminację efektu schodkowania, który pojawia się, gdy wyświetlane są linie diagonalne lub krzywe. Schodkowanie, zwane również efektem ząbkowania, powstaje z powodu ograniczonej rozdzielczości ekranu, co powoduje, że krawędzie obiektów wyglądają na poszarpane. Antyaliasing działa poprzez wygładzanie tych krawędzi, dodając do pikseli na obrzeżach obiektów kolory pośrednie, co tworzy iluzję gładkości. W praktyce, zastosowanie antyaliasingu jest szczególnie istotne w grafice komputerowej, animacji oraz w grach, gdzie płynne przejścia i detale mają kluczowe znaczenie dla jakości wizualnej. Standardy i dobre praktyki w branży zalecają stosowanie różnych metod antyaliasingu, takich jak MSAA (Multisample Anti-Aliasing) czy FXAA (Fast Approximate Anti-Aliasing), co pozwala na uzyskanie lepszych efektów w różnych kontekstach renderowania. Warto również pamiętać, że odpowiedni dobór metody antyaliasingu zależy od specyfiki projektu oraz sprzętu, na którym będzie on uruchamiany.

Pytanie 16

Kod umieszczony w ramce tworzy tabelę, która zawiera

Ilustracja do pytania
A. jeden wiersz i jeden słupek
B. dwa wiersze i dwa słupki
C. jeden wiersz i dwa słupki
D. dwa wiersze i jeden słupek
Podany kod HTML tworzy tabelę z jednym wierszem i dwoma kolumnami ponieważ w strukturze tabeli element <tr> definiuje wiersz a element <td> definiuje komórkę w tym wierszu. W tym przypadku kod zawiera jeden element <tr> co wskazuje na pojedynczy wiersz oraz dwa elementy <td> co oznacza że w tym wierszu znajdują się dwie kolumny. Tego typu struktura jest powszechnie wykorzystywana do przedstawiania danych w formie tabelarycznej co jest standardową praktyką w web developmencie. Tabele HTML są kluczowym elementem w projektowaniu stron internetowych gdyż pozwalają na uporządkowane prezentowanie informacji często używane do tworzenia harmonogramów porównań czy formularzy. Ważne jest aby pamiętać o poprawnym zamykaniu znaczników oraz przestrzeganiu hierarchii struktury tabeli co zapewnia jej poprawne wyświetlanie w przeglądarkach. Dobrą praktyką jest również stosowanie zewnętrznych arkuszy CSS do stylizacji tabel co pozwala na oddzielenie struktury od prezentacji i ułatwia zarządzanie wyglądem strony. Znajomość i umiejętność tworzenia tabel jest niezbędna dla każdego web dewelopera ponieważ tabele stanowią fundamentalny element organizacji danych w HTML.

Pytanie 17

Do jakich celów wykorzystywany jest certyfikat SSL?

A. do eliminowania złośliwego oprogramowania na stronie
B. do deszyfrowania przesyłanych danych
C. do przechowywania informacji o sesjach tworzonych na stronie
D. w celu identyfikacji właściciela domeny
Certyfikat SSL (Secure Sockets Layer) jest kluczowym elementem zapewniającym bezpieczeństwo komunikacji w Internecie. Jego podstawową funkcją jest zidentyfikowanie właściciela domeny oraz potwierdzenie tożsamości serwera, co jest niezwykle istotne w kontekście ochrony danych przesyłanych pomiędzy użytkownikiem a witryną. Certyfikat SSL działa na zasadzie kryptografii asymetrycznej, co oznacza, że każdy certyfikat posiada unikalny klucz publiczny i prywatny. Użytkownicy mogą być pewni, że komunikują się z właściwym serwerem, co zapobiega atakom typu 'man-in-the-middle'. Przykładem zastosowania certyfikatu SSL jest jego wykorzystanie w sklepach internetowych, gdzie dane osobowe oraz informacje o płatnościach są przesyłane w sposób zabezpieczony. Zgodność z standardami bezpieczeństwa, takimi jak PCI DSS, również wymaga użycia certyfikatów SSL. Dlatego wdrożenie certyfikatu SSL jest nie tylko najlepszą praktyką, ale również wymogiem dla wielu typów działalności online.

Pytanie 18

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. Tekst powinien mieć dokładnie 30 znaków.
B. W funkcji printf nie można używać formatowania %s.
C. Do funkcji printf przekazano za mało argumentów.
D. Tekst powinien być zawarty w cudzysłowie.
Odpowiedź jest poprawna, ponieważ w języku C i C++, napisy muszą być ujęte w podwójne cudzysłowy, aby kompilator mógł je rozpoznać jako literały znakowe. W kodzie, który przedstawiono, użyto pojedynczych cudzysłowów, co jest niezgodne z regułami składniowymi tych języków. Poprawna definicja napisu powinna wyglądać następująco: char str1[30] = \"Ala ma kota\"; Ujęcie napisu w cudzysłowy pozwala na poprawne zainicjowanie tablicy typu char, co jest standardową praktyką w programowaniu w C/C++. Dzięki temu kompilator wie, że wszystkie znaki zawarte w cudzysłowie stanowią część jednego ciągu. Warto również zauważyć, że przy pracy z napisami w C, często używa się funkcji standardowych, takich jak strlen do obliczania długości napisu czy strcpy do kopiowania ciągów. Te funkcje są szeroko stosowane w praktyce i znajomość ich działania jest kluczowa dla efektywnego programowania. "

Pytanie 19

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. usemap="#lekturamap"
C. alt="technik informatyk"
D. "height="42" width="42"
Prawidłowy atrybut to alt="technik informatyk", bo właśnie atrybut alt opisuje treść lub funkcję obrazu i jest kluczowy dla dostępności (accessibility). Czytniki ekranu, z których korzystają osoby niewidome lub słabowidzące, nie „widzą” grafiki – one odczytują tekst alternatywny. Jeśli alt jest dobrze uzupełniony, użytkownik wie, co przedstawia obraz, albo jaką pełni funkcję (np. przycisk, link, ikona). Bez tego opisowego tekstu obraz jest dla takiej osoby po prostu pustym miejscem na stronie. Z punktu widzenia standardów W3C i WCAG jest to jedna z absolutnie podstawowych dobrych praktyk. W wytycznych WCAG 2.x masz wprost zapisane, że treści nietekstowe muszą mieć tekst alternatywny. W praktyce: dla zdjęcia osoby można dać alt="Nauczyciel programowania przy komputerze", dla logo firmy alt="Logo firmy X" (albo pusty alt, jeśli logo jest tylko dekoracją, ale wtedy ważne są inne konteksty), dla przycisku w formie ikonki lupy alt="Szukaj". Moim zdaniem w realnych projektach najczęstszy błąd to wrzucanie przypadkowych tekstów w alt albo zostawianie go pustego, bo „przecież widać na obrazku”. Właśnie w takich sytuacjach użytkownik z niepełnosprawnością jest totalnie wykluczony. Dobrze opisany alt pomaga też, gdy grafika się nie załaduje (słaby internet, błąd ścieżki), bo przeglądarka wyświetli tekst zamiast obrazka. Warto też pamiętać, żeby nie powtarzać w alt tego, co już widać w podpisie bezpośrednio obok, tylko raczej go uzupełnić. W skrócie: alt jest obowiązkowy z punktu widzenia dostępności i jakościowo napisany tekst alternatywny to znak profesjonalnie zrobionej strony WWW.

Pytanie 20

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. wszystkich elementów tablicy
B. nieparzystych elementów tablicy
C. dodatnich elementów tablicy
D. parzystych elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 21

Czy automatyczna weryfikacja właściciela witryny dostępnej przez protokół HTTPS jest możliwa dzięki

A. certyfikatowi SSL
B. kluczom prywatnym
C. danym whois
D. informacjom kontaktowym na stronie
Automatyczna weryfikacja właściciela strony udostępnianej przez protokół HTTPS jest możliwa dzięki certyfikatowi SSL, który jest kluczowym elementem infrastruktury bezpieczeństwa w sieci. Certyfikat SSL (Secure Socket Layer) to dokument cyfrowy, który potwierdza tożsamość właściciela witryny oraz umożliwia szyfrowanie danych przesyłanych pomiędzy przeglądarką użytkownika a serwerem. W procesie weryfikacji certyfikatu, przeglądarka internetowa kontaktuje się z odpowiednim urzędem certyfikacji (CA), który wystawił dany certyfikat, w celu potwierdzenia, że certyfikat jest ważny oraz że podany w nim adres URL rzeczywiście należy do określonego właściciela. Przykładowe zastosowanie certyfikatów SSL obejmuje e-commerce, gdzie ochrona danych osobowych i transakcji jest kluczowa. Standardy takie jak X.509 określają format certyfikatów SSL, a ich zastosowanie zapewnia użytkownikom bezpieczniejsze przeglądanie stron internetowych. W kontekście SEO, posiadanie certyfikatu SSL jest również korzystne, gdyż wyszukiwarki, takie jak Google, preferują strony zabezpieczone HTTPS, co wpływa na ich pozycjonowanie.

Pytanie 22

Polecenie GRANT w języku SQL służy do

A. aktualizacji istniejących danych w bazie.
B. odbierania użytkownikom praw do obiektów.
C. nadawania użytkownikom praw do obiektów.
D. umieszczania nowych danych w bazie.
Poprawnie – polecenie GRANT w SQL służy właśnie do nadawania użytkownikom praw do obiektów w bazie danych. W praktyce GRANT jest jednym z kluczowych narzędzi mechanizmu kontroli dostępu, czyli tzw. autoryzacji. Najpierw ktoś łączy się z bazą (to jest uwierzytelnianie – login/hasło, certyfikat itd.), a dopiero potem baza sprawdza, jakie uprawnienia ma ten użytkownik. I tu wchodzi GRANT. Administrator lub właściciel obiektu może przyznać użytkownikowi np. prawo SELECT do tabeli `klienci`, prawo INSERT do tabeli `zamowienia`, albo prawo EXECUTE do procedury składowanej. Składnia jest dość prosta, np.: `GRANT SELECT, INSERT ON klienci TO jan;`. W większości systemów (np. PostgreSQL, Oracle, MySQL/MariaDB, SQL Server) idea jest podobna, różnią się tylko szczegóły i nazwy ról czy typów uprawnień. W dobrych praktykach bezpieczeństwa nie daje się użytkownikom uprawnień typu „wszystko na wszystkim”, tylko dokładnie to, czego potrzebują (tzw. zasada najmniejszych uprawnień – least privilege). Moim zdaniem warto już na etapie nauki SQL odróżniać polecenia do pracy na danych (SELECT, INSERT, UPDATE, DELETE) od poleceń do zarządzania uprawnieniami, takich jak GRANT i REVOKE. W codziennej pracy administratora baz, programisty backendu czy nawet osoby od DevOps, GRANT pojawia się bardzo często: przy tworzeniu nowych kont aplikacyjnych, przy separacji środowisk (dev/test/prod), przy ograniczaniu dostępu do wrażliwych tabel, np. z danymi osobowymi. Dobre zrozumienie GRANT pomaga też szybko diagnozować błędy typu „permission denied” i świadomie projektować politykę bezpieczeństwa w systemie.

Pytanie 23

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. zliczanie liczby wizyt na stronie
B. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
C. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
D. pokazanie ciasteczka z zapisanym parametrem
Program w PHP pokazany w pytaniu wykorzystuje mechanizm ciasteczek do zliczania liczby odwiedzin strony przez użytkownika. Mechanizm ten opiera się na zmiennej 'ciastko', która jest przechowywana w ciasteczku w przeglądarce użytkownika. Przy pierwszym uruchomieniu strony, jeśli ciasteczko nie istnieje, ustawiana jest jego wartość na 1. W kolejnych odwiedzinach wartość ta jest odczytywana i zwiększana o 1, a następnie ponownie zapisywana do ciasteczka. Dzięki temu użytkownik, odświeżając stronę, widzi aktualizowaną liczbę odwiedzin. Takie rozwiązanie jest skuteczne w śledzeniu aktywności użytkownika na stronie, ale ma swoje ograniczenia. Na przykład, jeśli użytkownik wyczyści ciasteczka w swojej przeglądarce, licznik zostanie zresetowany, co może być niepożądane w niektórych aplikacjach. Zliczanie odwiedzin z wykorzystaniem ciasteczek jest jednak popularnym podejściem ze względu na prostotę implementacji i brak potrzeby skomplikowanej infrastruktury serwerowej. W praktyce, dla bardziej zaawansowanej analizy odwiedzin, często korzysta się również z narzędzi analitycznych, jak Google Analytics, które pozwalają na śledzenie użytkowników bez wpływu na ich lokalne ustawienia przeglądarki

Pytanie 24

Walidacja strony internetowej polega na

A. udostępnianiu w Internecie
B. zestawie działań mających na celu podniesienie liczby odwiedzin
C. sprawdzeniu jej w celu usunięcia błędów
D. reklamie strony
Proces walidacji strony internetowej to kluczowy etap w cyklu życia witryny, który ma na celu identyfikację i eliminację błędów technicznych oraz zgodność z określonymi standardami. Walidacja obejmuje sprawdzenie struktury HTML, CSS oraz JavaScript, co pozwala na upewnienie się, że strona działa poprawnie na różnych przeglądarkach i urządzeniach. Techniki walidacji mogą obejmować użycie narzędzi online, takich jak W3C Validator, który ocenia zgodność kodu z aktualnymi standardami W3C. Przykładowo, błędy w składni HTML mogą prowadzić do niepoprawnego renderowania strony, co negatywnie wpływa na doświadczenia użytkowników. Dodatkowo, walidacja może obejmować testy funkcjonalności oraz bezpieczeństwa, co jest szczególnie istotne w kontekście przetwarzania danych osobowych. Niezależnie od celu witryny - czy to e-commerce, blog, czy portal informacyjny - regularna walidacja pozwala na ich optymalizację oraz zwiększenie efektywności SEO. Przestrzeganie standardów nie tylko poprawia jakość strony, ale także może wpływać na jej pozycjonowanie w wynikach wyszukiwania.

Pytanie 25

Jaką funkcję w edytorze grafiki rastrowej trzeba wykorzystać, żeby przygotować rysunek do publikacji na stronie tak, aby widoczne było jedynie to, co znajduje się w obrębie ramki?

Ilustracja do pytania
A. Kadrowanie
B. Skalowanie
C. Odbicie
D. Perspektywa
Kadrowanie w edytorze grafiki rastrowej pozwala na wycięcie określonego fragmentu obrazu aby skupić uwagę na jego najważniejszej części. Proces kadrowania jest niezbędny w sytuacjach gdy chcemy przedstawić tylko wybrany obszar grafiki co jest powszechną praktyką w przygotowywaniu ilustracji do publikacji online. Poprzez kadrowanie eliminujemy zbędną przestrzeń wokół istotnych elementów dzięki czemu obraz staje się bardziej czytelny i estetyczny. Jest to szczególnie ważne w kontekście ograniczonej przestrzeni na stronach internetowych oraz chęci optymalizacji rozmiarów plików graficznych co wpływa na szybkość ładowania witryny. Dobrze wykonane kadrowanie pozwala również na zachowanie estetyki kompozycji obrazu poprzez zastosowanie zasad takich jak reguła trójpodziału co zwiększa atrakcyjność wizualną. Warto również pamiętać że w kontekście norm branżowych kadrowanie jest podstawowym narzędziem w arsenale każdego grafika co znajduje odzwierciedlenie w większości współczesnych aplikacji do edycji grafiki rastrowej.

Pytanie 26

Aby dodać nowy rekord do tabeli Pracownicy, konieczne jest zastosowanie polecenia SQL

A. INSERT (Jan, Kowalski) INTO Pracownicy
B. INSERT VALUES (Jan, Kowalski) INTO Pracownicy
C. INSERT INTO Pracownicy VALUES ('Jan',' Kowalski')
D. INSERT VALUES Pracownicy INTO (Jan, Kowalski)
Aby dodać nowy rekord do tabeli Pracownicy w bazie danych, należy skorzystać z polecenia SQL INSERT INTO, które jest standardowym sposobem na wprowadzenie nowych danych do tabeli. Poprawna składnia polecenia to 'INSERT INTO <nazwa_tabeli> VALUES (<wartości>)'. W przypadku podanego przykładu, używamy 'INSERT INTO Pracownicy VALUES ('Jan', 'Kowalski');', co jest zgodne z wymaganiami SQL. Polecenie to wprowadza dwa nowe atrybuty: imię 'Jan' oraz nazwisko 'Kowalski' do tabeli Pracownicy. Ważne jest, aby wartości były poprawnie otoczone apostrofami w przypadku typów danych tekstowych. Zgodnie z normami SQL, zapis ten pozwala na dodanie rekordu, pod warunkiem, że kolumny tabeli są zgodne z wprowadzanymi danymi, a tabela Pracownicy została wcześniej zdefiniowana w bazie danych. Przykładem może być sytuacja, w której tabela Pracownicy ma kolumny 'Imie' i 'Nazwisko', a wprowadzenie wartości bezpośrednio do tych kolumn jest zgodne z ich definicją.

Pytanie 27

Które z przedstawionych usług są niezbędne w celu udostępnienia strony internetowej pod adresem https://zawodowe.edu.pl?

A. serwer WWW, SMTP, POP3
B. DNS, FTP
C. DNS, serwer WWW, certyfikat SSL
D. SMTP, FTP
Poprawnie wybrałeś zestaw usług, które są faktycznie niezbędne, żeby strona działała pod adresem https://zawodowe.edu.pl. Po pierwsze DNS – bez tej usługi użytkownik musiałby wpisywać w przeglądarce adres IP serwera, a nie przyjazną nazwę domenową. Serwer DNS przechowuje rekordy, np. typu A lub AAAA, które mapują nazwę „zawodowe.edu.pl” na konkretny adres IP. W praktyce konfigurujesz to u rejestratora domeny albo w panelu hostingowym i dopiero wtedy domena zaczyna „wskazywać” na serwer WWW. Drugi element to serwer WWW (HTTP/HTTPS), czyli oprogramowanie typu Apache, Nginx, LiteSpeed czy IIS, które obsługuje żądania HTTP od przeglądarki, zwraca pliki HTML, CSS, JS, grafiki i generuje odpowiedzi dynamiczne (np. z PHP). Bez działającego serwera WWW sama domena byłaby bezużyteczna – przeglądarka po prostu nie miałaby skąd pobrać treści strony. Trzeci składnik, często niedoceniany, to certyfikat SSL/TLS. Ponieważ adres zaczyna się od https://, połączenie musi być szyfrowane zgodnie ze standardem TLS. Certyfikat SSL potwierdza tożsamość serwera i umożliwia nawiązanie bezpiecznego kanału komunikacyjnego (szyfrowanie, integralność, uwierzytelnienie). W praktyce oznacza to brak ostrzeżeń w przeglądarce typu „Połączenie nie jest bezpieczne” oraz spełnienie aktualnych wymogów bezpieczeństwa i RODO, szczególnie jeśli na stronie są formularze logowania czy kontaktowe. Dobre praktyki branżowe mówią dziś jasno: każda strona z logowaniem, danymi użytkowników, a tak naprawdę praktycznie każda publiczna witryna powinna działać wyłącznie w HTTPS, najlepiej z automatycznym odnowieniem certyfikatu (np. Let’s Encrypt). Moim zdaniem warto od razu przyzwyczajać się do poprawnej konfiguracji: DNS ustawiony na właściwe rekordy, serwer WWW skonfigurowany pod daną domenę (VirtualHost/ServerName) oraz poprawnie zainstalowany certyfikat SSL z przekierowaniem z HTTP na HTTPS.

Pytanie 28

Jakie polecenie należy wykorzystać, aby przypisać użytkownikowi uprawnienia do tabel w bazie danych?

A. CREATE
B. GRANT
C. REVOKE
D. SELECT
Poprawna odpowiedź to GRANT, które jest standardowym poleceniem w systemach zarządzania bazami danych (DBMS) umożliwiającym nadawanie użytkownikom uprawnień do wykonywania określonych operacji na obiektach bazy danych, takich jak tabele, widoki czy procedury. Przy użyciu GRANT administrator bazy danych może precyzyjnie określić, jakie działania użytkownik może wykonać, np. SELECT (odczyt danych), INSERT (wstawianie danych), UPDATE (aktualizacja danych) czy DELETE (usuwanie danych). Przykładowo, polecenie 'GRANT SELECT ON tablename TO username;' nadaje użytkownikowi 'username' prawo do odczytu danych z tabeli 'tablename'. Dobrą praktyką jest przydzielanie minimalnych uprawnień, które są niezbędne do realizacji zadań, co zwiększa bezpieczeństwo bazy danych. Warto również zauważyć, że uprawnienia mogą być nadawane grupom użytkowników, co upraszcza zarządzanie dostępem w dużych organizacjach.

Pytanie 29

Rozdzielczość obrazów cyfrowych wyświetlanych na ekranie monitora wyrażona w liczbie pikseli na cal określa jednostka

A. dpi
B. lpi
C. ppi
D. spi
Prawidłowa odpowiedź to ppi, czyli pixels per inch. Ta jednostka opisuje, ile pikseli przypada na jeden cal długości ekranu i dotyczy konkretnie wyświetlaczy: monitorów, ekranów laptopów, smartfonów, tabletów. W praktyce ppi mówi o gęstości pikseli na ekranie, a więc o tym, jak „ostry” będzie obraz przy danej fizycznej wielkości wyświetlacza. Dwa monitory mogą mieć tę samą rozdzielczość w pikselach (np. 1920×1080), ale inne ppi, jeśli mają różne przekątne. Ten o mniejszej przekątnej będzie miał większe ppi, czyli obraz będzie wyglądał na bardziej szczegółowy. W projektowaniu grafiki na potrzeby WWW przyjmuje się, że kluczowa jest właśnie liczba pikseli w poziomie i pionie oraz fizyczne ppi ekranu użytkownika. Moim zdaniem warto pamiętać, że ppi dotyczy świata ekranów i interfejsów użytkownika, a nie druku. W wielu programach graficznych, gdy tworzysz layout strony, ikonę, element UI, ustawienie ppi pliku ma znaczenie głównie przy podglądzie na różnych urządzeniach, a nie dla samego kodu HTML/CSS. Przeglądarka i tak operuje na pikselach logicznych. Jednak przy projektowaniu responsywnym dobrze kojarzyć ppi z pojęciami takimi jak „retina” czy „HiDPI” – tam po prostu zwiększa się gęstość pikseli, dzięki czemu grafika wygląda ostrzej, ale wymaga to przygotowania obrazów w wyższej rozdzielczości. W branży przyjęło się mówić, że ppi to parametr urządzenia wyświetlającego, a nie pliku, i to jest bardzo zdrowe podejście przy pracy z grafiką na potrzeby stron WWW.

Pytanie 30

Funkcja colspan umożliwia łączenie komórek tabeli w układzie poziomym, natomiast rowspan w układzie pionowym. Która z poniższych tabel odpowiada fragmentowi kodu w języku HTML?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź A
C. Odpowiedź C
D. Odpowiedź D
Polecenie rowspan w języku HTML służy do łączenia komórek tabeli w pionie. W podanym fragmencie kodu HTML, atrybut rowspan jest użyty z wartością 2 w pierwszej komórce pierwszego wiersza. Oznacza to, że ta komórka będzie się rozciągać na dwa wiersze, co jest widoczne w odpowiedzi B. Tabelę HTML można wykorzystać do tworzenia złożonych struktur danych, gdzie rowspan jest kluczowe w przypadku, gdy chcemy zminimalizować liczbę komórek i lepiej zorganizować dane w pionowe bloki. Użycie rowspan jest zgodne ze standardami HTML5, które zalecają semantyczne i logiczne układanie danych. Praktyczne zastosowanie rowspan można znaleźć w projektach takich jak raporty finansowe czy skomplikowane formularze, gdzie często wymagane jest łączenie komórek w pionie. W projektowaniu stron internetowych zaleca się stosowanie tabel w przypadkach rzeczywistych danych tabelarycznych, a nie do układu strony, co jest zgodne z wytycznymi dotyczącymi dostępności WCAG.

Pytanie 31

W języku PHP, aby uzyskać dostęp do pliku dane.txt w trybie tylko do odczytu i odczytać jego zawartość, należy użyć funkcji:

A. fopen("dane.txt", "w") oraz fputs()
B. fopen("dane.txt", "r") oraz fputs()
C. fopen("dane.txt", "r") oraz fgets()
D. fopen("dane.txt", "w") oraz fgets()
Odpowiedź fopen("dane.txt", "r") oraz fgets() jest poprawna, ponieważ zastosowanie funkcji fopen z parametrem 'r' otwiera plik w trybie do odczytu. Funkcja fgets służy do odczytywania pojedynczej linii z pliku, co idealnie odpowiada potrzebie pobrania zawartości z pliku dane.txt. Przykładowe użycie tej pary funkcji może wyglądać tak: $handle = fopen('dane.txt', 'r'); if ($handle) { while (($line = fgets($handle)) !== false) { echo $line; } fclose($handle); } Warto również zauważyć, że przy pracy z plikami w PHP zaleca się zawsze sprawdzanie, czy plik został poprawnie otwarty, aby uniknąć błędów w czasie wykonania. Dobre praktyki obejmują także zamykanie pliku po jego użyciu, co pomaga w zarządzaniu zasobami systemowymi. Dodatkowo, w przypadku błędów, można wykorzystać funkcję error_reporting(), aby monitorować błędy i ostrzeżenia, co jest niezbędne w profesjonalnym rozwoju aplikacji webowych w PHP.

Pytanie 32

Jaka linia w języku HTML wskazuje kodowanie znaków używane w dokumencie?

A. <meta encoding="UTF-8">
B. <encoding="UTF-8">
C. <charset="UTF-8">
D. <meta charset="UTF-8">
Zapis <meta charset="UTF-8"> jest poprawną deklaracją kodowania znaków w dokumencie HTML, ponieważ jest zgodny z aktualnymi standardami W3C. Element <meta> powinien znajdować się w sekcji <head> dokumentu HTML i pozwala przeglądarkom na właściwe interpretowanie znaków w treści strony. Kodowanie UTF-8 jest szeroko stosowane, ponieważ obsługuje wszystkie znaki w standardzie Unicode, co czyni go idealnym dla aplikacji wielojęzycznych. Użycie poprawnego kodowania jest kluczowe, aby uniknąć problemów z wyświetlaniem tekstu, takich jak błędne znaki lub krzaki, które pojawiają się, gdy przeglądarka nie wie, jak zinterpretować dane. Przykładowo, jeżeli mamy stronę internetową w kilku językach, użycie UTF-8 zapewnia, że znaki diakrytyczne w języku polskim, czeskim czy niemieckim będą poprawnie wyświetlane. Warto również pamiętać, aby zawsze umieszczać tę deklarację jako pierwszą w sekcji <head>, aby zapewnić, że przeglądarka prawidłowo zinterpretuje wszystkie inne elementy. W kontekście SEO oraz dostępności, poprawne kodowanie jest istotne, ponieważ wpływa na indeksowanie treści przez wyszukiwarki oraz ich prezentację dla użytkowników.

Pytanie 33

W celu sprawdzenia poprawności składni kodu CSS można skorzystać z

A. konsolidatora.
B. optymalizatora.
C. narzędzia debbuger.
D. walidatora.
Jeśli chcesz sprawdzić, czy Twój kod CSS jest poprawny, to najlepiej skorzystać z walidatora. To taki program lub strona, która podpowiada, czy wszystko jest zrobione zgodnie z zasadami ustalonymi przez W3C. Dzięki walidatorowi możesz szybko znaleźć błędy w swoim kodzie, na przykład brakuje średnika, są nieprawidłowe wartości lub coś jest nie tak z właściwościami. Używanie walidatorów jest ważne, bo nie tylko poprawia jakość kodu, ale też wpływa na to, jak szybko ładuje się strona i jak dobrze działa na różnych urządzeniach. Można znaleźć online narzędzia, jak W3C CSS Validation Service, gdzie wystarczy wkleić kod, a potem dostajesz raport z błędami. Generalnie, walidacja kodu CSS to dobry sposób na poprawienie jego jakości, a to z kolei może pomóc w lepszym SEO.

Pytanie 34

Dana jest tabela studenci o polach id_albumu, ubezpieczenie. Modyfikacja w kolumnie ubezpieczenie polegająca na zmianie wierszy bez wartości (NULL) na ciąg znaków „brak” zostanie wykonana kwerendą

A. ALTER TABLE studenci ADD ubezpieczenie='brak' WHERE ubezpieczenie IS NULL;
B. UPDATE studenci SET ubezpieczenie='brak' WHERE ubezpieczenie IS NULL;
C. ALTER TABLE studenci MODIFY COLUMN ubezpieczenie='brak' NOT NULL;
D. UPDATE studenci ubezpieczenie IS NULL SET ubezpieczenie='brak';
Prawidłowa kwerenda używa instrukcji UPDATE z klauzulą SET oraz warunkiem w części WHERE: „UPDATE studenci SET ubezpieczenie='brak' WHERE ubezpieczenie IS NULL;”. To dokładnie odpowiada temu, co chcemy zrobić: zaktualizować istniejące rekordy w tabeli, tylko w tych wierszach, gdzie kolumna ubezpieczenie ma wartość NULL. UPDATE służy właśnie do modyfikowania danych w tabeli, a nie do zmiany jej struktury. Kluczowy jest tu warunek WHERE ubezpieczenie IS NULL – bez tego zmienilibyśmy wartość ubezpieczenie na „brak” we wszystkich wierszach, co byłoby poważnym błędem. W SQL porównanie z NULL odbywa się zawsze przez IS NULL lub IS NOT NULL, a nie przez operator =, bo NULL oznacza „brak danych”, a nie konkretną wartość. Moim zdaniem warto zapamiętać ten schemat, bo w praktyce pracy z bazami danych bardzo często trzeba „sprzątać” dane: zastępować wartości NULL jakimiś domyślnymi opisami, np. „nieznany”, „nie dotyczy”, „brak danych”. Przykładowo: UPDATE klienci SET telefon='brak' WHERE telefon IS NULL; albo UPDATE pracownicy SET premia=0 WHERE premia IS NULL;. To jest ten sam wzorzec działania. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym warunkiem WHERE, żeby zobaczyć, które rekordy zostaną zmodyfikowane, zanim puścimy właściwy UPDATE. W projektowaniu baz danych przyjęło się, że UPDATE służy do zmiany zawartości wierszy, a ALTER TABLE do zmiany struktury tabeli (dodawanie kolumn, zmiana typów, kluczy itp.). Mieszanie tych dwóch ról prowadzi potem do dziwnych błędów. W standardowym SQL nie ma możliwości aktualizacji tylko części wierszy poprzez ALTER TABLE, dlatego tutaj jedynym sensownym, poprawnym i zgodnym z dobrymi praktykami rozwiązaniem jest właśnie użycie UPDATE z warunkiem WHERE ubezpieczenie IS NULL.

Pytanie 35

Kolor zaprezentowany na ilustracji, zapisany w modelu RGB, w formacie szesnastkowym będzie określony w następujący sposób

Ilustracja do pytania
A. 71A0B2
B. 76A3C1
C. 77A1C1
D. 77A0C1
Błędne odpowiedzi wynikają z niepoprawnej konwersji wartości RGB na zapis szesnastkowy. Przy konwersji kolorów z modelu RGB na system szesnastkowy kluczowe jest poprawne przeliczenie każdej z trzech składowych: czerwonego zielonego i niebieskiego. Wartości te w modelu RGB wahają się od 0 do 255 co w systemie szesnastkowym odpowiada wartościom od 00 do FF. Niewłaściwe zrozumienie tego procesu prowadzi do błędnych wyników. W przykładzie wartość 119 dla czerwonego należy przeliczyć na 77 w systemie szesnastkowym. Podobnie 160 dla zielonego konwertuje się na A0 a 193 dla niebieskiego na C1. Powszechny błąd polega na pomyleniu wartości dziesiętnych z ich odpowiednikami szesnastkowymi bądź na niepoprawnym zaokrąglaniu podczas konwersji. Innym częstym błędem jest niepoprawne zrozumienie znaczenia kolejności zapisu gdzie każda para znaków odpowiada jednej składowej RGB. Aby uniknąć takich błędów warto korzystać z kalkulatorów konwersji lub narzędzi graficznych które automatycznie dokonują prawidłowej zamiany co jest zgodne z dobrymi praktykami projektowymi. Znajomość tych zasad jest kluczowa w pracy z grafiką komputerową i web designem gdzie precyzja w odwzorowaniu kolorów ma ogromne znaczenie dla ostatecznego wyglądu projektu.

Pytanie 36

Jak można umieścić komentarz w kodzie PHP, używając odpowiednich symboli?

A. /? ... ?/
B. <!-- ... -->
C. <? ... ?>
D. /* ... */
W języku PHP, komentarze można umieszczać w kodzie przy użyciu znaku '/*' na początku i '*/' na końcu. Jest to standardowy sposób tworzenia komentarzy blokowych, który pozwala na dodanie dłuższych opisów lub notatek. Komentarze te są ignorowane przez interpreter PHP, co oznacza, że nie wpływają na działanie programu. Użycie komentarzy blokowych jest szczególnie przydatne w sytuacjach, gdy chcemy wyłączyć większe fragmenty kodu lub dokumentować skomplikowane algorytmy. Można również stosować komentarze jednolinijkowe, które rozpoczyna się od znaku '//'. Ważne jest, aby stosować komentarze w sposób przemyślany, aby poprawić czytelność kodu oraz ułatwić jego utrzymanie. Warto zaznaczyć, że zgodnie z zaleceniami standardów PEP8 i PSR-12, dobrze udokumentowany kod jest kluczowy dla jego długoterminowej użyteczności i współpracy w zespole programistycznym. Przykładem użycia komentarza blokowego może być: /* To jest komentarz blokowy, który wyjaśnia poniższy kod. */

Pytanie 37

W HTML znacznik <i> wywołuje taki sam efekt wizualny jak znacznik

A. <strong>
B. <u>
C. <pre>
D. <em>
Znacznik <em> (emphasis) w języku HTML jest używany do podkreślenia znaczenia słów lub fraz w kontekście tekstu, co jest zgodne z semantyką sieci. Użycie tego znacznika nie tylko zmienia styl prezentacji tekstu na kursywę, ale także wskazuje, że dany fragment tekstu jest istotny dla zrozumienia całości. Znacznik <i> (italic) również stosuje kursywę, ale nie ma znaczenia semantycznego, co oznacza, że nie informuje przeglądarek ani technologii wspomagających o istotności tego tekstu. W praktyce, stosując <em> w miejscach, gdzie chcemy zaakcentować ważne elementy, pomagamy w poprawie dostępności strony oraz w jej SEO, ponieważ wyszukiwarki mogą lepiej zrozumieć strukturę i kontekst treści. Warto pamiętać, że według standardów W3C, stosowanie znaczników semantycznych, takich jak <em>, jest zalecane dla poprawy struktury dokumentu HTML oraz dla lepszej interakcji z użytkownikami wykorzystującymi technologie asystujące. Przykład: <p>W tej książce <em>odkryjesz</em> nowe możliwości.</p>

Pytanie 38

Jakie znaczniki należy zastosować, aby w pliku z rozszerzeniem php umieścić kod napisany w języku PHP?

A. <php>  .......................  </php>
B. <?php ................................ ?>
C. <php ..................................... />
D. <?php> .......................... <php?>
Żeby umieścić kod PHP w pliku o rozszerzeniu .php, trzeba użyć znaczników <?php i ?>. Te znaczniki mówią serwerowi, że wszystko, co jest między nimi, należy traktować jako kod PHP. To jest standardowa praktyka w PHP, ważne jest, aby kod był właściwie przetwarzany przez interpreter. Na przykład, jeżeli chcemy pokazać napis na stronie, możemy użyć: <?php echo 'Witaj świecie!'; ?>. Dzięki temu można w łatwy sposób wpleść kod PHP w plik HTML i robić różne rzeczy, jak np. pracować z bazami danych czy obsługiwać formularze. Zrozumienie tych znaczników jest mega ważne dla każdego programisty, bo wpływa to na wydajność i bezpieczeństwo aplikacji. Jeszcze jedno, PHP to język dynamicznie typowany, więc jego interpretacja może się różnić w zależności od kontekstu. Dlatego tak istotne jest, żeby dobrze formatować kod.

Pytanie 39

Zapis koloru w formacie #ff00e0 odpowiada zapisowi

A. rgb(255,0,224)
B. rgb(ff,0,e0)
C. rgb(255,0,128)
D. rgb(f,0,e0)
Oznaczenie barwy w postaci #ff00e0 jest zapisem w systemie szesnastkowym (hexadecimal), który jest powszechnie stosowany w programowaniu i projektowaniu stron internetowych. Kod ten składa się z trzech par znaków, gdzie pierwsza para (ff) reprezentuje wartość czerwonego koloru, druga para (00) wartość zielonego koloru, a trzecia para (e0) wartość niebieskiego koloru. W formacie RGB, którym jest zapis rgb(red, green, blue), wartości są podawane w skali od 0 do 255. Aby przeliczyć szesnastkowy zapis na wartości dziesiętne, należy każdą parę szesnastkową zinterpretować jako liczbę dziesiętną. Dla 'ff' otrzymujemy 255, dla '00' - 0, a dla 'e0' - 224, co prowadzi nas do zapisu rgb(255, 0, 224). Ten kolor jest intensywnym różowym odcieniem, który można wykorzystać w różnych aplikacjach graficznych oraz na stronach internetowych, w tym w CSS. Dobrą praktyką jest znajomość konwersji między tymi formatami, ponieważ pozwala to na efektywną pracę z grafiką i designem.

Pytanie 40

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. DROP TABLE
B. REMOVE
C. TRUNCATE
D. DELETE FROM
Istnieje kilka nieporozumień związanych z usuwaniem danych z tabel SQL, co może prowadzić do błędów. Polecenie <code>DROP TABLE</code> jest często mylone z <code>DELETE FROM</code>. Jednak <code>DROP TABLE</code> usuwa zarówno dane, jak i strukturę tabeli, co oznacza, że po jego użyciu nie będzie można odzyskać tabeli bez jej ponownego stworzenia. To polecenie jest destrukcyjne i powinno być używane tylko wtedy, gdy mamy pewność, że tabela nie jest już potrzebna. Z kolei <code>REMOVE</code> nie jest poprawnym poleceniem SQL. To może wynikać z mylnego przekonania, że istnieje takie polecenie w języku SQL, jednak w rzeczywistości nie jest ono częścią standardu SQL. Tego typu błędy wynikają często z nieznajomości składni SQL lub mylenia z innymi językami programowania, które mogą mieć podobne polecenia. Na koniec, <code>ERASE TABLE</code> również nie jest poprawnym poleceniem SQL. Może to być wynikiem intuicyjnego podejścia do nazewnictwa poleceń, ale w rzeczywistości SQL posługuje się innymi komendami. Kluczowe jest, by dobrze zrozumieć standardy języka SQL i znać właściwe polecenia dla zamierzonych operacji, aby uniknąć potencjalnie destrukcyjnych działań na bazie danych.