Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 5 maja 2026 09:07
  • Data zakończenia: 5 maja 2026 09:26

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

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

Aby skutecznie zrealizować algorytm, który znajdzie największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. jednej pętli
B. pięciu zmiennych
C. dwóch tablic
D. dwóch warunków
Aby znaleźć największą z trzech liczb a, b i c, wystarczy użyć dwóch warunków logicznych. Przykładowo, można porównać a z b, a następnie wynik tego porównania porównać z c. Jeśli a jest większe od b, to następnie sprawdzamy, czy a jest większe od c. W przeciwnym razie, porównujemy b z c. Tego rodzaju podejście pozwala na efektywną i prostą realizację algorytmu w O(1) czasie, co oznacza, że czas wykonania nie zależy od rozmiaru danych. W praktyce, takie podejście jest zgodne z zasadami minimalizmu w programowaniu, gdzie dąży się do używania jak najmniejszej liczby operacji. Dobrym przykładem jest implementacja tego algorytmu w różnych językach programowania, które pokazuje, jak zastosowanie prostych warunków może przyczynić się do zrozumienia i efektywności kodu. Użycie dwóch warunków jest również zgodne z zasadą KISS (Keep It Simple, Stupid), która promuje prostotę w projektowaniu algorytmów.

Pytanie 2

Aby zdefiniować selektor klasy w kaskadowych arkuszach stylów, należy użyć symbolu

A. *
B. : (dwukropek)
C. . (kropka)
D. #
Selektory klas w CSS są super ważne! Używamy kropki (.) na początku, żeby zdefiniować klasę. To naprawdę ułatwia sprawę, bo można przypisać jeden styl do wielu elementów. Na przykład, jeśli zdefiniujesz klasę .przycisk, to wszystkie elementy, które ją mają, mogą wyglądać tak samo – możesz zmieniać kolory, rozmiary czy inne rzeczy. To świetne, bo dzięki temu kod jest czytelniejszy i łatwiej go ogarnąć. Klasy są bardziej elastyczne niż identyfikatory (#), które są unikalne i można je używać tylko raz w dokumencie. Dlatego, kiedy potrzebujesz, aby kilka elementów miało te same style, lepiej postawić na klasy. A tak w ogóle, użycie kropki dla klas to taki standard w CSS, który pozwala łatwiej ogarniać całą hierarchię stylów na stronie. Po prostu to się sprawdza!

Pytanie 3

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
B. obliczyć sumę wszystkich elementów tablicy
C. wyświetlić wszystkie pozycje w tablicy
D. dodać stałą wartość do każdego elementu tablicy
Podany fragment kodu w języku JavaScript ma za zadanie zsumować wszystkie elementy tablicy. Widzimy, że zmienna wynik jest inicjalizowana wartością 0 co jest standardową praktyką przy zliczaniu sumy. Następnie pętla for iteruje przez każdy element tablicy używając warunku i < tab.length co zapewnia że przechodzimy przez wszystkie indeksy tablicy od 0 do ostatniego. Wewnątrz pętli mamy instrukcję wynik += tab[i] która dodaje aktualny element tablicy do zmiennej wynik. Jest to typowe podejście do sumowania elementów tablicy i odpowiada standardowym praktykom w programowaniu. Dzięki temu możemy w prosty sposób uzyskać sumę elementów tablicy niezależnie od jej długości. Takie rozwiązanie jest nie tylko przejrzyste ale i efektywne z punktu widzenia złożoności obliczeniowej gdyż operuje w czasie liniowym O(n). Powyższy sposób zliczania jest uniwersalny i można go stosować w różnych językach programowania.

Pytanie 4

Wskaż kod równoważny do przedstawionego kodu zapisanego językiem PHP.

$suma = 0;
for ($x = 10; $x <= 20; $x++) {
    $suma += $x;
}
Kod 1.
$suma = 0;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 2.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 3.
$suma = 0;
$x = 1;
while ($x <= 10) {
    $suma += $x;
    $x++;
}
Kod 4.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma = $x;
    $x++;
}
A. Kod 4.
B. Kod 2.
C. Kod 1.
D. Kod 3.
Wybrana przez Ciebie odpowiedź nie jest prawidłowa. Zostały tutaj przedstawione kody, które nie są równoważne do kodu PHP. Na przykład, może pojawić się kod, który używa innej pętli, ale nie inicjalizuje wartości $x na 10 lub nie inkrementuje jej aż do osiągnięcia wartości 20. Inny kod może nawet nie używać pętli, co jest fundamentalnym błędem, ponieważ pętle są niezbędne do wykonania określonej liczby operacji bez konieczności pisania dużej ilości kodu. Ważne jest, aby zwrócić uwagę na detale takie jak warunki pętli, sposoby inkrementacji, a także na to, czy kod faktycznie używa pętli. Pamiętaj, że wybór odpowiedniego rodzaju pętli jest kluczowy w zależności od problemu, który próbujesz rozwiązać. Pętle for są zazwyczaj używane, gdy z góry wiemy ile razy pętla ma być wykonana, a pętle while są używane, gdy nie wiemy ile razy pętla ma być wykonana, ale znamy warunek jej zakończenia. To jest podstawowa wiedza, którą każdy programista powinien posiadać, więc jeśli masz z tym problemy, warto poświęcić więcej czasu na zrozumienie pętli.

Pytanie 5

W zaprezentowanym fragmencie kodu HTML zdefiniowano pole input, które można opisać jako

<input type="password" name="pole">
A. pokazuje znaki, które zostały do niego wprowadzone
B. dopuszcza jedynie wprowadzanie wartości liczbowych
C. zawiera domyślny tekst „pole”
D. ukrywa znaki, które zostały do niego wprowadzone
Pole input z atrybutem type="password" służy do wprowadzania danych, które powinny być ukryte przed wglądem osób trzecich, takich jak hasła. Wprowadzone znaki są zastępowane na ekranie innymi symbolami, najczęściej kropkami lub gwiazdkami, co zabezpiecza przed odczytem hasła przez osoby patrzące na ekran. Ten mechanizm jest standardem w aplikacjach webowych, dbającym o bezpieczeństwo użytkowników. W praktyce, pola typu password są używane w formularzach logowania oraz rejestracji, gdzie ochrona danych osobowych i wrażliwych jest priorytetem. Ważne jest również, aby takie pola były osadzone w bezpiecznych kontekstach, np. na stronach korzystających z protokołu HTTPS, co zapewnia szyfrowanie przesyłanych informacji. Ponadto, deweloperzy powinni stosować się do dobrych praktyk, takich jak implementacja mechanizmów zapobiegających atakom typu shoulder surfing poprzez odpowiednie umiejscowienie i stylowanie pól password. Warto również pamiętać o testowaniu funkcjonalności takich pól, aby upewnić się, że ukrywanie znaków działa prawidłowo na różnych urządzeniach i przeglądarkach, co jest kluczowe w zapewnieniu spójnego doświadczenia użytkownika oraz zachowania bezpieczeństwa.

Pytanie 6

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 4
B. Blok 2
C. Blok 3
D. Blok 1
Gradienty w CSS są potężnym narzędziem które pozwala na tworzenie gładkich i płynnych przejść między kolorami jednak ich zastosowanie wymaga zrozumienia jak działają różne typy gradientów W przypadku linear-gradient to right LightBlue DarkBlue gradient rozciąga się liniowo od lewej do prawej strony Blok 1 prawdopodobnie wykorzystuje gradient w pionie co wskazuje na niewłaściwe zrozumienie kierunku gradientu Kierunek gradientu jest kluczowy w CSS i warto zwracać uwagę na precyzyjne określenie jego początku i końca Blok 3 ukazuje gradient który wydaje się pochodzić z jednego punktu co sugeruje radial-gradient Zastosowanie radialnych gradientów różni się od liniowych gdyż rozciągają się one od środka do krawędzi Blok 4 wskazuje na nieregularny układ kolorów co może być wynikiem nieprawidłowego zastosowania wartości kolorów lub typów gradientu Takie nieintencjonalne błędy mogą wyniknąć z niewłaściwego zrozumienia składni CSS i zazwyczaj są efektem braku dokładności w definiowaniu stylów Zrozumienie jak gradienty wpływają na estetykę i funkcjonalność pomoże unikać tych błędów i tworzyć bardziej spójne i atrakcyjne wizualnie projekty internetowe Edukacja w zakresie poprawnego stosowania gradientów i ich właściwości umożliwia stworzenie bardziej efektywnych i przyjaznych dla użytkownika rozwiązań webowych co jest istotną częścią współczesnego projektowania UX i UI

Pytanie 7

W semantycznym HTML odpowiednikiem tagu <b>, który nie tylko pogrubia tekst, ale również oznacza go jako istotniejszy, jest

A. <strong>
B. <mark>
C. <ins>
D. <em>
Znacznik <strong> w języku HTML semantycznym służy do oznaczania tekstu, który ma szczególne znaczenie w kontekście treści. Oprócz stylistycznego pogrubienia czcionki, <strong> wskazuje, że dany fragment tekstu jest ważny dla zrozumienia treści dokumentu. Przykładowo, w artykule omawiającym bezpieczeństwo w Internecie, można użyć <strong> do wyróżnienia kluczowych terminów, takich jak 'szyfrowanie' czy 'firewall', co podkreśla ich znaczenie w ochronie danych. Użycie znaczników semantycznych, takich jak <strong>, jest zgodne z najlepszymi praktykami dostępności, co zapewnia lepszą interpretację treści przez technologie asystujące, takie jak czytniki ekranu. Takie podejście poprawia nie tylko nawigację po stronie, ale również SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst i hierarchię treści. Warto również zauważyć, że w przeciwieństwie do <b>, który jedynie zmienia wygląd tekstu, <strong> wnosi dodatkowy sens do struktury dokumentu, co jest szczególnie istotne w kontekście tworzenia witryn internetowych, które są zarówno estetyczne, jak i funkcjonalne.

Pytanie 8

Zaprezentowano tabelę stworzoną przy użyciu kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. B
D. Rys. C
Znaczniki HTML używane w konstrukcji tabel muszą być wybierane z uwzględnieniem ich przeznaczenia i semantycznego znaczenia. W przypadku budowy pierwszego wiersza tabeli, który pełni rolę nagłówka, kluczowe jest wykorzystanie odpowiednich znaczników, takich jak <th>. Wybór znaczników <td> w pierwszym wierszu, nawet jeśli zawierają one tekst pasujący do nagłówków, jest błędny, ponieważ <td> oznacza komórki danych, a nie nagłówki. Tego typu błędy mogą prowadzić do niejednoznacznej interpretacji struktury tabeli przez technologie wspomagające, jak czytniki ekranowe, co jest sprzeczne z wytycznymi dotyczącymi dostępności. Dodatkowo, korzystanie z tagów niewłaściwie zamieniających semantykę (np. <i> lub <center> wewnątrz <td>) nie tylko nie spełnia standardów estetycznych i funkcjonalnych, ale także zwiększa techniczne zadłużenie projektu. Brak poprawnego stosowania znaczników nagłówka (<th>) może utrudniać zrozumienie danych przez użytkowników oraz wpływać negatywnie na użyteczność strony. Poprawne zrozumienie i stosowanie semantycznych możliwości HTML jest fundamentem tworzenia dostępnych i efektywnych stron internetowych co ma kluczowe znaczenie w kontekście profesjonalnego podejścia do projektowania interfejsów użytkownika i architektury informacji na stronach internetowych.

Pytanie 9

Aby zmienić strukturę już istniejącej tabeli przy użyciu zapytania SQL, należy użyć kwerendy

A. CREATE TABLE
B. INSERT INTO
C. UPDATE
D. ALTER TABLE
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ ta kwerenda jest używana do modyfikacji struktury istniejącej tabeli w bazach danych SQL. Dzięki komendzie ALTER TABLE można dodawać nowe kolumny, usuwać istniejące kolumny, zmieniać typy danych kolumn, a także modyfikować ograniczenia (constraints) dotyczące tabeli. Dla przykładu, aby dodać nową kolumnę 'wiek' do tabeli 'pracownicy', można użyć następującej kwerendy: 'ALTER TABLE pracownicy ADD wiek INT;'. Warto również wspomnieć, że ALTER TABLE może być używane w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQL Server, co czyni go uniwersalnym narzędziem w pracy z bazami danych. Podczas modyfikacji tabeli należy jednak zachować ostrożność, aby nie wprowadzić niezgodności w aplikacjach korzystających z tej tabeli. Praktyką zalecaną jest wykonywanie kopii zapasowej danych przed wprowadzeniem większych zmian. Zrozumienie tej komendy i jej zastosowania jest kluczowe dla efektywnego zarządzania danymi w systemach bazodanowych.

Pytanie 10

Jaką rolę pełni funkcja PHP o nazwie mysql_num_rows()?

A. zwraca ilość wierszy znajdujących się w rezultacie zapytania
B. zwraca następny rekord z wynikami zapytania
C. numeruje rekordy w bazie danych
D. zwraca rekord o numerze podanym w argumencie funkcji
Funkcja mysql_num_rows() jest fundamentalnym narzędziem w interakcji z bazami danych w PHP, służącym do zwrócenia liczby wierszy w zestawie wyników zapytania. W kontekście programowania, jej zastosowanie jest kluczowe, gdy chcemy ocenić, czy zapytanie zwróciło jakiekolwiek dane. Przykładowo, jeśli wykonujemy zapytanie do bazy danych w celu pobrania listy użytkowników i chcemy sprawdzić, czy tabela zawiera jakiekolwiek rekordy, użycie mysql_num_rows() pozwala na łatwą i efektywną weryfikację. W praktyce, często łączy się tę funkcję z innymi, takimi jak mysql_query() w celu uzyskania wyników zapytania, a następnie sprawdzenia ich liczby. W związku z tym, dobre praktyki sugerują, aby po każdym zapytaniu, które może zwrócić wiele wyników, stosować tę funkcję do walidacji wyniku. Należy pamiętać, że mysql_num_rows() działa tylko na wynikach zapytań SELECT i nie jest użyteczna w przypadku innych typów operacji na bazach danych.

Pytanie 11

Określ rezultat wykonania skryptu stworzonego w języku PHP

Ilustracja do pytania
A. C
B. A
C. B
D. D
Odpowiedzi B, C i D są niepoprawne z kilku powodów związanych z błędnym zrozumieniem działania funkcji asort() w PHP. Po pierwsze, funkcja ta sortuje tablicę według wartości w porządku rosnącym, ale co ważne, zachowuje oryginalne klucze. Odpowiedź B ukazuje tablicę z kluczami zresetowanymi do wartości całkowitych, co wskazuje na zastosowanie innej funkcji sortującej jak sort() zamiast asort(). Taki wynik wskazuje brak zrozumienia kluczowej cechy asort(), która jest istotna w pracy z tablicami asocjacyjnymi, gdzie zachowanie kluczy jest konieczne do prawidłowego odwzorowania danych. W odpowiedzi C klucze są także zresetowane, a wartości są w niewłaściwej kolejności, co mogłoby sugerować użycie sort() na tablicy o zmienionym indeksowaniu. Odpowiedź D pokazuje tablicę posortowaną poprawnie, ale w niewłaściwej kolejności, co sugeruje błędne użycie funkcji sortującej, być może zakładające odwrotną kolejność lub błędne przypisanie wartości. Kluczowe jest zrozumienie, jak różne funkcje sortujące w PHP wpływają na klucze i wartości tablic, aby unikać takich błędów i poprawnie wykorzystywać funkcje jak asort() do manipulacji danymi w kontekście ich praktycznego zastosowania, jak konfigurowanie ustawień czy analiza danych, gdzie zachowanie oryginalnych kluczy jest kluczowe. Niewłaściwe zastosowanie może prowadzić do błędnych interpretacji danych i problemów z zachowaniem integralności aplikacji.

Pytanie 12

Jaką wiadomość należy umieścić w przedstawionym fragmencie kodu PHP zamiast znaków zapytania? $a=mysql_connect('localhost','adam','mojeHasło'); if(!$a) echo "?????????????????????????";

A. Rekord został pomyślnie dodany do bazy
B. Błąd w przetwarzaniu zapytania SQL
C. Błąd połączenia z serwerem SQL
D. Wybrana baza danych nie istnieje
W sytuacji, gdy nie udaje się nawiązać połączenia z serwerem baz danych MySQL, komunikat błędu powinien jasno wskazywać na problem związany z połączeniem. W kodzie PHP, używając funkcji mysql_connect(), jeśli połączenie się nie powiedzie, zwracany jest błąd, który powinien być odpowiednio obsłużony. W tym przypadku odpowiednia treść komunikatu powinna brzmieć 'Błąd połączenia z serwerem SQL'. Ważne jest, aby programiści dbali o poprawne komunikaty błędów, ponieważ ułatwiają one diagnozowanie problemów. Dobrą praktyką jest także stosowanie obsługi wyjątków, co zwiększa stabilność aplikacji. Przykład: zamiast używać mysql_connect(), zaleca się korzystanie z mysqli lub PDO, które oferują bardziej zaawansowane opcje zarządzania błędami oraz obsługę wyjątków. W przypadku użycia mysqli, mógłbyś to zrobić w następujący sposób: $mysqli = new mysqli('localhost', 'adam', 'mojeHasło'); if ($mysqli->connect_error) { echo 'Błąd połączenia z serwerem SQL: ' . $mysqli->connect_error; } Poprawne raportowanie błędów jest kluczowym elementem programowania, ponieważ pozwala na szybką identyfikację i naprawę potencjalnych problemów.

Pytanie 13

W JavaScript funkcja document.getElementById(id) ma na celu

A. pobrać wartości z formularza i przypisać je do zmiennej id
B. zweryfikować poprawność formularza o identyfikatorze id
C. umieścić tekst o treści ’id’ na stronie internetowej
D. zwrócić referencję do pierwszego elementu HTML o wskazanym id
Fajnie, że zwróciłeś uwagę na metodę document.getElementById(id). To naprawdę ważne narzędzie w JavaScript, jeśli chodzi o pracę z DOM. Dzięki niej możesz łatwo znaleźć element HTML, który ma konkretny identyfikator, co jest super przydatne, gdy chcesz coś zmienić na stronie. Na przykład, żeby zmienić tekst nagłówka, używasz: document.getElementById('header').innerText = 'Nowy tekst nagłówka'. Warto pamiętać, żeby identyfikatory były unikalne, bo to potem ułatwia odnajdywanie i manipulację tymi elementami. Unikaj też zbyt ogólnych nazw, bo to może prowadzić do zamieszania. Metoda ta jest naprawdę szeroko stosowana w nowoczesnym programowaniu stron internetowych, co czyni strony bardziej interaktywnymi i dynamicznymi.

Pytanie 14

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. usunięcia tabeli lub jej rekordów
B. przeglądania tabeli klienci oraz dodawania do niej rekordów
C. zmiany danych oraz przeglądania tabeli klienci
D. tworzenia tabeli klienci i modyfikowania w niej danych
Użytkownik <b>adam</b> rzeczywiście uzyskuje pełne prawa do zarządzania tabelą <b>klienci</b> po wykonaniu polecenia GRANT ALL PRIVILEGES. To polecenie nadaje wszystkie możliwe uprawnienia, w tym SELECT (przeglądanie danych), INSERT (wstawianie nowych rekordów), UPDATE (aktualizowanie istniejących danych) oraz DELETE (usuwanie rekordów). W kontekście praktycznym, posiadanie ALL PRIVILEGES oznacza, że użytkownik ma swobodę w manipulowaniu danymi, co jest kluczowe w pracy z bazami danych. Na przykład, w aplikacji zarządzającej klientami, <b>adam</b> może zaktualizować szczegóły klienta, dodać nowych klientów do bazy oraz usunąć tych, którzy już nie są aktywni. Jednakże, ważne jest, aby przyznawanie takich uprawnień odbywało się zgodnie z zasadami minimalnych uprawnień, aby zredukować ryzyko nieautoryzowanych zmian. Dlatego też praktyki zarządzania użytkownikami w bazach danych powinny obejmować dokładne audyty uprawnień oraz regularne przeglądy przyznanych praw, aby zapewnić bezpieczeństwo danych.

Pytanie 15

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Users
B. Security users
C. Administrator systemu
D. Użytkownik lokalny
Aby wykonać i odtworzyć kopię zapasową bazy danych Microsoft SQL Server 2005 Express, wymagane jest posiadanie uprawnień administratora systemu. Administratorzy mają pełny dostęp do wszystkich funkcji i zasobów systemu, co jest kluczowe podczas zarządzania kopiami zapasowymi, które są niezbędne dla bezpieczeństwa i integralności danych. W kontekście SQL Server, administratorzy mogą korzystać z różnych narzędzi, takich jak SQL Server Management Studio (SSMS), aby tworzyć kopie zapasowe baz danych oraz przywracać je w razie potrzeby. Dobrą praktyką jest regularne tworzenie kopii zapasowych, co pozwala na minimalizację ryzyka utraty danych wskutek awarii systemu, błędów ludzkich czy ataków złośliwego oprogramowania. Ponadto, znajomość polityk przechowywania kopii zapasowych, takich jak ich rotacja i przechowywanie w bezpiecznych lokalizacjach, stanowi integralną część zarządzania danymi w organizacji. Warto również pamiętać o testowaniu procesów przywracania danych, aby upewnić się, że w sytuacji kryzysowej dostęp do informacji będzie możliwy w sposób szybki i efektywny.

Pytanie 16

Który z akapitów wykorzystuje opisaną właściwość stylu CSS?

Ilustracja do pytania
A. D
B. B
C. A
D. C
Odpowiedź B jest poprawna, ponieważ właściwość CSS border-radius: 20% określa zaokrąglenie narożników elementu. W tym przypadku zastosowanie 20% promienia powoduje, że narożniki akapitu są zaokrąglone w umiarkowanym stopniu. Właściwość ta jest powszechnie wykorzystywana w projektowaniu stron internetowych, aby nadać elementom bardziej łagodny, przyjazny wygląd. Użycie procentowej wartości oznacza, że wielkość zaokrąglenia zależy od wymiarów elementu, co pozwala na zachowanie proporcji na różnych urządzeniach i przy różnych rozmiarach ekranu. Zaokrąglenie w CSS jest istotnym aspektem responsywnego designu, ponieważ może poprawiać czytelność i estetykę interfejsu użytkownika. Praktyczne zastosowania obejmują przyciski, karty, obrazki i inne elementy interfejsu, gdzie płynne linie mogą wpływać na ogólne wrażenie wizualne strony. Zrozumienie i umiejętne wykorzystanie border-radius jest częścią standardowych umiejętności projektanta stron internetowych, co również wspiera zgodność ze współczesnymi trendami w UI/UX.

Pytanie 17

Który z akapitów został sformatowany zgodnie z przedstawionym stylem, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź C
C. Odpowiedź A
D. Odpowiedź D
Wybór nieprawidłowych odpowiedzi może wynikać z niezrozumienia specyfiki stylów CSS zastosowanych w tym pytaniu. Opcja A stosuje pełne wypełnienie kolorem tła, co nie jest zgodne z przedstawionym stylem, ponieważ styl ten nie obejmuje background-color. Wybór taki mógł być spowodowany błędnym przekonaniem, że kolor tekstu zmienia również kolor tła. Opcja B nie posiada odpowiedniego pogrubienia tekstu, co może wynikać z niepełnego zrozumienia znaczenia właściwości font-weight, która w tym przypadku wynosi 900, wskazując na bardzo pogrubiony tekst. Brak tego efektu w opcji B sugeruje, że tekst nie był stylizowany zgodnie z wymaganiami, stąd wybór tej opcji jest błędny. Odpowiedź D, chociaż posiada pewne podobieństwa, zbyt słabo przedstawia efekt paddingu, który powinien wynosić 20 pikseli, co oznacza znaczne wcięcie wewnętrzne. To może wynikać z nieuświadomienia sobie, jak padding wpływa na przestrzeń wokół tekstu. Znajomość tych podstawowych zasad CSS jest kluczowa w profesjonalnym projektowaniu stron internetowych, gdzie poprawne zastosowanie stylów wpływa na funkcjonalność i estetykę interfejsu użytkownika. Typowym błędem w zrozumieniu może być założenie, że wszystkie style wpływają na wygląd tak samo, podczas gdy ich działanie jest często bardzo specyficzne.

Pytanie 18

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?

Ilustracja do pytania
A. Regułę sprawdzania poprawności
B. Maskę wprowadzania
C. Wartość domyślną
D. Tagi inteligentne
Tagi inteligentne są narzędziem umożliwiającym szybki dostęp do dodatkowych funkcji lub opcji związanych z danymi w polu. Nie mają jednak zdolności do ograniczania samej zawartości pola w kontekście dozwolonych znaków. Ich rola jest raczej wspomagająca użytkownika poprzez dodawanie kontekstowych opcji, ale nie dotyczą bezpośrednio walidacji danych. Wartość domyślna to z kolei predefiniowana wartość, jaką pole przyjmuje w momencie tworzenia nowego rekordu, jednak nie wpływa na to, jakie dane użytkownik może wprowadzić. Jest użyteczna do ułatwienia tworzenia danych, ale nie służy do ograniczania formatu wprowadzanych danych. Chociaż reguła sprawdzania poprawności może być stosowana do określania, jakie dane są uznawane za poprawne, jej główną rolą jest weryfikacja już wprowadzonych danych, a nie ich formatowanie w trakcie wprowadzania. Reguły te mogą informować o błędach po wprowadzeniu danych, lecz nie zapobiegają samemu wprowadzaniu błędnych danych. Wiele osób może mylnie sądzić, że reguła sprawdzania poprawności i maska wprowadzania pełnią podobne funkcje, jednak maska działa na poziomie interfejsu wprowadzania, wymuszając określony format w czasie rzeczywistym, podczas gdy reguła działa retrospektywnie. Zrozumienie tych różnic pozwala na odpowiednie zastosowanie tych narzędzi w projektowaniu baz danych, co skutkuje lepszym zarządzaniem jakością danych oraz zwiększeniem intuicyjności interfejsu użytkownika. Stosowanie masek wprowadzania jest szczególnie korzystne w kontekście aplikacji z dużą ilością danych liczbowych, gdzie precyzja jest kluczowa, a reguły poprawności lepiej sprawdzają się w kontekście logicznych zależności pomiędzy polami danych. To rozróżnienie jest kluczowe dla osiągnięcia wysokiej jakości danych i łatwej obsługi w systemach informatycznych.

Pytanie 19

W CSS wprowadzono formatowanie

p > i {color: blue} 

Co oznacza, że tekst zapisany będzie w kolorze niebieskim

A. pochylony tekst akapitu
B. cały tekst nagłówków bez względu na ich formatowanie
C. pogrubiony tekst akapitu
D. cały tekst akapitu bez względu na jego formatowanie
Przy analizowaniu dostępnych odpowiedzi, warto zauważyć, że niektóre z nich opierają się na błędnych założeniach dotyczących działania selektorów CSS. Odpowiedź, która sugeruje, że <code>p > i</code> dotyczy całego tekstu paragrafu, jest nieprawidłowa, ponieważ selektor w tym przypadku odnosi się wyłącznie do elementów <code><i></code>, które są bezpośrednimi dziećmi elementu <code><p></code>. W CSS, operator > wskazuje na relację rodzica do dziecka, co oznacza, że tylko bezpośrednie potomki będą podlegały zastosowanemu stylowi. W związku z tym, odpowiedzi, które mówią o całym tekście paragrafu, nie uwzględniają tej kluczowej zasady działania CSS. Podobnie, odpowiedź mówiąca o pogrubionym tekście również jest mylna - stylizacja <code>color: blue</code> nie wpływa na grubość tekstu, a jedynie na kolor, co ilustruje nieporozumienie związane z właściwościami CSS. Ostatecznie, koncepcje dotyczące nagłówków w odpowiedzi również są niedokładne, ponieważ w analizowanym selektorze nie ma odniesienia do jakiegokolwiek nagłówka. Warto zatem pamiętać, że CSS wymaga precyzyjnego rozumienia struktury dokumentu oraz zastosowania odpowiednich selektorów, aby móc skutecznie modyfikować style elementów HTML.

Pytanie 20

Po wykonaniu fragmentu kodu HTML i JavaScript na stronie będzie wyświetlony obraz z pliku

<img id="obraz" src="kol1.jpg">
<button id="przycisk">Przycisk</button>

<script>
    document.getElementById("obraz").src = "kol2.jpg";
</script>
A. kol2.jpg, który może być zmieniony na kol1.jpg po wciśnięciu przycisku.
B. kol2.jpg
C. kol1.jpg
D. kol1.jpg, który może być zmieniony na kol2.jpg po wciśnięciu przycisku.
Dobra robota, zgadłeś! W tym skrypcie JavaScript używamy metody getElementById, żeby znaleźć obraz na stronie o identyfikatorze 'obraz'. Później zmieniamy jego atrybut 'src' na 'kol2.jpg'. To znaczy, że po uruchomieniu tego kodu wyświetli się właśnie ten obrazek. Fajnie jest to zrozumieć, bo pokazuje, jak można dynamicznie zmieniać rzeczy na stronie za pomocą JavaScript. Takie umiejętności są super ważne, gdy tworzymy interaktywne strony, które reagują na to, co robi użytkownik. Na przykład, można by zmienić obraz, gdy ktoś najedzie na niego myszką albo kliknie przycisk. Pamiętaj też, żeby zawsze pomyśleć o dostępności – jeśli obraz ma jakieś ważne informacje, warto dodać alternatywne opisy dla osób korzystających z czytników ekranu.

Pytanie 21

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

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

Pytanie 22

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) && (zm1 <= 203)
B. (zm1 > 6) || (zm1 <= 203)
C. (zm1 > 6) && (zm1 != 203)
D. (zm1 > 6) || (zm1 != 203)
W analizie wyrażeń logicznych ważne jest zrozumienie logiki za każdym z operatorów oraz ich zastosowania w kontekście zadania. Przykładowo, wyrażenie (zm1 > 6) || (zm1 <= 203) jest niepoprawne, ponieważ użycie operatora || (OR) sugeruje, że wystarczy, aby zm1 spełniało jeden z dwóch warunków, co nie jest zgodne z definicją przedziału. W przypadku (zm1 > 6) && (zm1 != 203) wyrażenie również nie jest prawidłowe, ponieważ ignoruje dolny limit przedziału – wartość 203 nie jest wbudowana w przedział, co sprawia, że zmienna może przyjmować wartości, które nie są odpowiednie. Z kolei (zm1 > 6) || (zm1 != 203) jest całkowicie mylne, gdyż połączenie operatora OR nie tylko rozluźnia wymagania, ale również wprowadza błąd logiczny, który może prowadzić do nieprawidłowych wyników, gdyż zm1 może być mniejsze lub równe 6. Te błędy mogą wynikać z niepełnego zrozumienia operatorów logicznych oraz ich kontekstu w programowaniu. Właściwe stosowanie operatorów logicznych jest kluczowe dla tworzenia poprawnych i niezawodnych aplikacji. Warto pamiętać, że precyzyjne określenie zakresów i warunków w programie ma kluczowe znaczenie dla jego poprawności oraz stabilności działania.

Pytanie 23

Portal internetowy dysponuje bardzo złożonym systemem stylów, który obejmuje style zewnętrzne, wewnętrzne oraz lokalne. Jak można zagwarantować, że określona cecha zdefiniowana w zewnętrznym stylu jest zawsze stosowana do elementu HTML, niezależnie od bardziej priorytetowych stylów?

A. przy pomocy reguły !important
B. jako pseudoklasę :active
C. jako selektor potomka
D. przy pomocy pseudoelementu ::after
Odpowiedź, że cechę opisaną w zewnętrznym stylu należy zdefiniować przy pomocy reguły !important jest poprawna. Reguła !important w CSS jest używana do nadania określonej właściwości najwyższego priorytetu. Oznacza to, że nawet jeśli inne reguły CSS mają wyższy specyficzność lub są zdefiniowane później, właściwość oznaczona jako !important zostanie zastosowana. Przykład zastosowania to sytuacja, gdy styl globalny dla elementu przyjmuje kolor tła, ale chcemy, aby dany element zawsze miał czerwony kolor tła, niezależnie od innych reguł. W takim przypadku możemy zdefiniować ten styl jako: `.example { background-color: red !important; }`. Ważne jest, aby stosować !important z rozwagą, ponieważ może to prowadzić do trudności w utrzymaniu kodu oraz nadpisywaniu stylów w nieprzewidywalny sposób. Dobrym podejściem jest najpierw spróbować zwiększyć specyficzność selektora, a dopiero potem, w nagłych wypadkach, używać !important, aby unikać problemów z dziedziczeniem stylów.

Pytanie 24

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 PRIMARY KEY
B. ALTER TABLE produkt DROP CONSTRAINT id
C. ALTER TABLE produkt ALTER COLUMN id INT
D. ALTER TABLE produkt ADD PRIMARY KEY (id)
Poprawna składnia to ALTER TABLE produkt ADD PRIMARY KEY (id), bo dokładnie to polecenie dodaje do istniejącej tabeli nowy klucz podstawowy oparty na kolumnie id. Instrukcja ALTER TABLE służy do modyfikowania struktury tabeli, a klauzula ADD PRIMARY KEY definiuje ograniczenie (constraint) typu klucz podstawowy dla wskazanej kolumny lub zestawu kolumn. W praktyce oznacza to, że kolumna id musi być unikalna i nie może przyjmować wartości NULL. Silnik bazy danych (np. MySQL, PostgreSQL, SQL Server) zwykle tworzy do tego indeks typu UNIQUE, który przyspiesza wyszukiwanie po kluczu głównym. Moim zdaniem warto pamiętać, że takie polecenie będzie działać tylko wtedy, gdy dane w kolumnie id już spełniają warunki klucza podstawowego: brak duplikatów i brak wartości pustych. W realnym projekcie często robi się to w dwóch krokach: najpierw uzupełnia się brakujące wartości, usuwa lub poprawia duplikaty, a dopiero potem dodaje PRIMARY KEY. Przykładowo: ALTER TABLE produkt ADD PRIMARY KEY (id); W wielu systemach, zwłaszcza w aplikacjach webowych, kolumna id jest też często ustawiana jako AUTO_INCREMENT (MySQL) lub używa sekwencji (PostgreSQL, Oracle). Wtedy definicja tabeli przy tworzeniu może wyglądać np. tak: CREATE TABLE produkt (id INT PRIMARY KEY AUTO_INCREMENT, nazwa VARCHAR(100)); Jeśli jednak tabela już istnieje i kolumna id była zwykłą kolumną, to właśnie ALTER TABLE ... ADD PRIMARY KEY (id) jest standardowym, poprawnym sposobem nadania jej roli klucza głównego. To rozwiązanie jest zgodne z ogólną składnią SQL i dobrą praktyką modelowania relacyjnych baz danych, gdzie każda tabela powinna mieć jasno zdefiniowany klucz podstawowy, najlepiej prosty, stabilny i jednoznaczny.

Pytanie 25

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. klucz podstawowy.
B. relację 1:N.
C. relację 1:1.
D. klucz obcy.
Skrót FK1 na diagramie ER oznacza klucz obcy (ang. foreign key) i jest to dokładnie to, co powinno łączyć tabelę Zamówienia z tabelą Klienci. W relacyjnych bazach danych klucz obcy to atrybut lub zestaw atrybutów, który wskazuje na klucz podstawowy w innej tabeli. Dzięki temu baza danych wie, że konkretne zamówienie należy do konkretnego klienta. W twoim diagramie pole NR_klienta w tabeli Zamówienia jest oznaczone jako FK1, czyli jest kluczem obcym odwołującym się do NR_klienta będącego kluczem podstawowym (PK) w tabeli Klienci. To jest klasyczny przykład relacji 1:N – jeden klient może mieć wiele zamówień, a każde zamówienie jest powiązane z dokładnie jednym klientem. W praktyce, w SQL, taka relacja jest definiowana mniej więcej tak: `FOREIGN KEY (NR_klienta) REFERENCES Klienci(NR_klienta)`. Taka definicja pozwala silnikowi bazy danych pilnować spójności referencyjnej, czyli np. nie pozwoli wstawić zamówienia z numerem klienta, który nie istnieje w tabeli Klienci, ani usunąć klienta, do którego wciąż istnieją zamówienia (chyba że jawnie zdefiniujemy CASCADE). Z mojego doświadczenia poprawne używanie kluczy obcych bardzo upraszcza później raportowanie, łączenie tabel w zapytaniach JOIN i ogólnie utrzymanie porządku w bazie. W modelowaniu ER oznaczenie FK wraz z numerem (FK1, FK2 itd.) to po prostu sposób na jednoznaczne nazwanie konkretnych kluczy obcych, gdy w systemie jest ich więcej. W dobrze zaprojektowanych bazach danych zawsze warto jawnie definiować foreign key, zamiast tylko „ufać”, że aplikacja będzie podawała poprawne dane – to jest po prostu dobra praktyka i standard w profesjonalnych projektach.

Pytanie 26

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

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

Pytanie 27

Definicja stylu zaprezentowana w CSS odnosi się do odsyłacza, który

a:visited {color: orange;}
A. został wcześniej odwiedzony
B. posiada błędny adres URL
C. jeszcze nie był odwiedzony
D. wskaźnik myszy znajduje się nad nim
Odpowiedź "został wcześniej odwiedzony" jest prawidłowa, ponieważ definicja stylu CSS `a:visited {color: orange;}` dotyczy odsyłaczy, które zostały już odwiedzone przez użytkownika. W CSS pseudo-klasa `:visited` jest stosowana do stylizacji odsyłaczy, które prowadzą do stron, które użytkownik już otworzył. Dzięki tej możliwości, twórcy stron internetowych mogą wprowadzać różne kolory dla odwiedzonych i nieodwiedzonych linków, co pozwala na szybszą orientację użytkowników w treści strony. Na przykład, jeżeli na stronie znajduje się wiele linków, użytkownik może łatwiej zrozumieć, które z nich już kliknął, a które są nowe. Dobrą praktyką jest stosowanie kontrastowych kolorów dla odsyłaczy, aby zwiększyć ich dostępność i użyteczność. Warto również zauważyć, że przeglądarki mogą mieć różne ograniczenia dotyczące stylizacji odwiedzonych linków, co jest podyktowane względami prywatności użytkowników. Z tego powodu zaleca się, aby nie opierać funkcjonalności strony jedynie na wyglądzie odwiedzonych linków.

Pytanie 28

W PHP, aby usunąć białe znaki z początku i końca ciągu tekstowego, można skorzystać z funkcji

A. strlen()
B. time()
C. trim()
D. sort()
Funkcja trim() w języku PHP jest niezwykle przydatna do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to funkcjonalność, która jest często wykorzystywana w różnych aplikacjach, szczególnie w kontekście przetwarzania danych wejściowych od użytkowników, gdzie niechciane spacje mogą prowadzić do błędów podczas walidacji lub przechowywania danych w bazie danych. Przykład użycia funkcji trim() jest prosty: jeśli mamy zmienną $text = ' Przykladowy tekst '; używając trim($text), otrzymamy 'Przykladowy tekst'. Funkcja ta przyjmuje również drugi argument, który pozwala na określenie dodatkowych znaków do usunięcia. Na przykład trim($text, "a ") usunie zarówno spacje, jak i litery 'a' z końców ciągu. Zgodnie z dokumentacją PHP, trim() jest częścią standardowej biblioteki funkcji stringowych, co czyni ją niezawodnym narzędziem w każdej aplikacji PHP."

Pytanie 29

Definicja formularza została użyta na stronie internetowej, która przesyła dane do pliku napisanego w języku PHP. W jakiej tablicy będą dostępne dane z tego formularza?

Ilustracja do pytania
A. $_POST
B. $_ACTION
C. $_GET
D. $_COOKIE
Tablica $_POST w PHP służy do przechwytywania danych przesyłanych za pomocą metody POST. Jest to standardowa praktyka w przypadku formularzy, które zawierają dane wrażliwe lub dużą ilość informacji. Metoda POST przesyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne w adresie URL, co zwiększa bezpieczeństwo w porównaniu do metody GET. Przykładem zastosowania mogą być formularze logowania czy przesyłania plików. W PHP dostęp do danych z formularza można uzyskać poprzez prostą składnię, na przykład $_POST['nazwa_pola']. Ważne jest, aby zawsze walidować i filtrować dane wejściowe, aby zabezpieczyć aplikację przed atakami typu SQL Injection czy XSS. Zastosowanie metody POST jest zgodne z ogólnymi zasadami bezpieczeństwa i standardami projektowania aplikacji webowych, które zalecają ograniczanie widoczności danych przesyłanych przez użytkownika. Dobre praktyki obejmują również stosowanie HTTPS, aby dodatkowo zaszyfrować dane przesyłane pomiędzy klientem a serwerem.

Pytanie 30

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 31

Które z poniższego oprogramowania nie jest zaliczane do systemów zarządzania treścią (CMS)?

A. Joomla
B. Apache
C. WordPress
D. Mambo
Apache to popularny serwer HTTP, który jest odpowiedzialny za zarządzanie i dostarczanie stron internetowych do przeglądarek użytkowników. Choć Apache może być używany w połączeniu z systemami zarządzania treścią (CMS) takimi jak WordPress, Joomla czy Mambo, sam w sobie nie jest systemem CMS. Systemy zarządzania treścią, takie jak Joomla, WordPress i Mambo, są platformami, które umożliwiają użytkownikom łatwe tworzenie, edytowanie i zarządzanie treściami na stronach internetowych bez potrzeby posiadania zaawansowanej wiedzy programistycznej. Apache działa na poziomie serwera, obsługując żądania HTTP i wysyłając odpowiednie pliki, podczas gdy CMS zajmuje się strukturą treści, interfejsem użytkownika oraz zarządzaniem bazą danych. Ponadto, Apache zapewnia wsparcie dla różnych języków programowania oraz technologii webowych, ale nie oferuje funkcji zarządzania treścią, które są kluczowe dla systemów CMS. Dlatego odpowiedź na pytanie jest jednoznaczna – Apache nie jest systemem zarządzania treścią, lecz serwerem, który wspiera ich działanie.

Pytanie 32

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. Joomla!
B. MediaWiki
C. WordPress
D. Drupal
Odpowiedź Joomla! jest poprawna ponieważ logo przedstawione na rysunku jest oficjalnym znakiem identyfikacyjnym tego systemu zarządzania treścią CMS. Joomla! to jeden z najpopularniejszych systemów CMS używany do tworzenia stron internetowych oraz aplikacji. Dzięki swojej elastyczności i dużej liczbie dostępnych rozszerzeń Joomla! pozwala na tworzenie zarówno prostych stron wizytówkowych jak i zaawansowanych serwisów e-commerce. Główne zalety Joomla! to intuicyjny interfejs użytkownika który ułatwia zarządzanie treściami oraz silna społeczność użytkowników zapewniająca wsparcie techniczne i rozwój oprogramowania. Joomla! jest zgodna z wieloma standardami webowymi co czyni ją wszechstronnym narzędziem do wdrażania profesjonalnych projektów internetowych. Korzystanie z Joomla! umożliwia szybkie i efektywne tworzenie responsywnych stron które dobrze współdziałają na różnych urządzeniach mobilnych. Praktyczne zastosowanie Joomla! obejmuje tworzenie stron korporacyjnych portali społecznościowych oraz serwisów informacyjnych. Dzięki modulowej architekturze użytkownicy mogą łatwo dostosowywać funkcjonalność swoich stron do specyficznych potrzeb branżowych co jest zgodne z dobrymi praktykami projektowania zorientowanego na użytkownika. Platforma Joomla! obsługuje także wielojęzyczność i różne metody uwierzytelniania co czyni ją idealnym rozwiązaniem dla międzynarodowych projektów.

Pytanie 33

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. przypisania.
B. logicznych.
C. bitowych.
D. arytmetycznych.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.

Pytanie 34

 SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel"; 

Tabela samochody zawiera rekordy przedstawione na obrazie. Wydając przedstawione zapytanie SQL zostaną zwrócone dane:
idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
A. opel zafira; opel insignia
B. zafira
C. opel zafira
D. zafira; insignia
Niestety, wybrana przez Ciebie odpowiedź jest nieprawidłowa. W tym przypadku kluczowe jest zrozumienie, jak działa zapytanie SQL w kontekście tabeli, którą analizujemy. Zapytanie 'SELECT model FROM samochody WHERE rocznik > 2017 AND marka = 'opel';' ma na celu wyświetlenie modelu samochodu marki 'opel' z roku produkcji późniejszego niż 2017. W analizowanej tabeli tylko model 'zafira' spełnia oba te kryteria, dlatego jest to poprawna odpowiedź. Wersja 'insignia' nie jest poprawna, ponieważ rocznik tego modelu jest wcześniejszy niż 2017. Podobnie, odpowiedź zawierająca tylko 'opel zafira' jest niepoprawna - mimo, że 'zafira' jest poprawnym modelem, jednak pytanie wymagało podania jedynie modelu, a nie marki i modelu. Wynika to z konstrukcji zapytania SQL, gdzie zaznaczono 'SELECT model', co oznacza, że zapytanie ma zwrócić jedynie model. To pokazuje, jak ważne jest dokładne zrozumienie, jakie informacje są żądane przez zapytanie SQL.

Pytanie 35

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. PHP
B. XML
C. AJAX
D. VBScript
AJAX, czyli Asynchronous JavaScript and XML, to technika umożliwiająca asynchroniczną komunikację pomiędzy klientem a serwerem bez potrzeby przeładowania całej strony WWW. Umożliwia to tworzenie bardziej responsywnych i interaktywnych aplikacji internetowych. Przykładem zastosowania AJAX może być formularz kontaktowy, który po wypełnieniu wysyła dane do serwera i otrzymuje odpowiedź bez odświeżania całej strony, co poprawia doświadczenie użytkownika. Technologia ta wykorzystuje XMLHttpRequest lub Fetch API do przesyłania i odbierania danych w formacie JSON, co jest bardziej efektywne niż tradycyjne metody. AJAX jest szeroko stosowany w aplikacjach typu single-page, gdzie szybkość i wydajność są kluczowe. Warto również zwrócić uwagę na bezpieczeństwo przy korzystaniu z AJAX, takie jak walidacja danych wejściowych oraz ochrona przed atakami XSS i CSRF, które są standardami w branży.

Pytanie 36

Polecenie MySQL pokazane poniżej spowoduje, że użytkownikowi tkowal zostaną odebrane określone uprawnienia:

REVOKE DELETE, UPDATE ON pracownicy FROM 'tkowal'@'localhost';
A. odebrane uprawnienia do usuwania i modyfikacji danych w tabeli pracownicy
B. przydzielone uprawnienia do usuwania oraz aktualizacji danych w tabeli pracownicy
C. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
D. odebrane uprawnienia do usuwania i dodawania rekordów w tabeli pracownicy
W kontekście zarządzania uprawnieniami w MySQL istotne jest zrozumienie różnicy między przydzielaniem a odbieraniem praw dostępu. Polecenie REVOKE nie przydziela uprawnień lecz je odbiera co jest kluczowym aspektem w zarządzaniu bezpieczeństwem bazy danych. Przydzielanie uprawnień odbywa się za pomocą polecenia GRANT które umożliwia nadanie użytkownikowi określonych praw dostępu do tabeli lub innych obiektów bazy danych. Zrozumienie tego rozróżnienia jest fundamentalne ponieważ wpływa ono na sposób w jaki zarządzamy dostępem użytkowników do wrażliwych danych. W niektórych przypadkach można błędnie założyć że REVOKE dotyczy struktury tabeli co jest mylnym podejściem ponieważ takie działania związane są z prawami DDL a nie DML. Dlatego pomyłka w interpretacji tego polecenia może prowadzić do niezamierzonych konsekwencji takich jak niekontrolowane modyfikacje danych. Typowym błędem jest także przypuszczenie że REVOKE może być używane do przydzielania praw co pokazuje brak zrozumienia podstawowych mechanizmów kontroli dostępu w MySQL. Zarządzanie dostępem jest kluczowe w zapewnieniu integralności i poufności danych dlatego ważne jest aby jasno rozróżniać między przydzielaniem i odbieraniem uprawnień.

Pytanie 37

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 3
B. Skrypt 2
C. Skrypt 4
D. Skrypt 1
Analizując błędne definicje formularza warto zrozumieć dlaczego nie są one poprawne. W przypadku formularza HTML kluczowe jest określenie dwóch atrybutów: action oraz method. Atrybut action wskazuje na skrypt do którego dane powinny być przesłane natomiast method definiuje sposób przesłania danych zwykle POST lub GET. W skrypcie 1 brakuje zarówno atrybutu action jak i poprawnego typu przycisku co uniemożliwia przesłanie danych. Skrypt 2 używa atrybutu method zamiast action co jest niepoprawne ponieważ method powinien określać sposób przesyłania danych a nie docelowy skrypt. Ponadto używa typu reset który jedynie resetuje formularz i nie wysyła danych. Skrypt 3 choć poprawnie używa atrybutu action nie definiuje typu input jako submit co jest konieczne aby przycisk działał jako wyzwalacz przesyłania. Typowe błędy to mylenie atrybutów lub niewłaściwe definiowanie typu przycisku. Aby uniknąć takich problemów konieczne jest solidne zrozumienie jak HTML zarządza formularzami oraz praktyczne zastosowanie tej wiedzy w projektach internetowych."

Pytanie 38

Które z poniższych stwierdzeń odnosi się prawidłowo do grafiki rastrowej?

A. Jest to forma przedstawienia obrazu za pomocą siatki pikseli, które są odpowiednio kolorowane w układzie pionowo-poziomym na monitorze, drukarce lub innym urządzeniu wyjściowym
B. Obraz zapisywany jest w postaci figur geometrycznych zorganizowanych w układzie współrzędnych
C. W trakcie procesu skalowania, jakość obrazu nie ulega zmianie
D. Grafika rastrowa nie jest zapisana w formacie WMF (ang. Windows Metafile Format - format metaplików w Windows)
Pierwsze zdanie sugerujące, że grafika rastrowa polega na opisywaniu obrazu za pomocą figur geometrycznych w układzie współrzędnych, odnosi się do grafiki wektorowej, a nie rastrowej. Grafika wektorowa opisuje obrazy przy użyciu matematycznych równań i figur geometrycznych, takich jak linie, krzywe oraz wielokąty. To podejście pozwala na skalowanie obrazu bez utraty jakości, ponieważ nie jest on zdefiniowany w oparciu o piksele. Z drugiej strony, grafika rastrowa nie ma tej elastyczności, ponieważ rozdzielczość i jakość obrazu są ściśle związane z ilością pikseli w danym obrazie; przy skalowaniu do większych rozmiarów następuje rozmycie oraz utrata szczegółów. Kolejna niepoprawna koncepcja dotyczy formatu WMF, który jest formatem metaplików wykorzystywanym w systemach Windows. Grafika rastrowa może być zapisana w różnych formatach, w tym rasteryzowanych formatach takich jak BMP, JPEG, PNG, a także w formatach wektorowych. Ostatecznie, błędne jest przekonanie, że skalowanie obrazu nie zmienia jakości. Dla grafiki rastrowej, powiększenie obrazu skutkuje gorszą jakością, co jest fundamentalną cechą rastrowych technik graficznych. Zrozumienie tych różnic jest kluczowe dla każdego, kto pracuje z grafiką komputerową, ponieważ wpływa to na wybór odpowiedniej techniki w zależności od potrzeb projektu.

Pytanie 39

Jaką informację przekazuje przeglądarce internetowej zapis <!DOCTYPE html> ?

A. W dokumencie wszystkie tagi są zapisane wielkimi literami
B. Dokument został zapisany w wersji HTML 5
C. W dokumencie wymagane jest zamknięcie każdego taga, nawet samozamykającego
D. Dokument został zapisany w wersji HTML 4
Odpowiedź, że dokument został zapisany w języku HTML 5, jest prawidłowa, ponieważ zapis <DOCTYPE html> jest standardowym nagłówkiem deklarującym, że dokument jest napisany w najnowszej wersji HTML, czyli HTML 5. Taki zapis informuje przeglądarkę, że ma interpretować zawartość dokumentu zgodnie z zasadami i funkcjami określonymi w HTML 5. Wprowadzenie HTML 5 przyniosło wiele ulepszeń, takich jak nowe elementy semantyczne (np. <header>, <footer>, <article>), które ułatwiają tworzenie strukturalnie poprawnych i bardziej dostępnych stron internetowych. Dodatkowo, HTML 5 wprowadza wsparcie dla multimediów (np. <video>, <audio>) oraz API, które umożliwiają bardziej interaktywne podejście do tworzenia aplikacji webowych. Warto pamiętać, że stosowanie aktualnych standardów jest kluczowe dla zapewnienia kompatybilności z nowymi przeglądarkami oraz urządzeniami mobilnymi, a także dla zwiększenia wydajności i bezpieczeństwa aplikacji webowych.

Pytanie 40

Funkcja agregująca MIN w języku SQL ma na celu obliczenie

A. ilości znaków w rekordach zwróconych przez kwerendę
B. liczby wierszy, które zwraca kwerenda
C. średniej wartości różnych pól w rekordu zwróconego przez zapytanie
D. minimalnej wartości kolumny, która jest wynikiem kwerendy
Wszystkie trzy pozostałe odpowiedzi nie są właściwe w kontekście funkcji agregującej MIN. Funkcja ta nie ma na celu zliczania liczby wierszy zwróconych przez kwerendę; zamiast tego służy do obliczania minimalnej wartości w danej kolumnie. Zliczanie wierszy to zadanie dla funkcji COUNT, która zwraca liczbę rekordów spełniających określone kryteria. Kolejnym błędnym stwierdzeniem jest, że funkcja MIN może obliczać długość znaków w zwróconych rekordach. Długość znaków to kwestia związana z funkcjami takimi jak LEN w SQL, które mierzą długość ciągów znakowych, jednak nie mają one związku z funkcją agregującą MIN. Ostatnia z błędnych odpowiedzi, dotycząca obliczania średniej wartości różnych pól rekordu, również nie jest zgodna z definicją funkcji MIN. Średnia jest obliczana przy użyciu funkcji AVG, która sumuje wartości w danej kolumnie i dzieli je przez liczbę tych wartości. W związku z tym, funkcja MIN jest jedynie odpowiedzialna za wydobycie najniższej wartości z zestawu danych, co jest kluczowe w wielu analizach, ale nie obejmuje ona żadnych z wymienionych w odpowiedziach zadań.