Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 16:37
  • Data zakończenia: 8 czerwca 2026 17:00

Egzamin zdany!

Wynik: 34/40 punktów (85,0%)

Wymagane minimum: 20 punktów (50%)

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

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu

A. p { text-indent: 30px; }
B. p { line-indent: 30px; }
C. p { text-spacing: 30px; }
D. p { line-height: 30px; }
Odpowiedź p { text-indent: 30px; } jest poprawna, ponieważ właściwość text-indent w CSS służy do definiowania wcięcia pierwszej linii tekstu w elemencie blokowym, takim jak akapit (p). Umożliwia to nadanie tekstowi estetycznego wyglądu oraz zwiększenie czytelności, szczególnie w dłuższych blokach tekstu. Wartość 30px oznacza, że pierwsza linia akapitu zostanie przesunięta o 30 pikseli w prawo względem pozostałych linii. Przykładowo, jeśli mamy długi akapit z tekstem, zastosowanie wcięcia może pomóc w wyodrębnieniu go wizualnie, co sprzyja lepszemu zrozumieniu zawartości przez użytkowników. Warto także dodać, że standardy CSS są regularnie aktualizowane, a stosowanie dobrych praktyk, takich jak odpowiednie formatowanie tekstu, ma kluczowe znaczenie w projektowaniu responsywnych i przyjaznych dla użytkownika stron internetowych. Wykorzystanie text-indent jest jedną z technik, które przyczyniają się do poprawy UX (User Experience).

Pytanie 2

Która jednostka rozmiaru w CSS jest WZGLĘDNA (skaluje się względem rozmiaru odniesienia)?

A.
pt
B.
cm
C.
em
D.
px
Jednostki względne skalują się w stosunku do innej wartości, dzięki czemu układ łatwiej dopasować do urządzenia. em odnosi się do rozmiaru czcionki elementu (a rem do rozmiaru korzenia dokumentu); podobnie względne są procenty. Dlatego względną jednostką spośród podanych jest em.

Pytanie 3

W programie do obróbki grafiki rastrowej zmodyfikowano krzywe kolorów tak, jak zaznaczono ramką na przedstawionym obrazie. Ma to na celu

Ilustracja do pytania
A. modyfikację najjaśniejszych i najciemniejszych kolorów obrazu
B. przyciemnienie całego obrazu
C. rozjaśnienie całego obrazu
D. wygładzenie krawędzi w obrazie
Modyfikacja krzywych kolorów w programie do obróbki grafiki rastrowej polega na manipulacji wartościami kolorów w obrazie, co ma na celu wpływ na najjaśniejsze i najciemniejsze odcienie. Takie działanie umożliwia zwiększenie kontrastu oraz poprawę dynamiki kolorystycznej, co jest szczególnie ważne w profesjonalnej edycji zdjęć. Na przykład, podnosząc wartości skrajnych punktów na krzywej jasności, można uzyskać efekt wyraźniejszego podziału pomiędzy cieniami a światłami, co sprawia, że obraz staje się bardziej wyrazisty. W praktyce, edytory graficzne, takie jak Adobe Photoshop, oferują narzędzie krzywych, które pozwala na precyzyjne dostosowanie kolorów, co jest standardem w branży. Tego typu modyfikacje są kluczowe, aby dostosować obrazy do potrzeb drukarskich czy prezentacji cyfrowych, gdzie jakość i kolorystyka są niezmiernie ważne. Zmiana krzywych kolorów pozwala również na osiągnięcie zamierzonych efektów artystycznych i stylizacji zdjęć, które są istotne w marketingu wizualnym.

Pytanie 4

Który program przekształca kod źródłowy napisany w danym języku programowania na język zrozumiały dla komputera?

A. debugger
B. edytor kodu źródłowego
C. środowisko programistyczne (IDE)
D. kompilator
Kompilator to program, który tłumaczy cały kod źródłowy napisany w języku programowania na kod maszynowy (lub pośredni) zrozumiały dla komputera, tworząc program wynikowy - np. plik wykonywalny. Robi to przed uruchomieniem, w całości, dzięki czemu gotowy program działa szybko. Tak budowane są aplikacje w językach C czy C++. Przeciwieństwem jest interpreter, który wykonuje kod na bieżąco bez tworzenia osobnego pliku. Dlatego program tłumaczący kod źródłowy na język komputera to kompilator.

Pytanie 5

Jaki zapis w dokumencie HTML umożliwia powiązanie z zewnętrznym arkuszem stylów o nazwie style.css?

A. <a href="style.css">
B. <link rel="stylesheet' src="style.css">
C. <link rel="stylesheet" href="style.css">
D. <a src="style.css">
Zapis <a src="style.css"> jest błędny, ponieważ element <a> służy do tworzenia odnośników do innych stron lub zasobów, a nie do dołączania arkuszy stylów. Atrybut 'src' nie jest właściwy dla elementu <a>, który powinien używać atrybutu 'href'. Zastosowanie elementu <a> w tym kontekście pokazuje typowy błąd myślowy, polegający na myleniu celów różnych znaczników HTML. Element <link> jest przeznaczony do osadzania zasobów, takich jak arkusze stylów, a nie <a>, które jest używane do nawigacji. Kolejny błąd występuje w zapisie <a href="style.css">, który również nie jest przeznaczony do dołączania arkuszy stylów. Choć użycie atrybutu 'href' jest poprawne, element <a> nie jest odpowiedni do tego celu. Stosowanie niewłaściwych znaczników może prowadzić do problemów z wydajnością i dostępnością strony. Zapis <link rel="stylesheet' src="style.css"> zawiera dodatkowy błąd związany z użyciem atrybutu 'src' zamiast 'href', co jest niezgodne z definicją elementu <link> w standardzie HTML. Używanie atrybutu 'src' w tym miejscu prowadzi do nieodpowiedniego załadowania stylów i może spowodować błędy w renderowaniu strony. Takie niepoprawne podejścia prowadzą do złożoności w zarządzaniu stroną i mogą skutkować trudnościami w utrzymywaniu spójności wizualnej oraz funkcjonalnej w projekcie.

Pytanie 6

W tabeli klienci w bazie danych sklepu internetowego występują m.in. pola całkowite: punkty,
liczbaZakupow oraz pole ostatnieZakupy typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę

A. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
B. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
C. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
D. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
Odpowiedź 'WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'' jest prawidłowa, ponieważ dokładnie odzwierciedla wymagania dotyczące filtrowania klientów. Klauzula WHERE używa operatora OR dla dwóch warunków: liczba punktów musi być większa niż 3000, albo liczba zakupów musi być większa niż 100. Taki zapis jest kluczowy, ponieważ spełnienie jednego z tych warunków jest wystarczające. Następnie, warunek dotyczący daty ostatnich zakupów jest połączony z powyższymi za pomocą operatora AND, co oznacza, że musi być spełniony jednocześnie. Dzięki użyciu nawiasów, zapytanie jest jasne i jednoznaczne, co jest zgodne z dobrymi praktykami w tworzeniu zapytań SQL. W praktyce takie kwerendy są często używane w systemach CRM, gdzie konieczne jest segmentowanie klientów na podstawie ich aktywności oraz wartości, co pozwala na skuteczniejsze podejmowanie decyzji marketingowych.

Pytanie 7

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
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 8

W którym pliku konfiguracyjnym serwera Apache ustawia się przekierowanie 301 (z jednego URL na inny)?

A.
configuration.php
B.
conf.php
C.
.htaccess
D.
apacheConf
Pozostałe nazwy nie są plikami konfiguracji Apache. conf.php i configuration.php to pliki PHP (np. konfiguracja aplikacji), a „apacheConf” nie istnieje. Przekierowania definiuje .htaccess.

Pytanie 9

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. wymaga podania dwóch argumentów przy wywołaniu
B. może być wywołana z jedną wartością
C. nie zwraca wartości
D. nie przyjmuje żadnych argumentów
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 10

W języku HTML zdefiniowano znacznik

<a href="http://website.com" rel="nofollow">link</a>
Wartość nofollow atrybutu rel
A. oznacza, że kliknięcie na link nie przeniesie do strony website.com.
B. jest informacją dla przeglądarki internetowej, aby nie formatowała słowa "link" jako odnośnika.
C. oznacza, że kliknięcie na link otworzy go w osobnej karcie przeglądarki.
D. jest informacją dla robota wyszukiwarki Google, aby nie podążał za tym linkiem.
Dobrze, że to wybrałeś! Atrybut rel='nofollow' w tagu <a> w HTML mówi robotom wyszukiwarek, jak Google, żeby nie śledziły tego linku. Często używa się go w SEO, czyli w optymalizacji stron. Dzięki temu możemy zdecydować, które linki na naszej stronie są ważne, a które nie. Jeśli mamy na myśli, żeby dana strona była mniej widoczna w wyszukiwarkach, to ten atrybut się przyda. Tylko musisz pamiętać, że zbyt wiele linków z 'nofollow' może sprawić, że wyszukiwarki nie będą patrzyły na naszą stronę za dobrze. Moim zdaniem, warto to dobrze przemyśleć!

Pytanie 11

W języku C++ utworzono zmienną: char zml;. Jak można przypisać jej wartość, zgodnie ze składnią tego języka?

A. zml = "wiadro";
B. zml == 0x35;
C. zml[2] = 32;
D. zml = ' w ' ;
Odpowiedź zml = ' w '; jest poprawna, ponieważ w języku C++ przypisywanie wartości do zmiennej typu char może być wykonane za pomocą pojedynczych cudzysłowów. Zmienna char przechowuje pojedynczy znak, a użycie podwójnych cudzysłowów sugeruje, że zamierzamy przypisać łańcuch znaków (string), co jest niezgodne z deklarowanym typem zmiennej. Przykład zastosowania to sytuacja, w której chcemy przechować literę, na przykład: char zml = 'A'; co jest prawidłowym przypisaniem. Dzięki temu, wywołując zmienną zml, otrzymamy przechowywaną wartość, co jest kluczowe w programowaniu, gdyż pozwala na manipulację danymi na poziomie znaków. Warto również pamiętać, że w C++ możemy używać zmiennych typu char w kontekście kodowania ASCII, gdzie każdemu znakowi przypisany jest unikalny numer, co czyni je niezwykle użytecznymi w operacjach na tekstach i danych.

Pytanie 12

Kolor zielony w skróconej notacji szesnastkowej można w CSS zapisać jako:

A.
#00F
B.
#0F0
C.
#FFF
D.
#F00
CSS dopuszcza skrócony zapis koloru #RGB, w którym każda cyfra jest powielana - #0F0 odpowiada #00FF00. To pełna składowa zielona przy zerowych pozostałych, czyli czysty zielony. Skrót działa tylko, gdy obie cyfry pary są takie same (np. #FF8800#F80). Dlatego zielony w skróconej notacji to #0F0.

Pytanie 13

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięty rekord najstarszego pracownika.
B. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
C. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
D. usunięta tabela Pracownicy.
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika.
Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE.
Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie.
Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 14

Który sposób komentowania NIE jest stosowany w kodzie PHP?

A.
/* komentarz */
B.
# komentarz
C.
<!-- komentarz -->
D.
// komentarz
PHP obsługuje trzy rodzaje komentarzy: jednoliniowe // oraz # i blokowy /* ... */. Zapis <!-- ... --> to komentarz języka HTML i w kodzie PHP NIE zadziała - interpreter potraktuje go jak zwykły tekst lub zgłosi błąd. Dlatego to właśnie ten sposób nie należy do PHP. Zapamiętaj: <!-- --> zostaje w warstwie HTML, nie PHP.

Pytanie 15

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 3
B. 15
C. 5
D. 7
Zrozumienie działania tego algorytmu jest kluczowe dla programowania i matematyki obliczeniowej. Algorytm ten wykorzystuje pętlę 'dopóki', która wykonuje operacje na dwóch zmiennych: Z i N. Na początku Z jest równe 0, a N jest równe 1. Pętla trwa dopóki Z jest mniejsze od 3. W każdej iteracji pętli zmienna N jest aktualizowana zgodnie z wyrażeniem N = N * 2 + 1 oraz Z jest zwiększane o 1. Przy pierwszej iteracji Z wynosi 0, więc N staje się 1 * 2 + 1 = 3, a Z zostaje zwiększone do 1. W drugiej iteracji Z wynosi 1, więc N staje się 3 * 2 + 1 = 7, a Z wynosi 2. W trzeciej iteracji Z wynosi 2, dlatego N staje się 7 * 2 + 1 = 15, a Z zostaje zwiększone do 3, co kończy pętlę. W rezultacie, gdy algorytm kończy działanie, zmienna N ma wartość 15, która zostaje wypisana. To podejście jest zgodne z dobrymi praktykami w pisaniu algorytmów, gdzie dbałość o zrozumienie pętli i operacji na zmiennych jest fundamentalna dla tworzenia wydajnych programów.

Pytanie 16

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

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

Pytanie 17

Na ilustracji ukazano rezultat stylizacji za pomocą CSS oraz kod HTML generujący ten przykład. Zakładając, że marginesy wewnętrzne wynoszą 50 px, a zewnętrzne 20 px, jak wygląda styl CSS dla tego obrazu?

Ilustracja do pytania
A. D.
B. C.
C. B.
D. A.
Poprawna odpowiedź C wskazuje na właściwe zastosowanie właściwości CSS z użyciem solidnego czarnego obramowania o grubości 4 pikseli oraz marginesów wewnętrznych i zewnętrznych. Właściwa konfiguracja stylów CSS pozwala na precyzyjne kontrolowanie wyglądu elementów na stronie, co jest kluczowe w tworzeniu responsywnych i estetycznych stron internetowych. Użycie właściwości background-color z wartością Teal pozwala na ustawienie koloru tła, co może być istotne dla zachowania spójności wizualnej projektu. Padding ustawia wewnętrzne marginesy elementu umożliwiając kontrolę nad przestrzenią wokół zawartości, co może wpływać na czytelność i estetykę. Margins z kolei określają przestrzeń zewnętrzną oddzielając element od innych sąsiednich elementów. Poprawne zrozumienie tych stylów pozwala na efektywne projektowanie UI z myślą o użytkowniku końcowym. Dodatkowo praktyczne zastosowanie solidnych obramowań jest powszechne w podkreślaniu istotnych sekcji wizualnych, co jest zgodne z dobrymi praktykami w projektowaniu stron.

Pytanie 18

Efektem wykonania poniższego kodu PHP jest wyświetlenie komunikatu:

$a = $c = true;
$b = $d = false;

if(($a && $b) || ($c && $d))
    echo 'warunek1';
elseif(($a && $b) || ($c || $d))
    echo 'warunek2';
elseif(($c && $d) || (!$a))
    echo 'warunek3';
else
    echo 'warunek4';
A. warunek4
B. warunek2
C. warunek3
D. warunek1
Poprawna jest odpowiedź „warunek2”, bo właśnie ten blok warunkowy jako pierwszy spełnia się dla zadanych wartości zmiennych. Rozbijmy to spokojnie na czynniki pierwsze. Na początku mamy przypisania: `$a = $c = true;` oraz `$b = $d = false;`. To oznacza, że `$a` i `$c` są logicznie prawdziwe, a `$b` i `$d` logicznie fałszywe.

Pierwszy `if` sprawdza: `($a && $b) || ($c && $d)`. Część `$a && $b` to `true && false`, więc daje `false`. Druga część `$c && $d` to `true && false`, też `false`. Cały warunek to więc `false || false`, czyli `false`. Ten blok się nie wykona.

Następnie interpreter PHP przechodzi do `elseif`: `($a && $b) || ($c || $d)`. Znowu `$a && $b` to `false`, ale teraz mamy drugą część: `$c || $d` to `true || false`, czyli `true`. Czyli cały warunek to `false || true`, czyli `true`. W tym momencie PHP wykonuje `echo 'warunek2';` i kończy sprawdzanie dalszych `elseif`/`else` – to jest bardzo ważna cecha konstrukcji `if/elseif/else`: po pierwszym spełnionym warunku reszta jest ignorowana.

Praktycznie w PHP (i w innych językach C‑podobnych) takie logiczne łączenie warunków przydaje się np. przy sprawdzaniu uprawnień użytkownika: `if(($isAdmin && $isActive) || $isSuperAdmin)`. Warto pamiętać o priorytetach operatorów `&&` i `||` oraz zawsze dodawać nawiasy, kiedy chcemy jasno zaznaczyć kolejność. Z mojego doświadczenia wynika, że jawne nawiasowanie, nawet tam gdzie nie jest konieczne, zmniejsza liczbę bugów i ułatwia czytanie kodu zespołowi.

Dobrą praktyką jest też upraszczanie złożonych warunków, np. przez wyciąganie fragmentów do osobnych, dobrze nazwanych zmiennych: `$hasBasicAccess = $a && $b; $hasExtendedAccess = $c || $d; if($hasBasicAccess || $hasExtendedAccess) ...`. Kod jest wtedy bardziej samodokumentujący i łatwiejszy w utrzymaniu.

Pytanie 19

W bibliotece mysqli w PHP, aby uzyskać najbardziej aktualny komunikat o błędzie, można użyć funkcji

A. mysqli_error()
B. mysqli_error_list()
C. mysqli_errno()
D. mysqli_use_result()
Funkcja mysqli_error() w bibliotece mysqli języka PHP jest sposobem na uzyskanie ostatniego komunikatu o błędzie związanym z połączeniem lub zapytaniem SQL. Zwraca ona łańcuch znaków, który opisuje ostatni błąd związany z danym połączeniem. Jest to niezwykle przydatne narzędzie w procesie debugowania, ponieważ pozwala programiście szybko zidentyfikować źródło problemu. Na przykład, jeśli napotkasz błąd podczas wykonywania zapytania, możesz użyć mysqli_error($connection) po funkcji wykonującej zapytanie, aby uzyskać szczegółowy opis błędu. W kontekście dobrych praktyk programistycznych, zawsze należy obsługiwać błędy i nie ignorować ich, aby uniknąć trudności w przyszłości. Warto również pamiętać, że funkcja ta działa tylko w kontekście aktualnego połączenia bazodanowego, co oznacza, że przed jej użyciem musisz mieć aktywne połączenie. Przykład użycia: $result = mysqli_query($connection, $query); if (!$result) { echo mysqli_error($connection); }

Pytanie 20

Poniższe zapytanie zwróci

SELECT COUNT(cena) FROM uslugi;
A. wszystkie wartości cen usług w tabeli
B. łączną wartość cen usług w tabeli
C. liczbę wszystkich cen usług w tabeli
D. średnią wartość cen usług w tabeli
Wszystkie pozostałe odpowiedzi wynikają z nieporozumienia dotyczącego funkcji COUNT oraz jej zastosowania w SQL. Przede wszystkim, odpowiedź sugerująca sumę cen usług jest błędna, ponieważ COUNT nie sumuje wartości, lecz zlicza ich ilość. W SQL do obliczenia sumy używa się funkcji SUM. W kontekście średniej ceny, podobnie, funkcja COUNT nie dostarcza takiej informacji; do obliczeń średnich wykorzystuje się funkcję AVG. Innym częstym błędem jest mylenie zliczania wszystkich rekordów z wyświetlaniem ich wartości. Użycie COUNT zawsze odnosi się do ilości, a nie do treści poszczególnych rekordów. Warto zrozumieć, że funkcje agregujące, takie jak COUNT, SUM, AVG, MAX czy MIN, mają różne zastosowania i dostarczają różnych informacji. Każda z tych funkcji ma swoje specyficzne zadanie i nie można ich stosować zamiennie. Na przykład, błędna interpretacja może prowadzić do sytuacji, w której analityk danych podejmuje decyzje na podstawie niewłaściwie zrozumianych wyników zapytania, co może skutkować poważnymi konsekwencjami biznesowymi. W związku z tym istotne jest nie tylko znajomość składni SQL, ale także zrozumienie logiki stojącej za funkcjami agregującymi, co jest kluczowe dla analizy danych.

Pytanie 21

Jak nazywa się komponent oznaczony znakiem zapytania w architekturze platformy .NET, który pozwala na tworzenie własnych aplikacji za pomocą frameworków oraz przekształcanie skompilowanego kodu pośredniego na kod maszynowy procesora zainstalowanego w systemie?

Ilustracja do pytania
A. Wspólne środowisko programistyczne (CLP)
B. Biblioteka klas bazowych (BCL)
C. Infrastruktura językowa (CLI)
D. Wspólne środowisko uruchomieniowe (CLR)
CLR, czyli wspólne środowisko uruchomieniowe, to naprawdę ważny element platformy .NET. Odpowiada za to, jak programy napisane w różnych językach, na przykład C# czy VB.NET, są wykonywane. Działa trochę jak tłumacz między aplikacjami a systemem operacyjnym. Dzięki niemu mamy różne fajne funkcje, jak zarządzanie pamięcią, obsługa wyjątków czy bezpieczeństwo typów. CLR przekształca kod pośredni (MSIL) na kod, który rozumie procesor, co jest super, bo pozwala na działanie aplikacji na różnych sprzętach. Dobrym przykładem zastosowania CLR są aplikacje ASP.NET, gdzie zajmuje się zarządzaniem pamięcią i wydajnością kodu. Co ważne, CLR wspiera różne dobre praktyki programistyczne, takie jak DRY (Don't Repeat Yourself) czy modularność, co sprawia, że kod jest bardziej czytelny i łatwiejszy do ponownego wykorzystania. Tak więc, CLR to fundament całej platformy .NET, który pozwala na tworzenie niezawodnych i skalowalnych aplikacji.

Pytanie 22

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w przedziale (0, 100), a wartość zmiennej b jest większa od zera. Jak można poprawnie zapisać taki warunek?

A. if ((a > 0 11 a < 100) && b > 0)
B. if ((a > 0 && a < 100) 11 b < 0)
C. if (a > 0 || a < 100 11 b < 0)
D. if (a > 0 && a < 100 && b > 0)
Odpowiedź if (a > 0 && a < 100 && b > 0) jest prawidłowa, ponieważ dokładnie odzwierciedla wymogi przedstawione w pytaniu. W tym przypadku, warunek sprawdza, czy zmienna 'a' jest większa od zera oraz mniejsza od 100, co oznacza, że mieści się w przedziale (0, 100). Dodatkowo, warunek b > 0 zapewnia, że zmienna 'b' ma wartość większą od zera. Użycie operatora logicznego && jest kluczowe, ponieważ pozwala na połączenie wszystkich trzech warunków, co oznacza, że wszystkie muszą być spełnione, aby blok kodu w instrukcji if został wykonany. W praktyce, ten typ instrukcji jest niezwykle użyteczny w różnorodnych aplikacjach, na przykład w systemach walidacji danych wejściowych, gdzie istotne jest sprawdzenie, czy wartości są w określonych zakresach przed przetwarzaniem. Dobrą praktyką jest zawsze stosowanie wyraźnych i zrozumiałych warunków logicznych w celu zwiększenia czytelności i utrzymania kodu, co jest zgodne z zasadami czystego kodowania.

Pytanie 23

W systemie zarządzania bazami danych MySQL komenda CREATE USER pozwala na

A. stworznie nowego użytkownika oraz przydzielenie mu uprawnień do bazy
B. utworzenie użytkownika
C. zmianę hasła dla już istniejącego użytkownika
D. pokazanie danych o istniejącym użytkowniku
Polecenie CREATE USER w MySQL jest używane do tworzenia nowych użytkowników w systemie baz danych. W kontekście zarządzania bazami danych, kluczowym aspektem jest kontrola dostępu, a odpowiednie zdefiniowanie użytkowników jest niezbędne dla zapewnienia bezpieczeństwa danych. Używając CREATE USER, administrator bazy danych może zdefiniować nazwę użytkownika oraz powiązane z nią hasło, co stanowi pierwszy krok w procesie zarządzania uprawnieniami. Dobrą praktyką jest stosowanie silnych haseł oraz nadawanie użytkownikom tylko tych uprawnień, które są im rzeczywiście potrzebne do wykonania ich zadań. Na przykład, w przypadku aplikacji webowych często tworzy się specjalnych użytkowników z ograniczonymi prawami dostępu, co minimalizuje ryzyko nieautoryzowanego dostępu do wrażliwych danych. Warto pamiętać, że po utworzeniu użytkownika, można wykorzystać polecenia GRANT, aby przyznać mu odpowiednie uprawnienia do konkretnych baz danych lub tabel, co pozwala na precyzyjne zarządzanie dostępem. Ponadto, MySQL pozwala na tworzenie użytkowników z różnymi poziomami dostępu, co jest kluczowe dla organizacji z wieloma działami oraz różnorodnymi potrzebami w zakresie bezpieczeństwa danych.

Pytanie 24

W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan:

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do
A. tworzenia tabeli oraz edytowania danych w niej
B. tworzenia tabeli i wypełniania jej danymi
C. edycji danych oraz przeglądania tabeli
D. wyświetlania zawartości tabeli
Jan, po wydaniu polecenia GRANT ALL PRIVILEGES ON artykuly TO jan, miał pełne uprawnienia do wszystkich operacji na tabeli artykuly. Jednakże, po wykonaniu polecenia REVOKE SELECT, UPDATE ON artykuly FROM jan, jego uprawnienia do przeglądania danych (SELECT) oraz aktualizacji danych (UPDATE) zostały odebrane. Oznacza to, że Jan zachowuje możliwość tworzenia nowych tabel oraz wypełniania ich danymi (INSERT), ponieważ nie został ograniczony w tym zakresie. Możliwości tworzenia tabeli i wypełniania jej danymi są częścią przyznanych uprawnień. W standardzie SQL, komendy GRANT i REVOKE służą odpowiednio do przyznawania i odbierania uprawnień użytkownikom. W praktycznym zastosowaniu, takie operacje są kluczowe dla zarządzania bezpieczeństwem i dostępem do danych w bazach danych, co zapobiega nieautoryzowanym zmianom i zabezpiecza integralność danych.

Pytanie 25

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_query($zapytanie)
B. mysqli_fetch_array($zapytanie)
C. mysqli_free_result($zapytanie)
D. mysqli_num_fields($zapytanie)
Funkcja mysqli_fetch_array($zapytanie) jest używana do pobierania wyników zapytania SQL w formie tablicy asocjacyjnej lub indeksowanej. W kontekście podanego kodu, po wykonaniu zapytania SELECT do bazy danych, wyniki są zwracane jako zasób, który musi być przetworzony. Mysqli_fetch_array pozwala na iteracyjne przetwarzanie każdego wiersza z zestawu wyników, co umożliwia dostęp do poszczególnych wartości pól za pomocą indeksów lub kluczy. Jest to przydatne w sytuacjach, gdzie dane muszą być wyświetlane lub przetwarzane w pętli, jak w przykładowym kodzie. Tablica zwracana przez mysqli_fetch_array może zawierać pola zarówno z indeksami numerycznymi, jak i nazwami kolumn, co daje elastyczność w dostępie do danych. Zgodnie z dobrymi praktykami programistycznymi, zawsze należy sprawdzić, czy zapytanie zostało wykonane poprawnie, zanim zacznie się przetwarzać jego wyniki, oraz zwolnić pamięć po zakończeniu przetwarzania wyników. Stosowanie odpowiednich mechanizmów obsługi błędów i zabezpieczeń, takich jak przygotowane zapytania, jest również kluczowe dla bezpieczeństwa aplikacji.

Pytanie 26

Który odnośnik (hiperłącze) jest poprawnie zapisany?

A.
<a href=http://strona.pl>strona</a>
B.
<a href="http::/strona.pl>strona</a>
C.
<a href="http://strona.pl">strona</a>
D.
<a src="/www.strona.pl">strona</a>
Hiperłącze tworzy znacznik <a>, a adres docelowy podaje się w atrybucie href, w cudzysłowie: <a href="http://strona.pl">strona</a>. Tekst między <a> a </a> to widoczna treść odnośnika. Ważne są prawidłowy adres (ze schematem http:// lub https://) oraz poprawne ujęcie wartości w cudzysłów. Dlatego poprawny jest zapis <a href="http://strona.pl">strona</a>.

Pytanie 27

Warunek zapisany w języku PHP wypisze liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest ona parzysta.
B. jest ona dodatnia.
C. jest ona liczbą pierwszą.
D. wynik dzielenia liczby przez 2 jest równy 0.
Twoja odpowiedź jest poprawna. Warunek w języku PHP 'if($liczba % 2 == 0)' sprawdza faktycznie, czy dana liczba jest parzysta. Jak dobrze zauważyłeś, reszta z dzielenia liczby parzystej przez 2 jest zawsze równa 0. Jest to bezpośrednie odzwierciedlenie definicji liczby parzystej, która mówi, że jest to liczba, którą można podzielić przez 2 bez reszty. Dlatego warunek ten jest powszechnie stosowany w programowaniu do sprawdzania parzystości liczby. W praktyce, może on być wykorzystany np. do filtrowania danych, gdzie chcemy wykluczyć liczby nieparzyste albo też do różnego rodzaju operacji na tablicach, gdzie operacje wykonujemy tylko dla indeksów parzystych. Pamiętaj jednak, że ten warunek nie sprawdzi, czy liczba jest dodatnia, ujemna czy pierwsza. Do tego potrzebne będą inne warunki i operacje.

Pytanie 28

Dla strony internetowej stworzono styl, który będzie stosowany tylko do wybranych znaczników, takich jak niektóre nagłówki oraz kilka akapitów. W tej sytuacji, aby przypisać styl do konkretnych znaczników, najodpowiedniejsze będzie użycie

Ilustracja do pytania
A. selektora akapitu
B. identyfikatora
C. klasy
D. pseudoklasy
Pseudoklasy w CSS są używane do stylizowania elementów w określonym stanie, np. :hover dla zmiany stylu po najechaniu myszą. Nie są odpowiednie do przypisywania unikalnych stylów do konkretnych elementów. Identyfikator w CSS, oznaczany przez #, jest używany do stylizowania jednego unikalnego elementu na stronie. Jego użycie jest ograniczone do jednego elementu, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Nie nadaje się do sytuacji, gdy ten sam styl ma być stosowany do wielu elementów, ponieważ zmuszałoby to do definiowania i przypisywania wielu unikalnych identyfikatorów do każdego z nich, co jest przeciwieństwem DRY (Don't Repeat Yourself). Selektor akapitu bezpośrednio odnosi się do wszystkich elementów danego typu, np. p dla wszystkich akapitów. Nie jest on elastyczny, gdy chcemy zastosować styl tylko do niektórych elementów danego typu. Klasy oferują większą elastyczność w zarządzaniu stylami wielu elementów, ponieważ mogą być stosowane do różnych typów elementów w różnych miejscach dokumentu HTML. Ponadto, klasy są bardziej czytelne i ułatwiają utrzymanie kodu, co jest zgodne z najlepszymi praktykami w programowaniu front-endowym. Użycie klas wspiera również lepszą strukturę i modularność kodu CSS, co jest istotne w kontekście pracy zespołowej oraz skalowalności projektu.

Pytanie 29

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. dodać znak $ przed nazwami zmiennych
B. wprowadzić nawiasy klamrowe w sekcji if i else
C. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
D. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
Odpowiedź o wstawieniu nawiasów klamrowych do sekcji if oraz else jest prawidłowa, ponieważ w JavaScript, gdy warunek if lub else obejmuje więcej niż jedną instrukcję, należy użyć nawiasów klamrowych, aby zgrupować te instrukcje. W przeciwnym razie, język traktuje jako część bloku kodu tylko pierwszą instrukcję. W omawianym kodzie, bez nawiasów klamrowych, tylko pierwsze wywołanie document.write w każdej z sekcji jest wykonywane, co skutkuje brakiem komunikatu w przypadku, gdy warunek jest spełniony. Przykładowo, poprawny kod powinien wyglądać tak: if (a < b) { document.write(a); document.write('jest mniejsze'); } else { document.write(b); document.write('jest mniejsze'); }. Nawiasy klamrowe są standardową praktyką, która poprawia czytelność kodu oraz ułatwia jego modyfikację w przyszłości, co jest zgodne z zasadami dobrego programowania.

Pytanie 30

Jak wygląda instrukcja przypisania wartości do elementu tablicy w języku JavaScript względem tablicy?

Tablica['technik'] = 'informatyk';
A. numerycznej
B. wielowymiarowej
C. statycznej
D. asocjacyjnej
W języku JavaScript tablice mogą być traktowane jako obiekty, a więc wykazują cechy struktur asocjacyjnych. Przypisując wartość do tablicy za pomocą notacji z nawiasami kwadratowymi, jak w przykładzie 'Tablica[\'technik\'] = \'informatyk\';', tworzymy nowy element o kluczu 'technik', co jest charakterystyczne dla obiektów asocjacyjnych. W JavaScript tablice są dynamiczne, co oznacza, że możemy dodawać elementy w dowolny sposób, a ich rozmiar nie jest ustalony z góry. Standard ECMAScript definiuje tablice jako obiekty, gdzie klucze są indeksami liczb całkowitych, ale można również używać stringów jako kluczy, co czyni tablice asocjacyjnymi. Przykładem może być obiekt, który przechowuje różne informacje, a elementy są dostępne zarówno za pomocą indeksów numerycznych, jak i stringów. Warto zaznaczyć, że użycie tablicy jako obiektu asocjacyjnego może być praktyczne w wielu zastosowaniach, np. w przechowywaniu konfiguracji czy zestawów danych. Dobrą praktyką jest jednak ograniczać użycie takich technik dla przejrzystości kodu."

Pytanie 31

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

A. wielodostępność do danych
B. system zarządzania wersjami bazy
C. narzędzia do generowania statystyk
D. moduł do wizualizacji diagramów encji
Kluczowym mechanizmem SZBD jest WIELODOSTĘPNOŚĆ - umożliwienie wielu użytkownikom jednoczesnej, bezpiecznej pracy na tych samych danych, z kontrolą współbieżności, blokadami i transakcjami. To podstawa działania systemu bazodanowego. Dlatego kluczowa jest wielodostępność do danych.

Pytanie 32

Wskaż wszystkie symbole, które pozwalają na komentowanie kodu w języku PHP.

A. <?php ?> oraz //
B. /* */ oraz <!-- -->
C. /* */ oraz // oraz #
D. tylko /* */
Odpowiedź, która wskazuje na znaki /* */, // oraz # jako metody komentowania w PHP jest poprawna. W języku PHP istnieją różne sposoby na dodawanie komentarzy, co jest kluczowe dla dokumentacji kodu i ułatwiania jego późniejszego zrozumienia. Komentarze wieloliniowe otaczane są przez znaki /* i */. Umożliwiają one opisanie złożonych fragmentów kodu, co jest przydatne w przypadku długich wyjaśnień. Z kolei // umożliwia tworzenie komentarzy jednoliniowych, co jest idealne dla krótkich notatek czy opisów funkcji. Dodatkowo, znak # również pozwala na tworzenie komentarzy jednoliniowych, co czyni go użytecznym w kontekście skryptów PHP, szczególnie w połączeniu z plikami konfiguracyjnymi. Właściwe stosowanie komentarzy jest częścią dobrych praktyk programistycznych, które pozwalają na lepszą współpracę w zespole oraz przyszłą konserwację kodu. Przykładowo, użycie komentarzy do wyjaśnienia zastosowania konkretnej funkcji w kodzie może znacznie ułatwić pracę innym programistom, którzy będą musieli pracować z tym kodem w przyszłości.

Pytanie 33

W każdej iteracji pętli wartość aktualnego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do ostatniego elementu tablicy. Czy to zdanie odnosi się do instrukcji?

A. foreach
B. for
C. next
D. while
Odpowiedzi takie jak 'for', 'next' oraz 'while' mają swoje specyficzne zastosowania w kontekście iteracji, ale nie są w pełni dostosowane do opisanego zachowania w pytaniu. Instrukcja 'for' wymaga zdefiniowania zmiennych kontrolnych, co wiąże się z ręcznym zarządzaniem indeksami. Kiedy wykorzystujemy pętlę 'for', musimy samodzielnie określić warunki początkowe, warunki kontynuacji oraz sposób inkrementacji, co może prowadzić do błędów, zwłaszcza w kontekście tablic. Z kolei 'next' nie jest samodzielną konstrukcją w wielu językach programowania, a jego użycie jest często związane z iteracją po kolekcjach, ale nie definiuje pętli jako takiej. Instrukcja ta działa w kontekście iteratora, co czyni ją mniej elastyczną i bardziej złożoną w użyciu dla prostych iteracji po tablicach. Co więcej, 'while' również wymaga manualnego zarządzania warunkami zakończenia pętli, co oznacza, że programista musi samodzielnie kontrolować zmienną, która decyduje o zakończeniu iteracji. To znowu zwiększa ryzyko błędów związanych z granicami tablicy oraz niewłaściwym przypisaniem wartości. Każda z tych metod ma swoje miejsce w programowaniu, jednak nie są one tak optymalne i wygodne jak 'foreach', który automatycznie zarządza iteracją po elementach kolekcji, co czyni ten proces znacznie bardziej przejrzystym i mniej podatnym na błędy.

Pytanie 34

W języku HTML atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. rect, triangle, circle
B. poly, square, circle
C. rect, square, circle
D. rect, poly, circle
Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu obszaru, który ma być interaktywny (klikany) w mapie obrazów. Prawidłowe wartości, które można przypisać temu atrybutowi, to rect, poly oraz circle. Każda z tych wartości odpowiada innemu typowi kształtu. Rect definiuje prostokąt, gdzie wymagane są cztery współrzędne (x1, y1, x2, y2), poly pozwala na tworzenie wielokątów o dowolnej liczbie boków poprzez podanie serii współrzędnych, a circle określa koło, które wymaga podania współrzędnych środka oraz promienia. Przykładem zastosowania może być umieszczenie mapy interaktywnej na stronie internetowej, gdzie każdy obszar obrazu prowadzi do innej podstrony. Przykładowy kod HTML może wyglądać tak: <map name='myMap'><area shape='rect' coords='34,44,270,350' href='link1.html'><area shape='circle' coords='337,300,44' href='link2.html'><area shape='poly' coords='200,10,250,100,150,100' href='link3.html'></map>, co ilustruje wykorzystanie tych kształtów w praktyce. Takie podejście poprawia dostępność i użyteczność strony, a także jest zgodne z najlepszymi praktykami w zakresie tworzenia responsywnych interfejsów użytkownika.

Pytanie 35

Aby zdefiniować styl akapitu <p>, który występuje bezpośrednio po znaczniku <img>, należy w arkuszu CSS zastosować selektor:

A.
img > p
B.
img [p]
C.
img + p
D.
img p
Te selektory różnią się rodzajem powiązania między elementami. img p ze spacją to selektor potomka - odnosi się do akapitów znajdujących się wewnątrz obrazu, co jest niemożliwe, bo <img> nie zawiera treści. img > p z operatorem > wybiera bezpośrednie dzieci elementu, więc również szuka <p> w środku <img>. Zapis img [p] jest po prostu błędny - nawiasy kwadratowe w CSS służą do dopasowania po atrybutach, a nie po nazwie znacznika. Akapit stojący tuż za obrazem, jako jego sąsiad, wskazuje selektor img + p z operatorem sąsiedztwa.

Pytanie 36

Które z poniższych zdań charakteryzuje grafikę wektorową?

A. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
B. Jest to reprezentacja obrazu przy pomocy siatki pikseli o różnych kolorach układających się w poziomie i pionie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
C. Służy do zapisu zdjęć cyfrowych
D. Może być zapisywana w formatach JPG lub PNG
Grafika wektorowa to technika obrazowania, która polega na reprezentowaniu obrazów za pomocą figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są zdefiniowane matematycznie i umieszczone w układzie współrzędnych. Dzięki temu obrazy wektorowe są skalowalne bez utraty jakości, co jest ich kluczową zaletą. Zastosowanie grafiki wektorowej znajduje się w wielu dziedzinach, takich jak projektowanie logo, ilustracje, animacje oraz wszędzie tam, gdzie potrzebna jest elastyczność w edycji i skalowaniu obrazów. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa zapewnia lepszą ostrość i jakość w dowolnym rozmiarze. Dobrymi przykładami formatów wektorowych są SVG (Scalable Vector Graphics) oraz AI (Adobe Illustrator), które są standardami branżowymi wykorzystywanymi przez profesjonalnych projektantów. W praktyce, podczas projektowania, grafika wektorowa umożliwia łatwe wprowadzanie zmian kolorystycznych, kształtowych czy nawet animacyjnych bez negatywnego wpływu na jakość obrazu.

Pytanie 37

Który z przedstawionych poniżej fragmentów kodu HTML5 zostanie uznany przez walidator HTML za niepoprawny?

A. <p class= "stl" style= "color: #F00 ">tekst</p>
B. <p class= "stl"><style>.a{color:#F00}</style>tekst</p>
C. <p class= "stl" id= "a">tekst</p>
D. <p class= "stl">tekst</p>
Poprawna odpowiedź, która została wskazana, to <p class= "stl"><style>.a{color:#F00}</style>tekst</p>. W kontekście HTML5, element <style> jest przeznaczony do umieszczania w nagłówkach dokumentu (<head>), a nie wewnątrz elementów blokowych, takich jak <p>. Umieszczanie tagu <style> w tagu <p> narusza zasady dotyczące struktury dokumentu HTML. Walidatory HTML5, które sprawdzają zgodność kodu z obowiązującymi standardami W3C, uznają takie umieszczenie za błąd, ponieważ stylizacja powinna być oddzielona od treści. Zgodnie z najlepszymi praktykami, CSS powinno być zaimplementowane w plikach zewnętrznych lub sekcjach <head>, co ułatwia utrzymanie i modyfikację kodu. Przykładem poprawnej struktury może być: <head><style>.a{color:#F00}</style></head><body><p class="stl">tekst</p></body>. To zapewnia przejrzystość i zgodność z zasadami HTML5, co jest kluczowe dla SEO oraz dostępności strony.

Pytanie 38

Który zapis tworzy w PHP tablicę ASOCJACYJNĄ (z kluczami) i przypisuje ją do zmiennej?

A.
$tab = array(array(1, 2), array(3, 4));
B.
$tab = array(1, 2, 3, 4);
C.
$tab = array("a" => 1, "b" => 2, "c" => 3);
D.
$tab = array(); $tab[] = array(1, 2, 3, 4);
Tablicę asocjacyjną w PHP tworzy się, podając pary klucz => wartość: $tab = array("a" => 1, "b" => 2, "c" => 3);. Każdy element ma wtedy własny, nazwany klucz, po którym się do niego odwołujemy. Dlatego ten zapis jest poprawny.

Pytanie 39

Parametr face w znaczniku <font> jest używany do określenia

A. typy czcionki
B. koloru czcionki
C. stylów czcionki
D. rozmiaru czcionki
Parametr <b>face</b> znacznika <b>&lt;font&gt;</b> jest używany do określenia nazwy czcionki, co jest kluczowe dla stylizacji tekstu w dokumentach HTML. Umożliwia on deweloperom wybór konkretnej czcionki, która będzie używana do wyświetlania tekstu, co wpływa na jego estetykę oraz czytelność. Przykładowo, można użyć wartości takiej jak 'Arial', 'Times New Roman' czy 'Courier New', aby zdefiniować preferowaną czcionkę, co jest szczególnie ważne w przypadku identyfikacji wizualnej brandu. W praktyce, dobór odpowiedniej czcionki wpływa na doświadczenie użytkownika, a także na dostępność treści. Warto zaznaczyć, że w nowoczesnych praktykach webowych, stosowanie CSS do stylizacji tekstu stało się bardziej zalecane niż używanie znaczników <font>, co wynika z dążenia do separacji treści od prezentacji. Dobre praktyki wskazują na użycie właściwości CSS takich jak 'font-family', co jest bardziej elastyczne i zgodne z aktualnymi standardami sieciowymi.

Pytanie 40

Jakie znaki <header>, <article>, <section>, <footer> są typowe dla tego języka?

A. HTML 4.01 Transitional
B. HTML 4.01 Strict
C. XHTML 1.1
D. HTML 5
Znaczniki <header>, <article>, <section>, <footer> są częścią specyfikacji HTML5, która wprowadziła bardziej semantyczne podejście do strukturyzacji dokumentów webowych. Te elementy umożliwiają programistom tworzenie bardziej przejrzystych i zrozumiałych dokumentów, zarówno dla ludzi, jak i dla maszyn. Na przykład, znacznik <header> definiuje nagłówek strony lub sekcji, <article> służy do oznaczania samodzielnych treści, które mogą być niezależnie dystrybuowane, <section> grupuje powiązane tematycznie elementy, a <footer> zawiera informacje o końcu strony lub sekcji. Użycie tych znaczników ma kluczowe znaczenie dla SEO, ponieważ wyszukiwarki mogą lepiej zrozumieć strukturę treści na stronie. Dodatkowo, zastosowanie tych elementów wspiera dostępność, ułatwiając nawigację osobom korzystającym z czytników ekranu. W praktyce, stosując te znaczniki, programiści tworzą bardziej uporządkowane i zrozumiałe strony, co jest zgodne z najlepszymi praktykami w branży.