Wyniki egzaminu

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

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Którego narzędzia użyć, aby usunąć szum tła z nagrania (z taniego mikrofonu)?

A. echa
B. obwiedni
C. wyciszenia
D. usuwania szumów
Stały szum tła z taniego mikrofonu usuwa się narzędziem „usuwania szumów” (np. Noise Reduction w Audacity) - analizuje ono próbkę samego szumu i odejmuje go z całego nagrania. Dlatego należy użyć usuwania szumów.

Pytanie 2

Jakiego typu zmienną tworzy deklaracja var x = "true"; w języku JavaScript?

A. logicznego (boolean)
B. liczbowego
C. string (ciąg znaków)
D. nieokreślonego (undefined)
Pozostałe typy nie pasują. Gdyby napisano var x = true; (bez cudzysłowów), byłby to typ LOGICZNY - ale cudzysłowy zmieniają to w tekst. Typ liczbowy dotyczy liczb, a undefined oznacza zmienną bez przypisanej wartości. "true" w cudzysłowach to string.

Pytanie 3

Która definicja i wywołanie funkcji PHP poprawnie wypisze ciąg $n znaków @?

A.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki(@, $n);
B.
function znaki($i) { for($i=0; $i<$n; $i++) print("@"); } znaki($i);
C.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki($n);
D.
function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);
Pozostałe warianty mają błędy. Parametr $i++ w nagłówku funkcji jest niedozwolony (parametrem nie może być wyrażenie). Wersje używające $n bez przekazania go jako argumentu odwołują się do nieistniejącej zmiennej, a wywołanie znaki(@, ...) bez cudzysłowów jest błędne (znak @ trzeba podać jako napis). Poprawny jest wariant function znaki($znak, $n) {...} znaki("@", ...).

Pytanie 4

Element <meta charset="utf-8"> definiuje metadane odnoszące się do strony internetowej dotyczące

A. opisu witryny
B. języka używanego na stronie
C. słów kluczowych
D. kodowania znaków
Element <meta charset="utf-8"> jest kluczowym składnikiem metadanych w dokumentach HTML, który określa sposób kodowania znaków używanych na stronie internetowej. Użycie kodowania UTF-8, które jest najczęściej stosowanym standardem, pozwala na wyświetlanie różnorodnych znaków z różnych języków, w tym znaków diakrytycznych. Dzięki temu, strony internetowe mogą być dostępne dla szerokiego grona użytkowników bez obaw o błędy związane z wyświetlaniem tekstu. Kiedy przeglądarka internetowa napotyka ten element, wie, że powinna interpretować zawartość dokumentu zgodnie z określonym kodowaniem. Jest to szczególnie ważne w kontekście globalizacji internetu, gdzie treści mogą być tworzone w wielu językach. Ustalając odpowiednie kodowanie, programiści minimalizują ryzyko wystąpienia problemów z wyświetlaniem, takich jak zamienione znaki czy nieczytelne fragmenty tekstu. Właściwe ustawienie metadanych jest zgodne z wytycznymi W3C oraz zaleceniami dla twórców stron internetowych, co czyni ten element niezbędnym w każdej współczesnej witrynie.

Pytanie 5

W języku SQL, w wyniku wykonania poniższego zapytania:

ALTER TABLE osoba DROP COLUMN grupa;
A. zostanie dodana kolumna grupa
B. zostanie usunięta kolumna grupa
C. zostanie zmieniona nazwa tabeli na grupa
D. zostanie zmieniona nazwa kolumny na grupa
Zapytanie SQL 'ALTER TABLE osoba DROP COLUMN grupa;' jest komendą, która służy do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Komenda ta wykorzystuje instrukcję ALTER TABLE, która jest standardową konstrukcją SQL używaną do modyfikacji struktury istniejącej tabeli. W kontekście baz danych, usunięcie kolumny może być nieodwracalne, co oznacza, że wszystkie dane zawarte w tej kolumnie zostaną trwale usunięte. Przykładem zastosowania tej komendy może być sytuacja, w której kolumna 'grupa' nie jest już potrzebna, na przykład, po zmianie wymagań aplikacji lub po analogicznym przekształceniu modelu danych. Zgodnie z normami SQL, aby uniknąć błędów, przed wykonaniem takiej operacji warto wykonać kopię zapasową bazy danych. Warto również pamiętać, że niektóre systemy zarządzania bazami danych mogą wymagać dodatkowych opcji, aby zrealizować tę operację, na przykład, jeśli kolumna jest kluczem obcym lub jest związana z innymi strukturami. Podsumowując, użycie tej komendy skutkuje trwałym usunięciem kolumny 'grupa' z tabeli 'osoba'.

Pytanie 6

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej w MS SQL Server?

A. zwykłego użytkownika (Users)
B. użytkownika zabezpieczeń
C. użytkownika lokalnego
D. administratora systemu
Tworzenie i przywracanie kopii zapasowej całej bazy w MS SQL Server to operacja krytyczna dla bezpieczeństwa danych, dlatego wymaga najwyższych uprawnień - poziomu administratora systemu (np. roli sysadmin). Zwykły użytkownik bazy ich nie ma. Dlatego do backupu i przywracania potrzebne są uprawnienia administratora systemu.

Pytanie 7

Zaprezentowano kod tabeli o wymiarach 3x2. Jaką zmianę wprowadzić w jej drugim wierszu, aby tabela była zgodna z obrazkiem ukazującym niewidoczny wiersz?

Ilustracja do pytania
A. <tr style="clear: none">
B. <tr style="display: none">
C. <tr style="visibility: hidden">
D. <tr style="display: table-cell">
Stosowanie stylu display: none w tabeli spowodowałoby całkowite usunięcie wiersza z układu, co oznacza, że nie tylko zawartość, ale i przestrzeń, którą zajmuje wiersz, zniknęłaby. To wpływa na pozostałe elementy tabeli, zmieniając jej układ i potencjalnie zaburzając całość kompozycji. Z kolei użycie clear: none w tym kontekście jest błędne, ponieważ clear dotyczy przepływu floatów, a nie bezpośrednio ukrywania lub pokazywania elementów. Ustawienie display: table-cell jest także nieodpowiednie, gdyż odnosi się do właściwości display elementów, które powinny być traktowane jako komórki tabeli, a nie całe wiersze. Typowym błędem jest mylenie visibility: hidden z display: none; pierwsza opcja powoduje ukrycie zawartości, ale zachowanie miejsca, co jest ważne w kontekście dynamicznych układów stron. Błędne rozumienie, jak różne style wpływają na układ dokumentu, może prowadzić do problemów z responsywnością i dostępnością projektu. Dobrym zwyczajem jest dokładne testowanie efektów używanych właściwości CSS, aby zrozumieć ich praktyczny wpływ na HTML, co jest kluczowe w zaawansowanym projektowaniu stron internetowych.

Pytanie 8

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

A.
conf.php
B.
.htaccess
C.
apacheConf
D.
configuration.php
Przekierowania (np. trwałe 301) na serwerze Apache ustawia się w pliku .htaccess - to plik konfiguracyjny katalogu, w którym definiuje się reguły przepisywania adresów. Dlatego przekierowanie 301 ustawia się w .htaccess.

Pytanie 9

W której części dokumentu HTML umieszcza się wewnętrzny arkusz stylów (znacznik <style>)?

A. w treści strony (<body>)
B. w sekcji nagłówkowej (<head>)
C. w skrypcie dołączonym do strony
D. wewnątrz znacznika, którego dotyczy
Pozostałe lokalizacje są niewłaściwe. Umieszczenie <style> w <body> nie jest zgodne ze standardem. „Skrypt dołączony do strony” dotyczy plików zewnętrznych (JS lub osobny CSS przez <link>), a nie wewnętrznego <style>. Stylowanie pojedynczego znacznika to atrybut style (inline), a nie arkusz. Arkusz wewnętrzny należy do <head>.

Pytanie 10

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. baz danych
C. ciasteczek
D. sesji
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 11

Aby nadać styl CSS bezpośrednio pojedynczemu elementowi HTML (styl śródliniowy), należy użyć atrybutu:

A.
class
B.
id
C.
css
D.
style
Styl śródliniowy (inline) zapisuje się w atrybucie style danego znacznika, na przykład <p style="color: red">. Reguły podane w tym atrybucie dotyczą wyłącznie tego jednego elementu i mają najwyższą specyficzność. Stosuje się go oszczędnie, do pojedynczych wyjątków, bo miesza treść ze stylem. Dlatego do ostylowania jednego elementu wprost służy atrybut style.

Pytanie 12

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

Ilustracja do pytania
A. dla wszystkich odwiedzonych odnośników
B. dla wszystkich nieodwiedzonych odnośników
C. dla każdego odnośnika bez względu na jego aktualny stan
D. odnośnikowi, gdy kursor myszy na nim spocznie
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.

Pytanie 13

Baza danych MySQL uległa uszkodzeniu. Które z działań NIE pomoże w jej naprawie?

A. wykonanie replikacji bazy danych
B. próba naprawy poleceniem REPAIR
C. odtworzenie bazy z kopii zapasowej
D. utworzenie nowej bazy i przeniesienie do niej tabel
Pytanie wskazuje działanie, które NIE pomoże. Replikacja to mechanizm kopiowania danych na inny serwer w celu zwiększenia dostępności lub rozłożenia obciążenia - jeśli dane są uszkodzone, replikacja powieli je w takiej postaci na replikę, zamiast je naprawić. Realnie pomagają: REPAIR TABLE, odtworzenie z kopii zapasowej czy przeniesienie tabel do nowej bazy. Dlatego naprawie nie służy replikacja.

Pytanie 14

Co oceniają testy wydajnościowe oprogramowania?

A. działanie programu przy wadliwym sprzęcie
B. działanie programu przy wadliwym systemie
C. stopień spełnienia wymagań wydajnościowych przez system lub moduł
D. ciąg zdarzeń, gdzie prawdopodobieństwo zależy tylko od poprzedniego
Pozostałe opisy dotyczą czego innego. Działanie przy wadliwym sprzęcie lub systemie bada się testami odpornościowymi/niezawodności. „Ciąg zdarzeń, gdzie prawdopodobieństwo zależy od poprzedniego” to definicja procesu Markowa, niezwiązana z testowaniem. Wydajność systemu oceniają testy wydajnościowe.

Pytanie 15

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. centralnego subskrybenta
B. centralnego wydawcy
C. równorzędnym
D. rozproszonym
Model centralnego subskrybenta polega na tym że jeden serwer subskrybuje dane z wielu wydawniczych serwerów co jest odwrotnością modelu centralnego wydawcy. Tego typu rozwiązanie jest mniej popularne ze względu na potrzebę zarządzania synchronizacją z wielu źródeł co komplikuje proces replikacji i zwiększa ryzyko konfliktów danych. Model równorzędny z kolei zakłada że każdy serwer w architekturze działa jako równy uczestnik mający zdolność zarówno publikowania jak i subskrybowania danych. Taka architektura jest bardziej złożona w zarządzaniu zwłaszcza przy dużej liczbie uczestników ponieważ wymaga zaawansowanych mechanizmów rozwiązywania konfliktów i zarządzania współbieżnością. Rozproszony model to rozwiązanie gdzie dane są przechowywane i zarządzane bez centralnego punktu co może być korzystne dla systemów wymagających wysokiej dostępności i elastyczności ale stwarza wyzwania w zakresie spójności danych i wymaga skomplikowanych algorytmów synchronizacji. Wybór modelu nieodpowiedniego dla danej infrastruktury może prowadzić do problemów z wydajnością i spójnością co jest typowym błędem myślowym wynikającym z niewłaściwego zrozumienia wymagań systemowych. Każdy z tych modeli ma swoje specyficzne zastosowania i wyzwania co wymaga odpowiedniej analizy i doświadczenia przy projektowaniu systemów bazodanowych.

Pytanie 16

Zmienne typu int odnoszą się do liczb całkowitych

A. naturalnych
B. całkowitych
C. w notacji stałoprzecinkowej
D. w notacji zmiennoprzecinkowej
Odpowiedzi, które nie są poprawne, opierają się na mylnym zrozumieniu typów danych w programowaniu. Zmienne odnoszące się do wartości naturalnych to liczby całkowite większe lub równe zeru, co nie obejmuje wszystkich możliwości, które daje typ int, ponieważ może on reprezentować również liczby ujemne. Zatem ograniczenie do liczb naturalnych jest zbyt wąskie i nie oddaje pełni możliwości, jakie oferują zmienne całkowite. Kolejnym błędnym założeniem jest powiązanie typów int z notacją stałoprzecinkową. Chociaż takie notacje są używane w kontekście reprezentacji liczby w pamięci, zmienne int nie są właściwie klasyfikowane jako stałoprzecinkowe, gdyż termin ten odnosi się specyficznie do zapisu wartości liczbowych, które nie zmieniają pozycji przecinka. Tak więc, typ int nie jest związany z tym pojęciem. Ostatnia odpowiedź, która sugeruje, że zmienne int są w notacji zmiennoprzecinkowej, jest również niepoprawna, ponieważ zmiennoprzecinkowe reprezentacje (np. float lub double) są używane do przechowywania liczb, które wymagają dokładności dziesiętnej. Typ int jest z definicji typem całkowitym, co w żaden sposób nie obejmuje liczb zmiennoprzecinkowych. W rzeczywistości zmienne zmiennoprzecinkowe mają całkowicie inną strukturę pod względem przechowywania i reprezentacji, co sprawia, że są one zupełnie odrębnymi typami danych od int.

Pytanie 17

Aby wykonać kopię zapasową bazy danych MySQL, można posłużyć się:

A. importem bazy
B. eksportem bazy
C. agregacją danych
D. modyfikacją danych
Kopię zapasową bazy MySQL tworzy się przez eksport - zapis struktury tabel i danych do pliku (najczęściej .sql). Taki plik zawiera polecenia, które pozwalają później odtworzyć bazę w tym samym stanie, np. po awarii lub przy przenoszeniu na inny serwer. Eksport wykonasz w phpMyAdmin (zakładka Eksport) albo narzędziem mysqldump. Odwrotną operacją, przywracającą dane z pliku, jest import. Do zrobienia kopii zapasowej służy więc eksport bazy.

Pytanie 18

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

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do
A. tworzenia tabeli oraz edytowania danych w niej
B. edycji danych oraz przeglądania tabeli
C. tworzenia tabeli i wypełniania jej danymi
D. wyświetlania zawartości tabeli
Wybrane odpowiedzi, które nie są poprawne, nie uwzględniają szczególnych ograniczeń, które zostały nałożone na użytkownika Jana po wykonaniu polecenia REVOKE. W przypadku odpowiedzi sugerujących, że Jan mógłby aktualizować dane i przeglądać tabelę, brakuje zrozumienia znaczenia polecenia REVOKE, które jednoznacznie odmawia tych uprawnień. Aktualizowanie danych w tabeli wymaga posiadania uprawnienia UPDATE, które Jan utracił. Z kolei odpowiedzi sugerujące tworzenie tabeli i aktualizowanie w niej danych oraz przeglądanie tabeli są również mylące, ponieważ wykluczają kluczowy aspekt ograniczeń narzuconych przez polecenie REVOKE. Użytkownik Jan nie może przeglądać danych w tabeli, ponieważ nie ma aktualnie uprawnienia SELECT. Ponadto, w kontekście SQL, każdy użytkownik musi mieć przyznane konkretne uprawnienia do realizacji określonych operacji na danych, co w przypadku Jana oznacza, że jego uprawnienia do SELECT i UPDATE są nieodwracalnie usunięte, co czyni wszystkie te odpowiedzi nieaktualnymi.

Pytanie 19

Skrypt strony internetowej stworzony w PHP

A. jest realizowany po stronie klienta
B. jest realizowany po stronie serwera
C. może być uruchomiony bez wsparcia serwera WWW
D. jest przetwarzany na tych samych zasadach co JavaScript
Kod strony WWW napisanej w języku PHP jest wykonywany po stronie serwera, co oznacza, że cały proces przetwarzania kodu zachodzi na serwerze, zanim strona zostanie wysłana do przeglądarki użytkownika. PHP jest językiem skryptowym, który generuje dynamiczne treści oraz może wchodzić w interakcje z bazami danych, co czyni go niezwykle efektywnym narzędziem do tworzenia aplikacji webowych. Przykładowo, gdy użytkownik wysyła formularz, skrypt PHP na serwerze może przetworzyć dane, a następnie wygenerować odpowiednią stronę HTML, która jest następnie przesyłana do klienta. Dodatkowo, PHP wspiera różne standardy, takie jak RESTful API, co pozwala na łatwe integrowanie z innymi systemami oraz aplikacjami. Warto także zauważyć, że PHP ma szeroką gamę frameworków, takich jak Laravel czy Symfony, które jeszcze bardziej ułatwiają rozwój aplikacji webowych poprzez dostarczanie gotowych rozwiązań oraz najlepszych praktyk. Z tego względu, znajomość PHP oraz jego działania po stronie serwera jest kluczowa dla każdego dewelopera webowego, który pragnie tworzyć nowoczesne i efektywne aplikacje.

Pytanie 20

CAPTCHA to technika zabezpieczeń stosowana na stronach WWW, która pozwala:

A. przyspieszyć logowanie do aplikacji internetowej
B. pominąć proces uwierzytelniania w aplikacji
C. potwierdzić, że dane z formularza wysyła człowiek, a nie program
D. automatycznie wypełnić formularz danymi użytkownika
CAPTCHA to test, który ma odróżnić człowieka od programu (bota) - np. przepisanie zniekształconego tekstu, wskazanie obrazków czy proste zadanie. Stosuje się ją w formularzach (rejestracja, komentarze, logowanie), by utrudnić masowe, automatyczne wysyłanie danych przez boty i spam. Dlatego CAPTCHA potwierdza, że dane z formularza wysyła człowiek.

Pytanie 21

Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie

Ilustracja do pytania
A. wylosowanych liczb z zakresu od 1 do 99
B. ciągu liczb od 1 do 100
C. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0
D. losowych liczb od 0 do 100, aż do wylosowania wartości 0
Programowanie wymaga precyzyjnego zrozumienia działania każdej instrukcji oraz wpływu na końcowy wynik. W przypadku omawianego pytania kilka błędnych koncepcji mogło wprowadzić w błąd. Po pierwsze założenie że kod wyświetla wylosowane liczby od 1 do 99 jest nieprawidłowe ponieważ używana funkcja rand(0 100) pozwala na losowanie liczb od 0 do 100 włącznie. Należy zauważyć że zrozumienie zakresu generowanych wartości przez funkcje losujące jest kluczowe zwłaszcza w aplikacjach wymagających precyzyjnego sterowania zakresem danych wejściowych. Druga potencjalna pomyłka to przypisanie kodowi zadania wyświetlania kolejnych liczb od 1 do 100 co w rzeczywistości wymagałoby zupełnie innej konstrukcji pętli najlepiej for z precyzyjnie określonym zakresem liczbowym. Trzecim nieporozumieniem mogłoby być przyjęcie że program wczytuje liczby z klawiatury dopóki nie zostanie wpisane zero co sugerowałoby użycie funkcji pobierającej dane od użytkownika jak np. scanf w języku C lub input w Pythonie. Zrozumienie różnicy między pobieraniem danych od użytkownika a losowaniem z automatycznie generowanego przedziału jest istotne przy tworzeniu interaktywnych aplikacji. Rozróżnienie tych mechanizmów umożliwia tworzenie bardziej złożonych i elastycznych programów które mogą reagować na różne źródła danych oraz zmieniające się warunki w środowisku uruchomieniowym. Poprawne rozumienie i wykorzystanie tych koncepcji jest fundamentalne dla efektywnego tworzenia oprogramowania i optymalizacji procesów programistycznych.

Pytanie 22

Fragment kodu w PHP przedstawia się następująco (patrz ramka): Przy założeniu, że zmienna tablicowa $tab zawiera liczby naturalne, wynik działania programu polega na wypisaniu

Ilustracja do pytania
A. największego elementu w tablicy
B. najmniejszego elementu w tablicy
C. elementu tablicy równemu wartości $tab[0]
D. tych elementów, które przewyższają wartość zmiennej $liczba
Zobaczmy teraz, co poszło nie tak z innymi odpowiedziami. W przypadku tej, co miała znaleźć najmniejszy element, to kod nie jest w stanie tego zrobić, ponieważ warunek if sprawdza, czy element jest większy, a powinien być mniejszy, żeby szukać minimum. Jakby zmienić na if ($element < $liczba), to byłoby ok. W innej odpowiedzi twierdzono, że program znajdzie element równy $tab[0], ale w kodzie nie ma żadnego porównania z tym pierwszym elementem, poza tym, że przypisujemy go do $liczba na początku. Brak tam dodatkowej logiki, żeby to ogarnąć. A w ostatniej odpowiedzi pisano o wypisywaniu elementów większych od $liczba, ale kod nie działa w ten sposób, bo nie ma tam nic, co by pozwalało na wypisywanie więcej niż jednego elementu. Program jedynie aktualizuje $liczba, żeby znaleźć największą wartość. Często takie pomyłki biorą się z braku zrozumienia, jak działa iteracja i porównania w programowaniu, gdzie trzeba dobrze rozumieć, jakie warunki i operacje są potrzebne.

Pytanie 23

W CSS zapisano stylizację

css
p > i {color: blue}
oznacza to, że kolorem niebieskim zostanie wyświetlony
A. cały tekst akapitu, niezależnie od jego stylizacji
B. pochylony tekst akapitu
C. wszystkie teksty nagłówków, niezależnie od formatowania
D. pogrubiony tekst akapitu
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 24

Aby ustawić marginesy wewnętrzne elementu: górny 50px, prawy 20px, dolny 40px, lewy 30px, należy użyć deklaracji CSS:

A.
padding: 50px 40px 20px 30px;
B.
padding: 50px 20px 40px 30px;
C.
padding: 20px 40px 30px 50px;
D.
padding: 30px 20px 40px 50px;
Skrócony zapis padding z czterema wartościami przyjmuje je w kolejności zgodnej z ruchem wskazówek zegara: góra, prawo, dół, lewo (TRBL). Dla marginesów górny 50, prawy 20, dolny 40, lewy 30 daje to padding: 50px 20px 40px 30px;. Wartości rozdziela się spacjami, nie przecinkami. Dlatego poprawna jest ta deklaracja.

Pytanie 25

Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?

A. CMS
B. SQL
C. PHP
D. CSS
Wybór SQL, PHP i CSS jako odpowiedzi na pytanie o system zarządzania treścią jest wynikiem nieporozumienia dotyczącego funkcji i zastosowań tych technologii. SQL (Structured Query Language) jest językiem zapytań służącym do komunikacji z bazami danych. Umożliwia on tworzenie, modyfikowanie oraz pobieranie danych, co jest kluczowe dla działania wielu aplikacji internetowych, w tym CMS-ów, lecz sam w sobie nie dostarcza interfejsu do zarządzania treścią. PHP to język skryptowy, często wykorzystywany do tworzenia dynamicznych aplikacji webowych. Choć PHP jest podstawą wielu systemów CMS, to sam język nie jest narzędziem do zarządzania treściami. CSS (Cascading Style Sheets) natomiast jest językiem stylizacji, który odpowiada za wygląd i układ strony, ale nie wprowadza funkcji zarządzania treścią. Zastanawiając się nad tymi technologiami, można zauważyć, że mylenie ich z CMS-em może wynikać z braku zrozumienia ich ról w ekosystemie webowym. Każda z tych technologii odgrywa istotną rolę w budowie i funkcjonowaniu stron internetowych, ale nie są one systemami do zarządzania treścią. Prawidłowe zrozumienie ich funkcji jest kluczem do efektywnego wykorzystania ich w praktyce.

Pytanie 26

Która zasada dotyczy integralności danych w bazie?

A. pole klucza obcego nie może być puste
B. pole klucza podstawowego nie może być puste
C. klucz podstawowy musi mieć osobny indeks
D. w relacji 1..n klucz obcy łączy się z kluczem obcym innej tabeli
Pozostałe zdania są nieścisłe. Klucz OBCY akurat MOŻE być pusty (gdy brak powiązania). „Osobny indeks” klucza podstawowego nie jest zasadą integralności (indeks powstaje automatycznie). W relacji 1..n klucz obcy łączy się z kluczem GŁÓWNYM innej tabeli, a nie z obcym. Zasadą jest: klucz podstawowy nie może być pusty.

Pytanie 27

Kiedy w JavaScript można zadeklarować zmienną?

A. tylko na początku skryptu
B. w chwili pierwszego użycia (gdy jest potrzebna)
C. tylko po podaniu typu i nazwy zmiennej
D. zawsze z poprzedzającym nazwę znakiem $
JavaScript ma dynamiczne typy, więc nie wymusza deklaracji „na początku skryptu” ani podawania typu. Znak $ przed nazwą jest charakterystyczny dla PHP, nie JS. Zmienną można zadeklarować tam, gdzie jest potrzebna - w chwili pierwszego użycia.

Pytanie 28

Którego typu danych w MySQL należy użyć, aby w jednym polu zapisać datę i czas?

A.
DATE
B.
YEAR
C.
BOOLEAN
D.
TIMESTAMP
Pozostałe typy przechowują tylko fragment informacji lub coś innego. DATE zapisuje samą datę (bez godziny) - nie da się w nim zapamiętać czasu. YEAR przechowuje wyłącznie rok, więc to jeszcze mniej danych. BOOLEAN to typ logiczny przyjmujący prawda/fałsz, zupełnie niezwiązany z datą. Datę razem z czasem przechowuje TIMESTAMP (lub DATETIME), dlatego ta odpowiedź jest poprawna.

Pytanie 29

Jak nazywa się metoda sortowania polegająca na podziale danych na n równych przedziałów (kubełków), posortowaniu ich i scaleniu?

A. sortowanie szybkie
B. sortowanie kubełkowe
C. sortowanie bąbelkowe
D. sortowanie przez wybór
Pozostałe metody działają inaczej. Sortowanie szybkie (quicksort) dzieli dane wokół elementu osiowego, bąbelkowe wielokrotnie zamienia sąsiednie elementy, a przez wybór szuka w każdym kroku najmniejszego elementu. Podział na przedziały-kubełki i ich scalanie to sortowanie kubełkowe.

Pytanie 30

Którą instrukcją można zastąpić pętlę for?

A.
case
B.
while
C.
switch
D.
continue
Pętlę for można zastąpić pętlą while - obie powtarzają kod, dopóki warunek jest prawdziwy, tyle że licznik i krok w while zapisuje się osobno. Dlatego zamiennikiem for jest while.

Pytanie 31

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. zsumować wartości kosztów wszystkich usług
B. określić najwyższą cenę usług
C. zliczyć ilość dostępnych usług w tabeli
D. wyliczyć średnią arytmetyczną cen wszystkich usług
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 32

Aby na stronie internetowej wyswietlic logo, ktorego tlo jest przezroczyste, nalezy zastosowac format:

A. JPG
B. CDR
C. PNG
D. BMP
PNG (Portable Network Graphics) to jedyny z wymienionych formatow, ktory zachowa przezroczyste tlo logo na stronie internetowej. Decyduje o tym kanal alfa - dodatkowa informacja o przezroczystosci kazdego piksela, dzieki ktorej miejsca bez grafiki pozostaja puste i przepuszczaja tlo strony. Logo wpasowuje sie wtedy w dowolne tlo bez bialego prostokata dookola. PNG stosuje przy tym kompresje bezstratna, wiec ostre krawedzie liter i jednolite barwy logo nie zostaja rozmyte. Format jest obslugiwany przez wszystkie przegladarki, co czyni go standardowym wyborem dla grafik z przezroczystoscia w sieci WWW.

Pytanie 33

Jaki jest cel procesu normalizacji tabel w bazie danych?

A. dodawanie nowych rekordów do bazy
B. graficzne przedstawienie struktury bazy
C. wyłącznie utworzenie tabel i relacji
D. uporządkowanie struktury w celu wyeliminowania nadmiarowości danych
Pozostałe odpowiedzi opisują inne czynności. Dodawanie rekordów to zwykła operacja na danych (polecenie INSERT), niezależna od projektowania struktury. Graficzne przedstawienie bazy to zadanie diagramów (np. związków encji E/R), a nie normalizacji. Samo utworzenie tabel i relacji buduje strukturę, ale nie gwarantuje jej poprawności - dopiero normalizacja porządkuje ją tak, by usunąć powielanie danych i anomalie. Dlatego celem normalizacji jest uporządkowanie struktury i eliminacja nadmiarowości, co czyni tę odpowiedź poprawną.

Pytanie 34

Instrukcja w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik

A. przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
B. przeniesie uprawnienia z grupy klienci do użytkownika pracownik
C. przyznaje uprawnienie grupie klienci dla tabeli pracownik
D. cofa wszystkie uprawnienia pracownikowi do tabeli klienci
Polecenie SQL "GRANT ALL PRIVILEGES ON klienci TO pracownik" jest używane do nadawania pełnych uprawnień do określonej tabeli, w tym przypadku do tabeli "klienci", użytkownikowi o nazwie "pracownik". To polecenie jest kluczowe w zarządzaniu dostępem w bazach danych, ponieważ pozwala administratorom na precyzyjne kontrolowanie, kto i w jakim zakresie może modyfikować dane. W praktyce, nadawanie uprawnień za pomocą komendy GRANT jest standardową praktyką w zarządzaniu bazami danych, pozwalającą na delegowanie odpowiedzialności oraz przydzielanie ról, co zwiększa bezpieczeństwo danych. Warto również zauważyć, że standardową praktyką jest ograniczanie uprawnień do niezbędnego minimum, stosując zasady najmniejszych uprawnień (principle of least privilege). Przykładowo, zamiast nadawania pełnych uprawnień, można przyznać użytkownikowi jedynie prawo do odczytu, co ogranicza ryzyko nieautoryzowanych zmian w danych.

Pytanie 35

W aplikacjach webowych tablice asocjacyjne to takie tablice, w jakich

A. indeks jest ciągiem znaków
B. elementy tablicy są zawsze indeksowane od 0
C. w każdej komórce tablicy znajduje się inna tablica
D. istnieją przynajmniej dwa wymiary
Indeksowanie elementów tablicy od zera jest charakterystyczne dla tradycyjnych tablic, w których liczby naturalne służą jako indeksy do dostępu do poszczególnych elementów. Koncepcja ta jest powszechnie stosowana w wielu językach programowania, jednak nie odnosi się do tablic asocjacyjnych. W przypadku tablic asocjacyjnych klucze mogą być dowolnymi łańcuchami znaków, co oznacza, że nie ograniczają się do prostego indeksowania numerycznego. Wartość, jaka znajduje się w każdej komórce takiej tablicy, nie musi być inną tablicą, ponieważ tablice asocjacyjne mogą przechowywać różne typy danych, od prostych wartości po złożone obiekty. W dodatku, tablice asocjacyjne nie wymagają istnienia przynajmniej dwóch wymiarów; mogą być jednowymiarowe, co oznacza, że nie wszystkie tablice muszą być wielowymiarowe, aby działały prawidłowo. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, obejmują nieporozumienie dotyczące definicji i właściwości różnych struktur danych oraz ich zastosowania w programowaniu. Ważne jest, aby zrozumieć, że różne typy tablic mają różne zastosowania i właściwości, co wpływa na sposób, w jaki mogą być używane w praktycznych scenariuszach programowania.

Pytanie 36

Aby utworzyć tabelę w języku SQL, należy użyć polecenia

A. ALTER TABLE
B. INSERT TABLE
C. ADD TABLE
D. CREATE TABLE
Odpowiedź 'CREATE TABLE' jest poprawna, ponieważ w języku SQL to polecenie jest używane do tworzenia nowych tabel w bazie danych. Umożliwia definiowanie struktury tabeli, w tym nazw kolumn, typów danych oraz ograniczeń, takich jak klucze główne czy unikalność. Przykładowe użycie polecenia 'CREATE TABLE' może wyglądać następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50));'. W tym przykładzie tworzymy tabelę 'pracownicy' z trzema kolumnami: 'id', 'imie' oraz 'nazwisko'. Warto zaznaczyć, że zgodnie z najlepszymi praktykami, przed wykonaniem polecenia warto sprawdzić, czy tabela o danej nazwie już istnieje, aby uniknąć błędów związanych z podwójnym tworzeniem. Zapewnienie odpowiedniej struktury bazy danych już na etapie jej tworzenia przekłada się na lepszą wydajność oraz łatwiejsze zarządzanie danymi w przyszłości.

Pytanie 37

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

A. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
B. Redukowania długości tekstu o określoną w parametrze liczbę znaków
C. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
D. Określania długości tekstu
Wybór odpowiedzi, która sugeruje, że funkcja trim w PHP zmniejsza napis o wskazaną w parametrze liczbę znaków, jest błędny. Funkcja ta nie ma na celu manipulacji długością napisu w taki sposób, ale raczej skupia się na usuwaniu zbędnych znaków z jego końców. Użytkownicy często mylą działanie trim z innymi funkcjami związanymi z obróbką łańcuchów tekstowych, co prowadzi do nieporozumień. Z kolei przekonanie, że trim porównuje dwa napisy i wypisuje ich część wspólną, jest także mylne, ponieważ nie dostarcza funkcjonalności porównywania tekstów. PHP oferuje inne funkcje, takie jak strcmp, które są przeznaczone do porównywania łańcuchów. Kolejna nieprawidłowa koncepcja to założenie, że trim służy do podawania długości napisu - na to zadanie są dedykowane inne funkcje, jak strlen. Różne funkcje w PHP mają specyficzne zastosowania, co jest istotne w kontekście dobrych praktyk programistycznych, ponieważ stosowanie niewłaściwych funkcji może prowadzić do nieefektywności i błędów w kodzie. Warto zatem dokładnie zapoznawać się z dokumentacją PHP i zrozumieć, jakie są cele i zastosowania konkretnych funkcji, aby uniknąć typowych pułapek i błędów w programowaniu.

Pytanie 38

Język PHP zapewnia wsparcie dla

A. obiektów przeglądarki
B. zdarzeń związanych z myszą
C. klawiszy klawiatury
D. sesji i ciastek
PHP, jako język skryptowy po stronie serwera, oferuje wsparcie dla zarządzania sesjami oraz ciasteczkami, co jest kluczowe w kontekście tworzenia aplikacji internetowych. Sesje w PHP umożliwiają przechowywanie danych użytkownika pomiędzy różnymi żądaniami HTTP, co jest istotne w przypadku potrzeb utrzymania stanu aplikacji, np. podczas logowania. Dzięki funkcjom takim jak session_start() można łatwo rozpocząć nową sesję lub wznowić istniejącą. Ciasteczka, z kolei, pozwalają na przechowywanie danych po stronie klienta, co umożliwia personalizację doświadczeń użytkowników na stronie. Przykładem może być zapisywanie preferencji użytkownika, takich jak język interfejsu. Dobre praktyki w zakresie obsługi sesji i ciasteczek obejmują stosowanie bezpiecznych identyfikatorów sesji, ograniczanie czasu życia ciasteczek, a także ich szyfrowanie, co chroni przed atakami typu session hijacking. W ten sposób PHP gwarantuje, że aplikacje są nie tylko funkcjonalne, ale także bezpieczne.

Pytanie 39

Jaką instrukcję algorytmu ilustruje graficzna prezentacja bloku na zamieszczonym rysunku?

Ilustracja do pytania
A. n ← n + 5
B. n > 20
C. Wypisz n
D. Wykonaj podprogram sortowania tablicy t
Każda z niepoprawnych odpowiedzi wynika z błędnego rozpoznania typów bloków w diagramach przepływu. Instrukcje przypisania, takie jak n ← n + 5, są reprezentowane prostokątem i oznaczają operacje przetwarzania danych, gdzie zmienna jest modyfikowana zgodnie z określoną logiką. Ta operacja głównie pojawia się w kontekście pętli lub jako część większej sekwencji działań obliczeniowych, co jest użyteczne w algorytmach obliczeniowych i matematycznych, gdzie często modyfikujemy wartość zmiennych. Kolejny typ instrukcji, taki jak Wypisz n, jest reprezentowany przez blok wyjścia, który jest używany do komunikacji wyników algorytmu na zewnątrz. Jest to częste w raportowaniu lub debugowaniu programów, gdzie wynikiem działania algorytmu jest wyświetlenie informacji użytkownikowi. Podprogramy, takie jak sortowanie tablicy, oznaczają bloki procesów, które są reprezentowane prostokątem z podwójnymi liniami bocznymi i wskazują na wywołanie funkcji lub procedury. Takie konstrukcje są kluczowe w strukturalnym programowaniu, gdzie zadania są dekomponowane na mniejsze, zarządzalne jednostki, co prowadzi do lepszego zrozumienia i utrzymania kodu. Błędne rozpoznanie tych bloków prowadzi do nieprawidłowego zrozumienia struktury algorytmu, co może skutkować jego nieefektywnością lub błędami logicznymi w jego działaniu. Zrozumienie różnic między tymi blokami jest niezbędne do prawidłowego projektowania i implementacji algorytmów, co jest podstawą w wielu dziedzinach informatyki, takich jak inżynieria oprogramowania czy analiza danych. Dzięki temu można tworzyć efektywne i zrozumiałe rozwiązania, które spełniają wymagania użytkowników i normy branżowe.

Pytanie 40

Dla przedstawionego fragmentu dokumentu HTML:

<div class="menu"></div>
zdefiniowano formatowanie CSS selektora klasy "menu" tak, aby kolor tła bloku był zielony. Która definicja stylu CSS odpowiada temu formatowaniu?
A. div.menu { background-color: green; }
B. div:menu { color: green; }
C. #menu { background-color: rgb(0,255,0); }
D. menu { background-color: rgb(0,255,0); }
Wybrany selektor `div.menu { background-color: green; }` dokładnie pasuje do podanego fragmentu HTML: `<div class="menu"></div>`. W CSS zapis `div.menu` oznacza element typu `<div>`, który ma atrybut `class` ustawiony na `menu`. Kropka w selektorze zawsze oznacza klasę, więc `menu` po kropce to nazwa klasy, a nie nazwa znacznika. Dzięki temu styl zostanie zastosowany tylko do tych elementów `div`, które mają klasę `menu`, a nie do wszystkich divów na stronie. Właśnie tak zgodnie ze standardami CSS definiuje się wygląd elementów z konkretną klasą.
Własność `background-color: green;` ustawia kolor tła danego bloku na zielony. Można tu używać różnych zapisów kolorów: nazw (green), wartości heksadecymalnych (`#00ff00`), funkcji `rgb()` czy `hsl()`. W tym pytaniu istotne jest jednak nie tyle to, jak dokładnie zapisano kolor, tylko czy selektor trafia w odpowiedni element HTML.
W praktyce bardzo często używa się klas do stylowania wielu podobnych elementów, np. `.menu`, `.btn-primary`, `.card`. Z mojego doświadczenia lepiej unikać nadmiernego używania identyfikatorów (`id`) do stylowania, a zamiast tego bazować właśnie na klasach, bo klasy można wielokrotnie powtarzać w dokumencie i są bardziej elastyczne. Dodatkowo selektor z typem elementu (`div.menu`) jest trochę bardziej precyzyjny niż samo `.menu`, co bywa przydatne, gdy ta sama klasa pojawia się na różnych znacznikach, a chcemy kontrolować konkretne przypadki. W nowoczesnym front-endzie takie podejście jest zgodne z dobrymi praktykami: czytelne, przewidywalne i zgodne ze specyfikacją CSS.