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: 22 kwietnia 2026 09:05
  • Data zakończenia: 22 kwietnia 2026 09:34

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

Wymagane minimum: 20 punktów (50%)

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

Na podstawie jakiego parametru oraz z ilu tabel będą zwrócone wiersze w wyniku podanego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
producent.nr_id = hurtownia.nr_id AND
producent.wyrob_id = serwis.wyrob_id AND
hurtownia.nr_id = sklep.nr_id AND
sklep.nr_id = serwis.nr_id AND
producent.nr_id = 1;
A. Na podstawie parametru nr_id dla wszystkich tabel
B. Na podstawie parametru nr_id tylko dla trzech tabel
C. Na podstawie parametru wyrob_id tylko dla trzech tabel
D. Na podstawie parametru wyrob_id tylko dla trzech tabel
Zapytanie SQL w poleceniu jest skonstruowane tak by pobierać dane z czterech tabel: producent hurtownia sklep i serwis W warunku WHERE użyto klauzuli dotyczącej parametru nr_id co powoduje że połączenia między tabelami są realizowane na podstawie tego właśnie parametru Jest to typowe podejście w relacyjnych bazach danych gdzie klucz główny jednej tabeli jest kluczem obcym w innej umożliwiając łączenie danych Parametr nr_id pojawia się wielokrotnie w klauzuli WHERE jako kryterium dla różnych połączeń między tabelami To pozwala na uzyskanie spójnej listy wierszy które spełniają wszystkie zdefiniowane warunki Dzięki temu zapytanie zwraca wiersze dla wszystkich czterech tabel co jest zgodne z odpowiedzią numer 1 Takie podejście umożliwia tworzenie złożonych raportów i analiz danych branżowych Warto także zauważyć że użycie JOIN w taki sposób często optymalizuje wydajność zapytań co jest dobrą praktyką w zarządzaniu bazami danych SQL

Pytanie 2

Relacja opisana jako: "Rekord z tabeli A może odpowiadać wielu rekordom z tabeli B. Każdemu rekordowi z tabeli B przyporządkowany jest dokładnie jeden rekord z tabeli A" jest relacją

A. jeden do jednego
B. wiele do wielu
C. nieoznaczoną
D. jeden do wielu
Relacja typu jeden do wielu oznacza, że jeden rekord z jednej tabeli (w tym przypadku tabela A) może być powiązany z wieloma rekordami z innej tabeli (tabela B). W opisanej sytuacji rekord z tabeli A może odpowiadać dowolnej liczbie rekordów z tabeli B, co ilustruje tę relację. Przykładem takiej relacji może być baza danych systemu zarządzania szkołą, gdzie jeden nauczyciel (rekord z tabeli A) może uczyć wielu uczniów (rekordy z tabeli B), ale każdy uczeń jest przypisany do jednego nauczyciela. Przy projektowaniu baz danych, stosowanie odpowiednich relacji jest kluczowe dla integralności i wydajności systemu. Dbałość o takie relacje przyczynia się do poprawy jakości danych oraz minimalizacji redundancji, co jest zgodne z zasadami normalizacji baz danych. W praktyce, relacje jeden do wielu są powszechnie stosowane w systemach CRM, ERP oraz wielu innych aplikacjach, które wymagają organizacji danych w sposób logiczny i praktyczny.

Pytanie 3

Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?

A. <?php date("Y-m-d”) + time("G:i:s"); ?>
B. <?php echo date("Ymd Gis"); ?>
C. <?php echo date("Y-m-d G:i:s"); ?>
D. <?php date("Y-m-d G:i:s"); ?>
W pierwszej odpowiedzi użycie date oraz time jest niepoprawne, ponieważ funkcja time w PHP nie przyjmuje parametrów i zwraca znacznik czasu Unix, który nie formatuje czasu w sposób czytelny dla użytkownika. Próba dodawania tych dwóch funkcji powoduje błąd składniowy, ponieważ nie można łączyć wyników funkcji za pomocą operatora + w ten sposób. Druga odpowiedź używa funkcji echo poprawnie, ale formatowanie daty i czasu jest błędne. W tej odpowiedzi brakuje łączników pomiędzy elementami daty i czasu, co powoduje nieczytelny wynik, taki jak 20190923 105816. Ponadto, nie zastosowano dwukropków pomiędzy godziną minutami i sekundami, co jest kluczowe dla zrozumienia przez użytkownika. Trzecia odpowiedź zawiera poprawne formatowanie daty i czasu, ale nie używa funkcji echo, co oznacza, że wynik nie zostanie wyświetlony użytkownikowi. W PHP funkcja date musi być połączona z echo lub print, aby jej wynik był widoczny na stronie. Typowy błąd myślowy polega na nierozróżnieniu między formatowaniem a wyświetlaniem danych, co jest kluczowe w programowaniu webowym. Zrozumienie tych zasad jest fundamentalne dla tworzenia dynamicznych i interaktywnych aplikacji.

Pytanie 4

Aby wyciszyć dźwięk w filmie odtwarzanym w przeglądarce, do podanej definicji znacznika <video> powinien zostać dodany atrybut <video> <source src="film.mp4" type="video/mp4"> </video>

A. controls
B. muted
C. loop
D. autoplay
Atrybut 'muted' w znaczniku <video> jest kluczowy dla zarządzania dźwiękiem w odtwarzanych filmach. Gdy dodamy atrybut 'muted', zapewniamy, że film będzie odtwarzany bez dźwięku, co jest szczególnie istotne w kontekście doświadczenia użytkownika na stronie internetowej. W praktyce, wiele stron korzysta z automatycznego odtwarzania filmów w tle, co jest popularne w serwisach informacyjnych oraz mediach społecznościowych. Bez dźwięku, użytkownicy nie są rozpraszani, a strona nie wpływa negatywnie na ich doświadczenie przeglądania. Zgodnie z najlepszymi praktykami, należy również pamiętać o dostępności – filmy bez dźwięku mogą być łatwiej przyswajalne dla osób z problemami ze słuchem, a także unikamy sytuacji, w której nagłe dźwięki mogłyby wywołać dyskomfort. Atrybut 'muted' jest więc nie tylko funkcjonalny, ale także zgodny z zasadami projektowania stron internetowych, które stawiają na komfort użytkownika.

Pytanie 5

W algebrze relacji działanie selekcji polega na

A. wybór krotek, które nie zawierają wartości NULL
B. usunięciu krotek z powtórzonymi polami
C. usunięciu pustych wierszy
D. wybór krotek, które spełniają określone warunki
Wybieranie krotek niezawierających wartości NULL nie jest operacją selekcji w kontekście algebry relacji, ponieważ selekcja ma na celu filtrację krotek na podstawie określonych warunków, a nie jedynie na podstawie obecności lub braku wartości NULL. W praktyce, aby wykluczyć wartości NULL, można zastosować dodatkowe warunki w operacji selekcji, ale to nie definiuje samej operacji selekcji. Z kolei eliminacja pustych wierszy jest związana z usuwaniem krotek, które nie zawierają żadnych danych, co także nie jest równoznaczne z operacją selekcji. Ta operacja odnosi się bardziej do czyszczenia danych niż do ich wybierania na podstawie określonych kryteriów. Ponadto, eliminacja krotek z powtarzającymi się polami nie jest tożsama z selekcją, ponieważ dotyczy bardziej operacji usuwania duplikatów, które są zazwyczaj realizowane przez operacje takie jak DISTINCT w SQL, a nie przez selekcję, która ma na celu wybór krotek na podstawie warunków logicznych. W algebrze relacji kluczowe jest rozróżnienie między operacjami filtrowania danych a operacjami modyfikacji danych, co jest istotne w kontekście projektowania baz danych oraz w zapewnieniu integralności danych.

Pytanie 6

Definicja stylu przedstawiona w języku CSS dotyczy odnośnika, który

Ilustracja do pytania
A. ma wskaźnik myszy ustawiony nad nim
B. posiada niepoprawny adres URL
C. był już odwiedzany
D. jeszcze nie był odwiedzany
W języku CSS selektor a:visited odnosi się do linków, które użytkownik już odwiedził. To pseudo-klasa, która umożliwia projektantom stron internetowych kontrolowanie wyglądu linków po ich kliknięciu, co poprawia doświadczenia użytkownika i umożliwia łatwiejszą nawigację. W przykładzie a:visited{color:orange;} wszystkie odwiedzone linki zostaną pokolorowane na pomarańczowo, co wizualnie odróżnia je od nieodwiedzonych linków. To podejście jest zgodne z zasadami dostępności, które sugerują, aby odwiedzone linki były w jakiś sposób wyróżnione. Praktycznym zastosowaniem tej wiedzy jest tworzenie stron, które są bardziej przejrzyste i intuicyjne dla użytkowników. Dobre praktyki zalecają, by różnica między odwiedzonymi a nieodwiedzonymi linkami była subtelna, ale zauważalna. Ustawianie różnych kolorów dla tych stanów linków jest popularnym rozwiązaniem. Prawidłowe użycie pseudo-klasy :visited wspiera także budowanie stron responsywnych, które poprawiają UX i spełniają standardy nowoczesnego designu, jednocześnie biorąc pod uwagę kwestie związane z prywatnością użytkowników, ponieważ CSS nie pozwala na stylizowanie niektórych właściwości odwiedzonych linków.

Pytanie 7

Na temat zmiennej predefiniowanej $_POST w języku PHP możemy stwierdzić, że

A. jest rozwiniętą wersją tablicy $_SESSION
B. jest repliką tablicy $_COOKIE
C. zawiera dane przesłane do skryptu z formularza
D. zawiera informacje bezpośrednio przesłane do skryptu z ciasteczka
Zmienna predefiniowana $_POST w języku PHP jest kluczowym elementem, który umożliwia przesyłanie danych z formularzy HTML do skryptu PHP. Gdy użytkownik wypełnia formularz i wysyła go, wszystkie dane z tego formularza są dostępne w tablicy asocjacyjnej $_POST, co pozwala na łatwe przetwarzanie danych w backendzie. Przykładowo, jeśli formularz zawiera pola takie jak 'imię' i 'email', po wysłaniu skrypt PHP może uzyskać te wartości poprzez $_POST['imię'] oraz $_POST['email']. To podejście jest zgodne z najlepszymi praktykami w programowaniu webowym, gdzie oddziela się logikę prezentacji od logiki przetwarzania danych. Ponadto, korzystając z $_POST, programiści mogą bezpiecznie odbierać dane bez obaw o ich modyfikację przez użytkownika, ponieważ nie są one widoczne w adresie URL, jak w przypadku metody GET. Warto również zauważyć, że korzystając z $_POST, można przesyłać różnorodne dane, w tym tekst, pliki i inne formaty, co czyni tę metodę niezwykle wszechstronną.

Pytanie 8

Jaki jest domyślny port dla serwera HTTP?

A. 80
B. 8080
C. 443
D. 21
Port 8080 często jest używany jako alternatywne rozwiązanie dla HTTP, zwłaszcza w środowiskach deweloperskich lub tam, gdzie port 80 jest już zajęty. Mimo że jest to popularny wybór, nie jest to domyślny port przypisany do HTTP. Port 443 to standardowy port dla HTTPS, czyli szyfrowanego protokołu HTTP. HTTPS zapewnia bezpieczną komunikację poprzez szyfrowanie danych przesyłanych między klientem a serwerem, co jest kluczowe dla ochrony prywatności i integralności danych w Internecie. W przypadku portu 21, jest on przypisany do protokołu FTP (File Transfer Protocol), który służy do transferu plików między klientem a serwerem. FTP jest zupełnie innym protokołem niż HTTP i służy do innych celów. Błędne skojarzenie portu 21 z HTTP może wynikać z podstawowej znajomości protokołów internetowych, gdzie czasem mylnie przypisuje się porty znane z innych zastosowań. Ważne jest, aby dokładnie rozumieć, które porty są przypisane do jakich protokołów, aby uniknąć problemów w konfiguracji sieciowej i błędów w projektowaniu aplikacji internetowych. Zrozumienie tych różnic jest kluczowe dla każdego, kto pracuje w branży IT.

Pytanie 9

Zdefiniowana jest tabela uczniowie z polami id, nazwisko, imie oraz klasa. Jakie zapytanie SQL pozwoli nam uzyskać liczbę osób w danym klasa i wskazać jej nazwę?

A. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa
B. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa
C. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa
D. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa
Analizując nieprawidłowe odpowiedzi, można zauważyć kilka kluczowych błędów. Odpowiedź, która sugeruje użycie 'ORDER BY klasa', nie ma sensu w kontekście zliczania uczniów w klasach. Klauzula ORDER BY służy do sortowania wyników, ale nie agreguje danych, co jest niezbędne do uzyskania liczby uczniów w poszczególnych klasach. Z kolei użycie funkcji SUM na polu id jest niewłaściwe, ponieważ SUM sumuje wartości liczbowych, a id jest zazwyczaj unikalnym identyfikatorem, co może prowadzić do błędnych wyników. W kontekście SQL, SUM nie jest odpowiedni dla zliczania rekordów, tym bardziej, gdy celem jest uzyskanie liczby uczniów. W rezultacie, użycie SUM w tym przypadku może prowadzić do zupełnie nieadekwatnych wniosków o liczbie uczniów. Ponadto, takie podejścia mogą prowadzić do nieefektywnego przetwarzania danych, co jest sprzeczne z ideą optymalizacji zapytań w SQL. Kluczowym błędem myślowym w tych odpowiedziach jest niezrozumienie różnicy między funkcjami agregującymi a operacjami sortującymi oraz błędne założenie, że SUM może być użyte w kontekście zliczania. W praktyce, znajomość odpowiednich funkcji oraz ich zastosowania jest kluczowa dla efektywnego zarządzania bazami danych.

Pytanie 10

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. C#
B. Python
C. JavaScript
D. PHP
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 11

Zestaw narzędzi oraz funkcji umożliwiający tworzenie aplikacji, który dodatkowo narzuca ramy wizualne aplikacji, jej strukturę oraz czasami wzór, według którego ma być stworzona aplikacja, to

A. framework
B. komponent
C. biblioteka
D. middleware
Biblioteka, komponent oraz middleware to pojęcia, które różnią się od frameworków zarówno pod względem funkcji, jak i sposobu wykorzystania w procesie tworzenia oprogramowania. Biblioteki to zestawy zdefiniowanych funkcji i procedur, które programista może wykorzystać w swoim projekcie, ale nie narzucają one struktury ani architektury aplikacji. Użytkownik biblioteki ma pełną kontrolę nad tym, jak i kiedy dany kod zostanie wykorzystany, co czyni ją bardziej elastyczną, ale także bardziej ryzykowną, gdyż łatwo można wprowadzić nieporządek w kodzie. Komponenty, z kolei, to niezależne moduły, które można wykorzystać w różnych miejscach aplikacji. Zazwyczaj są częścią większej architektury, ale same w sobie nie definiują szkieletu aplikacji. Middleware natomiast to oprogramowanie, które działa jako pośrednik w komunikacji między różnymi systemami lub aplikacjami. Jego główną funkcją jest zarządzanie danymi przesyłanymi pomiędzy aplikacjami, a nie ustalanie struktury samej aplikacji. W związku z tym, wybór frameworku jako odpowiedzi na postawione pytanie jest poprawny, ponieważ jedynie frameworki narzucają szkielet, strukturę i wzorce, które ułatwiają proces programowania.

Pytanie 12

W skrypcie JavaScript operatory: ||, && wchodzą w skład grupy operatorów

A. przypisania
B. logicznymi
C. arytmetycznych
D. bitowych
Operatory || (OR) i && (AND) w języku JavaScript są klasyfikowane jako operatory logiczne. Służą one do wykonywania operacji na wartościach boolowskich, które mogą przyjmować jedynie dwie wartości: true (prawda) oraz false (fałsz). Operator && zwraca true, jeśli oba operandy są prawdziwe, w przeciwnym przypadku zwraca false. Przykładem jest wyrażenie: true && false, które zwraca false. Operator || zwraca true, jeśli przynajmniej jeden z operandów jest prawdziwy. Na przykład, wyrażenie: false || true, zwraca true. Operatory te są powszechnie wykorzystywane w warunkach kontrolnych, takich jak instrukcje if, pętle oraz w kombinacjach z innymi operatorami. Dodatkowo, JavaScript posługuje się tzw. 'krótkim circuiting', co oznacza, że w przypadku operatora &&, jeśli pierwszy operand jest false, to nie sprawdza drugiego, ponieważ wynik będzie na pewno false. W kontekście standardów, JavaScript przestrzega specyfikacji ECMAScript, która definiuje zasady działania tych operatorów. Zrozumienie operatorów logicznych jest kluczowe dla efektywnego programowania i tworzenia złożonych warunków.

Pytanie 13

Jak nazywa się składnik bazy danych, który umożliwia jedynie przeglądanie informacji z bazy, prezentując je w formie tekstowej lub graficznej?

A. Tabela
B. Raport
C. Formularz
D. Zapytanie
Raport to taka fajna część bazy danych, która pozwala ludziom spojrzeć na dane w czytelny sposób. Można je tworzyć, żeby analizować wyniki finansowe czy sprawdzać, jak firma sobie radzi. Przygotowywanie raportów na podstawie zapytań do bazy danych jest super, bo wszystko jest potem poukładane i przemyślane. W praktyce, raporty biorą dane z tabel i pokazują je w ładny sposób, wybierając odpowiednie kolumny i wiersze. Są też takie narzędzia jak SQL Server Reporting Services czy Crystal Reports, które oferują mnóstwo opcji do generowania raportów. To wszystko sprawia, że analiza danych jest lepsza i bardziej wizualna. Dobrze jest regularnie aktualizować raporty i dostosowywać je do potrzeb firmy, bo to pomaga w podejmowaniu decyzji na podstawie faktów.

Pytanie 14

W SQL, aby uniemożliwić stworzenie konta przy wykonywaniu kwerendy CREATE USER, gdy konto już istnieje, można zastosować następującą składnię

A. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedź 'CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest poprawna, ponieważ użycie klauzuli 'IF NOT EXISTS' pozwala na uniknięcie błędów w sytuacji, gdy konto użytkownika już istnieje w bazie danych. W praktyce oznacza to, że wykonanie tego polecenia nie spowoduje żadnej zmiany ani błędu, jeśli konto 'anna' jest już zdefiniowane, co jest szczególnie przydatne w skryptach automatyzujących tworzenie użytkowników. Dzięki temu można uniknąć powtarzania kodu sprawdzającego istnienie użytkownika przed jego utworzeniem. Zaleca się stosowanie tej formy w celu uproszczenia procesu zarządzania użytkownikami i zapewnienia, że skrypty wykonują się bez zakłóceń. W kontekście bezpieczeństwa, ważne jest używanie silnych haseł, jak w tym przykładzie, aby zabezpieczyć konta przed nieautoryzowanym dostępem. Warto także pamiętać o dobrych praktykach w zakresie nadawania uprawnień oraz regularnego przeglądania kont użytkowników, aby zapewnić, że wszystkie konta są wykorzystywane i zarządzane odpowiednio.

Pytanie 15

W poniższym zapytaniu SQL, co oznacza symbol gwiazdki w jego wyniku?

SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. wyświetlenie wszystkich rekordów z tabeli mieszkancy
B. pokazanie pola o nazwie '*' (gwiazdka)
C. wyświetlenie wszystkich kolumn z tabeli mieszkancy
D. zignorowanie warunku dotyczącego imienia
W zapytaniu SQL znak gwiazdki (*) nie oznacza wyświetlenia wszystkich rekordów w tabeli, lecz wskazuje, że w wyniku zapytania mamy otrzymać wszystkie kolumny. To ważne rozróżnienie, ponieważ mylenie tych pojęć prowadzi do nieporozumień dotyczących struktury wyników. Każde zapytanie z gwiazdką ograniczone jest jedynie kolumnami nie rekordami. W tym przypadku część WHERE imie = 'Anna' dodatkowo sie mplementuje ograniczenie do konkretnych rekordów co należy do odrębnej części logiki zapytania. Z kolei interpretacja gwiazdki jako pola o nazwie '*' jest błędnym założeniem ponieważ w standardzie SQL nie istnieje możliwość nadania pola o takiej nazwie poprzez użycie gwiazdki. Gdybyśmy chcieli wyświetlić pole o konkretnej nazwie musielibyśmy użyć jego dokładnej nazwy a nie gwiazdki. Interpretacja gwiazdki jako zignorowania warunku WHERE również jest niepoprawna ponieważ WHERE jest integralną częścią zapytania SQL określającą kryteria filtrowania rekordów i działa niezależnie od gwiazdki. Zrozumienie różnic między wyborem kolumn a wyborem rekordów jest kluczowe dla prawidłowego konstruowania zapytań SQL i optymalizacji ich działania w praktycznych zastosowaniach.

Pytanie 16

W programowaniu zmienna o typie integer służy do przechowywania

A. liczby całkowitej
B. wartości logicznej
C. liczby rzeczywistej
D. znaku
Zmienna typu integer w językach programowania jest przeznaczona do przechowywania liczb całkowitych, co oznacza liczby bez części dziesiętnej. To podstawowy typ danych, który jest szeroko stosowany w programowaniu do reprezentowania wartości takich jak liczby porządkowe, ilości, indeksy w tablicach czy inne wartości, które nie wymagają precyzyjnych obliczeń dziesiętnych. Przykładami zastosowania zmiennych typu integer mogą być liczniki w pętlach, które określają liczbę iteracji, lub zmienne przechowujące wiek osoby, liczbę punktów w grze czy numer identyfikacyjny w bazie danych. Warto zaznaczyć, że różne języki programowania mogą oferować różne rozmiary dla typu integer, co wpływa na zakres wartości, jakie mogą być w nim przechowywane. Na przykład w języku C++ standardowy typ int zazwyczaj zajmuje 4 bajty i może przechowywać liczby z przedziału od -2,147,483,648 do 2,147,483,647. W praktyce, znajomość typów danych i ich odpowiedniego używania powinna być kluczową umiejętnością każdego programisty, aby pisać wydajny i prawidłowy kod.

Pytanie 17

Zakładając, że żadne style CSS nie zostały zdefiniowane, przedstawiony efekt zostanie uzyskany przy pomocy

Tytuł
    Znaczniki języka HTML
Autor
    Ewa Konieczna
Słowa kluczowe
    witryny internetowe, HTML

Kod 1.
<ul>
  <li>Tytuł</li>
  <li>Znaczniki języka HTML</li>
  <li>Autor</li>
  <li>Ewa Konieczna</li>
  <li>Słowa kluczowe</li>
  <li>witryny internetowe, HTML</li>
</ul>

Kod 2.
<dl>
  <dt>Tytuł</dt>
  <dd>Znaczniki języka HTML</dd>
  <dt>Autor</dt>
  <dd>Ewa Konieczna</dd>
  <dt>Słowa kluczowe</dt>
  <dd>witryny internetowe, HTML</dd>
</dl>

Kod 3.
<ol>
  <li>Tytuł</li>
  <dl>Znaczniki języka HTML</dl>
  <li>Autor</li>
  <dl>Ewa Konieczna</dl>
  <li>Słowa kluczowe</li>
  <dl>witryny internetowe, HTML</dl>
</ol>

Kod 4.
<table>
  <tr>Tytuł</tr>
  <td>Znaczniki języka HTML</td>
  <tr>Autor</tr>
  <td>Ewa Konieczna</td>
  <tr>Słowa kluczowe</tr>
  <td>witryny internetowe, HTML</td>
</table>
A. Kodu 4.
B. Kodu 1.
C. Kodu 3.
D. Kodu 2.
Niestety, Twoja odpowiedź nie jest poprawna. Na podstawie analizy załączonego obrazka można stwierdzić, że efekt przedstawiony na zdjęciu zostanie uzyskany przy użyciu 'Kodu 2', który jest kodem HTML definiującym tabelę. Wybierając inne opcje, pomijasz ważną rolę, jaką tabele odgrywają w prezentowaniu informacji w strukturze danych. Tabele HTML są przydatne do prezentowania zestawów danych, które mają związek ze sobą. Za pomocą tabeli można łatwo zorganizować takie dane w czytelny sposób. Zwróć uwagę, że wybór nieodpowiedniego kodu do osiągnięcia określonego efektu może prowadzić do niepotrzebnych komplikacji, takich jak trudności w utrzymaniu kodu, problemów z dostępnością i nieprawidłowego wyświetlania na różnych urządzeniach czy przeglądarkach. Pamiętaj, że ważne jest zrozumienie podstawowych koncepcji HTML i CSS, aby być w stanie tworzyć efektywne i dostępne strony internetowe.

Pytanie 18

Znak <s> w HTML powoduje

A. pochylenie tekstu
B. migotanie tekstu
C. skreślenie tekstu
D. podkreślenie tekstu
Znacznik <s> w języku HTML jest używany do oznaczania tekstu, który jest przekreślony, co jest przydatne, gdy chcemy wskazać, że dana treść nie jest już aktualna lub jest nieprawidłowa. Na przykład, w dokumencie HTML możemy użyć znacznika <s> do przekreślenia starej ceny produktu, aby podkreślić, że cena została obniżona. Taki sposób prezentacji informacji jest zgodny z zasadami dostępności, ponieważ przekreślony tekst wciąż jest czytelny przez technologie asystujące, co pozwala użytkownikom na zrozumienie zmiany w kontekście treści. W praktyce zastosowanie tego znacznika może również wpłynąć na estetykę strony, eliminując potrzebę stosowania stylów CSS do osiągnięcia tego samego efektu.

Pytanie 19

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. foreach
B. for
C. while
D. next
Pętla 'for' wymaga jawnego zarządzania indeksem i często jest stosowana, gdy potrzebujemy precyzyjnej kontroli nad iteracją, na przykład gdy musimy modyfikować indeks lub iterować w niestandardowy sposób. W przeciwieństwie do 'foreach', pętla 'for' nie zajmuje się automatycznym przypisywaniem elementów tablicy do zmiennych, co czyni ją mniej odpowiednią w kontekście opisanym w pytaniu. Instrukcja 'next' nie jest typową konstrukcją w najpopularniejszych językach programowania i może być myląca, ponieważ czasami jest używana w kontekście pętli w VBA lub jako element iteracyjny w innych, mniej popularnych językach. Natomiast pętla 'while' służy do wykonywania iteracji dopóki spełniony jest określony warunek logiczny, co nie jest zgodne z opisaną funkcjonalnością, w której pętla ma automatycznie przypisywać wartość elementów tablicy do zmiennej. Zrozumienie różnic między tymi strukturami pomaga w wyborze odpowiedniego narzędzia do zadania, zwiększając efektywność i czytelność kodu.

Pytanie 20

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. sumy.
C. grupowania.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 21

W programie Audacity, podczas edytowania dźwięku pozyskanego z płyty analogowej, konieczne jest usunięcie pojedynczych trzasków typowych dla płyt winylowych. Jakie narzędzie jest do tego celu przeznaczone?

A. Usuwanie stukotu (Click Removal)
B. Obwiednia (Envelope)
C. Normalizuj (Normalize)
D. Redukcja szumu (Noise Reduction)
Wybór narzędzi takich jak 'Obwiednia (Envelope)', 'Normalizuj (Normalize)' oraz 'Redukcja szumu (Noise Reduction)' wskazuje na nieporozumienie dotyczące funkcji tych opcji w programie Audacity. Narzędzie 'Obwiednia' służy do dynamicznej regulacji głośności dźwięku w czasie, co nie ma zastosowania w przypadku usuwania pojedynczych trzasków. Chociaż może być użyteczne w kontekście ogólnej edycji utworu, nie jest odpowiednie do eliminacji krótkotrwałych zakłóceń. Z kolei 'Normalizuj' ma na celu podniesienie poziomu głośności całego nagrania do maksymalnego poziomu bez zniekształceń, co może skutkować wzmocnieniem trzasków zamiast ich eliminacji. Używanie tego narzędzia przed usunięciem trzasków może sprawić, że będą one bardziej wyraźne, co jest przeciwnym efektem do zamierzonego. 'Redukcja szumu' jest narzędziem, które usuwa szumy tła, a nie krótkotrwałe dźwięki, takie jak trzaski. Chociaż może być użyta w procesie poprawy jakości nagrania, nie jest ona w stanie skutecznie rozwiązać problemu z trzaskami, które mają inną charakterystykę. W praktyce, nieodpowiedni wybór narzędzi prowadzi do nieefektywnej obróbki dźwięku, co może skutkować niezadowalającą jakością finalnego nagrania.

Pytanie 22

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienna1++;
B. zmienna1––;
C. zmienna1 === zmienna1 - 1;
D. zmienia1 = zmienna1 - 0;
Instrukcja 'zmienna1 -= 1;' w języku JavaScript jest skróconą formą zapisu, która oblicza nową wartość zmiennej 'zmienna1', odejmując od niej 1. Działa to na zasadzie równania, gdzie zmienna zostaje zaktualizowana do nowej wartości. Z kolei zapis 'zmienna1--;' również dokonuje dekrementacji zmiennej 'zmienna1' o 1, ale w formie operatora post-dekrementacji. W praktyce oznacza to, że obie instrukcje mają ten sam efekt końcowy, czyli zmiana wartości 'zmienna1' o 1 w dół. Przykładowo, jeżeli 'zmienna1' wynosi 5 przed wykonaniem powyższych operacji, to po ich wykonaniu jej wartość wyniesie 4. Takie skrócone formy zapisu są powszechną praktyką w programowaniu, ponieważ umożliwiają bardziej zwięzłe i czytelne przedstawienie operacji na zmiennych, co jest zgodne z zasadami czystego kodu. Używanie operatorów skróconych, takich jak '+=' i '-=', jest zalecane, ponieważ poprawia czytelność i zrozumiałość kodu.

Pytanie 23

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 2: B
B. Odpowiedź 4: D
C. Odpowiedź 3: C
D. Odpowiedź 1: A
Jeśli chodzi o inne odpowiedzi, to niestety mają spore błędy. W odpowiedzi A zastosowano clear:both dla drugiego bloku, co sprawia, że ten blok wyląduje poniżej pierwszego, a nie obok. To uniemożliwia uzyskanie układu wielokolumnowego, a to dość powszechny błąd, gdy korzysta się z float. Z kolei odpowiedź C całkowicie pomija użycie float, ustawiając tylko szerokość elementów. Bez float lub innego sposobu na układ w poziomie, elementy będą się ustawiać jeden pod drugim, co nie jest tym, czego byśmy chcieli. Odpowiedź D używa float dla bloku czwartego, co sprawia, że wyświetli się obok pierwszych bloków, zamiast pod nimi, co burzy strukturę strony. Takie błędne użycie CSS prowadzi do chaosu wizualnego i utrudnia nawigację użytkownikowi, a w perspektywie przyszłego zarządzania kodem HTML i CSS może być kłopotliwe. Dlatego warto zrozumieć, jak działają właściwości float i clear oraz ich interakcje w kontekście całego układu, co jest istotne w projektach, które chcą być przejrzyste i responsywne.

Pytanie 24

Zgodnie z zasadami ACID dotyczącymi przeprowadzania transakcji wymóg izolacji (ang. isolation) wskazuje, że

A. po zrealizowaniu transakcji system bazy danych będzie zgodny
B. w sytuacji konfliktu z inną transakcją obie zmieniają te same dane równocześnie
C. gdy dwie transakcje działają równocześnie, to zazwyczaj nie dostrzegają zmian wprowadzanych przez siebie
D. pod określonymi warunkami dane modyfikowane przez transakcję mogą być cofnięte
Izolacja w kontekście transakcji baz danych odnosi się do sposobu, w jaki transakcje współdziałają i oddziałują na siebie, a jej zrozumienie jest niezbędne do uniknięcia wielu pułapek związanych z równoległym przetwarzaniem danych. Pierwsza z niepoprawnych odpowiedzi sugeruje, że pod pewnymi warunkami dane zmieniane przez transakcję mogą zostać wycofane. Chociaż wycofywanie transakcji (ang. rollback) jest ważną funkcją zapewniającą integralność danych, nie jest to bezpośrednio związane z izolacją. Izolacja skupia się na interakcji pomiędzy równoległymi transakcjami, a nie na tym, co się dzieje w przypadku ich wycofania. Kolejny błąd wynika z odpowiedzi, która twierdzi, że w przypadku konfliktu z inną transakcją obie modyfikują te same dane w tym samym czasie. Takie podejście jest sprzeczne z zasadą izolacji, ponieważ transakcje powinny być w stanie współistnieć bez wzajemnego wpływania na siebie. Ostatnia niepoprawna odpowiedź, mówiąca o spójności systemu po wykonaniu transakcji, odnosi się do właściwości konsystencji ACID, która jednak nie jest tożsama z izolacją. W praktyce, niezrozumienie izolacji i jej skutków może prowadzić do wystąpienia problemów takich jak zjawisko phantom reads, lost updates czy dirty reads, co w konsekwencji obniża jakość danych przetwarzanych przez aplikacje oraz może prowadzić do błędów w logice biznesowej. Kluczowe jest zrozumienie, że izolacja jest fundamentem dla poprawnego działania aplikacji bazodanowych w środowiskach, w których zachodzi równoległe przetwarzanie danych.

Pytanie 25

Określ słowo kluczowe w języku C++, które umieszcza się przed wbudowanym typem danych, aby ograniczyć zakres do liczb wyłącznie nieujemnych.

A. const
B. long
C. short
D. unsigned
Wybranie innego słowa kluczowego zamiast 'unsigned' może świadczyć o tym, że nie do końca rozumiesz typy danych w C++. Na przykład 'long', 'const' czy 'short' nie mają nic wspólnego z tym, żeby ograniczać wartości do nieujemnych. 'Long' po prostu daje ci większy zakres liczb niż 'int', ale nie zmienia tego, że mogą być one ujemne. 'Short' z kolei zmniejsza zakres, co też nie ma związku z tym, czy liczby mogą być ujemne. A 'const' to zupełnie co innego, bo oznacza, że wartość zmiennej nie może się zmieniać po jej ustawieniu. Niektórzy programiści mylą te modyfikatory i przez to mogą się się pomylić w kodzie. Ważne jest, żeby dobrze ogarnąć, co te modyfikatory robią, żeby móc je skutecznie stosować. Używanie 'unsigned' tam, gdzie trzeba, zdecydowanie poprawia jakość kodu, co jest kluczowe w dzisiejszym programowaniu.

Pytanie 26

W HTML formularzu użyto elementu <input>. Pole, które się pojawi, ma pozwalać na wprowadzenie maksymalnie

<input type="password" size="30" maxlength="20">
A. 30 znaków, które nie będą widoczne w polu tekstowym
B. 20 znaków, które będą widoczne w trakcie wprowadzania
C. 30 znaków, które będą widoczne podczas wpisywania
D. 20 znaków, które nie będą widoczne w polu tekstowym
Znacznik <input type="password"> w HTML jest rzeczywiście super ważny. Umożliwia on użytkownikom wpisywanie haseł, a to, co najfajniejsze, to że znaki są ukryte, więc nikt nie zobaczy, co piszesz. Atrybut maxlength="20" jest tutaj pomocny, bo ogranicza liczbę znaków do 20, co jest praktyczne - zbyt długie hasła ciężko zapamiętać, a krótkie mogą być niebezpieczne. Natomiast size="30" to tylko kwestia szerokości pola, więc nie wpływa na ilość znaków, które można wpisać. Generalnie, dobrze jest trzymać się tych ograniczeń, bo to pomaga w projektowaniu formularzy i utrzymywaniu porządku w interfejsie. Z mojej perspektywy, znajomość tych atrybutów jest naprawdę przydatna przy tworzeniu stron, bo można lepiej zrozumieć, jak to wszystko działa.

Pytanie 27

W językach programowania o układzie strukturalnym, aby przechować dane o 50 uczniach (ich imionach, nazwiskach oraz średniej ocen), konieczne jest zastosowanie

A. tablicy z 50 elementami o składowych strukturalnych
B. tablicy z 50 elementami o składowych typu łańcuchowego
C. struktury z 50 elementami o składowych typu tablicowego
D. klasy z 50 elementami typu tablicowego
Wybór niewłaściwych podejść do przechowywania informacji o uczniach często wynika z nieporozumienia dotyczącego struktury danych i ich właściwego zastosowania. Tworzenie struktury 50 elementów o składowych typu tablicowego sugeruje, że każdy element byłby tablicą, co nie odpowiada rzeczywistej naturze danych. Tego rodzaju podejście nie tylko komplikuje dostęp do informacji, ale również zwiększa ryzyko błędów w zarządzaniu danymi. Z kolei użycie tablicy 50 elementów o składowych łańcuchowych ogranicza nas do prostych typów danych, takich jak ciągi znaków, co uniemożliwia przechowywanie średniej ocen, która wymagałaby użycia innego typu danych, co narusza zasady typizacji. W przypadku klasy z 50 elementami typu tablicowego, problemem jest, że klasa powinna być używana do modelowania złożonych obiektów z zachowaniem, co nie jest konieczne w tym przypadku. Te nieścisłości pokazują typowe błędy myślowe związane z projektowaniem struktur danych. Kluczowym elementem skutecznego programowania jest zrozumienie, jak najlepiej reprezentować i przechowywać złożone dane, a także znajomość odpowiednich struktur, które umożliwią efektywne operacje na tych danych.

Pytanie 28

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Suma ocen równa 14
B. Liczba wierszy równa 4
C. Wartość 3.5
D. Dane 4, 3, 4, 3
Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.

Pytanie 29

Aby strona internetowa była dostosowana do różnych urządzeń, należy między innymi ustalać

A. wielkości obrazów wyłącznie w pikselach
B. tylko znane fonty, takie jak Arial
C. układ strony wyłącznie przy użyciu tabel
D. wielkości obrazów w procentach
Aby strona WWW była responsywna, kluczowym aspektem jest definiowanie rozmiarów obrazów w procentach. Taki sposób umożliwia dynamiczne skalowanie elementów graficznych w zależności od rozmiaru ekranu urządzenia, co jest istotne w kontekście różnorodnych rozdzielczości oraz urządzeń mobilnych. Ustalając szerokość obrazów w procentach, na przykład 'width: 50%', zapewniamy, że obraz zajmuje połowę dostępnej szerokości kontenera, co pozwala na zachowanie proporcji i estetyki strony niezależnie od wielkości okna przeglądarki. Praktyczne zastosowanie takiej metody można zaobserwować w projektach wykorzystujących CSS Flexbox czy Grid, gdzie elastyczność układu jest kluczowa. Ponadto, stosowanie obrazów responsywnych wspiera standardy W3C oraz wytyczne dotyczące dostępności, co wpływa na lepsze doświadczenie użytkownika oraz poprawia SEO. W rezultacie, dobrze zaprojektowana strona responsywna przyczynia się do zwiększenia konwersji oraz zadowolenia odwiedzających, co jest niezbędne w dzisiejszym internecie.

Pytanie 30

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A RIGHT JOIN B
B. A LEFT JOIN B
C. A INNER JOIN B
D. A FULL OUTER JOIN B
W tym pytaniu pułapka polega na tym, że łatwo pomylić pojęcie części wspólnej z całością jednego ze zbiorów. Diagram pokazuje całą tabelę B (włącznie z przecięciem z A), a nie tylko przecięcie. W SQL typ złączenia określa, z której tabeli bierzemy wszystkie rekordy, a z której tylko te pasujące. To, że widzimy też obszar wspólny, jest naturalnym efektem działania złączeń zewnętrznych, ale nie oznacza jeszcze, że chodzi o `INNER JOIN`. Jeśli ktoś wybiera `A LEFT JOIN B`, to zwykle wynika z myślenia „chcę część wspólną i coś jeszcze”, ale myli kierunek. `LEFT JOIN` gwarantuje wszystkie rekordy z **lewej** tabeli (A), a z prawej (B) tylko dopasowane. Diagram z pytania pokazuje dokładnie odwrotną sytuację: komplet danych z B, a z A tylko tam, gdzie istnieje relacja. `A LEFT JOIN B` odpowiadałoby sytuacji, gdzie podświetlony jest cały zbiór A i przecięcie, a nie B. Z kolei `A INNER JOIN B` zwróciłby wyłącznie część wspólną A∩B, czyli tylko te rekordy, które mają dopasowanie po obu stronach. Na diagramie byłby wtedy zaznaczony wyłącznie środek, a nie cały zielony obszar B. To typowy błąd: utożsamianie każdego JOIN z „częścią wspólną”. INNER JOIN jest dobry, gdy interesują nas tylko powiązane dane (np. zamówienia, które mają istniejącego klienta), ale w zadaniu wyraźnie mowa o „wszystkich rekordach z B”. `A FULL OUTER JOIN B` idzie w drugą stronę – zwraca wszystko z A **i** wszystko z B, niezależnie od tego, czy jest dopasowanie, czy nie. To byłby diagram z zaznaczonymi obiema kółkami, czyli suma zbiorów A∪B. W standardzie SQL taki typ złączenia jest opisany jako pełne złączenie zewnętrzne i stosuje się go rzadziej, np. do porównywania różnic między dwiema tabelami. Tutaj jest to za szeroki zakres danych w stosunku do pytania. Poprawne podejście wymaga więc skojarzenia, że skoro chcemy wszystkie rekordy z tabeli B, to w zapisie `A ... JOIN B` tabela B musi być po tej stronie, która jest „obowiązkowa”. Właśnie to zapewnia `RIGHT JOIN`: pełny zestaw wierszy z prawej tabeli, plus dopasowania z lewej tam, gdzie istnieją. Świadome operowanie tymi pojęciami bardzo ułatwia projektowanie zapytań raportowych i unikanie nieoczekiwanych braków lub duplikacji danych.

Pytanie 31

Funkcja pg_connect w języku PHP służy do nawiązania połączenia z bazą danych

A. MS ACCESS
B. mySQL
C. PostgreSQL
D. MS SQL
Polecenie pg_connect w języku PHP jest dedykowane do nawiązywania połączeń z bazami danych PostgreSQL, które są relacyjnymi bazami danych znanymi z dużej wydajności, elastyczności oraz wsparcia dla zaawansowanych funkcji, takich jak transakcje, procedury składowane czy różnorodne typy danych. Użycie pg_connect pozwala programistom na łatwe integrowanie aplikacji PHP z PostgreSQL, co jest kluczowe w przypadku aplikacji wymagających solidnego zarządzania danymi. Przykładowo, aby nawiązać połączenie z bazą danych, można użyć kodu: $conn = pg_connect("host=localhost dbname=mydb user=myuser password=mypassword");. Taki sposób połączenia umożliwia nie tylko dostęp do danych, ale też wykonanie zapytań SQL i zarządzanie wynikami. Dobrą praktyką jest zawsze zamykanie połączeń oraz obsługa potencjalnych błędów, co przyczynia się do stabilności aplikacji. Zgodnie z wytycznymi dotyczącymi bezpieczeństwa, szczególnie w kontekście aplikacji webowych, ważne jest również stosowanie technik zabezpieczeń, takich jak przygotowane zapytania, aby zapobiec atakom typu SQL injection.

Pytanie 32

Model kolorów oparty na trzech parametrach: hue, saturation i brightness to

A. RGB
B. CMY
C. HSV
D. CMYK
RGB to model barw oparty na trzech kolorach podstawowych: czerwonym, zielonym i niebieskim. W tym modelu kolory są tworzone przez mieszanie tych trzech barw w różnych proporcjach, a nie przez kontrolowanie odcienia, nasycenia i jasności. RGB jest często stosowany w urządzeniach wyświetlających, takich jak monitory i telewizory, a jego wartości są wyrażane w skali od 0 do 255. CMY i CMYK to modele barw, które są stosowane głównie w druku. Model CMY, który składa się z cyjanu, magenty i żółtego, jest odwrotnością RGB, ponieważ używa kolorów subtraktywnych. CMYK, dodający czarny do CMY, jest zaprojektowany specjalnie do uzyskania głębszych tonów i lepszej reprodukcji kolorów w druku. W przeciwieństwie do modelu HSV, zarówno RGB, CMY, jak i CMYK nie uwzględniają łatwego zarządzania odcieniem, nasyceniem i jasnością w sposób, który jest intuicyjny dla użytkownika, co czyni je mniej użytecznymi w kontekście aplikacji graficznych i multimedialnych.

Pytanie 33

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze sprzedawca
B. do wszystkich tabel w bazie danych hurtownia
C. dla konta root na serwerze localhost
D. do wszystkich kolumn w tabeli hurtownia
Podane polecenie SQL <code>GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';</code> jest poprawne, ponieważ przyznaje uprawnienia do wykonywania zapytań SELECT na wszystkich tabelach w bazie danych hurtownia. Operator <code>.*</code> w kontekście bazy danych oznacza, że dotyczy to wszystkich tabel znajdujących się w tej bazie. Przyznawanie uprawnień w taki sposób jest zgodne z najlepszymi praktykami zarządzania dostępem w systemach baz danych, ponieważ umożliwia kontrolowanie, którzy użytkownicy mogą uzyskiwać dostęp do danych. W praktyce, jeśli 'sprzedawca' potrzebuje przeglądać dane ze wszystkich tabel w hurtowni, to takie przyznanie uprawnień jest najbardziej efektywne. Takie podejście ułatwia zarządzanie uprawnieniami, pozwalając administratorom na nadawanie ogólnych uprawnień w ramach bazy danych, zamiast przypisywania ich dla każdej tabeli z osobna. Dobrą praktyką jest również regularne przeglądanie i aktualizowanie przydzielonych uprawnień, aby zapewnić bezpieczeństwo i zgodność z zasadami ochrony danych.

Pytanie 34

Funkcja PHP var_dump() wyświetla informację na temat zmiennej: jej typ i wartość. Wynikiem dla przedstawionego fragmentu kodu jest:

$x = 59.85;
var_dump($x);
A. float(59.85)
B. int(59)
C. array(2) { [0]=> int(59) [1]=> int(85) }
D. string(5) "59.85"
Gratulacje, Twoja odpowiedź jest poprawna! W poprawnej odpowiedzi, wartość zmiennej $x była 59.85, co jest liczbą zmiennoprzecinkową, a więc typem tej zmiennej jest float. Funkcja PHP var_dump() służy do wyświetlania informacji o zmiennej, w tym jej typu i wartości. Zatem wynikiem jej wykonania dla zmiennej $x inicjowanej wartością 59.85 jest float(59.85). To jest jeden z przykładów, gdzie rozumienie typów danych w PHP jest kluczowe. Zrozumienie typu float pozwoli Ci na prawidłową manipulację danymi, co jest niezwykle ważne w programowaniu. Jest to szczególnie istotne, gdy porównujesz różne wartości lub przekształcasz jedne typy danych w inne. Pamiętaj, że PHP jest językiem o słabej typizacji, co oznacza, że konwersja typów może nastąpić automatycznie w niektórych kontekstach, więc zawsze warto wiedzieć, jakiego typu jest dana zmienna.

Pytanie 35

W CSS zapis w postaci ```h1::first-letter{color:red;}``` spowoduje, że kolor czerwony będzie dotyczył

A. tekstów nagłówka pierwszego poziomu
B. pierwszej linii akapitu
C. pierwszej litery nagłówka drugiego poziomu
D. pierwszej litery nagłówka pierwszego poziomu
Zapis CSS h1::first-letter {color: red;} odnosi się do selektora pseudo-elementu first-letter, który jest używany do stylizacji pierwszej litery bloku tekstowego w nagłówkach. W tym wypadku, gdy selektor jest zastosowany do elementu h1, oznacza to, że kolor pierwszej litery nagłówka pierwszego stopnia (h1) zostanie zmieniony na czerwony. Pseudo-element first-letter działa tylko dla elementów blokowych, takich jak nagłówki, akapity czy listy. W praktyce, jeśli w dokumencie HTML mamy element <h1> z tekstem, np. 'Witaj świecie', to wyłącznie litera 'W' zostanie wyświetlona w kolorze czerwonym. To podejście jest zgodne ze standardami CSS, które definiują pseudo-elementy jako specyficzne fragmenty dokumentu, które można stylizować niezależnie od reszty zawartości. Warto również zauważyć, że stosowanie takich selektorów pozwala na uzyskanie bardziej złożonych efektów wizualnych bez konieczności modyfikacji struktury HTML. Umożliwia to projektantom stron internetowych większą elastyczność i kontrolę nad estetyką treści.

Pytanie 36

W stylach CSS, aby ustalić styl linii obramowania jako linię kreskową, należy zastosować wartość

A. solid
B. dotted
C. dashed
D. groove
W stylach CSS, właściwość 'border-style' pozwala na określenie stylu obramowania elementu. Aby ustawić obramowanie jako linię kreskową, stosuje się wartość 'dashed'. Linia kreskowa jest jedną z opcji, które pozwalają na wizualne odróżnienie elementów na stronie internetowej. Wartość 'dashed' generuje obramowanie składające się z przerywanych linii, co czyni go idealnym do wyróżniania elementów, które wymagają uwagi lub są w pewien sposób odrębne. Przykład zastosowania: 'border: 2px dashed black;' tworzy obramowanie o grubości 2 pikseli, w kolorze czarnym, składające się z przerywanej linii. Wartości 'solid', 'dotted', oraz 'groove' oferują inne style obramowania, ale nie generują efektu linii kreskowej. 'Solid' tworzy jednolitą linię, 'dotted' składa się z kropek, a 'groove' daje efekt trójwymiarowego wgłębienia. Standardy CSS, w tym CSS3, precyzują te style, umożliwiając projektantom elastyczność w dostosowywaniu wyglądu stron internetowych, co jest kluczowe dla UX i UI designu.

Pytanie 37

Zakładając, że tablica $tab zawiera liczby naturalne, co program wyświetli?

$liczba = $tab[0];
foreach ($tab as $element)
{
  if ($element > $liczba)
    $liczba = $element;
}
echo $liczba;
A. element tablicy o wartości $tab[0]
B. największy element tablicy
C. elementy, które przewyższają zmienną $liczba
D. najmniejszy element tablicy
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących działania pętli iteracyjnej oraz logiki porównywania i aktualizowania wartości. Propozycja wyboru najmniejszego elementu tablicy jest błędna, ponieważ w programie brakuje mechanizmu do aktualizacji zmiennej $liczba na mniejszą wartość, co jest kluczowym wymogiem w tym kontekście. Pętla foreach z warunkiem if sprawia, że zmienna $liczba zwiększa swoją wartość tylko wtedy, gdy znajdzie się element większy od aktualnie przechowywanej wartości, eliminując tym samym możliwość identyfikacji najmniejszego elementu. Z kolei opcja dotycząca wypisania elementów większych od zmiennej $liczba również jest nietrafiona, ponieważ program nie zawiera żadnej instrukcji wypisującej takie elementy na ekran, a jedynie aktualizuje zmienną w celu znalezienia największej wartości. Taka funkcjonalność wymagałaby dodatkowej logiki, która przechowywałaby i obsługiwała wiele większych elementów, co nie jest realizowane w obecnym kodzie. Wreszcie, pomysł, że program wypisuje element równy $tab[0], również nie jest poprawny. Chociaż zmienna $liczba jest inicjalizowana wartością $tab[0], to jednak ulega ona zmianom w trakcie iteracji przez tablicę, jeśli znajdzie się większy element, a więc w większości przypadków nie kończy z wartością początkową. Zrozumienie tych mechanizmów jest kluczowe w projektowaniu efektywnego kodu i unikaniu nieporozumień w implementacji algorytmów operujących na zbiorach danych.

Pytanie 38

Reprezentacja znacznika HTML w formacie ```przejdź```

A. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do sekcji o nazwie "hobby"
B. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o URL "hobby"
C. jest błędny, użyto niewłaściwego znaku "#" w atrybucie href
D. jest błędny, w atrybucie href należy wpisać adres URL
Zapis znacznika HTML przedstawiony w pytaniu jest poprawny i spełnia standardy języka HTML. Użycie elementu <a> z atrybutem href i wartością #hobby oznacza, że użytkownik po kliknięciu w ten link zostanie przewinięty do sekcji na stronie, która ma przypisany identyfikator "hobby". Takie podejście jest zgodne z dobrymi praktykami w projektowaniu stron internetowych, umożliwiając tworzenie nawigacji wewnętrznej. Warto zaznaczyć, że użycie znaku hash (#) w atrybucie href wskazuje na lokalizację w obrębie tej samej strony. To jest powszechnie stosowane w przypadkach, gdy chcemy ułatwić użytkownikom dostęp do różnych sekcji na tej samej stronie, bez konieczności ładowania nowej strony. Przykładem zastosowania może być strona z długim artykułem, gdzie linki do poszczególnych nagłówków ułatwiają orientację czytelników. Oprócz tego, korzystając z takiej struktury, możemy również poprawić doświadczenia użytkowników oraz zwiększyć efektywność SEO, ponieważ wyszukiwarki są w stanie lepiej zrozumieć organizację treści na stronie.

Pytanie 39

Utworzono bazę danych zawierającą tabelę podzespoły, która składa się z pól: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowaną według ceny, zaczynając od najniższej, należy wykorzystać zapytanie:

A. SELECT model FROM producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC
B. SELECT model FROM podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC
C. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena ASC
D. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena DESC
Niepoprawne odpowiedzi bazują na zrozumieniu logiki zapytań SQL, ale zawierają istotne błędy w składni i koncepcji dzielenia danych. W pierwszej opcji, użycie operatora OR w klauzuli WHERE prowadzi do wyników, które mogą obejmować modele innych typów pamięci, ponieważ filtruje dane na podstawie jednego z dwóch warunków, co jest sprzeczne z zamiarem uzyskania precyzyjnych wyników tylko dla pamięci RAM od producenta Kingston. Taki błąd w myśleniu może wynikać z mylnego przekonania, że użycie operatora OR zawsze jest lepsze dla zwiększenia ilości danych, co w rzeczywistości prowadzi do zafałszowania wyników. W drugiej odpowiedzi, mimo że użycie operatora AND jest poprawne, sortowanie wyników w kolejności malejącej (ORDER BY cena DESC) nie odpowiada wymaganiu wyświetlenia najtańszej pamięci jako pierwszej, co też czyni tę odpowiedź niewłaściwą. Ostatnia opcja błędnie odnosi się do tabeli 'producent', co jest oczywistym naruszeniem zasad normalizacji bazy danych, ponieważ zapytanie powinno odnosić się do tabeli 'podzespoly', gdzie znajdują się odpowiednie dane. Tego rodzaju błędy mogą prowadzić do nieefektywnego wykorzystania zapytań SQL, co w praktyce będzie skutkować nieprawidłowymi wynikami w aplikacjach opartych na bazach danych, co obniża jakość i wydajność aplikacji. Zrozumienie tych koncepcji jest kluczowe dla prawidłowego stosowania SQL w codziennych zastosowaniach związanych z zarządzaniem danymi.

Pytanie 40

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

Ilustracja do pytania
A. odnośnikowi, gdy kursor myszy na nim spocznie
B. dla każdego odnośnika bez względu na jego aktualny stan
C. dla wszystkich odwiedzonych odnośników
D. dla wszystkich nieodwiedzonych odnośników
Pseudoklasa hover w CSS jest stosowana do definiowania stylu elementu, gdy użytkownik umieszcza nad nim kursor myszy. W kontekście odnośników, stosowanie pseudoklasy hover pozwala na dynamiczne dostosowywanie ich wyglądu, co jest kluczowe dla poprawy interaktywności i użyteczności stron internetowych. W przykładzie a:hover { font-weight: bold; } styl pogrubiony zostanie zastosowany do odnośnika, gdy użytkownik najedzie na niego kursorem myszy. Jest to częsta praktyka w projektowaniu stron, która pomaga użytkownikom łatwiej identyfikować aktywne elementy nawigacyjne. Standardy sieciowe, takie jak W3C, rekomendują stosowanie takich interakcji w celu poprawy doświadczenia użytkownika. Praktyczne zastosowanie pseudoklasy hover jest szerokie, od prostych efektów wizualnych, po skomplikowane animacje i przejścia. Ważne jest jednak, aby pamiętać o zapewnieniu alternatywnych metod interakcji dla użytkowników korzystających z urządzeń dotykowych, gdzie hover nie jest obsługiwany. Zrozumienie i właściwe stosowanie pseudoklas w CSS jest podstawą tworzenia nowoczesnych i dostępnych interfejsów użytkownika.