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: 14 czerwca 2026 13:53
  • Data zakończenia: 14 czerwca 2026 14:06

Egzamin zdany!

Wynik: 30/40 punktów (75,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

Jak określa się proces przedstawiania informacji zawartych w dokumencie elektronicznym w formie odpowiedniej dla konkretnego środowiska?

A. Rasteryzacja
B. Mapowanie
C. Teksturowanie
D. Renderowanie
Mapowanie to proces związany z przypisywaniem wartości z jednego systemu do innego, często w kontekście baz danych lub geolokalizacji, ale nie odnosi się bezpośrednio do transformacji danych w formę wizualną. Rasteryzacja to technika przekształcania obrazów wektorowych na obrazy rastrowe, co jest jedynie etapem w renderowaniu, a nie samodzielnym procesem. Teksturowanie to proces nakładania tekstur na powierzchnie obiektów 3D, co również jest aspektem renderowania, ale nie obejmuje całości procesu przedstawienia dokumentów elektronicznych. Często zdarza się pomylić te pojęcia, ponieważ wszystkie dotyczą przetwarzania danych, jednak ich zastosowania są różne. Zrozumienie różnic między tymi terminami jest kluczowe dla efektywnej komunikacji w dziedzinie technologii cyfrowych. Wnioskując, kluczowym błędem jest mylenie renderowania z innymi technikami przetwarzania danych, co może prowadzić do nieprawidłowego stosowania technologii w projektach, a także do nieporozumień w zespole projektowym. W związku z tym, właściwe rozpoznawanie i stosowanie terminologii technicznej jest niezbędne do skutecznego zarządzania projektami oraz do osiągania zamierzonych rezultatów w branży IT.

Pytanie 2

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba <= -200) || (liczba > -100)
B. (liczba >= -200) || (liczba > -100)
C. (liczba >= -200) && (liczba < -100)
D. (liczba <= -200) && (liczba < -100)
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 3

Element

<meta charset="utf-8">
służy do definiowania metadanych witryny internetowej związanych z
A. kodowaniem znaków
B. opisem witryny
C. językiem witryny
D. słowami kluczowymi
Element <meta charset="utf-8"> jest kluczowym fragmentem kodu HTML, który definiuje kodowanie znaków używane na stronie internetowej. Ustawienie kodowania na UTF-8 jest obecnie standardem branżowym, który pozwala na prawidłowe wyświetlanie tekstów w różnych językach, a także obsługę różnorodnych znaków specjalnych. Dzięki temu strona będzie renderować się poprawnie niezależnie od używanego języka, co jest szczególnie istotne w kontekście globalizacji i dostępności treści dla szerokiego grona użytkowników. W praktyce, poprawne kodowanie znaków eliminuje problemy z wyświetlaniem polskich znaków diakrytycznych, takich jak ą, ć, ę, ł czy ź. Warto także zauważyć, że błędne ustawienie kodowania może prowadzić do tzw. "krzaków" w treści, co znacząco obniża jakość prezentacji strony oraz jej użyteczność. Dlatego zaleca się zawsze stosować <meta charset="utf-8"> w nagłówku dokumentu HTML, aby zapewnić pełną kompatybilność i poprawność wyświetlania treści w różnych przeglądarkach i systemach operacyjnych.

Pytanie 4

W bazie danych znajduje się tabela o nazwie faktury, która posiada pola: numer, data, id_klienta, wartosc, status. Każdego dnia tworzony jest raport dotyczący faktur z danego dnia. W raporcie prezentowane są jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL jest odpowiednia do wygenerowania tego raportu?

A. SELECT * FROM faktury;
B. SELECT * FROM faktury WHERE data = CURRENT_DATE();
C. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();
D. SELECT numer, wartosc FROM faktury;
Wybrana kwerenda SQL, SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();, jest poprawna, ponieważ precyzyjnie spełnia wymagania dotyczące generowania raportu faktur dla bieżącego dnia. Kwerenda ta nie tylko wybiera odpowiednie kolumny, czyli 'numer' i 'wartosc', ale także filtruje wyniki, wykorzystując warunek WHERE, który ogranicza dane do tych, które mają datę równą aktualnej dacie. Użycie funkcji CURRENT_DATE() jest standardowym podejściem w SQL do uzyskiwania bieżącej daty, co pozwala na automatyzację raportowania. Praktycznie rzecz biorąc, takie kwerendy są kluczowe w aplikacjach biznesowych, gdzie codzienna analiza danych jest niezbędna, aby podejmować informowane decyzje. Przy tworzeniu raportów warto również zwrócić uwagę na indeksowanie kolumn używanych w filtrach, co może znacznie przyspieszyć czas odpowiedzi zapytania w dużych zbiorach danych. Dobrą praktyką jest również testowanie kwerend na mniejszych zestawach danych przed ich wdrożeniem na żywo, aby upewnić się, że zwracają oczekiwane wyniki.

Pytanie 5

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <code>…</code>
B. <ins>…</ins>
C. <blockquote>…</blockquote>
D. <pre>…</pre>
Znaczniki <code>, <ins> i <blockquote> mają swoje unikalne zastosowania, ale nie nadają się do zachowania formatowania tekstu, jak to robi <pre>. Znacznik <code> jest przeznaczony do oznaczania fragmentów kodu, jednak nie utrzymuje przestrzeni i formatowania. Kiedy używasz <code>, przeglądarka wyświetli tekst w inny sposób, ale nie uwzględni dodatkowych odstępów lub tabulacji, co może prowadzić do nieczytelności w przypadku dłuższych fragmentów kodu. Z kolei znacznik <ins> służy do wskazywania wstawionego tekstu, co ma znaczenie w kontekście edycji lub zmian, ale nie zmienia jego formatowania ani nie zachowuje układów, co ogranicza jego użyteczność w przypadku tekstów wymagających precyzyjnego formatowania. Wreszcie, <blockquote> jest używane do cytowania dłuższych fragmentów tekstu z innego źródła, co również nie związane jest z zachowaniem konkretnego formatowania, a jego celem jest raczej stylistyczne wyróżnienie cytatu. W praktyce, mylenie tych znaczników może prowadzić do frustracji użytkowników, którzy oczekują zachowania konkretnych układów, zwłaszcza w kontekście programowania lub prezentacji danych. Ważne jest, aby zrozumieć, że każdy znacznik ma swoje specyficzne zastosowanie i powinien być używany zgodnie z jego przeznaczeniem, aby zapewnić spójność i czytelność prezentowanych treści.

Pytanie 6

Zaprezentowana linia kodu w języku PHP ma na celu

define("OSOBA", "Anna Kowalska");
A. przypisać dwie wartości do tablicy
B. ustalić wartość dla zmiennej $OSOBA
C. porównać dwa ciągi znaków
D. zdefiniować stałą o nazwie OSOBA
Wybór odpowiedzi dotyczącej porównania dwóch napisów jest błędny, ponieważ linia kodu define("OSOBA", "Anna Kowalska"); nie wykonuje żadnego porównania. PHP oferuje różne operatory do porównywania wartości, takie jak == lub ===, ale w tym przypadku nie mamy do czynienia z żadnym z tych operatorów. Kolejną nieprawidłową koncepcją jest sugestia, że linia ta miałaby przypisywać dwie wartości do tablicy. W PHP, aby zdefiniować tablicę, używa się notacji z użyciem nawiasów kwadratowych lub funkcji array(). W przypadku stałych, które definiujemy za pomocą funkcji define(), nie możemy ich zdefiniować jako tablicy. Ponadto, nieprawidłowe jest też stwierdzenie, że linia ta definiuje wartość dla zmiennej $OSOBA. W PHP zmienne są definiowane z użyciem znaku dolara ($) na początku, a stałe nie wymagają takiego oznaczenia. Jest to częsty błąd myślowy, który wynika z mylenia zmiennych ze stałymi. Warto zrozumieć, że zmienne mogą zmieniać swoje wartości w trakcie działania programu, podczas gdy stałe pozostają niezmienne. Ostatecznie, zrozumienie różnicy między zmiennymi a stałymi jest kluczowe dla efektywnego programowania w PHP, a pomyłki w tym zakresie mogą prowadzić do nieprzewidywalnych błędów i trudności w dalszym rozwoju aplikacji.

Pytanie 7

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 8

Co zwróci w PHP empty($a), gdy $a ma wartość 0?

A.
FALSE
B.
0
C.
NULL
D.
TRUE
empty() zwraca wartość logiczną, a nie 0 czy NULL, więc te odpowiedzi odpadają. Nie zwróci też FALSE, bo 0 jest w PHP traktowane jako wartość pusta. Dla $a równego 0 funkcja empty($a) zwraca TRUE.

Pytanie 9

Jak brzmi nazwa metody sortowania, która polega na wielokrotnym analizowaniu kolejnych elementów tablicy oraz zamianie miejscami sąsiadujących elementów, aby utrzymać porządek według ustalonej reguły?

A. Sortowanie kubełkowe
B. Sortowanie przez wybór
C. Sortowanie szybkie
D. Sortowanie bąbelkowe
Wybór sortowania przez wybór, sortowania szybkiego oraz sortowania kubełkowego odnosi się do różnych metod organizacji danych, które różnią się zarówno w zakresie algorytmicznym, jak i zastosowaniami praktycznymi. Sortowanie przez wybór (Selection Sort) polega na znajdowaniu najmniejszego (lub największego) elementu z nieposortowanej części tablicy i zamienieniu go z pierwszym elementem tej części. To podejście jest mniej efektywne dla dużych zbiorów danych, ponieważ również ma złożoność O(n²) i nie korzysta z optymalizacji, które mogłyby przyspieszyć proces sortowania. Z kolei sortowanie szybkie (Quick Sort) to bardziej zaawansowana technika, która dzieli tablicę na mniejsze podtablice i sortuje je rekurencyjnie, co daje średnią złożoność O(n log n). To sprawia, że jest preferowane w aplikacjach, gdzie wydajność jest kluczowa. Sortowanie kubełkowe (Bucket Sort) z kolei polega na podziale danych na kilka "kubełków" i sortowaniu ich wewnętrznie, co również ma na celu zwiększenie efektywności sortowania, zwłaszcza w przypadku danych rozłożonych równomiernie. Typowe błędy myślowe, które mogą prowadzić do niepoprawnych wniosków, to mylenie różnorodnych technik sortowania na podstawie ich nazwy lub złożoności, a także zakładanie, że prostsze metody, jak sortowanie bąbelkowe, są wystarczające dla wszystkich przypadków bez uwzględnienia wymagań dotyczących wydajności.

Pytanie 10

Bitmapa to obraz:

A. analogowy
B. rastrowy
C. wektorowy
D. interakcyjny
Pozostałe określenia nie pasują. Obraz wektorowy opisuje kształty wzorami matematycznymi (krzywe, linie), a nie pikselami. „Interakcyjny” i „analogowy” to nie są typy zapisu grafiki komputerowej. Obraz złożony z siatki pikseli to grafika rastrowa.

Pytanie 11

Który kod oznacza kolor CZERWONY?

A.
#00EEEE
B.
#EE0000
C.
#0000EE
D.
#00EE00
W zapisie #RRGGBB pierwsza para to czerwony. W #EE0000 wysoka jest tylko składowa czerwona (EE), a zielona i niebieska są zerowe - więc kolor jest CZERWONY. Dlatego czerwony to #EE0000.

Pytanie 12

Aby nałożyć na zdjęcie półprzezroczysty znak wodny (logo prześwitujące przez obraz), należy:

A. zastosować filtr Gaussa
B. odpowiednio przyciąć obraz
C. wykorzystać kanał alfa
D. poprawić nasycenie kolorów
Aby logo prześwitywało przez zdjęcie (półprzezroczysty znak wodny), wykorzystuje się KANAŁ ALFA - steruje on stopniem przezroczystości pikseli, więc nakładana warstwa może być częściowo widoczna. Dlatego należy wykorzystać kanał alfa.

Pytanie 13

Jaki zapis znacznika <div> może występować w dokumencie HTML tylko raz, a jego ponowne użycie spowoduje pojawienie się błędów podczas walidacji dokumentu?

A. <div class="klasa1 klasa2">
B. <div>
C. <div id="identyfikator">
D. <div class="klasa">
Zapis <div class="klasa1 klasa2"> nie narusza zasad walidacji HTML, ponieważ atrybut class może występować wielokrotnie w obrębie dokumentu. Dzięki temu, można przypisać wiele klas do jednego elementu, co jest przydatne w przypadku stylizacji CSS, gdzie różne klasy mogą być wykorzystywane do różnych celów. Zastosowanie wielu klas umożliwia elastyczne zarządzanie stylami, jednak nie wpływa na unikalność elementów. Z kolei zapis <div class="klasa"> jest również poprawny i pozwala na przypisanie pojedynczej klasy do elementu. Klasy są przydatne w kontekście grupowania elementów lub stosowania do nich wspólnych stylów, co jest zgodne z zasadami modularności w CSS. Natomiast zapis <div> jest ogólnym rozwiązaniem, które nie wprowadza żadnych specyfikacji, ale również nie generuje błędów walidacyjnych. Zrozumienie różnicy między atrybutem id a atrybutem class jest kluczowe w HTML. Na przykład, stosując id, jesteśmy zobowiązani do jego unikalności, co nie jest wymagane dla klas. Dla wielu początkujących programistów mylenie tych dwóch atrybutów może prowadzić do nieporozumień i problemów z walidacją kodu. Przy projektowaniu stron internetowych należy skupić się na ich strukturyzacji oraz semantyce, aby zapewnić łatwiejsze zarządzanie kodem i jego przyszłą rozbudowę.

Pytanie 14

W aplikacjach webowych tablice asocjacyjne to takie tablice, w jakich

A. elementy tablicy są zawsze indeksowane od 0
B. indeks jest ciągiem znaków
C. istnieją przynajmniej dwa wymiary
D. w każdej komórce tablicy znajduje się inna tablica
Tablice asocjacyjne, znane również jako słowniki lub mapy, to struktury danych, które przechowują pary klucz-wartość, gdzie kluczem jest zazwyczaj łańcuch tekstowy. Umożliwia to dostęp do wartości na podstawie zrozumiałych identyfikatorów, co jest znacznie bardziej intuicyjne niż indeksowanie numeryczne. Przykładem zastosowania tablic asocjacyjnych może być przechowywanie informacji o użytkownikach w aplikacjach webowych, gdzie kluczem może być adres e-mail, a wartością obiekt zawierający dane użytkownika, takie jak imię, nazwisko czy wiek. W wielu językach programowania, takich jak JavaScript, Python czy PHP, tablice asocjacyjne są wbudowanymi strukturami, które pozwalają na efektywne zarządzanie danymi, ułatwiając ich przechowywanie i manipulację. W praktyce, używanie tablic asocjacyjnych poprawia czytelność kodu i jego utrzymanie, co jest zgodne z dobrymi praktykami programowania, takimi jak KISS (Keep It Simple, Stupid) i DRY (Don't Repeat Yourself).

Pytanie 15

Jak ustawić w CSS, by link NIEodwiedzony był żółty, a odwiedzony - zielony?

A.
a:hover { color: yellow; } a:visited { color: green; }
B.
a:hover { color: green; } a.link { color: yellow; }
C.
a:visited { color: yellow; } a:link { color: green; }
D.
a:link { color: yellow; } a:visited { color: green; }
Pozostałe zapisy nie spełniają warunku. a:hover opisuje wygląd linku POD kursorem, a nie stan odwiedzenia, więc warianty z a:hover nie pasują. a.link to selektor klasy o nazwie „link”, a nie pseudoklasa stanu. Wariant zamieniający kolory miejscami odwraca wymaganie. Nieodwiedzony ustawia a:link { color: yellow; }, a odwiedzony a:visited { color: green; }.

Pytanie 16

Którą właściwość CSS należy zastosować, aby ustawić rozmiar (wielkość) tekstu?

A.
font-weight
B.
font-style
C.
text-size
D.
font-size
Rozmiar tekstu ustawia w CSS właściwość font-size, w której podaje się wartość z jednostką, np. font-size: 16px albo font-size: 1.2em. Im większa wartość, tym większe litery. Dla responsywności często używa się jednostek względnych (em, rem, %). Dlatego do ustawienia wielkości tekstu służy font-size.

Pytanie 17

Który zapis służy do zdefiniowania klucza obcego w MySQL?

A.
PRIMARY KEY(ID)
B.
FOREIGN KEY(ID)
C.
AUTO_INCREMENT(ID)
D.
UNIQUE KEY(ID)
W MySQL klucz obcy definiuje się zapisem FOREIGN KEY(ID) - wiąże kolumnę z kluczem głównym tabeli nadrzędnej, zapewniając integralność relacji. Dlatego klucz obcy tworzy FOREIGN KEY(ID).

Pytanie 18

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu

A. p { line-indent: 30px; }
B. p { text-indent: 30px; }
C. p { text-spacing: 30px; }
D. p { line-height: 30px; }
Analizując inne opcje, można zauważyć, że zapisy takie jak line-indent, line-height, czy text-spacing nie są poprawne w kontekście wcięcia pierwszej linii akapitu w CSS. Właściwość line-indent nie istnieje w specyfikacji CSS, co czyni tę odpowiedź zupełnie niewłaściwą. Użytkownicy mogą mylić terminologię, sądząc, że line-indent odnosi się do wcięcia, jednak nie jest to termin rozpoznawany przez standardy CSS. Bardziej odpowiednią właściwością do modyfikacji wysokości linii jest line-height, która jednak nie ma związku z wcięciem tekstu, lecz z odstępem pomiędzy poszczególnymi liniami tekstu w akapicie. Użycie line-height do uzyskania wcięcia prowadzi do nieporozumień i niepożądanych efektów wizualnych. Z kolei text-spacing, będący inną niepoprawną odpowiedzią, nie jest uznaną właściwością CSS i nie wpływa na wcięcia. Dobre praktyki w projektowaniu stron internetowych wymagają znajomości standardów CSS i ich zastosowania w praktyce. Ważne jest, aby przyzwyczaić się do stosowania właściwości, które są uznawane przez wiodące przeglądarki i standardy webowe, aby uniknąć takich błędów i uzyskać zamierzony efekt wizualny. Zapewnienie, że używamy odpowiednich właściwości, jest kluczowe dla poprawności i jakości kodu CSS, który ma bezpośredni wpływ na końcowy rezultat, czyli wygląd i funkcjonalność stron internetowych.

Pytanie 19

Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if (mysql_connect_error())()
B. if {mysql_connect_errno()}{}
C. if (mysqli_connect_errno()){}
D. if {mysqli_connect_error()}{}
No, odpowiedzi, które wybrałeś, mają sporo błędów. Na przykład, 'if (mysql_connect_error())()' jest źle napisane, bo masz tu podwójne nawiasy, a powinny być pojedyncze. 'if {mysql_connect_errno(){}}' i 'if {mysqli_connect_error()}' używają klamr, gdzie powinny być nawiasy okrągłe, bo w PHP warunki muszą być w nawiasach. Te stare funkcje, takie jak 'mysql_connect_error()' czy 'mysql_connect_errno()', to już przeżytek, zostały usunięte w PHP 7.0. Teraz, wybierając 'mysqli', zapewniasz sobie lepsze bezpieczeństwo i działanie aplikacji. To jest kluczowe, żeby zrozumieć, jak poprawnie pisać kod, bo bez tego ciężko osiągniesz sukces w programowaniu w PHP.

Pytanie 20

Które imiona spełniają warunek

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
?
A. Arieta, Krzysztof, Krystyna, Tristan
B. Krzysztof, Krystyna, Romuald
C. Rafał, Rebeka, Renata, Roksana
D. Gerald, Jarosław, Marek, Tamara
Wzorzec '_r%' oznacza: jeden dowolny znak (_), potem litera „r”, potem dowolny ciąg (%) - czyli DRUGĄ literą imienia musi być „r”. Pasują np. Arieta, Krzysztof, Krystyna, Tristan. Dlatego to ten zestaw.

Pytanie 21

Proces normalizacji tabel ma na celu

A. weryfikację i poprawę efektywności bazy danych
B. dodanie danych do bazy
C. wizualizację bazy
D. wyłącznie stworzenie tabel oraz powiązań w bazie
Normalizacja tabel jest procesem, który ma na celu organizację struktury bazy danych w taki sposób, aby zminimalizować redundancję danych oraz zapewnić integralność danych. Proces ten polega na podziale dużych tabel na mniejsze i łączeniu ich za pomocą relacji, co pozwala na efektywniejsze zarządzanie danymi. Przykładem normalizacji może być podział tabeli zawierającej informacje o klientach i ich zamówieniach na dwie oddzielne tabele: jedna do przechowywania danych klientów, a druga do danych zamówień, z relacją między nimi. W praktyce normalizacja, zgodna z metodologią Codd'a, obejmuje kilka poziomych form normalnych, takich jak 1NF, 2NF, i 3NF, z których każda wprowadza dodatkowe ograniczenia i zasady. Przy odpowiedniej normalizacji można uniknąć problemów z aktualizacją danych, takich jak anomalie aktualizacji czy usuwania, co jest kluczowe w utrzymywaniu wysokiej jakości danych w systemach bazodanowych.

Pytanie 22

Aby wybrać z bazy danych rekordy spełniające określone kryteria, należy utworzyć:

A. formularz
B. makro
C. kwerendę (zapytanie)
D. raport
Kwerenda (zapytanie) to obiekt bazy danych, który wybiera rekordy spełniające zadane warunki - odpowiada zapytaniu SELECT ... WHERE w SQL. Można w niej wskazać kolumny, kryteria filtrowania i sortowanie, a wynik wykorzystać dalej w formularzu czy raporcie. Dlatego do wybrania danych wg kryteriów tworzy się kwerendę.

Pytanie 23

Wskaż, na czym polega błąd w kodzie napisanym w języku C++.

char str1[30] = 'Ala ma kota'; printf("%s", str1);
A. Do funkcji printf przekazano zbyt mało argumentów.
B. Napis powinien być umieszczony w cudzysłowach.
C. Napis powinien mieć dokładnie 30 znaków.
D. W funkcji printf nie można używać formatowania %s.
Wskaźnik 'str1' jest zdefiniowany jako tablica znaków, która ma przechowywać łańcuch znaków. W C++ łańcuchy znaków muszą być umieszczone w cudzysłowach, aby kompilator mógł je poprawnie zinterpretować jako dane typu string. W przypadku przypisania wartości 'Ala ma kota' bez cudzysłowów, kompilator traktuje to jako pojedynczy znak, co prowadzi do błędu. Aby poprawnie zainicjować tablicę 'str1', należy użyć: char str1[30] = "Ala ma kota";. Taki zapis jest zgodny z regułami C++ i zapewnia, że napis zostanie potraktowany jako łańcuch znaków. Ponadto, dobrym zwyczajem jest zapewnienie, że tablica ma wystarczającą ilość miejsca na znak null ('\0'), który oznacza koniec łańcucha, co w tym przypadku jest zapewnione przez zdefiniowanie tablicy o rozmiarze 30. Warto również pamiętać, że stosowanie cudzysłowów zamiast apostrofów dla łańcuchów znaków jest podstawową zasadą programowania w C++.

Pytanie 24

Z jaką bazą danych nawiązuje połączenie funkcja pg_connect w PHP?

A. MS Access
B. MySQL
C. PostgreSQL
D. MS SQL
Funkcja pg_connect() nawiązuje w PHP połączenie z bazą PostgreSQL - prefiks pg_ to skrót od „PostgreSQL”, tak jak mysqli_ wskazuje na MySQL. Każdy system bazodanowy ma w PHP własny zestaw funkcji. Zapamiętaj: po prefiksie funkcji poznasz, z jaką bazą pracujesz.

Pytanie 25

Kod programu wraz z komentarzami oraz opisem algorytmów i metod stanowi dokumentację

A. audiowizualną.
B. techniczną.
C. graficzną.
D. urzędową.
Poprawnie – mówimy tutaj o dokumentacji technicznej. Kod programu razem z komentarzami w kodzie, opisem algorytmów, struktur danych, interfejsów, sposobu działania poszczególnych modułów czy klas to właśnie klasyczny przykład dokumentacji technicznej. W branży IT przyjmuje się, że dokumentacja techniczna jest skierowana głównie do programistów, administratorów, czasem też architektów systemów, czyli osób, które będą rozwijać, utrzymywać lub integrować dany system. Nie jest to materiał marketingowy ani „urzędowy”, tylko coś, co ma pomóc zrozumieć jak system działa od środka.
W praktyce dokumentacja techniczna obejmuje na przykład: komentarze w kodzie źródłowym (zgodne z konwencją danego języka, np. PHPDoc, JSDoc), opisy algorytmów w plikach README, wiki projektowe, diagramy UML, schematy przepływu danych, opisy endpointów API, a nawet instrukcje uruchomienia środowiska developerskiego. Moim zdaniem im lepiej zrobiona taka dokumentacja, tym łatwiej jest później komuś „wejść” w projekt bez zadawania dziesiątek pytań.
Dobre praktyki mówią, żeby dokumentacja techniczna była aktualna, wersjonowana razem z kodem (np. w Git), a komentarze w kodzie nie powtarzały tego, co oczywiste, tylko wyjaśniały „dlaczego tak”, a nie „co robi ta linijka”. W projektach webowych dokumentacja techniczna opisuje na przykład, jak działa logika logowania użytkownika, jak są zrobione zapytania do bazy, jakie są ograniczenia wydajnościowe. To wszystko pozwala utrzymać spójność systemu i ułatwia debugowanie oraz rozwój nowych funkcji.
Dlatego odpowiedź „techniczną” jest jak najbardziej zgodna z tym, jak branża rozumie dokumentację w kontekście programowania i algorytmów.

Pytanie 26

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

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

Pytanie 27

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zmiana jasności zdjęć.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 28

Która funkcja PHP wczyta zawartość pliku do zmiennej (jako ciąg znaków)?

A.
eof()
B.
get_file()
C.
file_get_contents()
D.
fwrite()
Funkcja file_get_contents() wczytuje całą zawartość pliku do zmiennej jako jeden ciąg znaków - np. $tresc = file_get_contents("plik.txt");. Dlatego do odczytu pliku służy file_get_contents().

Pytanie 29

Określ rezultat działania skryptu napisanego w języku PHP

PHP
<?php
$tablica=array(10=>"Perl",14=>"PHP",20=>"Python",22=>"Pike");
asort($tablica);
print("<pre>");
print_r($tablica);
print("</pre>");
?>
Ilustracja do pytania
A. rys. B
B. rys. A
C. rys. D
D. rys. C
Poprawna odpowiedź wskazuje uporządkowanie tablicy asocjacyjnej według wartości. Funkcja asort() w języku PHP sortuje tablicę według wartości, zachowując klucze. Oznacza to, że elementy zostaną uporządkowane alfabetycznie według nazw języków, co w tym przypadku prowadzi do kolejności PHP Perl Pike Python. Klucze pozostają przypisane do swoich wartości co jest ważnym aspektem przy pracy z tablicami asocjacyjnymi w PHP. Praktyczne zastosowanie tej funkcji obejmuje np. sortowanie list produktów według ich nazw w aplikacjach e-commerce. Dobre praktyki programistyczne sugerują użycie funkcji sortujących z zachowaniem kluczy w przypadku gdy klucze te mają istotne znaczenie np. unikalne identyfikatory. Zrozumienie jak działa sortowanie w PHP pozwala na efektywne zarządzanie danymi i poprawia optymalizację kodu.

Pytanie 30

Które stwierdzenie dotyczące klucza głównego (podstawowego) jest prawdziwe?

A. jest unikalny w obrębie tabeli
B. składa się tylko z jednego pola
C. dla danych osobowych może to być pole nazwisko
D. może przyjmować wyłącznie wartości liczbowe
Klucz główny musi być UNIKALNY w obrębie tabeli - jego wartości nie mogą się powtarzać, bo jednoznacznie identyfikują każdy wiersz. Dlatego prawdziwe jest, że klucz główny jest unikalny w obrębie tabeli.

Pytanie 31

Określ złożoność obliczeniową algorytmu naiwnego (zwykłego) poszukiwania minimum w kolekcji liczb?

A. O(n!)
B. O(n2)
C. O(n)
D. O(n3)
Algorytm naiwnego (zwykłego) wyszukiwania minimum w zbiorze liczb charakteryzuje się złożonością obliczeniową O(n), co oznacza, że jego czas wykonania rośnie liniowo w zależności od liczby elementów w zbiorze. W praktyce oznacza to, że aby znaleźć najmniejszy element w zbiorze liczb, algorytm przeszukuje wszystkie elementy, porównując je ze sobą. W przypadku zbioru zawierającego n elementów, konieczne jest wykonanie n-1 porównań, co skutkuje liniową złożonością. Wyszukiwanie minimum jest użyteczne w wielu aplikacjach, takich jak analiza danych, gdzie może być wykorzystywane do szybkiego lokalizowania najniższej wartości w zestawie wyników. Dobrymi praktykami w tym zakresie są stosowanie tego algorytmu w sytuacjach, gdy zbiór danych jest relatywnie mały lub gdy zależy nam na prostocie i czytelności kodu. Złożoność O(n) jest optymalna dla tego typu operacji, ponieważ nie da się znaleźć minimum bez przeszukania każdego elementu przynajmniej raz, co potwierdza zasadę, że konieczne jest zbadanie wszystkich danych w celu uzyskania poprawnego wyniku.

Pytanie 32

Który zapis definiuje w JavaScripcie komentarz JEDNOLINIOWY?

A.
#
B.
?
C.
//
D.
/*
W JavaScripcie komentarz jednoliniowy zaczyna się od // - wszystko od tych znaków do końca wiersza jest pomijane. Dlatego komentarz jednoliniowy to //.

Pytanie 33

Podczas transmisji cyfrowego wideo na jakość wpływa bitrate (przepływność). Wielkość ta określa liczbę:

A. próbek dźwięku w jednostce czasu
B. pikseli jako stosunek długości obrazu do wysokości
C. bitów przesyłanych w jednostce czasu
D. pikseli obrazu wyświetlanych na ekranie
Bitrate (przepływność) to liczba BITÓW przesyłanych w jednostce czasu, podawana zwykle w kb/s lub Mb/s. Im wyższy bitrate, tym więcej danych na sekundę, czyli zwykle lepsza jakość, ale i większy plik. Dlatego bitrate określa liczbę bitów przesyłanych w jednostce czasu.

Pytanie 34

Jakie polecenie przywróci do działania uszkodzoną tabelę w SQL?

A. REPAIR TABLE tblname
B. OPTIMIZE TABLE tbl_name
C. REGENERATE TABLE tbl_name
D. ANALYZE TABLE tbl_name
REPAIR TABLE tblname jest komendą w SQL, która jest używana do naprawy uszkodzonych tabel w bazach danych, szczególnie w systemach zarządzania bazami danych, takich jak MySQL. Gdy tabela ulegnie uszkodzeniu z powodu awarii systemu, błędów oprogramowania lub innych problemów, użycie tej komendy pozwala na przywrócenie jej do stanu używalności. Przykładem może być sytuacja, gdy po awarii serwera tabela przestaje być dostępna. Wówczas wystarczy uruchomić polecenie REPAIR TABLE, aby zdiagnozować i naprawić problemy. Warto pamiętać, że ta komenda nie tylko przywraca integralność danych, ale także może poprawić wydajność tabeli, usuwając fragmentację. Praktyka wskazuje, że regularne sprawdzanie i naprawa tabel, zwłaszcza po dużych operacjach zapisu, jest dobrym nawykiem w zarządzaniu bazami danych. Dobrą praktyką jest również tworzenie kopii zapasowych tabel przed ich naprawą, co zabezpiecza dane przed potencjalną utratą w wyniku błędów przy naprawie.

Pytanie 35

W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?

A. SELECT tytul FROM ksiazki
B. SELECT * FROM ksiazki
C. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
D. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje funkcję CURRENT_DATE(), która zwraca bieżącą datę systemową. Zapytanie SQL SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE(); umożliwia wybranie jedynie tych książek, które zostały wypożyczone w dniu, w którym raport jest generowany. To podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, ponieważ pozwala na efektywne filtrowanie danych bez zbędnych informacji. W kontekście bazy danych, operacje takie jak filtrowanie danych według daty są kluczowe dla tworzenia raportów, które są użyteczne i zrozumiałe dla użytkowników. Dzięki temu możemy na przykład generować codzienne zestawienia wypożyczeń książek, co jest szczególnie przydatne w bibliotekach oraz innych instytucjach zajmujących się wynajmem materiałów. Użycie odpowiednich funkcji w SQL jest nie tylko korzystne, ale również zwiększa efektywność procesów analitycznych oraz zarządzania danymi.

Pytanie 36

Która rozdzielczość daje proporcje obrazu 16:9 (przy kwadratowym pikselu)?

A. 800 × 480
B. 320 × 240
C. 1366 × 768
D. 2560 × 2048
Proporcje obrazu to stosunek szerokości do wysokości; dla 16:9 wynosi on 16/9 ≈ 1,78. Wystarczy podzielić liczbę pikseli poziomych przez pionowe: 1366 / 768 ≈ 1,78, więc ta rozdzielczość jest panoramiczna 16:9 (typowa dla ekranów laptopów i telewizorów HD). Dlatego proporcje 16:9 daje 1366 × 768.

Pytanie 37

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

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

Pytanie 38

Polecenie w języku SQL w formie

ALTER TABLE 'miasta' 
ADD 'kod' text; 
A. dodaje do tabeli kolumnę o nazwie kod typu text.
B. dodaje do tabeli dwie kolumny o nazwach: kod i text.
C. zmienia nazwę tabeli miasta na kod.
D. w tabeli miasta zmienia nazwę kolumny kod na text.
Poprawna odpowiedź to 'dodaje do tabeli kolumnę o nazwie kod typu text'. Polecenie SQL ALTER TABLE służy do modyfikacji struktury istniejącej tabeli, a w tym przypadku dodaje nową kolumnę do tabeli 'miasta'. Składnia ADD 'kod' text oznacza, że do tabeli zostanie dodana kolumna o nazwie 'kod', której typ danych to 'text'. Typ danych 'text' jest używany do przechowywania długich ciągów tekstowych, co jest przydatne w przypadku danych takich jak opisy czy komentarze. W praktyce, dodawanie kolumn do tabeli jest często wykorzystywane w procesie rozwoju bazy danych, aby dostosować strukturę do zmieniających się potrzeb aplikacji. W przypadku dodawania kolumn w sposób nieinwazyjny, jak w tym przykładzie, zapewniamy, że istniejące dane nie zostaną utracone, a nowa kolumna będzie dostępna do natychmiastowego użycia. Warto również pamiętać, aby stosować konwencje nazewnictwa, które poprawiają czytelność i zrozumiałość kodu SQL, co jest zalecane w dobrych praktykach projektowania baz danych.

Pytanie 39

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

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

Pytanie 40

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
B. ... stawka float CHECK(stawka>0 OR stawka<50.00)
C. ... stawka float CHECK(stawka>0 AND stawka<50.00)
D. ... stawka float CHECK(stawka IN (0, 50.00))
Aby w tabeli SQL dodać warunek dla kolumny 'stawka', który zapewni, że wartości będą rzeczywiste, dodatnie i mniejsze od 50, należy skorzystać z klauzuli CHECK. Odpowiedni zapis to 'CHECK(stawka > 0 AND stawka < 50.00)'. Klauzula CHECK w SQL pozwala na definiowanie ograniczeń dla wartości kolumny, co jest kluczowe w zapewnieniu integralności danych. W tym przypadku, użycie operatora AND jest istotne, ponieważ umożliwia jednoczesne sprawdzenie dwóch warunków: że 'stawka' jest większa od 0 oraz mniejsza od 50. Zastosowanie tego warunku jest zgodne z zasadami normalizacji bazy danych, która ma na celu eliminację nieprawidłowych danych. Przykładowo, jeśli spróbujesz wprowadzić wartość 0 lub 50 do kolumny 'stawka', system zwróci błąd, co zapobiega wprowadzeniu niepożądanych danych. Takie podejście jest również zalecane w standardach SQL, takich jak ANSI SQL, które podkreślają znaczenie walidacji danych.