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: 4 maja 2026 12:11
  • Data zakończenia: 4 maja 2026 12:29

Egzamin niezdany

Wynik: 13/40 punktów (32,5%)

Wymagane minimum: 20 punktów (50%)

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

W CSS należy ustawić tło dokumentu na obrazek rys.png. Obrazek powinien się powtarzać tylko w poziomej osi. Jaką definicję powinien mieć selektor body?

A. {background-image: url("rys.png"); background-repeat: repeat;}
B. {background-image: url("rys.png"); background-repeat: repeat-x;}
C. {background-image: url("rys.png"); background-repeat: round;}
D. {background-image: url("rys.png"); background-repeat: repeat-y;}
Odpowiedzi, które nie zostały wybrane, zawierają różne błędne podejścia do definiowania tła w CSS. W przypadku opcji używających wartości 'round' oraz 'repeat', tło powtarzałoby się zarówno w poziomie, jak i w pionie, co może nie być pożądanym efektem, jeżeli celem jest ograniczenie powtarzania jedynie do poziomego rozciągnięcia. Wartość 'repeat' jest domyślną wartością dla 'background-repeat', co oznacza, że obrazy będą powtarzane w obu kierunkach, co nie odpowiada wymaganiom zadania. Ponadto, 'repeat-y' powtarzałoby obraz tylko w pionie, co jest całkowicie odwrotne do zamierzonego efektu. Błędy te wynikają z nieporozumienia dotyczącego sposobu działania właściwości CSS związanych z tłem oraz ich wartości. Kluczowe w projektowaniu jest zrozumienie, które aspekty wizualne są istotne dla doświadczeń użytkowników. Właściwa kontrola nad powtarzaniem tła ma znaczenie w kontekście estetyki i układu elementów strony. Dlatego ważne jest, aby dokładnie przemyśleć, jak obrazy będą się zachowywać w różnych kontekstach i na różnych urządzeniach, aby uniknąć niezamierzonych efektów wizualnych.

Pytanie 2

Pole insert_id zdefiniowane w bibliotece MySQLi języka PHP może być wykorzystane do

A. otrzymania kodu błędu, gdy wstawienie wiersza się nie powiodło
B. uzyskania id ostatnio dodanego wiersza
C. pobrania najwyższego indeksu bazy, aby po jego zwiększeniu wstawić pod niego dane
D. uzyskania pierwszego dostępnego indeksu bazy, tak, aby można było pod nim wstawić nowe dane
Pole insert_id w bibliotece MySQLi języka PHP jest niezwykle przydatne w kontekście zarządzania danymi w bazach danych. Głównym celem tego pola jest umożliwienie programistom uzyskania identyfikatora (ID) ostatnio wstawionego wiersza do bazy danych. Ta funkcjonalność jest kluczowa, gdyż wiele aplikacji wymaga odniesienia do nowo dodanych rekordów, szczególnie w sytuacjach, gdy w tabelach stosowane są klucze główne typu AUTO_INCREMENT. Przykładowo, po dodaniu rekordu do tabeli użytkowników, programista może użyć funkcji mysqli_insert_id(), aby pobrać ID tego rekordu i wykorzystać je do dalszych operacji, takich jak dodawanie powiązanych danych w innej tabeli. Tego typu mechanizmy są zgodne z najlepszymi praktykami w zakresie zarządzania danymi, zapewniając spójność i bezpieczeństwo operacji na bazach danych. Warto także pamiętać, że poprawne zarządzanie ID pozwala uniknąć problemów z duplikacją i zapewnia, że aplikacja może dynamicznie dopasowywać swoje czynności do aktualnych danych.

Pytanie 3

Podczas obróbki dźwięku, aby eliminować niepożądane dźwięki wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. usuwania szumów
B. obwiedni
C. wyciszenia
D. echa
Techniki takie jak echa, obwiednie oraz wyciszenia nie są skutecznymi metodami eliminacji niepożądanych dźwięków w kontekście przetwarzania audio. Echo to efekt dźwiękowy, który polega na opóźnieniu powtarzania dźwięku, co może prowadzić do wrażeń przestrzennych, ale nie eliminuje hałasu. W przypadku głośnych nagrań, echo może dodatkowo pogorszyć jakość dźwięku, tworząc niepożądane powtórzenia. Z kolei obwiednia odnosi się do kształtu sygnału dźwiękowego w czasie, definiującego jego rozwój i zanikanie, a nie do eliminacji szumów. Chociaż obwiednia jest istotna w syntezatorach i procesach edycyjnych, nie jest odpowiednia do usuwania zakłóceń. Wyciszenie, z drugiej strony, polega na redukcji głośności sygnału, co może prowadzić do zniekształcenia dźwięku, a nie do jego oczyszczenia. Metoda ta może być użyteczna w ograniczaniu hałasu, ale nie eliminuje go całkowicie. Dlatego echa, obwiednie i wyciszenia są technikami, które nie rozwiążą problemów z jakością dźwięku w sposób tak efektywny jak usuwanie szumów.

Pytanie 4

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. A.
B. D.
C. C.
D. B.
Wybór niewłaściwej odpowiedzi może wynikać z niepełnego zrozumienia zastosowania poszczególnych właściwości CSS. Pierwsza możliwość sugeruje użycie dotted border zamiast solid co może być mylące w kontekście estetyki i czytelności projektu. Dotted border wprowadza przerywaną linię obramowania, co nie zawsze jest pożądane w profesjonalnym wyglądzie strony. Kolejna błędna konfiguracja zmienia marginesy i padanie co wpływa na ogólny układ i spójność wizualną. Błędne ustawienie marginesów zewnętrznych na 50px przy zmniejszeniu padania do 20px może zaburzyć proporcje i układ elementów wpływając na czytelność. Stylowanie z niewłaściwymi wartościami prowadzi do nieprzewidywalnych rezultatów zwłaszcza na urządzeniach o różnych rozdzielczościach. Ważne jest zrozumienie jak CSS wpływa na model boxu i jak poszczególne właściwości oddziałują na siebie co jest kluczowe w tworzeniu responsywnych i estetycznie spójnych interfejsów. Zrozumienie tych koncepcji jest kluczowe w unikaniu typowych pułapek projektowych i budowaniu stron zgodnych z nowoczesnymi standardami.

Pytanie 5

Funkcja phpinfo() umożliwia

A. analizowanie kodu PHP w celu wykrycia błędów
B. sprawdzenie wartości zmiennych zastosowanych w kodzie PHP
C. rozpoczęcie wykonywania kodu w języku PHP
D. uzyskanie danych o środowisku serwera, na którym działa PHP
Funkcja phpinfo() jest niezwykle użytecznym narzędziem w PHP, które pozwala deweloperom na uzyskanie szczegółowych informacji o środowisku pracy serwera. Dzięki temu, można dowiedzieć się o zainstalowanych rozszerzeniach PHP, wersji PHP, ustawieniach konfiguracyjnych, a także o systemie operacyjnym, na którym działa serwer. Przykładowo, wywołanie phpinfo(); w skrypcie PHP zwraca stronę zawierającą różnorodne informacje, takie jak wartości zmiennych konfiguracyjnych (np. memory_limit, upload_max_filesize), co jest nieocenione podczas optymalizacji aplikacji oraz rozwiązywania problemów. Ponadto, korzystanie z phpinfo() jest zgodne z dobrymi praktykami w programowaniu, ponieważ pomaga zrozumieć, w jakim środowisku działa aplikacja, co jest kluczowe przy jej rozwijaniu i testowaniu. Deweloperzy często używają tej funkcji w fazie debugowania, aby upewnić się, że wszystkie wymagane rozszerzenia są aktywne i poprawnie skonfigurowane, co może zapobiec wielu problemom podczas wdrożenia aplikacji na produkcję.

Pytanie 6

W języku HTML, aby stworzyć pole do wprowadzania hasła, w którym tekst jest maskowany (zastąpiony kropeczkami), należy zastosować znacznik

A. <form input type="password" />
B. <form="password" type="password" />
C. <input type="password" />
D. <input name="password" />
Pierwsza z niepoprawnych odpowiedzi wskazuje na <input name='password' />. Choć znaczniki <input> mogą zawierać atrybut name, to brak ustawienia type na 'password' sprawia, że wprowadzone hasło będzie widoczne w formie tekstu jawnego, co stwarza poważne ryzyko bezpieczeństwa. Użytkownik nie będzie miał możliwości ochrony swojego hasła przed wzrokiem osób postronnych. Kolejna propozycja, <form input type='password' />, jest również błędna. Znacznik <form> jest używany do grupowania kontrolków formularzy, ale nie może zawierać atrybutu input w ten sposób. Odpowiednia składnia wymaga, aby znacznik <input> był zagnieżdżony wewnątrz znacznika <form>, co czyni tę odpowiedź niepoprawną w kontekście składni HTML. Ostatnia odpowiedź <form='password' type='password' /> narusza zasady poprawnego stosowania znaczników form oraz input. <form> nie może mieć atrybutu 'input'; zamiast tego powinien zawierać kontrolki formularza, takie jak <input>, wewnątrz swojego otwarcia. Użycie atrybutu 'type' w tej notacji jest także niewłaściwe, ponieważ powinno być stosowane wyłącznie w kontekście elementu <input>. Wszystkie te przykłady ukazują istotność poprawnej struktury kodu HTML oraz znaczenia bezpieczeństwa danych użytkowników.

Pytanie 7

W pokazanym fragmencie zapytania w języku SQL, polecenie SELECT ma na celu uzyskanie wyników z komendy SELECT COUNT(wartosc) FROM....?

A. sumę wartości w kolumnie wartosc
B. liczbę rekordów
C. średnią wartości w tabeli
D. średnią wartości w kolumnie wartosc
W analizowanych odpowiedziach, wybór średniej tabeli, sumy w kolumnie wartosc oraz średniej w kolumnie wartosc jest niepoprawny z uwagi na różnice między funkcjami agregującymi. Średnia tabeli oznaczałaby zliczenie wartości i ich podzielenie przez liczbę elementów, co w przypadku użycia COUNT nie ma miejsca, ponieważ COUNT nie oblicza średniej, a jedynie zlicza ilość rekordów. Dodatkowo, funkcja SUM, która zlicza sumę wartości w określonej kolumnie, wymaga użycia innej syntaktyki, na przykład SELECT SUM(wartosc) FROM... Ponadto, gdyby celem zapytania było zwrócenie średniej wartości w kolumnie wartosc, należałoby użyć zapytania SELECT AVG(wartosc) FROM..., które jest odrębną funkcją od COUNT i ma zupełnie inny cel. W związku z tym, każda z wymienionych odpowiedzi, które sugerują zwrócenie średniej lub sumy, są technicznie błędne, ponieważ nie odpowiadają na zapytanie, które jest skoncentrowane na zliczaniu ilości wierszy, co jest fundamentalną funkcjonalnością polecenia COUNT w systemach baz danych.

Pytanie 8

Jakiego typu danych w bazie MySQL należy używać, aby zapisać datę oraz czas w jednym polu?

A. YEAR
B. DATE
C. BOOLEAN
D. TIMESTAMP
Wybór błędnych typów danych do przechowywania daty i czasu w MySQL może prowadzić do poważnych problemów w aplikacjach. Typ danych DATE jest zaprojektowany jedynie do przechowywania dat bez informacji o czasie, co oznacza, że nie nadaje się do sytuacji, gdzie potrzebne są dokładne informacje co do godzin i minut. Użycie DATE w tym kontekście ogranicza możliwości analizy danych związanych z czasem, na przykład w przypadku zapisywania logów zdarzeń, gdzie istotne jest zarówno data, jak i godzina wystąpienia. Z kolei typ YEAR jest jeszcze bardziej ograniczony, ponieważ pozwala na przechowywanie tylko informacji o roku. Takie podejście jest niewystarczające w większości przypadków, gdzie pełna data i czas są wymagane do prawidłowego zarządzania danymi. Typ BOOLEAN, który ma tylko dwa stany (prawda/fałsz), również nie jest odpowiedni do przechowywania daty i czasu, co jest absolutnie nieadekwatne do tego celu. Wybór niewłaściwego typu danych często wynika z braku zrozumienia, jak ważne jest precyzyjne określenie wymagań dotyczących danych w danym kontekście. Używanie typów danych, które nie są dostosowane do specyficznych potrzeb aplikacji, może prowadzić do błędów, utraty danych oraz trudności w przyszłych aktualizacjach i rozbudowach systemów.

Pytanie 9

Testy aplikacji webowej, których celem jest ocena wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, określane są mianem testów

A. bezpieczeństwa
B. kompatybilności
C. funkcjonalności
D. użyteczności
Testy bezpieczeństwa koncentrują się na ocenie, jak dobrze aplikacja chroni dane użytkowników oraz jak reaguje na próby nieautoryzowanego dostępu. W tym kontekście testy te mają na celu identyfikację luk bezpieczeństwa, które mogłyby być wykorzystane przez atakujących. Testy te nie koncentrują się na aspektach skalowalności ani architektury serwera, a ich celem jest zapewnienie, że aplikacja jest odporna na zagrożenia. Z kolei testy funkcjonalności mają na celu weryfikację, czy wszystkie elementy aplikacji działają zgodnie z wymaganiami. Obejmują one testowanie poszczególnych funkcji i ich interakcji, ale nie badają wydajności systemu w warunkach dużego obciążenia ani nie analizują architektury bazy danych. Funkcjonalność aplikacji może być poprawna, ale nieprzystosowana do obsługi wzrastającej liczby użytkowników, co jest istotne w kontekście skalowalności. Testy użyteczności oceniają, jak łatwo użytkownicy mogą korzystać z aplikacji, koncentrując się na interfejsie, ergonomii oraz ogólnym doświadczeniu użytkownika. Choć te aspekty są niezwykle ważne, nie mają one bezpośredniego związku z testowaniem architektury serwera czy skalowalności systemu, co jest kluczowe dla odpowiedzi na postawione pytanie.

Pytanie 10

Jakie wartości zostaną wypisane po wykonaniu poniższego skryptu?

var x = 1;
var y;
/*0*/ ++y;
/*1*/ document.write(++x);
/*2*/ document.write(" ");
/*3*/ document.write(x--);
/*4*/ document.write(" ");
/*5*/ document.write(x);
A. 1 2 1
B. 1 2 2
C. 2 1 1
D. 2 2 1
Analizując wyniki działania skryptu, warto zwrócić uwagę na różnice wynikające z użycia operatorów preinkrementacji i postdekrementacji. Wiele osób mylnie interpretuje, jak te operatory wpływają na zmienną w danej kolejności operacji. Preinkrementacja (++x) zwiększa wartość zmiennej o 1 przed jej użyciem w wyrażeniu, co oznacza, że każda operacja wykonywana później będzie bazować na już zwiększonej wartości. Z kolei postdekrementacja (x--) najpierw używa bieżącej wartości zmiennej, a dopiero potem ją zmniejsza, co może prowadzić do błędnych założeń, jeśli nie jest się świadomym tej różnicy. Częstym błędem jest założenie, że obie operacje działają jednocześnie, co nie jest prawdą. Różnica ta jest kluczowa, ponieważ ma znaczący wpływ na kolejność wykonania operacji i rezultat końcowy. Przy programowaniu w JavaScript należy zatem nie tylko znać różnice między tymi operatorami, ale także dokładnie rozumieć, jak wpływają one na przepływ sterowania w kodzie. Znajomość tego mechanizmu pozwala unikać typowych błędów, które prowadzą do nieoczekiwanych wyników i problemów z debugowaniem kodu. Jest to nieodzowna wiedza w inżynierii oprogramowania, szczególnie przy optymalizacji i pisaniu efektywnego kodu.

Pytanie 11

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. który użytkownik wprowadził informacje
B. czy użytkownik jest zalogowany
C. czy istnieje plik PHP, który przetworzy dane
D. czy wprowadzone dane spełniają określone reguły
Walidacja pól formularza jest kluczowym elementem w procesie zbierania danych od użytkowników. Jej głównym celem jest upewnienie się, że dane, które użytkownik wprowadza, są zgodne z określonymi regułami i standardami. Na przykład, jeśli pole formularza wymaga adresu e-mail, walidacja może sprawdzić, czy wprowadzone dane mają odpowiedni format (np. zawierają '@' i końcówkę domeny). Ważne jest, aby walidację przeprowadzać zarówno po stronie klienta, jak i serwera. Walidacja po stronie klienta (np. za pomocą JavaScript) może szybko informować użytkownika o błędach, ale nie powinna być jedyną metodą, gdyż można ją łatwo obejść. Walidacja po stronie serwera, przeprowadzana w językach takich jak PHP lub Python, zapewnia, że dane są na pewno zgodne z wymaganiami systemu przed ich przetworzeniem. Przykładami reguł walidacji mogą być wymagania dotyczące długości tekstu, formatów numerów telefonów czy też wymagalności pewnych pól, co jest zgodne z dobrymi praktykami UX oraz standardami bezpieczeństwa danych.

Pytanie 12

W języku SQL operator arytmetyczny odpowiadający reszcie z dzielenia to

A. &
B. /
C. ||
D. %
Operator arytmetyczny modulo, czyli ten %, to coś, co moim zdaniem jest naprawdę przydatne w SQL. Używamy go do obliczania reszty z dzielenia, co pokazuje na przykład taki kod: 'SELECT 10 % 3;', który zwraca 1. Chodzi o to, że 10 dzielone przez 3 to 3, a reszta to właśnie 1. To może być super pomocne, kiedy chcemy sprawdzić, czy liczba jest parzysta czy nie. Na przykład, możemy użyć takiego zapytania: 'SELECT CASE WHEN 5 % 2 = 0 THEN 'Parzysta' ELSE 'Nieparzysta' END;' i dostaniemy 'Nieparzysta'. Operator modulo przydaje się też w programowaniu, na przykład do tworzenia cykli lub rozdzielania danych w algorytmach. Dobrze jest pamiętać, że używając tego operatora w SQL, warto mieć na uwadze czytelność kodu. Szczególnie przy większych bazach danych, gdzie to ma znaczenie.

Pytanie 13

W języku SQL, aby dodać atrybut klucza podstawowego do pola id w istniejącej tabeli produkt należy użyć składni

A. ALTER TABLE produkt DROP CONSTRAINT id
B. ALTER TABLE produkt ALTER COLUMN id INT
C. ALTER TABLE produkt DROP PRIMARY KEY
D. ALTER TABLE produkt ADD PRIMARY KEY (id)
W SQL do modyfikowania struktury tabeli służy instrukcja ALTER TABLE, ale poszczególne warianty tej komendy robią bardzo różne rzeczy. W tym zadaniu chodzi konkretnie o dodanie atrybutu klucza podstawowego do istniejącej kolumny id, więc potrzebne jest utworzenie ograniczenia typu PRIMARY KEY dla tej kolumny. Właśnie to robi składnia z klauzulą ADD PRIMARY KEY (id). Częsty błąd polega na myleniu zmiany typu kolumny albo usuwania ograniczeń z ich dodawaniem. Polecenie ALTER TABLE produkt ALTER COLUMN id INT jedynie zmienia definicję kolumny, na przykład jej typ danych, domyślną wartość, ewentualnie atrybuty typu NOT NULL, w zależności od dialektu SQL. Nie tworzy ono żadnego klucza podstawowego. Ktoś może myśleć, że „ALTER COLUMN” doda jakieś specjalne właściwości, ale samo ustawienie typu INT nie ma nic wspólnego z unikalnością czy identyfikacją wierszy. Z kolei ALTER TABLE produkt DROP CONSTRAINT id sugeruje usunięcie istniejącego ograniczenia o nazwie id. Takiego polecenia używa się wtedy, gdy constraint już istnieje i chcemy go skasować, na przykład przed zmianą klucza głównego. To jest operacja odwrotna do dodawania ograniczenia, więc nie rozwiązuje problemu z treści pytania. Podobnie ALTER TABLE produkt DROP PRIMARY KEY usuwa bieżący klucz podstawowy z tabeli. W niektórych silnikach SQL to polecenie jest wręcz wymagane, zanim zdefiniuje się nowy klucz. W każdym razie DROP PRIMARY KEY nie dodaje żadnego klucza, tylko go likwiduje. Typowym źródłem pomyłek jest myślenie „skoro chcę coś zmienić w kolumnie, to ALTER COLUMN wystarczy” albo „DROP/ADD, jakoś to będzie”. W praktyce trzeba rozróżniać trzy poziomy: definicję samej kolumny (typ, rozmiar, NULL/NOT NULL), definicje ograniczeń (PRIMARY KEY, UNIQUE, FOREIGN KEY) oraz indeksy. Klucz podstawowy jest właśnie constraintem, więc operujemy na nim poprzez ADD PRIMARY KEY, a nie przez samą zmianę typu kolumny czy usuwanie ograniczeń. Dobrą praktyką jest też zawsze sprawdzić, jakie ograniczenia aktualnie istnieją w tabeli, zanim zacznie się je modyfikować.

Pytanie 14

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

Pytanie 15

W jakim formacie będzie wyświetlana data po uruchomieniu przedstawionego kodu?

<?php
  echo date'l, dS F Y');
?>
A. 10, poniedziałek lipca 2017
B. Poniedziałek, 10 lipca 2017
C. Poniedziałek, 10th lipca 17
D. Poniedziałek, 10th lipca 2017
Pierwsza z błędnych odpowiedzi sugeruje, że data zostanie wyświetlona jako 'Monday, 10 July 2017'. Problem polega na tym, że brak suffixu 'th' w przypadku dnia 10 jest niewłaściwy według standardowego angielskiego zapisu dat. W kontekście drugiej odpowiedzi, '10, Monday July 2017', należy zauważyć, że kolejność elementów jest nieprawidłowa. W angielskim zapisie dat i zgodnie z konwencjami formatowania, najpierw występuje nazwa dnia, następnie dzień miesiąca, a później miesiąc i rok. Co więcej, brak przecinka po dniu miesiąca także wpływa na poprawność tej formy. Trzecia odpowiedź, 'Monday, 10th July 17', jest błędna z powodu nieprawidłowego skrótu roku; w standardowym zapisie dat w formalnym kontekście powinno się używać pełnego roku, czyli '2017', a nie jego skrótu. Zatem wszystkie te odpowiedzi są niepoprawne, ponieważ nie spełniają standardowych zasad formatowania dat w języku angielskim, co jest kluczowe dla zachowania jasności i poprawności w komunikacji.

Pytanie 16

W jakim języku została napisana podana linia kodu

Ilustracja do pytania
A. Python
B. PHP
C. C#
D. JavaScript
Linia kodu przedstawiona w pytaniu to przykład zastosowania języka JavaScript, co jest kluczowe do rozróżnienia od innych języków programowania. Kod w języku C# różniłby się znacząco, gdyż C# jest częściej używany w kontekście aplikacji desktopowych lub serwerowych, a jego składnia wymagałaby innego podejścia do manipulacji elementami interfejsu użytkownika. PHP, będąc językiem skryptowym działającym po stronie serwera, również nie używa DOM w taki sam sposób jak JavaScript. Jego rola w web development jest bardziej związana z przetwarzaniem danych na serwerze i generowaniem dynamicznych treści przed wysłaniem ich do przeglądarki. Python, znany ze swojej wszechstronności, jest rzadziej używany do bezpośredniej manipulacji DOM w aplikacjach webowych, chociaż istnieją biblioteki umożliwiające takie działania. Typowe błędy w rozróżnianiu tych języków wynikają z niezrozumienia ich specyficznych zastosowań i kontekstów działania. JavaScript jest unikalny ze względu na swoją zdolność do działania bezpośrednio w przeglądarce użytkownika, co pozwala na żywe i dynamiczne zmiany w treści strony bez potrzeby odświeżania. Rozumienie tych różnic jest kluczowe dla skutecznego rozwoju webowego i skutecznego wykorzystania odpowiednich narzędzi w odpowiednich kontekstach.

Pytanie 17

Dostępna jest tabela zatytułowana wycieczki, zawierająca kolumny nazwa, cena oraz miejsca (jako liczba dostępnych miejsc). Aby wyświetlić jedynie nazwy wycieczek, których cena jest poniżej 2000 złotych oraz posiadają co najmniej cztery dostępne miejsca, należy zastosować zapytanie

A. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
B. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
C. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
Zapytania, które nie były prawidłowe, operują na istotnych nieporozumieniach związanych z użyciem operatorów logicznych oraz z określeniem liczby wolnych miejsc. Przykłady te często wykorzystują operator OR, co prowadzi do sytuacji, w której jeden z warunków może być spełniony, a drugi nie. W szczególności, użycie operatora OR w kontekście zadań, które wymagają spełnienia obu warunków, prowadzi do nieprawidłowych wyników. Na przykład, zapytanie z OR zwróci wszystkie wycieczki, które mają cenę poniżej 2000 zł, niezależnie od tego, ile mają wolnych miejsc, co może skutkować wyświetleniem wycieczek, które w ogóle nie spełniają kryteriów dostępności. Dodatkowo, w jednym z zapytań zastosowano niewłaściwą wartość dla ilości wolnych miejsc - 'miejsca > 3' zamiast 'miejsca > 4', co również prowadzi do nieścisłości. Zmiana wartości progowej nie uwzględnia wymogu, by wycieczki miały przynajmniej cztery wolne miejsca, tym samym zmieniając sens zapytania. Kluczowym błędem jest zatem zrozumienie, że w kontekście filtrowania danych w bazie, zarówno operator AND, jak i precyzyjne określenie wartości granicznych są niezbędne dla uzyskania poprawnych i użytecznych wyników.

Pytanie 18

Znacznik <pre> </pre> służy do wyświetlania

A. treści czcionką o stałej szerokości
B. znaku skreślenia
C. znaku wielokropkowego
D. treści czcionką w języku polskim
Wybór błędnych odpowiedzi może wynikać z nieporozumienia dotyczącego funkcji znacznika <pre>. Odpowiedzi sugerujące, że służy on do wyświetlania znaku przekreślenia, znaku wielokropka, lub treści polską czcionką nie mają podstaw w rzeczywistej funkcjonalności tego znacznika. Znaki przekreślenia, czy wielokropki są zazwyczaj elementami typografii, które można osiągnąć przez inne znaczniki i style CSS, a nie przez <pre>. Znacznik <pre> nie wpływa na rodzaj czcionki używanej w danym elemencie, lecz przede wszystkim na sposób wyświetlania treści. Przykładem może być tekst umieszczony w tym znaczniku, który wyświetla się w sposób stały, niezależnie od ustawień czcionki w stylach CSS, co czyni go nieodpowiednim do użycia w kontekście wyboru konkretnej czcionki, jak polska czcionka. Zrozumienie, że <pre> dotyczy przede wszystkim zachowania formatowania tekstu, a nie jego typografii, jest kluczowe do poprawnego korzystania z HTML. W przypadku, gdy użytkownik wybiera błędne odpowiedzi, może to wynikać z mylnego założenia, że <pre> jest odpowiedzialny za typografię, co prowadzi do nieprawidłowych wniosków w kontekście inżynierii oprogramowania i projektowania stron internetowych.

Pytanie 19

Obejrzyj tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
B. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
C. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
D. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
Odpowiedź wskazująca na metraż oraz cenę mieszkań, które mają więcej niż 3 pokoje jest prawidłowa, ponieważ kwerenda SQL wykorzystuje operator '>', co oznacza, że wybrani będą tylko ci, którzy mają co najmniej 4 pokoje. W kontekście tabeli mieszkania, zapytanie SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3; efektywnie filtruje dane, aby zwrócić tylko kolumny metraż oraz cena dla mieszkań spełniających ten warunek. W praktyce, umiejętność pisania takich zapytań SQL jest kluczowa w pracy z bazami danych, gdzie często potrzebne jest zrozumienie struktury danych i umiejętność ich analizy. Przykładem zastosowania może być analiza rynku nieruchomości, gdzie deweloperzy mogą chcieć zbadać ceny mieszkań większych niż 3 pokoje, aby lepiej dostosować swoje oferty do potrzeb klientów. Warto również zaznaczyć, że takie zapytania powinny być pisane zgodnie z najlepszymi praktykami, takimi jak unikanie selekcji niepotrzebnych danych, co przyspiesza ich przetwarzanie oraz zmniejsza obciążenie bazy danych.

Pytanie 20

Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna2 i zmienna3 mają ten sam typ.
B. wszystkie zmienne mają ten sam typ.
C. zmienna1 i zmienna3 mają ten sam typ.
D. zmienna1 i zmienna2 mają ten sam typ.
Nie do końca to jest dobre, co mówisz, bo $zmienna1 to liczba całkowita (integer), a $zmienna2 to string. Typy danych w PHP mają znaczenie, bo różnie się zachowują w trakcie działania. Liczby są liczone, a teksty traktowane jako znaki. Mimo że obie pokazują "15", to ich typy są inne, co może prowadzić do błędów. Z $zmienna1 i $zmienna3 też jest nieciekawie, bo mimo że to liczby, to jednak typy się różnią - $zmienna1 to integer, a $zmienna3 to string. Często można się w tym pogubić, zakładając, że mając te same wartości, są też tego samego typu. Jak mówisz, że trzy zmienne są takie same, to pokazujesz, że nie do końca masz jasność co do typów w PHP. Pamiętaj, żeby zwracać uwagę na rzutowanie typów, bo niedopatrzenia mogą skutkować problemami w kodzie. Rekomenduję, żeby programiści regularnie sięgać do dokumentacji i używać dobrych praktyk, by lepiej ogarnąć temat typów danych w swoich projektach.

Pytanie 21

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 10
B. 0
C. 5
D. 6
W przypadku błędnych odpowiedzi, takich jak 10, 5, 0 czy 6, można zauważyć, że wynikają one z nieprawidłowego zrozumienia działania pętli for w PHP. Odpowiedź 10 sugeruje, że użytkownik zakłada, iż pętla wykonuje się do 10, co jest błędne, ponieważ na każdym kroku zmienna $i zwiększa się o 2. Użycie 5 jako odpowiedzi może wskazywać na niepoprawne obliczenie liczby iteracji przy założeniu, że pętla mogłaby wykonać się z tylko pięcioma incrementami, co jest również mylące. Wybór 0 jako odpowiedzi jest konsekwencją mylnego założenia, że pętla mogłaby w ogóle nie działać, co jest sprzeczne z logiką, ponieważ pętla rozpoczyna się od $i = 0 i spełnia warunek kontynuacji. Ważne jest, aby podczas analizy pętli skupić się na warunkach początkowych, zmiennej sterującej oraz modyfikacji tej zmiennej w każdym cyklu. Prawidłowe obliczenie liczby iteracji pętli jest kluczowe w programowaniu, ponieważ ma to bezpośredni wpływ na wydajność i efektywność działania algorytmów.

Pytanie 22

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

A. nadawania użytkownikom praw do obiektów.
B. odbierania użytkownikom praw do obiektów.
C. aktualizacji istniejących danych w bazie.
D. umieszczania nowych danych w bazie.
Polecenie GRANT bywa mylone z typowymi instrukcjami modyfikującymi dane, bo wszystko to jest „SQL” i często używa się tego w jednym skrypcie. Warto jednak wyraźnie oddzielić dwie warstwy: operacje na danych oraz operacje na uprawnieniach. Wstawianie nowych rekordów do tabeli realizuje się za pomocą instrukcji INSERT, a nie GRANT. To INSERT decyduje, jakie wartości trafią do konkretnych kolumn, ewentualnie z dodatkowymi klauzulami, triggerami czy ograniczeniami. GRANT w ogóle nie dotyka zawartości tabeli, tylko informację, kto ma prawo wykonać INSERT, SELECT, UPDATE itd. Podobnie aktualizowanie istniejących danych w tabeli odbywa się przez UPDATE, czasem w połączeniu z WHERE, JOIN, podzapytaniami. GRANT nie zmienia ani jednego pola w rekordach – on jedynie przyznaje lub rozszerza zakres uprawnień użytkownika lub roli. Jeśli użytkownik nie ma prawa UPDATE, to najpierw trzeba użyć GRANT, a dopiero potem można wykonać właściwe polecenie UPDATE. Częstym błędem myślowym jest traktowanie SQL jako jednego wielkiego „zestawu komend do wszystkiego” bez rozróżnienia na DML (Data Manipulation Language) i DCL (Data Control Language). GRANT należy właśnie do DCL, razem z REVOKE, i służy do zarządzania bezpieczeństwem. Jeszcze inny typowy skrót myślowy to przekonanie, że GRANT może „zabierać” prawa, bo kojarzy się ogólnie z uprawnieniami. W rzeczywistości standardowo do odbierania uprawnień służy REVOKE. W wielu systemach relacyjnych właśnie tym poleceniem cofa się wcześniej nadane GRANT-y. Z mojego doświadczenia dobrze jest zapamiętać prostą parę: GRANT – nadaje, REVOKE – odbiera. Dzięki temu łatwiej uniknąć pomyłek przy pisaniu skryptów administracyjnych i przy projektowaniu polityki dostępu do tabel, widoków, procedur i innych obiektów bazy danych.

Pytanie 23

Wskaż właściwą sekwencję faz projektowania relacyjnej bazy danych?

A. Określenie zbioru danych, Selekcja, Określenie kluczy podstawowych tabel, Określenie relacji
B. Określenie relacji, Określenie kluczy podstawowych, Selekcja, Określenie zbioru danych
C. Określenie kluczy podstawowych tabel, Określenie zbioru danych, Selekcja, Określenie relacji
D. Selekcja, Określenie relacji, Określenie kluczy podstawowych tabel, Określenie zbioru danych
Projektowanie relacyjnej bazy danych to naprawdę ciekawe, ale też skomplikowane zadanie. Na początku trzeba dobrze pomyśleć, jakie dane będziemy gromadzić i w jakiej formie, bo to później zdeterminuje wszystko. Potem wybieramy atrybuty, które są naprawdę istotne dla naszych potrzeb. Kluczowe w tym wszystkim jest ustalenie kluczy podstawowych dla tabel, bo one pomagają jednoznacznie zidentyfikować każdy rekord. Na końcu przychodzi czas na ustalanie relacji między tabelami, co pozwala nam na sensowne powiązanie danych. To wszystko w zgodzie z zasadami projektowania baz danych, które mówią o normalizacji i wydajności. Na przykład, jeśli projektujemy bazę danych dla uczelni, musimy dokładnie wiedzieć, jakie dane o studentach i kursach są dla nas ważne, żeby wszystko działało jak należy.

Pytanie 24

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; } section { float: right; }
D. nav { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 25

W stylu CSS utworzono klasę uzytkownik. Na stronie będą wyświetlane czcionką w kolorze niebieskim: p.uzytkownik { color: blue; }

A. jedynie elementy tekstowe takie jak <p>, <h1>.
B. wszystkie akapity.
C. akapitów, którym przypisano klasę uzytkownik.
D. wszystkie elementy w sekcji <body> z przypisaną klasą uzytkownik.
Odpowiedzi, które sugerują, że styl CSS dla klasy 'uzytkownik' dotyczy wszystkich paragrafów, albo że odnosi się do znaczników <p> i <h1>, są nie do końca zrozumiałe. Przede wszystkim klasa CSS jest narzędziem do precyzyjnego stosowania stylów do poszczególnych elementów, które tą klasę mają. Reguła 'p.uzytkownik' działa tylko na te <p> z klasą 'uzytkownik', a nie na wszystkie paragrafy. A jeśli ktoś myśli, że styl działa na <h1> czy inne elementy w <body>, to jest w błędzie. Klasy muszą być przypisane jasno, a nie można zakładać, że wszystkie elementy w sekcji dziedziczą style, chyba że są ogólnie zdefiniowane. Takie podejście nie jest efektywne i w ogóle nie wspiera dobrych praktyk w projektowaniu, które mówią o precyzyjnym określaniu, gdzie i jak dany styl ma działać. W efekcie, takie błędne interpretacje mogą prowadzić do chaosu w prezentacji treści i do większych trudności w zarządzaniu stylem na stronie.

Pytanie 26

Do zapisania prostej animacji na stronę internetową można zastosować format

A. PNG
B. GIF
C. JPG
D. CDR
Format GIF (Graphics Interchange Format) jest idealny do zapisywania prostych animacji na potrzeby stron internetowych. GIF obsługuje do 256 kolorów w palecie, co czyni go odpowiednim do animacji o niskiej rozdzielczości i małej liczbie kolorów. Animacje GIF składają się z serii klatek, które są wyświetlane w szybkim tempie, co pozwala na płynne przejścia między różnymi etapami animacji. Dzięki swojej powszechności i wsparciu w większości przeglądarek internetowych, GIF stał się standardem dla prostych animacji w sieci. Format ten wspiera również przezroczystość, co pozwala na umiejscowienie animacji na różnych tłach bez widocznego prostokątnego obramowania. Przykłady zastosowania GIF obejmują ikony ładowania, animacje przycisków czy krótkie klipy wideo zamienione na animacje. GIF jest także często wykorzystywany w marketingu internetowym i mediach społecznościowych, aby przyciągnąć uwagę użytkowników. Standardy dotyczące GIF są określone przez specyfikacje formatów obrazów i są szeroko akceptowane przez deweloperów webowych, co czyni go wygodnym wyborem dla twórców stron internetowych.

Pytanie 27

Zastosowanie bloku deklaracji background-attachment: scroll sprawia, że

A. grafika tła będzie się powtarzać (kafelki)
B. tło strony pozostanie statyczne, a tekst będzie się przesuwał
C. tło strony będzie się przesuwać razem z tekstem
D. grafika tła znajdzie się w prawym górnym rogu strony
Inne odpowiedzi na to pytanie są niepoprawne z kilku powodów. Stwierdzenie, że grafika tła będzie wyświetlona w prawym górnym rogu strony, jest mylące, ponieważ właściwość 'background-attachment' nie wpływa na położenie tła, a jedynie na jego zachowanie podczas przewijania. Pozycjonowanie tła jest kontrolowane za pomocą właściwości 'background-position', która definiuje, gdzie tło ma być umieszczone, a nie jak się zachowuje w kontekście przewijania. Warto również zauważyć, że tło strony może być umieszczone w dowolnym miejscu, a nie tylko w jednym rogu. Inną nieprawidłową koncepcją jest stwierdzenie, że tło strony będzie stałe, a tekst będzie się przewijał. Taka konfiguracja odpowiada właściwości 'background-attachment: fixed', która rzeczywiście utrzymuje tło w stałej pozycji podczas przewijania zawartości. To prowadzi do błędnych wniosków, ponieważ mieszanie tych właściwości może skutkować niezamierzonymi efektami wizualnymi. Ostatnia odpowiedź, sugerująca, że grafika tła będzie powtarzana, odnosi się do 'background-repeat', która kontroluje, czy tło powinno być powtarzane, co jest niezwiązane z przewijaniem. Użytkownicy często mylą te właściwości, co prowadzi do niepoprawnych interpretacji efektów wizualnych. W praktyce ważne jest, aby zrozumieć, że każda z tych właściwości ma swoje unikalne zastosowanie i wpływ na wygląd oraz funkcjonalność strony internetowej.

Pytanie 28

W języku PHPnie ma możliwości

A. zmienianie dynamiczne treści strony HTML w przeglądarce
B. obróbka informacji przechowywanych w bazie danych
C. tworzenie dynamicznej zawartości strony internetowej
D. przetwarzanie danych z formularzy
Odpowiedź dotycząca zmieniania dynamicznej zawartości strony HTML w przeglądarce jest poprawna, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP nie jest w stanie bezpośrednio modyfikować zawartości strony HTML po jej załadowaniu w przeglądarce użytkownika. Zamiast tego, PHP generuje HTML, który następnie jest przesyłany do przeglądarki. Dynamiczna zawartość strony może być generowana na podstawie danych z bazy danych lub formularzy, ale wszelkie zmiany w HTML po stronie klienta wymagają użycia języków, które działają po stronie przeglądarki, takich jak JavaScript. Przykładem może być sytuacja, w której użytkownik wypełnia formularz, a dane są przetwarzane przez PHP, które zwraca zaktualizowaną stronę. W przypadku potrzeby dynamicznych zmian, JavaScript może być użyty do manipulacji DOM po załadowaniu strony. Warto również zauważyć, że zgodnie z dobrymi praktykami, powinno się oddzielać logikę serwerową (PHP) od logiki klienckiej (JavaScript), co przyczynia się do lepszej struktury kodu i ułatwia jego utrzymanie.

Pytanie 29

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom, które nie były odwiedzane
B. każdemu odnośnikowi bez względu na jego bieżący stan
C. odnośnikowi, gdy kursor myszy na niego najedzie
D. wszystkim odnośnikom, które były wcześniej odwiedzane
Pseudoklasa hover jest jedną z najczęściej używanych pseudoklas w CSS stosowaną do stylizacji elementów HTML w momencie, gdy użytkownik najeżdża kursorem myszy na dany element. W podanym przykładzie kodu CSS zastosowano pseudoklasę hover dla elementów a czyli odnośników. Oznacza to, że gdy kursor myszy znajdzie się nad jakimkolwiek odnośnikiem, jego styl zmieni się na pogrubiony dzięki właściwości font-weight: bold. Jest to bardzo przydatne w interaktywnej stylizacji stron internetowych, ponieważ pozwala użytkownikom na wizualne odróżnienie elementów, z którymi mogą wchodzić w interakcję. Praktycznym zastosowaniem tej pseudoklasy jest zwiększenie użyteczności i estetyki strony poprzez subtelne wskazanie elementów interaktywnych, takich jak menu nawigacyjne czy linki w treści. Warto pamiętać o zachowaniu spójności stylizacji dla wszystkich stanów odnośników, co jest zalecane jako dobra praktyka w projektowaniu responsywnych interfejsów użytkownika. Pseudoklasa hover, jako część kaskadowego arkusza stylów, pozwala na dynamiczną interakcję z elementami strony, co znacząco wpływa na doświadczenia użytkownika.

Pytanie 30

W MS SQL Server komenda RESTORE DATABASE jest używana do

A. usunięcia bazy danych z serwera centralnego subskrybenta
B. przywrócenia bazy danych z kopii zapasowej
C. zaktualizowania bazy danych z weryfikacją więzów integralności
D. rekonstrukcji bazy danych na podstawie danych buforowanych
Odpowiedzi, które wskazują na inne funkcje polecenia RESTORE DATABASE, nie uwzględniają kluczowej roli, jaką odgrywa ono w odtwarzaniu bazy danych z kopii zapasowej. Przykładowo, odświeżenie bazy danych z kontrolą więzów integralności sugeruje, że polecenie to zajmuje się aktywnym zarządzaniem danymi i ich integralnością, co jest mylnym zrozumieniem jego funkcji. Kontrola integralności danych jest istotna, ale nie jest bezpośrednio związana z procesem przywracania bazy. Inna niepoprawna koncepcja odnosi się do przebudowywania bazy danych w oparciu o buforowane dane, co sugeruje, że można modyfikować strukturę bazy w oparciu o dane przechowywane w pamięci operacyjnej. Takie podejście jest błędne, ponieważ przywracanie bazy danych z kopii zapasowej ma na celu przywrócenie jej dokładnego stanu, a nie zmianę. Wreszcie, usunięcie bazy danych z serwera subskrybenta nie ma żadnego związku z poleceniem RESTORE DATABASE, które jest używane do odtwarzania, a nie usuwania. Te mylne interpretacje mogą prowadzić do poważnych błędów w zarządzaniu bazami danych, dlatego kluczowe jest, aby zrozumieć konkretne funkcje i zastosowania polecenia w kontekście administracji baz danych.

Pytanie 31

Określ właściwą hierarchię stylów CSS biorąc pod uwagę ich priorytet w stylizacji elementów strony WWW?

A. Wewnętrzny, Zewnętrzny, Rozciąganie stylu
B. Rozciąganie stylu, Zewnętrzny, Lokalny
C. Zewnętrzny, Wydzielone bloki, Lokalny
D. Lokalny, Wewnętrzny, Zewnętrzny
Wszystkie błędne odpowiedzi zawierają istotne nieporozumienia dotyczące priorytetów stylów CSS oraz sposobu, w jaki są one stosowane na stronach internetowych. Porządek stylów jest kluczowy dla efektywnego projektowania stron, a zrozumienie, które style mają pierwszeństwo, jest fundamentalne. Wewnętrzny styl nie powinien być uznawany za wyższy niż zewnętrzny, co sugeruje jedna z niepoprawnych odpowiedzi. Zewnętrzne arkusze stylów, będące najlepszym rozwiązaniem do zarządzania stylami w aplikacjach webowych, są ładowane na początku, co oznacza, że mają niższy priorytet niż style zdefiniowane lokalnie. Natomiast odpowiedzi, które sugerują, że styl zewnętrzny może mieć wyższy priorytet niż lokalny, są szczególnie mylące, gdyż mogą prowadzić do sytuacji, w której zmiany w stylach lokalnych są ignorowane. Dodatkowe błędne koncepcje dotyczą możliwości stosowania tzw. rozciągania stylu, co nie jest terminem uznawanym w kontekście CSS, co jeszcze bardziej potęguje nieporozumienia. W praktyce, nieprzestrzeganie zasad priorytetów stylów CSS może skutkować nieczytelnym kodem i chaotycznym stylem strony, co jest sprzeczne z dobrymi praktykami tworzenia stron internetowych, takimi jak stosowanie zunifikowanych arkuszy stylów i unikanie nadmiarowych deklaracji stylów.

Pytanie 32

Który z podanych kodów XHTML sformatuje tekst zgodnie z określonym schematem?

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź B
C. Odpowiedź C
D. Odpowiedź A
W przypadku innych odpowiedzi, problemem jest niewłaściwe użycie znacznika formatowania tekstu lub błędna struktura kodu. Odpowiedź A używa znacznika b zarówno dla słowa kota, jak i kot, co powoduje, że oba słowa są pogrubione zamiast tylko jednego. Odpowiedź B zawiera niepoprawne użycie znaczników, gdzie b i i są używane zamiennie, co jest niezgodne z podanym wzorem, ponieważ słowo kota powinno być pogrubione, a kot kursywą. W odpowiedzi C znaczniki są użyte niewłaściwie, ponieważ br nie jest zamknięty w cudzysłowie, co może prowadzić do problemów z walidacją w standardzie XHTML oraz nie spełnia wymogu przełamania linii. W każdym przypadku kluczowym błędem jest brak zrozumienia semantycznego znaczenia znaczników oraz ich zależności od struktury dokumentu XHTML. Niepoprawne użycie znaczników prowadzi do nieprawidłowego wyrenderowania tekstu, co jest częstym błędem przy formatowaniu, wynikającym z nieprawidłowego zrozumienia różnicy między znacznikami b i i oraz ich zamierzonego użycia. Dlatego ważne jest, aby zawsze upewnić się, że struktura dokumentu i użycie znaczników jest zgodne z oczekiwaniami i standardami XHTML.

Pytanie 33

Ikona funkcji w edytorze grafiki rastrowej oznaczona jako „różdżka” pozwala na

Ilustracja do pytania
A. wybiórcze nakładanie koloru przy użyciu pędzla
B. ręczne zaznaczanie fragmentów poprzez przeciąganie kursora
C. wybranie konkretnego koloru i ustawienie go jako aktywnego
D. zaznaczenie obszaru w oparciu o kolor
Funkcja różdżki, znana również jako magiczna różdżka, jest narzędziem powszechnie używanym w edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP. Narzędzie to pozwala użytkownikowi na szybkie zaznaczanie obszarów obrazu na podstawie podobieństwa kolorów. Działa poprzez analizę koloru piksela, na który kliknięto, i automatyczne zaznaczenie sąsiadujących pikseli o podobnych wartościach kolorystycznych. Użytkownik może dostosować czułość narzędzia, co jest określane jako tolerancja, aby precyzyjnie kontrolować zakres zaznaczenia. Ustawienie wyższej tolerancji pozwala na zaznaczenie większej liczby pikseli, które różnią się od koloru docelowego tylko nieznacznie, co jest przydatne przy bardziej złożonych obrazach. Ta funkcjonalność jest szczególnie przydatna podczas pracy z obrazami o jednolitym tle lub podczas edycji zdjęć, gdzie szybkie zaznaczenie obszaru pozwala na skuteczniejsze przeprowadzanie operacji, takich jak zmiana koloru, usuwanie czy kopiowanie wybranych elementów. W praktyce, magiczna różdżka stanowi kluczowy element w arsenale narzędzi grafika, umożliwiając efektywne zarządzanie i manipulowanie obrazem, co jest zgodne z najlepszymi praktykami w branży edycji graficznej.

Pytanie 34

Jaki program służy do tworzenia i edytowania grafiki wektorowej?

A. Audacity
B. Corel Draw
C. Wordpad
D. Paint
Corel Draw to profesjonalny program do edycji grafiki wektorowej, który jest szeroko stosowany w branży projektowej. Grafika wektorowa jest oparta na matematycznych równaniach, co pozwala na skalowanie obrazu do dowolnych rozmiarów bez utraty jakości. Corel Draw oferuje zaawansowane narzędzia, takie jak krzywe Béziera, które umożliwiają precyzyjne rysowanie kształtów i linii. Program ten jest wykorzystywany do projektowania logo, ilustracji, plakatów, a także materiałów marketingowych. Przykładem praktycznego zastosowania może być tworzenie wizytówek, gdzie projektant może wykorzystać możliwości Corel Draw do stworzenia unikalnego i profesjonalnego wzoru. Dobre praktyki w pracy z grafiką wektorową obejmują korzystanie z warstw, co pozwala na organizowanie elementów projektu oraz stosowanie kolorów Pantone, co jest szczególnie istotne w druku. Corel Draw jest zgodny z różnymi standardami branżowymi, co czyni go preferowanym wyborem w wielu agencjach kreatywnych.

Pytanie 35

W celu utworzenia różnicowej kopii zapasowej bazy danych na serwerze MSSQL, konieczne jest użycie klauzuli

A. FULL
B. DIFFERENTIAL
C. WITH FORMAT
D. RESTORE
Wybór klauzul 'WITH FORMAT', 'FULL' lub 'RESTORE' nie jest właściwy dla tworzenia różnicowych kopii bazy danych w MSSQL. Klauzula 'WITH FORMAT' służy do określenia, że nośnik, na którym zapisywana jest kopia, ma być sformatowany przed zapisem. Użycie tej klauzuli może prowadzić do utraty wcześniejszych danych na nośniku, co czyni ją nieodpowiednią dla tworzenia różnicowych kopii zapasowych. Klauzula 'FULL' odnosi się do tworzenia pełnych kopii zapasowych, które zawierają wszystkie dane w bazie w momencie wykonywania kopii. Choć pełne kopie są kluczowe w strategii backupowej, to jednak nie odpowiadają na potrzeby związane z tworzeniem różnicowych kopii, które są bardziej efektywne. Ostatnia z wymienionych opcji, klauzula 'RESTORE', nie jest używana do tworzenia kopii zapasowych w ogóle, lecz do przywracania bazy danych z wcześniej wykonanych kopii. Często popełnianym błędem jest mylenie procedur backupu i restore'u, co prowadzi do nieporozumień w procesie zarządzania danymi. Kluczowe w zarządzaniu bazą danych jest zrozumienie, że różnicowe kopie zapasowe mają na celu efektywne i oszczędne archiwizowanie zmian, w przeciwieństwie do pełnych kopii, które są bardziej czasochłonne i wymagają więcej zasobów.

Pytanie 36

Wymień dwa sposoby na zabezpieczenie bazy danych Microsoft Access

A. Funkcje anonimowe oraz ustawienie hasła do otwarcia bazy danych
B. Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
C. Ustalenie zabezpieczeń na poziomie użytkownika oraz w sesji
D. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
Zabezpieczenie bazy danych Microsoft Access wymaga zastosowania odpowiednich technik, które niestety nie są w pełni reprezentowane w niepoprawnych odpowiedziach. Funkcje anonimowe, choć mogą być używane w kontekście prywatności, nie odpowiadają rzeczywistym potrzebom ochrony bazy danych. Ustalanie hasła otwarcia bazy danych jest dobrym krokiem, ale sama metoda nie wystarcza w przypadku wysoce wrażliwych danych. Nie można opierać bezpieczeństwa wyłącznie na jednym mechanizmie. Zaszyfrowanie pliku bazy danych jest metodą, jednak SMS-y z kodem autoryzującym to błędne podejście, ponieważ nie są one standardowo wspierane w Microsoft Access jako forma zabezpieczenia bazy danych. Powinno się raczej korzystać z bardziej zaawansowanych systemów autoryzacji, które są lepiej zintegrowane z aplikacjami bazodanowymi. Ustalanie zabezpieczeń na poziomie użytkownika i sesji, mimo że teoretycznie mogą wydawać się skuteczne, w praktyce często pomijają kluczowe aspekty zarządzania rolami i uprawnieniami w systemach bazodanowych. To prowadzi do ryzyka nieautoryzowanego dostępu, jeśli nie zostaną spełnione odpowiednie normy zabezpieczeń. Warto zwrócić uwagę na metodologię zarządzania dostępem, która powinna być zgodna z zaleceniami branżowymi oraz regulacjami prawnymi dotyczącymi ochrony danych, takimi jak RODO.

Pytanie 37

Podczas tworzenia tabeli, do pola, które ma automatycznie przyjmować następne liczby całkowite, należy wprowadzić atrybut

A. NULL
B. PRIMARY KEY
C. NOT NULL
D. AUTO_INCREMENT
Właściwość AUTO_INCREMENT w bazach danych, takich jak MySQL, jest kluczowym elementem, który umożliwia automatyczne zwiększanie wartości liczbowej w polu, co jest szczególnie przydatne przy tworzeniu identyfikatorów dla rekordów. Gdy pole jest oznaczone jako AUTO_INCREMENT, każda nowa wartość wstawiana do tego pola jest automatycznie zwiększana o jeden w porównaniu do ostatniej wprowadzonej wartości. Na przykład, jeśli ostatni rekord miał identyfikator 5, to nowy rekord otrzyma identyfikator 6. Umożliwia to uniknięcie ręcznego zarządzania numeracją identyfikatorów i minimalizuje ryzyko ich powtórzenia, co jest kluczowe dla zachowania integralności danych. Praktycznie, stosowanie AUTO_INCREMENT w tabelach, które przechowują dane o użytkownikach, zamówieniach czy transakcjach, zapewnia wydajność oraz spójność w zarządzaniu unikalnymi identyfikatorami. Dobrą praktyką jest również łączenie AUTO_INCREMENT z PRIMARY KEY, aby zapewnić, że każdy rekord w tabeli jest unikalny i łatwy do identyfikacji.

Pytanie 38

Jaką wartość zwróci funkcja empty($a); w języku PHP, gdy zmienna $a będzie miała wartość liczbową 0?

A. NULL
B. FALSE
C. 0
D. TRUE
Wybór wartości 0 jako odpowiedzi jest błędny, ponieważ funkcja empty() nie zwraca wartości liczbowej, a zamiast tego określa, czy zmienna jest pusta. Wartość 0 nie oznacza, że zmienna jest 'zapełniona', a wręcz przeciwnie, w kontekście PHP jest traktowana jako 'pusta'. Niezrozumienie tego może prowadzić do błędnych założeń podczas pracy z danymi, gdzie 0 często może być uważane za wartość ważną. Z kolei NULL jest typem, który reprezentuje brak wartości, ale w kontekście funkcji empty() jest on również uznawany za pusty. Zmienne z wartością NULL zostaną ocenione jako puste, co jest zgodne z zasadami typowania w PHP, jednak nie należy mylić tego z zerem. Zastosowanie wartości FALSE jako odpowiedzi jest również nieprawidłowe, ponieważ empty() nie zwraca wartości logicznej FALSE dla zmiennej $a, która ma wartość 0. Zamiast tego zwróci TRUE. Istotne jest, aby zrozumieć, że empty() nie ocenia wartości w sensie ich logiczności, lecz jedynie czy są one 'puste' w kontekście PHP. Właściwe zrozumienie tego mechanizmu jest kluczowe dla uniknięcia błędów w logice programowania, zwłaszcza w skomplikowanych aplikacjach webowych, gdzie walidacja danych jest istotna.

Pytanie 39

Znacznik <strong> tekst</strong> w HTML będzie ukazywany przez przeglądarkę w identyczny sposób, jak znacznik

A. <big>tekst</big>
B. <h1>tekst</h1>
C. <b>tekst</b>
D. <sub>tekst</sub>
Znacznik <strong> w języku HTML jest używany do oznaczania tekstu, który ma być wyświetlany w sposób wyróżniony, co sugeruje jego większe znaczenie, natomiast znacznik <b> jest używany tylko do pogrubienia tekstu, bez dodatkowego kontekstu semantycznego. Oba znaczniki są wizualnie identyczne w większości przeglądarek, co powoduje, że można je stosować zamiennie w niektórych przypadkach. Jednakże, zgodnie z najnowszymi standardami HTML, zaleca się używanie <strong> dla tekstu, który ma większe znaczenie, ponieważ to pomaga w SEO i dostępności. Na przykład, tekst umieszczony w znaczniku <strong> może być lepiej interpretowany przez technologie wspomagające, takie jak czytniki ekranu, co czyni go bardziej dostępnym dla osób z niepełnosprawnościami. Przykład użycia: <strong>ważne informacje</strong> w odróżnieniu od <b>ważne informacje</b>, gdzie znaczenie semantyczne jest pominięte. Dlatego, mimo że wizualnie nie widać różnicy, semantyka HTML jest kluczowym aspektem, który wpływa na sposób, w jaki treść jest interpretowana i przetwarzana przez różnorodne systemy.

Pytanie 40

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

A. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
B. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
C. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
D. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
Nieprawidłowe odpowiedzi w kwestii kolejności tworzenia aplikacji bazują na błędnych założeniach dotyczących etapów procesu. W pierwszej z tych odpowiedzi, pominięcie analizy wymagań klienta na rzecz specyfikacji powoduje, że projekt może nie spełniać oczekiwań użytkowników, co prowadzi do nieefektywnego wykorzystania zasobów oraz czasu. Specyfikacja wymagań musi być tworzona na podstawie dokładnej analizy potrzeb, a nie odwrotnie. Kolejna odpowiedź zaczyna się od tworzenia aplikacji bez wcześniejszej analizy i specyfikacji, co jest nie tylko technicznie błędne, ale również wiąże się z ogromnym ryzykiem powstawania błędów w kodzie i funkcjonalności, które nie odpowiadają na realne potrzeby użytkowników. W ostatnim przypadku, pomimo że analiza wymagań oraz specyfikacja są na początku, przed wdrożeniem powinny być przeprowadzone testy, aby upewnić się, że produkt działa zgodnie z oczekiwaniami. Etap testowania jest niezbędny przed wdrożeniem, ponieważ pozwala na identyfikację i naprawę błędów, co jest kluczowe dla osiągnięcia wysokiej jakości końcowego produktu. Wszelkie zmiany w tej kolejności mogą prowadzić do kosztownych błędów oraz niezadowolenia użytkowników.