Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 28 kwietnia 2026 08:15
  • Data zakończenia: 28 kwietnia 2026 08:33

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Wybierz prawidłowy sposób umieszczania komentarzy w kodzie źródłowym HTML

A. /* informacje komentarza */
B. -- informacje komentarza --
C. "" informacje komentarza ""
D. <!-- informacje komentarza -->
Poprawny komentarz w HTML musi być zapisany dokładnie w formie: <!-- treść komentarza -->. To jest jedyny format zgodny ze specyfikacją HTML (HTML5, ale też starsze wersje). Przeglądarka traktuje wszystko, co znajduje się między ciągiem znaków <!-- a -->, jako komentarz, czyli tego nie wyświetla użytkownikowi i nie interpretuje jako kod. Dzięki temu można w kodzie zostawiać sobie uwagi, opisy sekcji, tymczasowo coś „wyłączyć” albo oznaczyć fragment do późniejszej edycji. W praktyce stosuje się np.: <!-- Nawigacja główna strony --> albo <!-- TODO: dodać link do panelu logowania -->. Moim zdaniem komentarze są szczególnie ważne w większych projektach, bo po miesiącu naprawdę trudno pamiętać, po co była jakaś dziwna konstrukcja w HTML. Warto też wiedzieć, że w HTML nie stosujemy ani //, ani /* */ jak w JavaScript czy CSS. To są inne języki, inne reguły. Jeżeli wstawisz coś w stylu <!-- <p>Tekst</p> -->, to cały ten akapit jest ignorowany przez przeglądarkę, co jest wygodne przy testowaniu. Dobra praktyka jest też taka, żeby nie przesadzać z ilością komentarzy, ale tam gdzie struktura jest mniej oczywista (np. zagnieżdżone divy, rozbudowane formularze), lepiej dodać krótki, konkretny opis. W projektach komercyjnych często używa się komentarzy do oznaczania sekcji layoutu, np. <!-- HEADER START -->, <!-- FOOTER END -->, co ułatwia pracę całemu zespołowi. W skrócie: tylko zapis z nawiasami ostrymi i myślnikami, czyli <!-- ... -->, jest w HTML prawidłowy i rozpoznawany jako komentarz.

Pytanie 2

Który program służy do obróbki dźwięku?

A. Audacity
B. Inkscape
C. GIMP
D. CorelDRAW
Prawidłowo wskazany został Audacity, bo jest to specjalistyczny program przeznaczony właśnie do obróbki dźwięku. W praktyce oznacza to, że pozwala nagrywać, edytować, montować i eksportować ścieżki audio w różnych formatach, np. WAV, MP3, OGG. W typowym workflow technika czy realizatora dźwięku w małym studiu używa się Audacity do wycinania fragmentów nagrania, usuwania szumów tła, normalizacji głośności, stosowania efektów takich jak kompresor, korektor (EQ), pogłos, a także do miksowania kilku ścieżek w jeden gotowy plik. Moim zdaniem to jeden z najwygodniejszych programów na start, bo jest darmowy, wieloplatformowy i ma dość czytelny interfejs, a jednocześnie obsługuje dość zaawansowane operacje na sygnale audio. W środowisku webowym i multimedialnym Audacity bardzo często wykorzystuje się do przygotowania materiałów dźwiękowych na strony WWW, kursy e‑learningowe, podcasty czy krótkie reklamy internetowe. Dobre praktyki mówią, żeby przed publikacją dźwięk oczyścić z trzasków, wyrównać poziomy głośności (np. normalizacja do ok. −1 dB lub do standardu głośności LUFS) i dopiero potem eksportować do skompresowanego formatu, który łatwo osadzić w HTML5 audio. Audacity idealnie się do tego nadaje, bo pozwala precyzyjnie przybliżać przebieg fali, pracować na zaznaczeniach, a także cofać wiele kroków edycji, co jest bardzo wygodne przy nauce. W technikum czy w pracy przy prostych projektach multimedialnych ten program spokojnie wystarcza do większości typowych zadań związanych z obróbką dźwięku, od prostego przycięcia pliku MP3 aż po przygotowanie lektora do filmu instruktażowego.

Pytanie 3

Polecenie SQL:

GRANT CREATE, ALTER ON sklep.* TO adam;
Zakładając, że użytkownik adam wcześniej nie posiadał żadnych uprawnień, to powyższe polecenie SQL przyzna mu prawa jedynie do:
A. dodawania oraz modyfikacji danych we wszystkich tabelach bazy sklep
B. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
C. tworzenia oraz modyfikacji struktury w tabeli sklep
D. dodawania oraz modyfikacji danych w tabeli sklep
Wiele błędnych odpowiedzi opiera się na mylnym zrozumieniu zakresu przyznawanych uprawnień. Przede wszystkim, uprawnienia 'CREATE' i 'ALTER' odnoszą się wyłącznie do struktury tabel i innych obiektów, a nie do danych przechowywanych w tabelach. Stąd wstawianie (INSERT) i zmiana danych (UPDATE) nie są umożliwione przez polecenie 'GRANT CREATE, ALTER', co jest kluczowym błędem w niektórych odpowiedziach. Wstawianie danych wymaga przyznania uprawnień 'INSERT', a zmiana danych 'UPDATE', których w tym przypadku nie przyznano. Kolejnym powszechnym nieporozumieniem jest mylenie odniesienia do jednej tabeli z odniesieniem do całej bazy danych. Uprawnienie 'ON sklep.*' wyraźnie sugeruje, że dotyczy wszystkich tabel w bazie danych o nazwie 'sklep', a nie tylko pojedynczej tabeli. To zrozumienie jest fundamentem dla odpowiedniego zarządzania prawami dostępu w praktyce administracyjnej baz danych. Najlepsze praktyki wskazują, że przy przyznawaniu uprawnień należy dokładnie określać, do jakich obiektów użytkownik ma mieć dostęp, co zmniejsza ryzyko nieautoryzowanych zmian i naruszeń bezpieczeństwa.

Pytanie 4

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej n
B. Wyświetli długość tekstu ze zmiennej n
C. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
D. Przypisze zmienną n do zmiennej s
W języku JavaScript właściwość length dla obiektów typu String zwraca liczbę znaków w danym napisie. W przedstawionym fragmencie skryptu zmiennej n przypisano wartość stringa 'Napis1'. Kiedy używamy n.length uzyskujemy długość tego stringa czyli liczbę 6 ponieważ są w nim dokładnie sześć znaków. Następnie tę wartość przypisujemy zmiennej s co oznacza że s przechowuje liczbę 6. Jest to użyteczne w wielu sytuacjach takich jak walidacja danych wejściowych w formularzach sprawdzanie czy dany tekst mieści się w określonych limitach lub po prostu kontrola poprawności danych w procesach biznesowych. Wartość length jest często stosowana w pętlach do iteracji przez każdy znak w stringu lub w operacjach takich jak odcinanie fragmentów tekstu. Praktyka korzystania z length jest standardem w programowaniu webowym i zaliczana jest do dobrych praktyk ponieważ umożliwia łatwą manipulację tekstowymi danymi i kontrolę ich wymiaru co bywa krytyczne zwłaszcza w aplikacjach o dużej skali gdzie efektywność i klarowność kodu mają znaczenie kluczowe.

Pytanie 5

Z tabel Artykuly oraz Autorzy należy wyodrębnić tylko nazwiska autorów oraz tytuły ich artykułów, które uzyskały ocenę 5. Odpowiednia kwerenda do pozyskania tych informacji ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
B. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
Odpowiedź SELECT nazwisko tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5; jest poprawna ponieważ precyzyjnie wykorzystuje konstrukcję SQL do połączenia tabel Autorzy i Artykuly. JOIN łączy te tabele na podstawie klucza obcego autorzy_id w tabeli Artykuly który odpowiada kluczowi głównemu id w tabeli Autorzy. To pozwala na uzyskanie pełnej informacji o autorach i ich artykułach. Klauzula WHERE ocena = 5 filtruje wyniki i zwraca jedynie te które mają ocenę równą 5. Jest to standardowe podejście w SQL do pobierania danych na podstawie określonych kryteriów co jest bardzo efektywne w zarządzaniu dużymi zbiorami danych. Praktyczne zastosowanie tego typu kwerend obejmuje na przykład systemy rekomendacji artykułów gdzie tylko dobrze ocenione treści są pokazywane użytkownikom. Stosowanie takich kwerend zgodnie z najlepszymi praktykami pozwala na utrzymanie wydajności bazy danych oraz na zapewnienie integralności danych co jest kluczowe w profesjonalnym zarządzaniu bazami danych.

Pytanie 6

Jakie będzie wyjście programu napisanego w języku JavaScript, umieszczonego w ramce, po podaniu wartości 5 na wejściu?

Ilustracja do pytania
A. 625
B. 120
C. 125
D. 60
Program przedstawiony w pytaniu służy do obliczenia silni liczby n wprowadzonej przez użytkownika. Zrozumienie, dlaczego wynik wynosi 120, a inne odpowiedzi są błędne, wymaga dokładnego prześledzenia, jak działa silnia i jak przebiega obliczenie w pętli for. Silnia liczby n, zapisywana jako n!, to iloczyn wszystkich liczb od 1 do n. Dla wartości 5, program oblicza 5! jako 5*4*3*2*1, co daje 120. Błędne odpowiedzi wynikają zazwyczaj z niepoprawnego zrozumienia zasady działania pętli oraz operacji matematycznych. Na przykład, wynik 60 mógłby sugerować niepełne wykonanie iteracji, na przykład jeśli pętla kończyłaby się wcześniej, ale kod jasno określa, że iteruje od n do 2. Wynik 125 mógłby być wynikiem błędnego użycia operatorów matematycznych, np. dodawania zamiast mnożenia. Odpowiedź 625 mogłaby sugerować niepoprawną interpretację, gdzie liczba 5 zostałaby błędnie pomnożona przez samą siebie pięciokrotnie, co nie dotyczy silni. Takie błędy są powszechne w kontekście programowania, gdzie operatory i zakresy iteracji muszą być prawidłowo zrozumiane i zastosowane. Rozumienie poprawnego działania pętli for oraz operatora *= jest kluczowe dla uniknięcia takich błędów i poprawnego implementowania algorytmów matematycznych w kodzie. Praktyka i analiza przykładowych problemów mogą znacznie poprawić zdolność do pisania skutecznego i bezbłędnego kodu.

Pytanie 7

Aby móc edytować nakładające się na siebie pojedyncze fragmenty grafiki, przy zachowaniu niezmienności pozostałych elementów, powinno się zastosować

A. kanał alfa
B. histogram
C. kadrowanie
D. warstwy
Wykorzystanie warstw w edytorach graficznych, takich jak Adobe Photoshop czy GIMP, pozwala na wydajne zarządzanie i edytowanie poszczególnych fragmentów obrazu. Warstwy umożliwiają oddzielne manipulowanie elementami, co jest niezwykle istotne, gdy chcemy edytować część obrazu bez wpływania na jego pozostałe elementy. Przykładowo, podczas pracy nad projektem graficznym możemy na jednej warstwie umieścić tekst, na innej obrazek, a na trzeciej tło. Dzięki temu edytując jedną z warstw, pozostałe pozostają nietknięte. Istotnym aspektem pracy z warstwami jest ich hierarchia, która pozwala na ustalanie porządku wyświetlania – warstwy wyższe w hierarchii przykrywają te niższe. Warstwy są również wykorzystywane do tworzenia efektów takich jak przezroczystość czy cienie, co zwiększa głębię i atrakcyjność wizualną projektu. W branży graficznej stosowanie warstw stało się najlepszą praktyką, ponieważ zwiększa elastyczność pracy i ułatwia wprowadzanie poprawek bez ryzyka utraty danych oryginalnych.

Pytanie 8

W języku PHP, po wykonaniu poniższego fragmentu kodu, w zmiennej o nazwie Nowy_Napis uzyskamy

Ilustracja do pytania
A. ZaWszE
B. zawsze sprawdz swoj kod
C. ZAWSZE SPRAWDZ SWOJ KOD
D. zAwSZe sPrAwDz SWOJ kOd
Funkcja strtolower w PHP służy do konwersji ciągu znaków na małe litery. W podanym przykładzie zmienna Napis zawiera wartość ZaWsze SpRaWdZ swoj KoD, która jest mieszanką wielkich i małych liter. Po zastosowaniu funkcji strtolower do tej zmiennej, wynikowy ciąg zostaje przetworzony tak, że wszystkie litery są zamieniane na małe. Dlatego w zmiennej Nowy_Napis znajdzie się tekst zawsze sprawdz swoj kod. Użycie strtolower jest częste, gdy chcemy ujednolicić dane tekstowe, np. porównując adresy email czy nazwy użytkowników, aby uniknąć rozróżnienia wielkości liter. Jest to zgodne z dobrą praktyką programistyczną, która polega na zapewnieniu spójności danych poprzez ich normalizację. W kontekście aplikacji webowych często stosuje się tę funkcję do przetwarzania danych wejściowych od użytkowników, aby uzyskać jednolite formatowanie i uniknąć potencjalnych błędów przy wyszukiwaniu lub porównywaniu danych. Praktyczne zastosowanie tej funkcji ułatwia zarządzanie danymi i upraszcza logikę biznesową aplikacji.

Pytanie 9

Zmienna zadeklarowana w C++ jako double x*; to

A. zmienna zmiennoprzecinkowa
B. wskaźnik
C. parametr formalny typu zmiennoprzecinkowego
D. zmienna typu całkowitego
Parametr formalny typu rzeczywistego nie ma zastosowania w kontekście 'double x*;', ponieważ nie jest to definicja dla parametru funkcji, lecz dla wskaźnika na zmienną typu double. Zmienna rzeczywista odnosi się do prostej deklaracji zmiennej, która przechowuje wartość typu double, jednak w tym przypadku mamy do czynienia z wskaźnikiem, a nie ze zmienną przechowującą wartość. Zmienna całkowita z kolei jest typem danych przechowującym liczby całkowite, a więc nie ma związku z typem double, który jest przeznaczony dla liczb zmiennoprzecinkowych. Wskaźniki są bardziej zaawansowanym konceptem w C++, pozwalającym na manipulacje adresami w pamięci oraz umożliwiającym dynamiczne alokacje pamięci. Użycie wskaźników jest kluczowe w przypadku struktur danych oraz programowania obiektowego, gdzie pozwalają one na efektywne przechowywanie i zarządzanie danymi. Zrozumienie różnic między różnymi typami danych w języku C++ oraz ich zastosowań jest niezbędne dla prawidłowego projektowania aplikacji i unikania błędów programistycznych.

Pytanie 10

Które z poniższych poleceń pozwala na dodanie kolumny zadanie_kompletne do tabeli zadania?

A. ADD COLUMN zadanie_kompletne WITH zadania
B. CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
C. ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
D. INSERT INTO zadania VALUES zadanie_kompletne
Wszystkie trzy pozostałe odpowiedzi są nieprawidłowe w kontekście dodawania nowej kolumny do tabeli. Pierwsze z zaproponowanych poleceń, które sugeruje utworzenie indeksu, jest niepoprawne, ponieważ CREATE INDEX służy do tworzenia indeksów, które poprawiają wydajność zapytań, a nie do modyfikacji struktury tabeli. Indeks może być pomocny w optymalizacji wyszukiwania danych w tabeli, jednak nie ma związku z dodawaniem nowych kolumn. Drugie polecenie, INSERT INTO, jest przeznaczone do dodawania nowych rekordów do istniejącej tabeli, a nie do modyfikacji jej struktury. To polecenie umożliwia dodawanie danych do kolumn, które już istnieją, ale nie może być użyte do dodawania nowych kolumn. Ostatnia nieprawidłowa odpowiedź dotycząca 'ADD COLUMN zadanie_kompletne WITH zadania' jest również błędna, ponieważ nie jest to poprawna składnia SQL. Nie ma polecenia 'WITH' w kontekście dodawania kolumn do tabeli; zamiast tego powinno być używane polecenie ALTER TABLE. W rezultacie, niezrozumienie celu każdego z tych poleceń może prowadzić do błędnych prób modyfikacji struktury bazy danych, co w praktyce może skutkować utratą danych lub rozczarowującymi wynikami operacji.

Pytanie 11

Który z podanych formatów pozwala na zapis zarówno dźwięku, jak i obrazu?

A. MP3
B. MP4
C. PNG
D. WAV
Format MP4, znany również jako MPEG-4 Part 14, jest jednym z najpopularniejszych formatów multimedialnych, który umożliwia jednoczesny zapis zarówno dźwięku, jak i obrazu. Dzięki zastosowaniu zaawansowanej kompresji, MP4 pozwala na przechowywanie wysokiej jakości materiałów w stosunkowo małych plikach, co czyni go idealnym do przesyłania i strumieniowania w Internecie. MP4 obsługuje wiele kodeków, takich jak H.264 dla wideo oraz AAC dla dźwięku, co pozwala na szeroką kompatybilność z różnymi urządzeniami, od smartfonów po odtwarzacze multimedialne. Format ten jest zgodny z wieloma standardami, co czyni go wszechstronnym wyborem dla twórców treści. Przykłady jego zastosowania obejmują filmy wideo na platformach streamingowych, klipy muzyczne i wideoklipy. Dzięki swoim zaletom, MP4 stał się de facto standardem w przemyśle multimedialnym, co w znacznym stopniu przyczyniło się do jego popularności oraz wszechstronności.

Pytanie 12

W CSS, aby zastosować efekt przekreślenia, a także podkreślenia dolnego lub górnego w tekście, należy użyć

A. text-transform
B. text-indent
C. text-align
D. text-decoration
Odpowiedź 'text-decoration' jest prawidłowa, ponieważ ta właściwość CSS umożliwia dodawanie różnych efektów dekoracyjnych do tekstu, takich jak przekreślenie, podkreślenie oraz nadkreślenie. Przykładowo, aby przekreślić tekst, możesz użyć następującego kodu: 'text-decoration: line-through;'. Z kolei dla podkreślenia tekstu zastosujesz 'text-decoration: underline;'. W kontekście standardów CSS3, 'text-decoration' ma na celu nie tylko estetykę, ale także poprawę czytelności, co jest kluczowe w projektowaniu responsywnych i dostępnych stron internetowych. Warto również pamiętać o dobrych praktykach, takich jak unikanie nadmiernego stosowania dekoracji, które mogą odwracać uwagę od treści. W praktyce, kontrolowanie wyglądu tekstu za pomocą 'text-decoration' pozwala na tworzenie bardziej zróżnicowanych i atrakcyjnych interfejsów użytkownika, co w efekcie może zwiększyć zaangażowanie odwiedzających stronę.

Pytanie 13

Zakładając, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL przyzna użytkownikowi anna jedynie uprawnienia do

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
A. wybierania, dodawania pól oraz modyfikacji struktury wszystkich tabel w bazie o nazwie klienci
B. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
C. wybierania, wstawiania oraz modyfikacji danych w wszystkich tabelach w bazie o nazwie klienci
D. wybierania, dodawania pól oraz modyfikacji struktury tabeli o nazwie klienci
To polecenie SQL, które widzisz, czyli GRANT SELECT INSERT UPDATE ON klienci TO anna, po prostu przyznaje użytkownikowi anna konkretne uprawnienia do tabeli klienci. Dzięki temu, ona może odczytywać dane z tej tabeli, co jest naprawdę ważne, zwłaszcza przy robieniu różnych zapytań czy raportów. A jakbyś chciał dodać nowe rekordy, to właśnie INSERT na to pozwala. To mega istotne, bo w bazach danych często coś się zmienia! Natomiast UPDATE daje możliwość zmieniania już istniejących danych, co jest bardzo przydatne, żeby utrzymać wszystko w porządku i aktualności. To jakby standard w zarządzaniu bazami danych. Przyznawanie uprawnień do konkretnej tabeli, a nie całej bazy, zmniejsza ryzyko, że ktoś dostanie dostęp do danych, które nie są dla niego przeznaczone. To wszystko działa zgodnie z zasadą minimalnych uprawnień, co jest super ważne! Można też lepiej kontrolować, kto i jakie operacje może robić na danych, co zapewnia bezpieczeństwo i integralność danych w firmie.

Pytanie 14

Podczas wykonywania zapytania można skorzystać z klauzuli DROP COLUMN

A. DROP TABLE
B. ALTER TABLE
C. ALTER COLUMN
D. CREATE TABLE
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ klauzula DROP COLUMN jest używana w kontekście zmiany struktury tabeli w bazach danych. Polecenie ALTER TABLE pozwala na modyfikację istniejącej tabeli, w tym dodawanie, usuwanie lub modyfikowanie kolumn. Użycie klauzuli DROP COLUMN umożliwia usunięcie określonej kolumny z tabeli, co jest przydatne, gdy kolumna nie jest już potrzebna, zawiera nieaktualne dane lub w celu optymalizacji struktury bazy danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'wiek', której chcemy się pozbyć, możemy użyć polecenia: 'ALTER TABLE Użytkownicy DROP COLUMN wiek;'. Ważne jest, aby przed wykonaniem tej operacji upewnić się, że usunięcie kolumny nie wpłynie negatywnie na integralność danych lub logikę aplikacji. Praktyki dotyczące zarządzania bazami danych zalecają również wykonanie kopii zapasowej danych przed takimi operacjami, aby zminimalizować ryzyko utraty danych.

Pytanie 15

W SQL klauzula DISTINCT w poleceniu SELECT zapewnia, że zwrócone wyniki

A. nie zawiera będą duplikatów.
B. będą uporządkowane.
C. będą spełniały dany warunek.
D. będą zgrupowane według wskazanego pola.
Klauzula DISTINCT w języku SQL jest używana w instrukcji SELECT do eliminacji duplikatów w zwracanych wynikach zapytania. Gdy zapytanie wykorzystuje DISTINCT, zwracane są tylko unikalne rekordy, co oznacza, że identyczne wiersze występujące w zestawie wyników są redukowane do jednego wystąpienia. Działa to poprzez porównywanie wszystkich kolumn wymienionych w SELECT, co oznacza, że różnice w jakiejkolwiek kolumnie będą skutkować zwróceniem oddzielnych wierszy. Przykładowe zapytanie: SELECT DISTINCT nazwisko FROM pracownicy; zwróci listę unikalnych nazwisk pracowników, eliminując wszelkie powtórzenia. Klauzula DISTINCT jest szczególnie przydatna w raportach i analizach danych, gdyż pozwala na zrozumienie częstotliwości występowania różnych wartości. Zgodnie z SQL ANSI, użycie DISTINCT jest standardem, co oznacza, że jest obsługiwane przez wszystkie główne systemy zarządzania bazami danych, takie jak MySQL, PostgreSQL czy Oracle. Warto jednak pamiętać, że dodanie DISTINCT do zapytania może wpływać na wydajność, zwłaszcza w przypadku dużych zbiorów danych, ponieważ wymaga dodatkowych operacji przetwarzania, aby zidentyfikować i usunąć duplikaty.

Pytanie 16

Który z wymienionych formatów umożliwia zapisanie materiału wideo z towarzyszącą ścieżką dźwiękową?

A. WAV
B. MP4
C. WMA
D. AAC
WMA, WAV i AAC to formaty audio, które nie są przeznaczone do przechowywania materiałów wideo w połączeniu z dźwiękiem. WMA (Windows Media Audio) jest formatem audio opracowanym przez firmę Microsoft, który koncentruje się głównie na kompresji dźwięku, a nie na integracji wideo. Użytkownicy mogą mylić go z formatami video, jednak WMA służy tylko do audio. Z kolei WAV (Waveform Audio File Format) to format audio, który przechowuje dźwięk w postaci nieskompresowanej lub minimalnie skompresowanej, co prowadzi do dużych rozmiarów plików i brak możliwości przechowywania obrazu. Jego głównym zastosowaniem są profesjonalne nagrania audio, a nie multimedia wideo. AAC (Advanced Audio Codec) to kodek audio, który jest często używany w ramach kontenerów multimedialnych, takich jak MP4, ale sam w sobie nie jest formatem kontenerowym dla wideo. Często używany w strumieniowaniu dźwięku, AAC dostarcza wysoką jakość dźwięku przy niskich bitratów, ale nie obejmuje funkcji przechowywania wideo. Użytkownicy mogą pomylić te formaty, zakładając, że są one odpowiednie do pracy z wideo, jednak żaden z nich nie spełnia wymagań potrzebnych do zapisu pełnoprawnych plików wideo z dźwiękiem, co podkreśla znaczenie wyboru odpowiedniego formatu w kontekście produkcji multimedialnej.

Pytanie 17

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

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

Pytanie 18

W języku PHP funkcja trim służy do

A. Określania długości tekstu
B. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
C. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
D. Redukowania długości tekstu o określoną w parametrze liczbę znaków
Funkcja trim w języku PHP jest niezwykle użyteczna, ponieważ jej głównym zadaniem jest usuwanie białych znaków oraz innych znaków, które zostaną określone w parametrze, z obu końców łańcucha tekstowego. Oznacza to, że gdy mamy do czynienia z danymi wejściowymi, które mogą zawierać niepotrzebne spacje lub znaki specjalne na początku i końcu, funkcja trim pozwala na ich łatwe oczyszczenie. Przykładowo, jeśli mamy zmienną $text = ' Hello World! ', to wywołanie trim($text) zwróci 'Hello World!'. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdzie ważne jest, aby dane były poprawnie sformatowane przed dalszym przetwarzaniem. Użycie funkcji trim może być szczególnie istotne w kontekście walidacji danych użytkownika, a także przy przetwarzaniu danych z formularzy HTML, gdzie niewłaściwe spacjowanie może prowadzić do błędów w logice aplikacji. Dodatkowo, trim może przyjmować drugi parametr, który pozwala na usunięcie konkretnych znaków, co daje programiście jeszcze większą elastyczność w manipulacji łańcuchami tekstowymi.

Pytanie 19

Która z wymienionych funkcji sortowania w języku PHP służy do sortowania tablicy asocjacyjnej według kluczy?

A. sort()
B. rsort()
C. asort()
D. ksort()
Funkcja ksort() w języku PHP jest dedykowana do sortowania tablic asocjacyjnych według ich kluczy. Dzięki zastosowaniu tej funkcji, tablica zostaje uporządkowana w sposób rosnący, co jest szczególnie przydatne, gdy potrzebujemy danych w zorganizowanej formie lub gdy chcemy prezentować je użytkownikowi w logicznej kolejności. Przykładowo, jeśli mamy tablicę asocjacyjną, gdzie klucze reprezentują nazwy produktów, a wartości to ich ceny, użycie ksort() pozwoli nam posortować produkty alfabetycznie. Dobrą praktyką jest stosowanie ksort() w projektach, gdzie istotna jest czytelność i przejrzystość danych, co może mieć wpływ na UX (User Experience) aplikacji. Warto również pamiętać, że jeśli tablica zawiera różne typy kluczy, to sortowanie może prowadzić do nieoczekiwanych wyników. Z tego względu, ksort() jest najlepszym wyborem, gdyż spełnia wymagania standardów sortowania oraz zapewnia zgodność z dobrymi praktykami programistycznymi.

Pytanie 20

W języku PHP należy stworzyć warunek, który będzie prawdziwy, gdy zmienna $a będzie dowolną liczbą całkowitą mniejszą niż -10 lub gdy zmienna $b będzie jakąkolwiek liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku przyjmuje postać

A. ($a < -10) or (($b > 25) or ($b < 75))
B. ($a < -10) or (($b > 25) and ($b < 75))
C. ($a < -10) and (($b > 25) and ($b < 75))
D. ($a < -10) and (($b > 25) or ($b < 75))
Wyrażenie logiczne ($a < -10) or (($b > 25) and ($b < 75)) jest poprawne, ponieważ spełnia przedstawione w pytaniu warunki. Wszelka liczba całkowita mniejsza od -10 dla zmiennej $a spełnia pierwszy warunek. Drugi warunek definiuje, że zmienna $b musi należeć do przedziału (25, 75), co oznacza, że $b musi być większe niż 25 i mniejsze niż 75. Użycie operatora 'or' jest kluczowe, ponieważ oznacza, że przynajmniej jedno z warunków musi być prawdziwe, aby całe wyrażenie zwróciło wartość prawda. Takie podejście jest zgodne z zasadami programowania, które preferują jednoznaczne i klarowne definiowanie warunków. Przykład użycia takiego wyrażenia mógłby być w kontekście walidacji danych wejściowych w formularzu, gdzie chcemy sprawdzić, czy użytkownik wprowadza poprawne wartości. Dobre praktyki programistyczne zalecają testowanie każdego warunku oddzielnie oraz czytelne komentowanie kodu, aby późniejsza analiza była łatwiejsza dla innych programistów.

Pytanie 21

Używając polecenia BACKUP LOG w MS SQL Server, można

A. przeglądać komunikaty wygenerowane w trakcie tworzenia kopii
B. wykonać kopię zapasową dziennika transakcji
C. połączyć się z kopią zapasową
D. wykonać całkowitą kopię zapasową
Polecenie BACKUP LOG w MS SQL Server jest używane do wykonywania kopii bezpieczeństwa dziennika transakcyjnego bazy danych. Dziennik transakcyjny jest kluczowym komponentem, który rejestruje wszystkie zmiany w bazie danych, co pozwala na ich odtworzenie w przypadku awarii lub błędów. Regularne tworzenie kopii zapasowych dziennika transakcyjnego jest istotne, ponieważ umożliwia przywracanie bazy danych do stanu sprzed określonego zdarzenia. Na przykład, po wykonaniu BACKUP LOG można przywrócić bazę danych do stanu sprzed ostatniej transakcji, co może być bardzo przydatne w sytuacjach awaryjnych, takich jak przypadkowe usunięcie danych. Standardy takie jak RPO (Recovery Point Objective) i RTO (Recovery Time Objective) wskazują na znaczenie systematycznego tworzenia kopii zapasowych dzienników transakcyjnych w strategiach zarządzania danymi. Aby wykonać kopię zapasową dziennika transakcyjnego, używa się składni: BACKUP LOG [nazwa_bazy_danych] TO DISK = 'ścieżka_do_pliku.bak'.

Pytanie 22

Na ilustracji przedstawiono konfigurację serwera Apache dla środowiska XAMPP. Pod jakim lokalnym adresem jest on dostępny?

Ilustracja do pytania
A. localhost:80
B. 192.168.0.1:3306
C. 127.0.0.1:70
D. htdocs
Poprawna odpowiedź to „127.0.0.1:70”, bo na zrzucie z XAMPP Control Panel w kolumnie „Port(s)” przy module Apache widać wyraźnie liczbę 70 jako port HTTP (oraz 443 jako port HTTPS). Adres 127.0.0.1 to tzw. adres loopback, czyli „localhost” – wskazuje zawsze na tę samą maszynę, na której działa przeglądarka i serwer. W praktyce oznacza to, że żeby wejść na swoją stronę testową w XAMPP, wpisujesz w przeglądarce: http://127.0.0.1:70 lub równoważnie http://localhost:70 (jeśli system poprawnie rozwiązuje nazwę „localhost”). Różnica między 127.0.0.1:70 a samym „localhost” polega na tym, że tutaj jawnie podany jest port 70, który jest niestandardowy dla HTTP. Domyślny port HTTP to 80, więc jeśli Apache działałby na porcie 80, mógłbyś wpisać samo http://localhost bez numeru portu. W tym przypadku jednak, ponieważ w XAMPP Apache nasłuchuje na porcie 70, numer portu jest obowiązkowy. To jest częsta praktyka, gdy port 80 jest już zajęty (np. przez IIS, Skype’a, inny serwer www) lub gdy chcemy równolegle uruchomić kilka instancji serwera. W realnych projektach developerskich programiści często ustawiają różne porty dla różnych środowisk, np. 8080, 8000, 3000 itd., żeby rozdzielić aplikacje i uniknąć konfliktów. Moim zdaniem warto się od razu przyzwyczaić do patrzenia w panelu XAMPP właśnie na kolumnę „Port(s)” i świadomie używać adresu IP + port – wtedy od razu wiesz, dokąd naprawdę łączy się przeglądarka i łatwiej diagnozuje się problemy z dostępem do serwera lokalnego.

Pytanie 23

Jaki jest cel wykorzystania znacznika <i> w języku HTML?

A. wstawienia obrazka
B. określenia formularza
C. zmiany kroju pisma na pochylony
D. określenia nagłówka w treści
Znacznik <i> w języku HTML jest używany do oznaczania tekstu, który powinien być wyświetlany w kroju pisma pochyłym. Takie użycie jest zgodne ze standardami HTML, gdzie <i> zwykle wskazuje na tekst, który ma być wyróżniony w kontekście stylistycznym, na przykład w przypadku tytułów książek, nazw gatunków czy terminów technicznych. Z perspektywy semantycznej, HTML5 wprowadza większą elastyczność w definiowaniu znaczenia tekstu, co czyni <i> bardziej konwencjonalnym narzędziem niż w poprzednich wersjach. Warto zaznaczyć, że dla lepszej dostępności i SEO, często zaleca się użycie znacznika <em>, który nie tylko zmienia styl, ale także podkreśla znaczenie tekstu. Przykład zastosowania <i>: <i>„Wojna i pokój”</i> to książka autorstwa Lwa Tołstoja. Z perspektywy użytkowników i wyszukiwarek, ważne jest, aby znać różnice między tymi znacznikami, co pozwala na efektywniejsze tworzenie treści internetowych.

Pytanie 24

Do zachowań moralnych w środowisku pracy można zaliczyć

A. udostępnianie znajomym informacji osobowych pracowników
B. używanie sprzętu biurowego w celach osobistych
C. przestrzeganie poufności zawodowej
D. przekazywanie członkom rodziny służbowych materiałów eksploatacyjnych
Przestrzeganie tajemnicy zawodowej jest kluczowym elementem etyki w miejscu pracy. Oznacza ono, że pracownicy są zobowiązani do nieujawniania informacji, które zdobyli w trakcie wykonywania swoich obowiązków zawodowych, a które mogą narazić firmę lub jej klientów na szkodę. Przykłady obejmują nieujawnianie danych finansowych firmy, informacji o kliencie czy szczegółów dotyczących strategii biznesowej. W praktyce, przestrzeganie tajemnicy zawodowej wspiera zaufanie między pracownikami a pracodawcą oraz z klientami, co jest niezbędne dla długofalowego sukcesu organizacji. Wiele branż, takich jak finanse, ochrona zdrowia czy prawo, posiada szczegółowe regulacje dotyczące ochrony danych i tajemnicy zawodowej. Dobrymi praktykami są m.in. przeprowadzanie szkoleń w zakresie ochrony danych, stosowanie polityki zarządzania informacjami oraz wprowadzenie procedur zgłaszania incydentów związanych z naruszeniem tajemnicy zawodowej. Ogólnie rzecz biorąc, etyczne podejście do tajemnicy zawodowej przyczynia się do budowy pozytywnego wizerunku organizacji oraz minimalizowania ryzyka prawnego i reputacyjnego.

Pytanie 25

Aby wprowadzić dane do bazy przy użyciu polecenia PHP, konieczne jest przekazanie do jego parametrów

A. NULL w $zm1, aby baza mogła zapisać kod błędu i zapytanie SELECT w $zm2
B. id wiersza w $zm1 i zapytanie INSERT INTO w $zm2
C. identyfikator połączenia z bazą danych w $zm1 i zapytanie INSERT INTO w $zm2
D. identyfikator połączenia z bazą danych w $zm1 i zapytanie SELECT w $zm2
Poprawna odpowiedź wskazuje, że w parametrze $zm1 należy przekazać identyfikator połączenia z bazą danych, a w $zm2 zapytanie INSERT INTO. To podejście jest zgodne z zasadami korzystania z funkcji mysqli_query w PHP, która jest używana do wykonywania zapytań SQL na bazie danych. Identyfikator połączenia jest niezbędny, ponieważ pozwala PHP zidentyfikować, z którą bazą danych będzie nawiązywało interakcję. Zapytanie INSERT INTO umożliwia dodawanie nowych rekordów do określonej tabeli. Na przykład, jeśli chcemy dodać nowego użytkownika do tabeli 'users', możemy użyć polecenia: mysqli_query($connection, "INSERT INTO users (name, email) VALUES ('Jan Kowalski', '[email protected]')"). Przestrzeganie tych zasad jest zgodne z praktykami bezpieczeństwa, takimi jak unikanie SQL Injection, które można osiągnąć poprzez odpowiednie przygotowywanie zapytań oraz walidację danych przed ich wstawieniem.

Pytanie 26

Dzięki poleceniu ALTER TABLE można

A. zmieniać wartości rekordów
B. skasować tabelę
C. zmieniać strukturę tabeli
D. usunąć rekord
Polecenie ALTER TABLE jest kluczowym elementem w zarządzaniu bazami danych, umożliwiającym wprowadzanie zmian w strukturze istniejących tabel. Dzięki temu poleceniu możemy dodawać nowe kolumny, zmieniać typy danych istniejących kolumn, usuwać kolumny, a także zmieniać ograniczenia, takie jak klucze główne czy obce. Na przykład, w przypadku potrzeby dodania kolumny 'data_urodzenia' do tabeli 'użytkownicy', można użyć komendy: ALTER TABLE użytkownicy ADD data_urodzenia DATE;. Zmiany strukturalne są niezbędne, aby dostosować bazę danych do ewoluujących potrzeb aplikacji oraz do zapewnienia integralności danych. W praktyce, operacje te są często stosowane przy modernizacji aplikacji lub w odpowiedzi na zmieniające się wymagania biznesowe. Dobre praktyki wskazują, że przed wprowadzeniem zmian w strukturze tabeli warto wykonać kopię zapasową danych oraz przeanalizować wpływ tych zmian na istniejące zapytania i aplikacje, które korzystają z danej tabeli.

Pytanie 27

Jakie czynniki wpływają na wysokość dźwięku?

A. intensywność wzbudzenia drgań
B. częstotliwość drgań fali akustycznej
C. czas oscylacji źródła dźwięku
D. metoda wzbudzania drgań
Częstotliwość drgań fali akustycznej to taki kluczowy element, który wpływa na to, jak wysoko brzmi dźwięk. Mówiąc prosto, to ilość drgań, które źródło dźwięku wykonuje w danym czasie, zwykle mierzona w Hertzach (Hz). Im wyższa ta częstotliwość, tym wyższy dźwięk wydobywają instrumenty muzyczne. Na przykład na gitarze, jak skrócisz strunę, to dźwięk staje się wyższy, co jest zgodne z tym, co mówi fizyka akustyczna. W inżynierii dźwięku często korzysta się z filtrów i equalizerów, żeby odpowiednio dostosować dźwięki w nagraniach. Rozumienie tego jest ważne nie tylko w muzyce, ale i w technologiach audio. Projektanci dźwięku muszą dobrze znać te zasady, aby móc stworzyć odpowiednie efekty dźwiękowe. Więc, ogólnie mówiąc, znajomość tego, jak częstotliwość wiąże się z wysokością dźwięku, jest istotna dla każdej osoby związanej z dźwiękiem, zarówno w teorii, jak i w praktyce.

Pytanie 28

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
B. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
C. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
D. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
Klasa Owoc w języku PHP jest zdefiniowana z dwoma polami: publicznym $nazwa i prywatnym $kolor. Odpowiedź wskazująca, że pole kolor ma ograniczony dostęp tylko do metod klasy, jest prawidłowa, ponieważ zastosowanie modyfikatora private oznacza, że pole to jest dostępne wyłącznie wewnątrz klasy. Jest to dobra praktyka projektowania, gdzie prywatne pola chronią integralność danych, umożliwiając dostęp i modyfikację tylko za pośrednictwem metod klasy. W tym przypadku, metoda set_nazwa pozwala na ustawienie wartości dla pola $nazwa, ale nie ma bezpośredniej metody dla $kolor, co jest celową strategią, aby zapewnić kontrolę nad dostępem do tego pola. W praktyce, pole $kolor mogłoby być wykorzystywane do przechowywania informacji, które nie powinny być zmieniane zewnętrznie, a jedynie konfigurowane wewnątrz klasy lub podczas jej inicjalizacji. Taki układ sprzyja enkapsulacji, jednym z filarów programowania obiektowego, promując bezpieczeństwo danych i modularność kodu. W projektach komercyjnych zaleca się również dodanie metod get i set dla prywatnych zmiennych, aby zachować elastyczność i kontrolę nad danymi.

Pytanie 29

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

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. aside {float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 30

Aby ustalić wysokość grafiki wyświetlanej na stronie internetowej, należy użyć właściwości CSS o nazwie

A. padding
B. margin
C. width
D. height
Odpowiedź 'height' jest prawidłowa, ponieważ właściwość CSS o tej nazwie bezpośrednio określa wysokość elementu na stronie internetowej. Używając 'height', możemy zdefiniować wartość w pikselach, procentach lub innych jednostkach miary, co pozwala na precyzyjne dostosowanie wyglądu elementów do wymagań projektu. Na przykład, zdefiniowanie wysokości obrazka jako 'height: 200px;' sprawi, że obrazek zawsze będzie miał 200 pikseli wysokości, niezależnie od jego oryginalnych wymiarów. Dobrą praktyką jest również używanie wartości procentowych, które pozwalają na responsywne projektowanie, dostosowujące się do różnych rozmiarów ekranu. Ponadto, warto wspomnieć o zastosowaniu 'min-height' i 'max-height', które umożliwiają kontrolowanie minimalnych i maksymalnych wymiarów elementów, co jest pomocne w tworzeniu elastycznych i estetycznych układów stron. Ponadto, definiując wysokość obrazków, warto pamiętać o zachowaniu proporcji poprzez odpowiednie użycie również właściwości 'width'.

Pytanie 31

Która z poniższych funkcji w języku PHP zmieni słowo „kota” na „mysz” w zdaniu „ala ma kota”?

A. replace("ala ma kota", "kota", "mysz");
B. replace("kota", "mysz", "ala ma kota");
C. str_replace("ala ma kota", "kota", "mysz");
D. str_replace( "kota", "mysz", "ala ma kota");
Wszystkie inne odpowiedzi wykazują nieporozumienia w zakresie używania funkcji zamiany tekstu w PHP. Na przykład, pierwszy wariant używa funkcji replace, która nie istnieje w standardowej bibliotece PHP. W PHP funkcja do zamiany ciągów znaków to str_replace, co oznacza, że taka odpowiedź nie może być prawidłowa. Z kolei drugi wariant również błędnie stosuje funkcję replace, ale dodatkowo zamienia argumenty – pierwszy argument powinien być tym, co zamieniamy, a nie tym, co jest zmieniane. Użycie str_replace z nieodpowiednią kolejnością argumentów prowadziłoby do niespodziewanych rezultatów. Natomiast trzecia odpowiedź podaje argumenty w prawidłowej kolejności, jednak również używa nieistniejącej funkcji replace, co czyni ją błędną. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to nieprawidłowe rozumienie syntaktyki funkcji oraz mylenie istniejących funkcji z nieistniejącymi. Ważne jest zrozumienie, że w PHP musimy korzystać z dokumentacji, aby upewnić się, że używamy odpowiednich funkcji i argumentów, co jest kluczowe dla prawidłowego działania aplikacji. Niezrozumienie tych podstaw może prowadzić do frustracji i trudności w programowaniu.

Pytanie 32

Którą technologię poleca się przy tworzeniu serwisów WWW, tak aby zmiany w treści można było wykonywać bez potrzeby ich kodowania, przez użytkowników bez kompetencji programistycznych?

A. SSL
B. SEO
C. FTP
D. CMS
Prawidłowa odpowiedź to CMS, czyli Content Management System – system zarządzania treścią. W praktyce chodzi o takie oprogramowanie (np. WordPress, Joomla, Drupal), które pozwala edytować stronę WWW przez przeglądarkę, bez dotykania kodu HTML, CSS czy PHP. Użytkownik loguje się do panelu administracyjnego, dostaje prosty edytor przypominający Worda i może dodawać newsy, podstrony, zdjęcia, pliki do pobrania. To dokładnie rozwiązuje problem opisany w pytaniu: zmiany w treści wykonują osoby nietechniczne, a programista przygotowuje tylko szablon i funkcjonalność. Moim zdaniem to jeden z kluczowych standardów w branży – praktycznie każdy profesjonalny serwis firmowy, portal informacyjny, blog czy sklep internetowy stoi na jakimś CMS-ie lub systemie pokrewnym (np. headless CMS). Dzięki temu rozdziela się warstwę prezentacji (frontend) od warstwy treści i logiki biznesowej. Dobra praktyka jest taka, żeby nie „twardo” wpisywać treści w pliki HTML/PHP, tylko trzymać je w bazie danych i udostępniać przez panel CMS. Upraszcza to utrzymanie, pozwala na wersjonowanie treści, pracę kilku redaktorów naraz, zarządzanie uprawnieniami, a nawet planowanie publikacji w czasie. Z mojego doświadczenia, dobrze wdrożony CMS to ogromna oszczędność czasu dla programistów – nie muszą oni za każdym razem poprawiać tekstu czy wymieniać obrazka, tylko skupiają się na rozwoju funkcji. Redaktorzy mogą bez stresu pracować na stagingu, sprawdzać podgląd, korzystać z szablonów bloków, a potem jednym kliknięciem opublikować treść. To też sprzyja zgodności z dobrymi praktykami SEO, bo wiele CMS-ów ma wbudowane moduły do ustawiania meta tagów, przyjaznych adresów URL czy mapy strony.

Pytanie 33

Jaką wartość zwróci zapytanie z ramki wykonane na pokazanej tabeli? ```SELECT COUNT(DISTINCT wykonawca) FROM muzyka;```

Ilustracja do pytania
A. 1
B. 4
C. 0
D. 3
Zapytanie SQL SELECT COUNTDISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wartości w kolumnie wykonawca tabeli muzyka. W tym przypadku w tabeli są trzy różne wartości w tej kolumnie: Czesław Niemen Stan Borys i Mikołaj Czechowski. Funkcja COUNTDISTINCT zwraca liczbę niepowtarzających się wykonawców co w tym zestawie danych daje wynik 3. Zrozumienie użycia funkcji COUNTDISTINCT jest kluczowe w analizie danych szczególnie gdy chcemy określić liczebność unikalnych elementów w dużych zbiorach danych. To podejście jest szeroko stosowane w raportowaniu i analizach biznesowych gdzie istotne jest zidentyfikowanie niepowtarzalnych wpisów na przykład liczby unikalnych klientów czy produktów w sklepie. Dobre praktyki w SQL obejmują używanie aliasów w celu zwiększenia czytelności zapytań oraz optymalizację wydajności przez właściwe indeksowanie kolumn które są często wykorzystywane w funkcjach zliczających.

Pytanie 34

W kodzie CSS użyto stylizacji dla elementu listy, a żadne inne reguły CSS nie zostały ustalone. To zastosowane formatowanie spowoduje, że

Ilustracja do pytania
A. tekst wszystkich elementów, którym nadano id „hover”, będzie w kolorze Maroon
B. po najechaniu myszką na element listy, kolor tekstu zmieni się na Maroon
C. tekst wszystkich elementów listy będzie miał kolor Maroon
D. kolor Maroon obejmie co drugi element listy
Odpowiedź jest poprawna, ponieważ selektor CSS li:hover odnosi się do elementów listy, które zmieniają swój styl po najechaniu kursorem. W tym przypadku zmiana dotyczy koloru tekstu, który stanie się maroon. Selektor :hover jest pseudoklasą w CSS, która odpowiada za zmiany stylu elementu, gdy użytkownik umieści nad nim kursor. Jest to powszechnie stosowana technika w projektowaniu interaktywnych i przyjaznych dla użytkownika stron internetowych, umożliwiająca na przykład wizualne podkreślenie linków lub elementów menu. Dzięki zastosowaniu takiego selektora, projektanci mogą tworzyć dynamiczne efekty, które reagują na działania użytkownika, co zwiększa atrakcyjność wizualną i funkcjonalność strony. Dobre praktyki zalecają używanie pseudoklas jak :hover do poprawy interakcji użytkownika z interfejsem, a także do zapewnienia spójności z innymi elementami strony, które mogą również reagować na najechanie kursorem. Warto także pamiętać o dostępności, zapewniając alternatywne sposoby na interakcję z elementami, np. dla urządzeń dotykowych.

Pytanie 35

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. PHP
B. Perl
C. JavaScript
D. Python
JavaScript to język skryptowy, który super nadaje się do interakcji z użytkownikami w przeglądarkach. Właściwie to jedyny język z tej całej paczki, który działa po stronie klienta. To znaczy, że skrypty w JavaScript są interpretowane przez przeglądarkę, a nie przez serwer. Można go używać na przykład do zmieniania treści stron w locie, walidacji formularzy, animacji i różnych interaktywnych elementów. Jest też ważnym elementem w technologiach internetowych, obok frameworków jak React, Angular czy Vue.js, które pomagają tworzyć nowoczesne aplikacje webowe. Uważam, że każdy programista webowy powinien znać JavaScript przynajmniej na poziomie średnim, żeby wdrażać dobre praktyki dotyczące wydajności i UX. Standardy takie jak ECMAScript mówią, jak ten język ma działać, a jego wszechstronność sprawia, że obecnie jest jednym z najpopularniejszych języków programowania na świecie. Ostatnio dużo mówi się też o używaniu go po stronie serwera z Node.js.

Pytanie 36

Jakiego rodzaju relację uzyskuje się, łącząc ze sobą dwie tabele za pomocą kluczy głównych?

A. jeden do jednego
B. jeden do wielu
C. wiele do wielu
D. wiele do jednego
Odpowiedź 'jeden do jednego' jest prawidłowa, ponieważ w relacjach baz danych, gdy łączymy dwie tabele za pomocą kluczy głównych, każdy rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli. Taki układ jest stosowany, gdy chcemy podzielić dane na różne tabele w celu zachowania ich normalizacji, eliminując redundancję. Na przykład, jeśli mamy tabelę 'Użytkownicy' i tabelę 'Profile', gdzie każdy użytkownik ma dokładnie jeden profil, to relacja między tymi tabelami będzie relacją jeden do jednego. Przy użyciu klucza głównego w tabeli 'Użytkownicy' i klucza obcego w tabeli 'Profile', możemy zapewnić, że każdy użytkownik ma unikalny profil. W praktyce, tego typu relacje są często wykorzystywane w projektowaniu systemów baz danych, aby ułatwić zarządzanie danymi oraz ich integralność, zgodnie z zasadami normalizacji i dobrymi praktykami projektowania baz danych.

Pytanie 37

W CSS zapis w formie: p{background-image: url"rysunek.jpg")} spowoduje, że rysunek.png stanie się

A. tłem każdego bloku tekstowego
B. pokazany, jeśli w kodzie użyty będzie znacznik img
C. wyświetlany obok każdego bloku tekstowego
D. tłem całej witryny
Zapis p{background-image: url('rysunek.jpg')} oznacza, że każdy <p>, czyli paragraf, dostanie jako tło obrazek o nazwie rysunek.jpg. To jest po prostu sposób, żeby nadać każdyemu paragrafowi ten sam wygląd. Działa to świetnie, gdy chcesz, żeby cały tekst miał spójny styl czy dodać coś wizualnego do treści. Ważne, żeby ten plik rysunek.jpg był w dobrym miejscu, bo jak go nie znajdziesz, to przeglądarka go nie wczyta. Można to wykorzystać, żeby strona wyglądała bardziej estetycznie i przyciągała wzrok – każdy paragraf z własnym tłem na pewno sprawi, że będzie się lepiej czytało. Możesz też bawić się dodatkowymi właściwościami w CSS, jak background-repeat czy background-size, bo to otwiera drzwi do jeszcze ciekawszych efektów wizualnych.

Pytanie 38

W przedstawionej na rysunku relacji pole AutorID znajdujące się w tabeli ksiazki jest kluczem

Ilustracja do pytania
A. podstawowym.
B. obcym.
C. sztucznym.
D. kandydującym.
Pole AutorID w tabeli ksiazki jest klasycznym przykładem klucza obcego (foreign key) w relacyjnej bazie danych. Odwołuje się ono do pola IDAutor w tabeli autorzy, które jest kluczem podstawowym tej tabeli. Dzięki temu każda książka jest logicznie powiązana z konkretnym autorem, a baza danych może pilnować spójności referencyjnej. Innymi słowy: nie da się (a przynajmniej nie powinno się dać, jeśli relacje są poprawnie zdefiniowane) wstawić do ksiazki wartości AutorID, która nie istnieje w tabeli autorzy. W praktyce, w SQL definiuje się to np. tak: `AutorID INT CONSTRAINT FK_Ksiazki_Autorzy FOREIGN KEY REFERENCES autorzy(IDAutor)`. Moim zdaniem to jedno z najważniejszych pojęć w projektowaniu baz – bez kluczy obcych relacje między tabelami byłyby tylko „umowne”, a nie wymuszane przez silnik bazy. Klucz obcy zawsze wskazuje na klucz kandydujący, najczęściej na klucz podstawowy innej tabeli. Dzięki temu można łatwo wykonywać złączenia (JOIN): np. `SELECT Tytul, Imie, Nazwisko FROM ksiazki JOIN autorzy ON ksiazki.AutorID = autorzy.IDAutor;`. To jest dokładnie ten przypadek z rysunku: wiele książek może mieć tego samego autora, więc między autorzy a ksiazki mamy relację jeden‑do‑wielu, a pole AutorID jest po stronie „wiele” i pełni rolę klucza obcego. Dobre praktyki mówią też, żeby nazwy kluczy obcych jasno wskazywały, do czego się odnoszą (np. AutorID, Autor_Id), co tu również jest sensownie zrobione. W realnych systemach (biblioteki, księgarnie internetowe, systemy wydawnicze) dokładnie tak modeluje się powiązanie książka–autor: ID autora jako klucz podstawowy w tabeli autorzy i to samo ID jako klucz obcy w tabeli ksiazki.

Pytanie 39

Przedstawiony algorytm umożliwia wyliczenie

Ilustracja do pytania
A. najmniejszego wspólnego dzielnika dla n kolejnych liczb a.
B. reszty z dzielenia kolejnych liczb a przez liczbę n.
C. średniej geometrycznej n liczb a wprowadzonych przez użytkownika.
D. średniej arytmetycznej n liczb a wprowadzonych przez użytkownika.
Algorytm z diagramu realizuje dokładnie klasyczny wzór na średnią arytmetyczną. Najpierw wczytywana jest liczba n – ile wartości użytkownik poda. Potem zmienna „Wynik” jest zerowana, a zmienna sterująca pętlą i ustawiana na 0. Następnie działa pętla z warunkiem i < n: w każdej iteracji program wczytuje kolejną liczbę a, dodaje ją do zmiennej Wynik (czyli de facto sumuje wszystkie podane liczby), a licznik i zwiększa o 1. Gdy i przestaje być mniejsze od n, pętla się kończy i dopiero wtedy wykonywana jest operacja Wynik = Wynik / n. To jest dokładnie to, co robi wzór: średnia = (a1 + a2 + … + an) / n. Z praktycznego punktu widzenia taki algorytm to absolutna podstawa w programowaniu, szczególnie przy pracy z danymi wejściowymi: wynikami pomiarów, ocenami uczniów, czasami odpowiedzi serwera itp. W wielu językach programowania (C, Java, JavaScript, PHP) napisanie tego w kodzie sprowadza się do jednej pętli for lub while, sumowania zmiennej i jednego dzielenia na końcu. Dobrą praktyką jest, żeby dzielenie wykonywać dopiero po zsumowaniu wszystkich elementów, dokładnie tak jak na diagramie, a nie w każdej iteracji, bo to ogranicza błędy zaokrągleń i jest po prostu wydajniejsze obliczeniowo. W aplikacjach webowych ten schemat pojawia się np. przy liczeniu średniej oceny produktu z wielu głosów użytkowników, średniego czasu odpowiedzi API albo średniego czasu spędzonego na stronie. Moim zdaniem to jedno z kluczowych ćwiczeń na zrozumienie pętli i zmiennych pomocniczych, bo łączy matematykę z bardzo praktyczną logiką algorytmiczną.

Pytanie 40

Funkcja zaprezentowana w PHP

function dzialania(int $x, float $y) {
  $z = $x + $y;
  return $z;
}
A. nie zwraca wyniku.
B. przyjmuje dwa argumenty z wartością domyślną.
C. jest zadeklarowana z dwoma parametrami rzeczywistymi.
D. zwraca wynik.
Przedstawiona funkcja w języku PHP to przykład funkcji, która zwraca wartość. Z definicji funkcja działa na określonych wejściach, które w tym przypadku są typu int i float, a następnie wykonuje operację dodawania tych wejść. Zmienna $z przechowuje wynik dodawania, który jest następnie zwracany poprzez instrukcję return. Instrukcja ta kończy działanie funkcji, przekazując wynik na zewnątrz, co czyni funkcję użyteczną w kontekście programowania modularnego, gdzie wyniki obliczeń mogą być dalej przetwarzane lub wykorzystywane. W PHP zwracanie wartości z funkcji jest powszechną praktyką, szczególnie w kontekście aplikacji, gdzie funkcje pomagają w organizacji kodu, testowaniu jednostkowym oraz utrzymaniu. Dobre praktyki programistyczne zalecają zwracanie wartości, gdy funkcja ma wykonywać obliczenia lub przetwarzanie danych, co zwiększa jej elastyczność i ponowne użycie w różnych częściach programu. Funkcje zwracające wartości są często wykorzystywane w aplikacjach webowych do przetwarzania danych z formularzy czy generowania dynamicznych treści, co ilustruje ich wszechstronność i znaczenie w nowoczesnym programowaniu.