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: 1 maja 2026 11:17
  • Data zakończenia: 1 maja 2026 11:17

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Jakie z poniższych stwierdzeń właściwie opisuje tabelę utworzoną przez: CREATE TABLE dane (kolumna INTEGER(3));

A. Tabela o nazwie dane ma jedną kolumnę typu liczb całkowitych
B. Tabela zawiera jedną kolumnę, która składa się z trzyelementowych tablic
C. Kolumny w tabeli dane nazywają się: kolumna1, kolumna2, kolumna3
D. Tabela o nazwie dane zawiera trzy kolumny typu liczb całkowitych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że tabela o nazwie dane posiada jedną kolumnę liczb całkowitych, jest prawidłowa, ponieważ w definicji tabeli użyto składni CREATE TABLE, wskazując, że w tabeli znajduje się tylko jedna kolumna o nazwie 'kolumna'. Typ danych dla tej kolumny to INTEGER, co oznacza, że przechowuje ona liczby całkowite. Parametr (3) w INTEGER nie oznacza, że kolumna ta zawiera trzy elementowe tablice; w rzeczywistości jest to specyfikacja dotycząca maksymalnej liczby cyfr, które ta kolumna może przechowywać, co powoduje, że rozmiar wartości będzie ograniczony do 3 cyfr. W praktyce, przy projektowaniu baz danych, kluczowe jest zrozumienie typów danych oraz ich ograniczeń, aby zapewnić integralność danych. Dobrą praktyką jest używać odpowiednich typów danych i odpowiednio je definiować, by optymalizować wydajność zapytań oraz zużycie miejsca w bazie danych. W tym przypadku, zrozumienie, że kolumna 'kolumna' jest jedyną kolumną w tabeli o typie INTEGER, jest podstawą efektywnego projektowania struktury bazy danych.

Pytanie 2

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

A. p { line-height: 30px; }
B. p { text-spacing: 30px; }
C. p { text-indent: 30px; }
D. p { line-indent: 30px; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź p { text-indent: 30px; } jest poprawna, ponieważ właściwość text-indent w CSS służy do definiowania wcięcia pierwszej linii tekstu w elemencie blokowym, takim jak akapit (p). Umożliwia to nadanie tekstowi estetycznego wyglądu oraz zwiększenie czytelności, szczególnie w dłuższych blokach tekstu. Wartość 30px oznacza, że pierwsza linia akapitu zostanie przesunięta o 30 pikseli w prawo względem pozostałych linii. Przykładowo, jeśli mamy długi akapit z tekstem, zastosowanie wcięcia może pomóc w wyodrębnieniu go wizualnie, co sprzyja lepszemu zrozumieniu zawartości przez użytkowników. Warto także dodać, że standardy CSS są regularnie aktualizowane, a stosowanie dobrych praktyk, takich jak odpowiednie formatowanie tekstu, ma kluczowe znaczenie w projektowaniu responsywnych i przyjaznych dla użytkownika stron internetowych. Wykorzystanie text-indent jest jedną z technik, które przyczyniają się do poprawy UX (User Experience).

Pytanie 3

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
B. wszystkie operacje na tabelach bazy dane.
C. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
D. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo zauważyłeś, że użytkownikowi Jan przypisano wszystkie uprawnienia (GRANT ALL PRIVILEGES) na bazie danych o nazwie 'dane.*'. Przyznanie pełnych uprawnień obejmuje możliwość tworzenia, modyfikowania, usuwania tabel, jak również manipulowania danymi w tych tabelach. W praktyce oznacza to, że Jan ma pełną kontrolę nad bazą danych. Jest to możliwe dzięki konstrukcji GRANT, która jest standardem w zarządzaniu uprawnieniami w relacyjnych bazach danych. Pozwala ona na precyzyjne definiowanie, jakie operacje może wykonywać dany użytkownik. Taka granularna kontrola jest kluczowa dla bezpieczeństwa systemów bazodanowych. Pamiętaj, że nadawanie pełnych uprawnień jest odpowiednie jedynie w sytuacjach, gdy użytkownik jest całkowicie zaufany - w innym przypadku, powinno się ograniczyć uprawnienia do tych, które są niezbędne do wykonania pewnych zadań.

Pytanie 4

Na ilustracji pokazano tabelę z połączonymi komórkami. Jakie atrybuty scalania zastosowano, aby uzyskać ten efekt?

Ilustracja do pytania
A. colspan w drugim wierszu we wszystkich trzech komórkach oraz rowspan w trzecim wierszu ostatniej komórce
B. rowspan w drugim wierszu i pierwszej komórce oraz colspan w trzecim wierszu, trzeciej komórce
C. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu i czwartym wierszu
D. colspan w drugim wierszu i pierwszej komórce oraz rowspan w trzecim wierszu, trzeciej komórce

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ zastosowanie atrybutów colspan i rowspan w tabeli HTML pozwala na efektywne zarządzanie układem danych. Atrybut colspan w drugiej komórce pierwszego wiersza łączy dwie komórki poziomo, co jest użyteczne, gdy chcemy, aby nagłówki lub dane rozciągały się na kilka kolumn. W trzecim wierszu, atrybut rowspan w trzeciej komórce łączy trzy komórki pionowo, co może być przydatne, gdy mamy dane, które powinny być przedstawione obok siebie w kilku rzędach. Tego typu operacje scalania są powszechnie stosowane w projektowaniu stron internetowych, szczególnie w przypadku układów, które wymagają elastyczności i skalowalności. W praktyce, takie podejście pozwala na lepsze wykorzystanie przestrzeni ekranowej i ułatwia czytelność danych. Dobrą praktyką jest również stosowanie CSS do dodatkowego stylizowania takich tabel, co zwiększa ich atrakcyjność wizualną. Ważne jest, aby zrozumieć, że używanie colspan i rowspan wpływa na dostępność danych, dlatego należy je stosować świadomie i z uwzględnieniem użytkowników korzystających z technologii wspomagających.

Pytanie 5

Jakiego elementu HTML należy użyć, aby uzyskać tekst z czcionką o stałej szerokości znaku, w którym uwzględnione są dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <code> ... </code>
B. <ins> ... </ins>
C. <blockquote> ... </blockquote>
D. <pre> ... </pre>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik <pre> w HTML jest używany do wyświetlania tekstu w formacie preformatowanym. Oznacza to, że w tym przypadku przeglądarka internetowa zachowuje wszystkie wprowadzone spacje, tabulacje i znaki końca linii, co jest kluczowe dla prezentacji kodu źródłowego lub tekstu, który wymaga zachowania dokładnej struktury. Element <pre> wyświetla tekst czcionką o stałej szerokości, co ułatwia czytelność, zwłaszcza w kontekście programowania. Na przykład, jeśli chcemy pokazać fragment kodu w HTML, możemy użyć znacznika <pre>, aby zachować wcięcia i dokładną formę kodu. Przykładowy kod HTML może wyglądać tak: <pre>function helloWorld() { console.log('Hello, World!'); }</pre>. Zgodnie z wytycznymi W3C, element <pre> powinien być używany z umiarem, ponieważ może prowadzić do problemów z dostępnością, jeśli jest stosowany w kontekście, w którym nie jest potrzebny. Należy również zwrócić uwagę, że tekst w <pre> nie jest automatycznie dostosowywany do szerokości kontenera, co może być istotne w projektowaniu responsywnym.

Pytanie 6

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Zasada
B. Procedura składowa
C. Trigger
D. Funkcja zdefiniowana

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja zdefiniowana przez użytkownika (UDF) w języku SQL jest obiektem bazy danych, który może być wykorzystywany w zapytaniach, w tym w zapytaniach modyfikujących kolumny danych. UDF mogą przyjmować argumenty, wykonywać operacje na tych danych i zwracać wynik, co czyni je wszechstronnym narzędziem w programowaniu baz danych. Użycie funkcji zdefiniowanej zwiększa modularność kodu oraz umożliwia ponowne wykorzystanie logiki biznesowej, co jest zgodne z zasadami DRY (Don't Repeat Yourself). Przykładem zastosowania może być funkcja, która oblicza rabat na podstawie ceny i procentu rabatu, co można wywołać w zapytaniach aktualizujących ceny produktów. Warto również zauważyć, że UDF mogą być używane w kontekście różnych zapytań, a ich wyniki mogą być przetwarzane jak każda inna kolumna w wynikach zapytań. Dzięki temu programiści mogą łatwo implementować bardziej złożoną logikę bezpośrednio w zapytaniach SQL, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi.

Pytanie 7

Podane zapytanie SQL przyznaje użytkownikowi adam@localhost uprawnienia:

GRANT SELECT, INSERT, UPDATE, DELETE
ON klienci TO adam@localhost
A. do manipulowania danymi bazy danych klienci
B. do manipulowania danymi w tabeli klienci
C. do zarządzania strukturą tabeli klienci
D. do zarządzania strukturą bazy danych klienci

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie SQL GRANT SELECT INSERT UPDATE DELETE ON klienci TO adam@localhost nadaje użytkownikowi adam@localhost prawa manipulowania danymi w tabeli klienci Komendy SELECT INSERT UPDATE DELETE są podstawowymi operacjami manipulacji danymi w systemach zarządzania bazami danych (DBMS) SELECT umożliwia odczytywanie danych z tabeli INSERT pozwala na dodawanie nowych rekordów do tabeli UPDATE umożliwia modyfikację istniejących danych DELETE daje możliwość usuwania rekordów z tabeli Takie operacje są kluczowe przy codziennym zarządzaniu danymi w bazach danych oraz podczas tworzenia aplikacji które z tych danych korzystają Nadanie takich uprawnień jest często stosowane w środowiskach produkcyjnych i deweloperskich gdzie użytkownicy muszą wykonywać różnorodne operacje na danych Przydzielanie uprawnień powinno być jednak dobrze przemyślane aby zapewnić bezpieczeństwo danych oraz zgodność z najlepszymi praktykami branżowymi Takie podejście minimalizuje ryzyko nieautoryzowanych modyfikacji i utraty danych co jest zgodne z zasadami zarządzania bezpieczeństwem informacji

Pytanie 8

Na stronie www znajduje się formularz, do którego należy stworzyć następujące funkcje: walidacja: w czasie wypełniania formularza na bieżąco kontrolowana jest poprawność danych, przesyłanie danych: po zrealizowaniu formularza i jego zatwierdzeniu, dane są przekazywane do bazy danych na serwerze. Aby zrealizować tę funkcjonalność w jak najprostszy sposób, należy zapisać

A. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
B. walidację oraz przesyłanie danych w języku JavaScript
C. walidację oraz przesyłanie danych w języku PHP
D. walidację w skrypcie PHP, a przesyłanie danych w JavaScript

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Walidacja danych w formularzu powinna być przeprowadzana po stronie klienta, co oznacza, że najwłaściwszym rozwiązaniem jest wykorzystanie języka JavaScript. Taki sposób umożliwia natychmiastowe informowanie użytkownika o błędach, co znacząco poprawia doświadczenia użytkowników. Przykłady zastosowania obejmują sprawdzanie, czy pola są puste, czy wprowadzony adres e-mail ma odpowiedni format oraz czy hasło spełnia określone kryteria. Po zatwierdzeniu formularza, dane powinny być przesyłane do serwera, gdzie można je obsłużyć i zapisać w bazie danych. W tym kontekście wykorzystanie języka PHP jest idealnym rozwiązaniem, ponieważ PHP jest popularnym językiem skryptowym do obsługi backendu i pracy z bazami danych. Serwerowa walidacja danych jest również konieczna dla zapewnienia bezpieczeństwa i integralności danych znajdujących się w bazie. W praktyce, mogą wystąpić sytuacje, w których użytkownik wyłączy JavaScript, dlatego niezbędne jest, aby walidacja odbywała się również po stronie serwera, jednak głównym celem jest zapewnienie wstępnej walidacji na poziomie klienta.

Pytanie 9

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Inwersja.
C. Progowanie.
D. Krzywe.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 10

W jakiej technologii nie zachodzi możliwość przetwarzania danych wprowadzanych przez użytkowników na stronach internetowych?

A. JavaScript
B. CSS
C. AJAX
D. PHP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CSS (Cascading Style Sheets) to język stylów, który służy do opisywania wyglądu i formatu dokumentów HTML. Jego głównym celem jest kontrolowanie układu, kolorów, czcionek oraz innych aspektów wizualnych strony internetowej. CSS nie ma możliwości przetwarzania danych wprowadzanych przez użytkowników, gdyż nie posiada funkcji logiki programistycznej ani operacji na danych. Przykładowo, CSS może zmieniać kolor tła lub rozmiar tekstu, ale nie może zbierać informacji z formularzy ani reagować na interakcje użytkownika w sposób, w jaki robią to języki programowania takie jak JavaScript czy PHP. Może to prowadzić do mylnych przekonań, że CSS jest bardziej wszechstronny, niż jest w rzeczywistości, jednak jego zastosowanie ogranicza się wyłącznie do aspektów stylistycznych. W praktyce, aby przetwarzać dane użytkownika, niezbędne są inne technologie, które mogą współpracować z CSS, ale same w sobie nie są w stanie tego zrobić.

Pytanie 11

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustalić wartość pola Uczen na 1
B. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
C. powiększyć wartość pola Uczen o jeden
D. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie SQL, które analizujemy, to: `UPDATE Uczen SET id_klasy = id_klasy + 1;`. Jego celem jest zwiększenie wartości w kolumnie `id_klasy` o jeden dla wszystkich rekordów w tabeli `Uczen`. Wykorzystanie operacji `SET` w poleceniu `UPDATE` umożliwia modyfikację istniejących danych w bazie. W tym przypadku każda wartość w kolumnie `id_klasy` zostaje powiększona o jeden. To technika często stosowana przy aktualizacjach, gdzie potrzebujemy inkrementować wartości, np. w przypadku liczników, numeracji czy przesuwania pozycji. Stosowanie `UPDATE` zgodnie z dobrymi praktykami wymaga ostrożności, zwłaszcza przy operacjach masowych, aby unikać niezamierzonych zmian w danych. Ważne jest, aby przed wykonaniem takich operacji upewnić się, że kopia zapasowa danych jest dostępna, a operacja została przetestowana w środowisku testowym, aby uniknąć potencjalnych problemów w środowisku produkcyjnym.

Pytanie 12

Aby utworzyć styl strony responsywnej dla ekranów o szerokości od 600 px do 800 px należy zastosować regułę CSS

A. @media (max-width: 800px) (min-width: 600px){/*style css*/}
B. @media screen (min-width: 800px) and (max-width: 600px){/*style css*/}
C. @media screen and (max-width: 800px) and (min-width: 600px){/*style css*/}
D. @media (min-width: 800px){/*style css*/}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa reguła to @media screen and (max-width: 800px) and (min-width: 600px){/*style css*/}, bo dokładnie określa zakres szerokości ekranu od 600 px do 800 px i robi to w sposób zgodny ze składnią CSS. Kluczowe są tu trzy elementy: słowo kluczowe screen, operator and oraz poprawna kolejność i zapis warunków min-width i max-width. Media queries działają tak, że przeglądarka sprawdza, czy wszystkie warunki połączone słowem and są spełnione. W tym przypadku styl zadziała tylko wtedy, gdy typ urządzenia to ekran (screen) i szerokość widoku (viewport) jest jednocześnie nie mniejsza niż 600 px i nie większa niż 800 px. To jest właśnie typowy zapis tzw. przedziału (range) w responsywnym CSS. W praktyce taki zakres wykorzystuje się np. do stylowania widoków tabletów w pozycji pionowej lub poziomej, w zależności od projektu. Możesz tam zmieniać układ kolumn z trzech na dwie, powiększać przyciski, dostosowywać rozmiary czcionek, marginesy, czy ukrywać mniej ważne elementy. Co ważne, użycie screen ogranicza stosowanie tych styli tylko do ekranów, a nie np. do wydruku (print), co jest zgodne z dobrą praktyką opisaną w specyfikacji CSS Media Queries Level 3 i nowszych. Z mojego doświadczenia dobrym nawykiem jest zawsze pilnować spójnych breakpointów, np. 480 px, 600 px, 768 px, 1024 px, i dla każdego z nich pisać media queries w dokładnie takim formacie, jak w tej poprawnej odpowiedzi. Ułatwia to późniejsze utrzymanie kodu i eliminuje dziwne „przeskoki” layoutu między rozdzielczościami. Dodatkowo warto pamiętać, że kolejność min-width i max-width nie ma znaczenia dla działania, ale przyjęcie jednej konwencji w projekcie mocno poprawia czytelność kodu zespołowego.

Pytanie 13

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

A. height
B. width
C. margin
D. padding

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 14

Które ograniczenie w bazach danych, należy przypisać kolumnie tabeli, aby wartości wpisywane do niej nie powtarzały się?

A. SINGLE
B. UNIQUE
C. NOT NULL
D. NO REPEAT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – w relacyjnych bazach danych to właśnie ograniczenie UNIQUE zapewnia, że wartości w danej kolumnie nie będą się powtarzały. Technicznie rzecz biorąc, UNIQUE to constraint integralności, który wymusza unikalność danych w obrębie wskazanej kolumny lub zestawu kolumn. Jeżeli spróbujesz wstawić rekord z wartością, która już istnieje w tej kolumnie, silnik bazy (np. MySQL, PostgreSQL, SQL Server) zgłosi błąd naruszenia ograniczenia unikalności. Można to zobaczyć na prostym przykładzie: CREATE TABLE uzytkownicy ( id INT PRIMARY KEY, email VARCHAR(255) UNIQUE, login VARCHAR(50) UNIQUE ); Tutaj zarówno email, jak i login nie mogą się duplikować. W praktyce to jest standardowa dobra praktyka: na polach takich jak email, numer PESEL, NIP, numer indeksu, numer seryjny urządzenia czy nawet nazwa użytkownika bardzo często zakłada się UNIQUE, żeby w systemie nie pojawiły się dwa różne konta z tym samym identyfikatorem. Moim zdaniem, przy projektowaniu bazy danych warto od razu zastanowić się, które pola mają pełnić rolę „identyfikatorów biznesowych” i od razu nadać im ograniczenie UNIQUE. Warto też wiedzieć, że UNIQUE nie oznacza „klucz główny”. PRIMARY KEY automatycznie jest unikalny i nie może być NULL, natomiast UNIQUE pozwala na NULL (zależnie od silnika bazy, ale zazwyczaj wiele NULL-i jest dozwolonych). To pozwala projektować tabele bardziej elastycznie, np. kolumna może być opcjonalna, ale jeśli już ktoś poda wartość, to musi być ona niepowtarzalna. W praktyce UNIQUE często łączy się z indeksami – większość systemów bazodanowych automatycznie zakłada indeks unikalny na takiej kolumnie, co przyspiesza wyszukiwanie i walidację danych. To rozwiązanie jest zgodne z dobrymi praktykami normalizacji i kontroli spójności danych w systemach produkcyjnych.

Pytanie 15

Zgodnie z wytycznymi WCAG 2.x  na poziomie AA minimalny kontrast tekstu (o standardowym rozmiarze) do tła, spełniający wymogi dostępności serwisu WWW dla osób z ograniczoną percepcją wzrokową wynosi

A. 1,5 : 1
B. 4,5 : 1
C. 2,0 : 1
D. 2,5 : 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest wartość 4,5 : 1, bo dokładnie taki minimalny współczynnik kontrastu dla tekstu o standardowym rozmiarze określają wytyczne WCAG 2.0 i 2.1 na poziomie AA (kryterium sukcesu 1.4.3 „Contrast (Minimum)”). Chodzi tu o kontrast pomiędzy kolorem tekstu a kolorem tła, liczony jako stosunek jasności (luminancji względnej) tych dwóch kolorów. Im wyższy współczynnik, tym większa różnica i tym łatwiej odczytać treść osobom z osłabionym wzrokiem, np. z zaćmą, jaskrą czy po prostu osobom starszym. Moim zdaniem to jest jedna z najważniejszych zasad dostępności, bo dotyczy absolutnej podstawy – czy w ogóle da się tekst przeczytać bez wysiłku. W praktyce oznacza to, że np. jasnoszary tekst na białym tle, który „ładnie wygląda” w projekcie graficznym, bardzo często nie spełnia 4,5 : 1 i jest po prostu nieczytelny. Z kolei klasyczne połączenie #000000 (czarny) na #FFFFFF (biały) ma kontrast 21 : 1, czyli znacznie powyżej wymaganego minimum. Warto pamiętać, że dla większego tekstu (min. 18 px lub 14 px pogrubiony) próg jest niższy – 3 : 1, ale w pytaniu mowa wyraźnie o tekście standardowym. W codziennej pracy dobrze jest używać automatycznych narzędzi (np. WebAIM Contrast Checker, wtyczki do przeglądarek, funkcje w Figma/Adobe XD), które potrafią policzyć kontrast na podstawie kodów kolorów w formacie HEX lub RGB i od razu powiedzą, czy mamy poziom AA, czy nie. Z mojego doświadczenia przy tworzeniu serwisów WWW najlepiej od razu w fazie projektowania UI przyjąć zasadę: wszystkie podstawowe teksty (paragrafy, linki, etykiety formularzy) muszą mieć przynajmniej 4,5 : 1. To ułatwia życie front-endowcom i zmniejsza ryzyko, że podczas audytu dostępności trzeba będzie zmieniać całą paletę barw. Dobrą praktyką jest też zapisanie tych wymogów w design systemie lub w style guide, żeby każdy w zespole (grafik, front-end, product owner) rozumiał, że kontrast to nie „opcja estetyczna”, tylko wymóg dostępności i często także wymóg prawny.

Pytanie 16

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

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Dane 4, 3, 4, 3
B. Liczba wierszy równa 4
C. Suma ocen równa 14
D. Wartość 3.5

Brak odpowiedzi na to pytanie.

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

Pytanie 17

Wymień dwa sposoby na zabezpieczenie bazy danych w Microsoft Access.

A. Określenie hasła do otwarcia bazy danych oraz wprowadzenie zabezpieczeń na poziomie użytkownika
B. Zaszyfrowanie pliku bazy danych oraz wysyłanie SMS-ów z kodem autoryzacyjnym
C. Używanie funkcji anonimowych oraz ustawienie hasła dostępu do bazy danych
D. Wprowadzenie zabezpieczeń na poziomie użytkownika oraz sesji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika to kluczowe aspekty bezpieczeństwa w kontekście zarządzania bazą danych Microsoft Access. Ustalanie hasła do bazy danych jest podstawowym krokiem w ochronie danych przed nieautoryzowanym dostępem. Każda próba otwarcia bazy wymaga podania poprawnego hasła, co znacząco utrudnia dostęp osobom trzecim. Dodatkowo, zabezpieczenia na poziomie użytkownika pozwalają na przypisanie różnych ról i uprawnień do konkretnych użytkowników, co zapewnia, że tylko uprawnione osoby mogą edytować, przeglądać lub usuwać dane. Przykładowo, menedżer bazy danych może zdefiniować użytkowników, którzy mają jedynie dostęp do raportów, podczas gdy inni mogą modyfikować dane. Takie podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, gdzie stosuje się zasady minimalnych uprawnień oraz segmentacji obowiązków, co zwiększa ogólne bezpieczeństwo systemu.

Pytanie 18

Aby przeanalizować rozkład ilościowy różnych kolorów na zdjęciu, jaka metoda powinna być zastosowana?

A. balansu kolorów
B. rozmycia Gaussa
C. desaturacji
D. histogramu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Histogram to narzędzie analityczne, które pozwala wizualizować rozkład kolorów oraz ich intensywność w obrazie. Dzięki histogramowi możemy zidentyfikować, które kolory dominują w danym zdjęciu, co jest kluczowe w procesie edycji graficznej oraz analizy obrazu. Histogram przedstawia liczbę pikseli dla każdego poziomu jasności lub dla poszczególnych kolorów w skali RGB (czerwony, zielony, niebieski). W praktyce, analizując histogram, możemy szybko ocenić, czy zdjęcie jest dobrze naświetlone, czy może występują w nim zbyt ciemne lub zbyt jasne obszary. Przykładowo, w fotografii krajobrazowej, gdy chcemy uzyskać pełne spektrum barw zieleni i niebieskiego nieba, histogram pomoże nam dostosować ekspozycję lub kolory, aby uzyskać pożądany efekt. Standardy branżowe, takie jak Adobe RGB czy sRGB, również opierają się na analizie histogramu, co czyni go niezbędnym narzędziem dla profesjonalnych fotografów oraz grafików.

Pytanie 19

W PHP zmienna $_SERVER zawiera między innymi dane o

A. informacjach związanych z sesjami
B. nazwie ciasteczek zapisanych na serwerze oraz powiązanych z nimi danych
C. adresie IP serwera oraz nazwie protokołu
D. informacjach z formularza przetwarzanego na serwerze

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna superglobalna $_SERVER w PHP gromadzi różnorodne informacje dotyczące bieżącego żądania HTTP oraz środowiska serwera. W szczególności przechowuje dane takie jak adres IP klienta, nazwa protokołu (np. HTTP/1.1), a także inne istotne informacje, takie jak metoda żądania (GET, POST) oraz nagłówki HTTP. Znajomość tych danych jest kluczowa w kontekście programowania aplikacji webowych, ponieważ umożliwia dostosowanie odpowiedzi serwera do specyficznych potrzeb klienta. Przykładowo, można wykorzystać $_SERVER['REMOTE_ADDR'], aby uzyskać adres IP odwiedzającego, co może być istotne w kontekście logowania użytkowników lub analizy ruchu. Ponadto, $_SERVER['SERVER_PROTOCOL'] pozwala na identyfikację używanego protokołu, co jest pomocne przy wdrażaniu funkcji zgodnych z określonymi standardami bezpieczeństwa i wydajności. Praktycznym zastosowaniem tych danych jest implementacja systemów uwierzytelniania lub ograniczanie dostępu na podstawie adresów IP, co wpisuje się w dobre praktyki bezpieczeństwa aplikacji webowych.

Pytanie 20

Podczas przygotowywania grafiki do umieszczenia na stronie internetowej konieczne jest wycięcie tylko pewnego fragmentu. Jak nazywa się ta czynność?

A. zmiana rozmiaru.
B. łączanie warstw.
C. kadrowanie.
D. odwracanie obrazu.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kadrowanie to taka technika, która pomaga nam lepiej uchwycić to, co najważniejsze w obrazie. Wycinając niektóre fragmenty grafiki, skupiamy uwagę na tym, co naprawdę się liczy. Dobrze jest to mieć na uwadze, zwłaszcza przy zdjęciach portretowych, gdzie chcemy, żeby wzrok przyciągała twarz modela, a nie jakieś niepotrzebne tło. Kiedy kadrujemy, warto pamiętać o takich zasadach jak zasada trzecich, bo to pomaga zrobić fajną kompozycję. Można to robić w wielu programach graficznych, jak na przykład Adobe Photoshop czy GIMP. Tak w ogóle, dobrze jest dbać o proporcje i rozdzielczość, żeby obraz nie stracił na jakości. Gadżetem kadrowania można się też posługiwać w projektowaniu stron www, bo odpowiednie wybory graficzne poprawiają estetykę i funkcjonalność strony.

Pytanie 21

Jakie jest zadanie poniższej pętli? ```int x = 0; while (x < 10) { mojeKsiazki[x] = new Ksiazka(); x++; }```

A. stwórzenie jednego obiektu typu mojeKsiazki
B. uzupełnienie tablicy Ksiazka danymi.
C. stworzenie dziesięciu instancji obiektów typu Ksiazka.
D. wyświetlenie danych z tabeli Ksiazka na ekranie.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionej pętli while zmienna x jest inicjowana wartością 0, a następnie w każdej iteracji pętli tworzy nowy obiekt typu Ksiazka, który jest przypisywany do elementu tablicy mojeKsiazki w indeksie x. Pętla kontynuuje działanie, aż x osiągnie wartość 10, co oznacza, że zostaną utworzone obiekty dla indeksów od 0 do 9, co łącznie daje 10 obiektów. Jest to standardowy sposób inicjalizacji tablicy obiektów w języku C#, który pokazuje, jak można dynamicznie tworzyć i przechowywać instancje klas. W praktycznych zastosowaniach, takie podejście jest bardzo użyteczne, gdy potrzebujemy przechować wiele podobnych obiektów, na przykład w aplikacjach do zarządzania danymi, gdzie każde wpisane dane może być reprezentowane przez obiekt. Poprawna alokacja pamięci oraz zarządzanie obiektami są kluczowe w programowaniu obiektowym, a umiejętność skutecznego wykorzystywania pętli do inicjalizacji tablic jest niezbędna dla każdego programisty.

Pytanie 22

Jakie uprawnienia będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł przeszukiwać dane w tabeli klienci.
B. Będzie mógł zmieniać strukturę tabeli klienci.
C. Będzie mógł dodawać rekordy do tabeli klienci.
D. Będzie mógł eliminować rekordy z tabeli klienci.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "Będzie mógł zmienić strukturę tabeli klienci" jest prawidłowa, ponieważ użytkownik jan zyskał pełne uprawnienia do tabeli klienci za pomocą polecenia GRANT ALL PRIVILEGES. Oznacza to, że posiada on wszystkie dostępne uprawnienia w tym zakresie, w tym możliwość modyfikacji struktury tabeli, co obejmuje dodawanie lub usuwanie kolumn, zmienianie typów danych oraz wprowadzanie modyfikacji do indeksów. Jednakże, zastosowane polecenie REVOKE powoduje odebranie wybranych uprawnień, tj. SELECT, INSERT, UPDATE oraz DELETE. W związku z tym, mimo że jan może zmieniać strukturę tabeli, nie ma już możliwości wprowadzania, usuwania ani przeglądania danych. Praktycznie, na przykład, jeżeli jan chciałby dodać nową kolumnę do tabeli klienci, ma taką możliwość, jednak nie będzie mógł dodać nowych rekordów ani ich edytować. To podejście jest zgodne z najlepszymi praktykami zarządzania uprawnieniami w systemach baz danych, gdzie ważne jest precyzyjne określenie, jakie operacje mogą być realizowane przez różnych użytkowników.

Pytanie 23

W instrukcji CREATE TABLE w SQL atrybut wskazujący, która kolumna w tabeli pełni rolę klucza podstawowego, to

A. UNIQUE
B. PRIMARY KEY
C. MAIN KEY
D. IDENTITY FIELD

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'PRIMARY KEY' jest poprawna, ponieważ w poleceniu CREATE TABLE w SQL, klucz podstawowy jest definiowany właśnie za pomocą tego atrybutu. Klucz podstawowy to unikalny identyfikator dla każdej wiersza w tabeli, co oznacza, że wartość w tej kolumnie musi być unikalna i nie może być pusta. Definiowanie klucza podstawowego jest kluczowe dla zapewnienia integralności danych oraz efektywności operacji na bazie danych, ponieważ umożliwia szybkie wyszukiwanie i sortowanie. Na przykład, jeśli tworzysz tabelę 'Użytkownicy', możesz zdefiniować kolumnę 'UserID' jako klucz podstawowy, co zagwarantuje, że każdy użytkownik ma unikalny identyfikator. Warto również pamiętać, że w praktyce, jeśli nie określisz klucza podstawowego, baza danych nie będzie mogła zapewnić unikalności w tabeli, co może prowadzić do problemów z danymi. Zgodnie z dobrymi praktykami, klucz podstawowy powinien być stabilny oraz niezmienny, co oznacza, że nie powinno się go zmieniać po jego utworzeniu.

Pytanie 24

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?

A. ucfirst ('ala ma psa');
B. strtoupper('ala ma psa');
C. strtolower('ala ma psa');
D. strstr ('ala ma psa');

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja strtoupper w PHP jest używana do konwersji wszystkich liter w danym ciągu znaków na wielkie litery. W kontekście modyfikacji tekstu „ala ma psa” na „ALA MA PSA”, zastosowanie funkcji strtoupper('ala ma psa') jest poprawnym podejściem. Funkcja ta jest częścią standardowej biblioteki PHP i jest szeroko stosowana w projektach, gdzie zachowanie wielkich liter jest kluczowe. Przykład użycia funkcji strtoupper jest prosty: wystarczy przekazać do niej ciąg, który ma zostać przekształcony. Przykładem może być zapis: $text = 'ala ma psa'; $uppercaseText = strtoupper($text); echo $uppercaseText; co wygeneruje wynik ALA MA PSA. Warto zauważyć, że funkcja ta nie zmienia oryginalnego ciągu, lecz zwraca nowy ciąg z przekształconymi literami. Zastosowanie funkcji strtoupper jest szczególnie przydatne w aplikacjach webowych, gdzie formatowanie tekstu może być kluczowe dla zapewnienia spójności danych wyjściowych oraz ich estetyki.

Pytanie 25

W kodzie JavaScript aby wywołać okno z polem do wprowadzania danych i przyciskami OK i ANULUJ, należy zastosować metodę

A. message();
B. prompt();
C. alert();
D. confirm();

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa metoda to prompt(). W JavaScripcie właśnie prompt() służy do wyświetlenia okna dialogowego z polem tekstowym, w które użytkownik może coś wpisać, oraz z przyciskami OK i Anuluj. Funkcja zwraca napis (string) wpisany przez użytkownika albo null, jeśli użytkownik kliknie Anuluj lub zamknie okno. Typowe użycie wygląda tak: const imie = prompt("Podaj swoje imię:"); if (imie !== null) { console.log("Witaj, " + imie); } Z mojego doświadczenia prompt() jest fajne do szybkich testów, prostych przykładów na lekcji, czy małych zadań domowych, bo nie trzeba tworzyć formularza w HTML. Jednak w profesjonalnych aplikacjach webowych raczej się go unika, bo to okno blokuje działanie całej strony (tzw. modalne, synchroniczne okno dialogowe) i wygląda różnie w zależności od przeglądarki. Zgodnie z dobrymi praktykami UI/UX lepiej budować własne okna dialogowe w HTML/CSS/JS, które są spójne z wyglądem strony. Warto też wiedzieć, że prompt() zawsze zwraca tekst, więc jeśli potrzebujesz liczby, trzeba ją przekonwertować, np. Number(prompt("Podaj wiek:")) albo parseInt(). No i trzeba pamiętać o obsłudze sytuacji, gdy użytkownik kliknie Anuluj – wtedy dostajesz null i dobrze jest to sprawdzić, zanim zaczniesz coś liczyć. Podsumowując: jeśli w pytaniu jest mowa o oknie z polem do wprowadzania danych oraz przyciskami OK i ANULUJ – klasyczne okienko przeglądarki – to w JavaScripcie odpowiada za to właśnie metoda prompt().

Pytanie 26

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
B. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, którą wybrałeś, jest jak najbardziej trafna. Kwerenda UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL rzeczywiście aktualizuje pole dataPlatnosci w tabeli faktur, ale tylko wtedy, gdy jest ono puste. Super, że korzystasz z CURDATE(), bo to daje nam bieżącą datę. W SQL ważne jest, żeby nie tracić czasu na aktualizowanie wierszy, które już mają datę. Dobrze widzieć, że zastosowałeś IS NULL, bo to pozwala uniknąć kłopotów z porównywaniem dat i wydobywaniem takich wartości jak '0000-00-00', co na pewno by namieszało z interpretacją. Twoje podejście jest zgodne z tym, co powinno być w bazach danych – minimalizowanie zbędnych danych i dbanie o ich spójność. Z mojego doświadczenia, zawsze lepiej korzystać z funkcji datowych, bo to pozwala mieć pewność, że wprowadzane wartości są aktualne i pasują do reszty aplikacji.

Pytanie 27

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) || (a<1000)) && (b<0)
B. ((a>99) || (a<1000)) || (b<0)
C. ((a>99) && (a<1000)) || (b<0)
D. ((a>99) && (a<1000)) && (b<0)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź ((a>99) && (a<1000)) || (b<0) jest prawidłowa, ponieważ warunek ten skutecznie sprawdza, czy dowolna naturalna liczba a jest trzycyfrowa lub czy dowolna całkowita liczba b jest ujemna. Część wyrażenia (a>99) && (a<1000) weryfikuje, czy liczba a jest w przedziale od 100 do 999, co definiuje liczby trzycyfrowe. Z kolei druga część (b<0) sprawdza, czy liczba b jest mniejsza od zera. Całość połączona jest operatorem OR (||), co oznacza, że wystarczy spełnienie jednego z tych warunków, aby cały warunek był spełniony. W praktyce, takie wyrażenia są powszechnie stosowane w programowaniu, szczególnie w formularzach walidacyjnych, gdzie ważne jest, aby dane wprowadzone przez użytkowników spełniały określone kryteria. Dobrą praktyką jest dbałość o czytelność kodu i stosowanie odpowiednich nazw zmiennych, co ułatwia zrozumienie logiki działania aplikacji. Warto również pamiętać o testowaniu różnych przypadków, aby upewnić się, że warunki działają zgodnie z zamierzeniami, co jest kluczowe w zapewnieniu wysokiej jakości oprogramowania.

Pytanie 28

Jak określa się podzbiór strukturalnego języka zapytań, który dotyczy formułowania zapytań do bazy danych przy użyciu polecenia SELECT?

A. SQL DCL (ang. Data Control Language)
B. SQL DML (ang. Data Manipulation Language)
C. SQL DQL (ang. Data Query Language)
D. SQL DDL (ang. Data Definition Language)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
SQL DQL, czyli Data Query Language, to podzbiór języka SQL, który służy do formułowania zapytań do baz danych. Jego główną funkcją jest umożliwienie użytkownikom pobierania danych z tabel w bazie danych przy użyciu polecenia SELECT. Dzięki DQL możliwe jest nie tylko wybieranie konkretnych danych, ale również ich filtrowanie, sortowanie oraz agregowanie. Przykładowo, zapytanie SELECT * FROM pracownicy WHERE dział='IT' zwraca wszystkie dane pracowników z działu IT. DQL jest kluczowym elementem w pracy z bazami danych, ponieważ pozwala na wykorzystanie danych w aplikacjach i systemach informatycznych. Wiedza o DQL jest niezbędna dla każdego, kto zajmuje się analizą danych oraz ich przetwarzaniem. Dobrze skonstruowane zapytania DQL mogą znacznie poprawić wydajność systemów bazodanowych, dlatego warto stosować najlepsze praktyki, takie jak optymalizacja zapytań oraz używanie indeksów, aby zminimalizować czas odpowiedzi i obciążenie serwera.

Pytanie 29

W MS SQL Server komenda RESTORE DATABASE jest używana do

A. usunięcia bazy danych z serwera centralnego subskrybenta
B. przywrócenia bazy danych z kopii zapasowej
C. zaktualizowania bazy danych z weryfikacją więzów integralności
D. rekonstrukcji bazy danych na podstawie danych buforowanych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie RESTORE DATABASE w MS SQL Server jest kluczowe dla procesu zarządzania danymi, gdyż umożliwia odtworzenie bazy danych z wcześniej wykonanej kopii bezpieczeństwa. To fundamentalne działanie zabezpiecza przed utratą danych i zapewnia ciągłość działania aplikacji. W praktyce, gdy następuje awaria systemu lub dane zostały usunięte przez pomyłkę, administratorzy baz danych korzystają z tego polecenia, aby przywrócić bazę do stanu sprzed zdarzenia. W kontekście dobrych praktyk branżowych, regularne tworzenie kopii zapasowych oraz ich właściwe zarządzanie są kluczowe. Warto także zaznaczyć, że przywracanie bazy danych może być realizowane z pełnych kopii, a także z kopii różnicowych i przyrostowych, co daje elastyczność w zarządzaniu danymi. Ponadto, w przypadku dużych baz danych, techniki takie jak 'Point-in-Time Recovery' pozwalają na przywrócenie bazy do precyzyjnego momentu, co jest nieocenione w sytuacjach kryzysowych.

Pytanie 30

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
B. kolejne liczby od 0 do x-1
C. kolejne liczby od x do 0
D. losowe liczby z przedziału (0, x)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwa odpowiedź sugeruje, że kod PHP wyświetla liczby naturalne od 0 do x-1. Przez inicjalizację zmiennej $licznik wartością 0 i stopniowe zwiększanie jej wartości o 1 w każdej iteracji pętli while, aż do osiągnięcia wartości $x, proces ten jest realizowany. Jest to typowy przykład użycia pętli while w programowaniu, gdzie chcemy wykonać dane działanie wielokrotnie, zazwyczaj do momentu, gdy spełniony jest określony warunek. Zastosowanie takiego podejścia jest powszechne nie tylko w PHP, ale w większości języków programowania. W tym konkretnym przypadku, zastosowanie pętli while pozwala na efektywne wygenerowanie liczby naturalnej w określonym zakresie, co jest często potrzebne w różnych algorytmach czy operacjach matematycznych.

Pytanie 31

Czynnością polegającą na przetwarzaniu grafiki rastrowej na wektorową jest

A. kadrowanie.
B. rasteryzacja.
C. skalowanie.
D. wektoryzacja.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to wektoryzacja, bo właśnie tak nazywa się proces zamiany obrazu rastrowego (zbudowanego z pikseli) na grafikę wektorową (opartą na krzywych, liniach i figurach matematycznych). W grafice komputerowej to dość kluczowe pojęcie. Obraz rastrowy, np. JPG z aparatu czy PNG z internetu, ma określoną rozdzielczość i po mocnym powiększeniu zaczyna się „pixeloza”. Natomiast grafika wektorowa (SVG, AI, EPS, CDR) jest opisana matematycznie, więc można ją skalować praktycznie bez utraty jakości. Wektoryzacja polega na analizie kształtów w obrazie rastrowym i zamianie ich na obiekty wektorowe: ścieżki, krzywe Béziera, wielokąty. Może być ręczna (rysujemy po śladzie w programie typu Adobe Illustrator, CorelDRAW, Inkscape) albo automatyczna, np. funkcją „Image Trace” czy „Przekształć na krzywe”. W praktyce używa się tego np. gdy klient przynosi rozmazane logo w JPG, a drukarnia potrzebuje pliku wektorowego do druku wielkoformatowego, grawerowania laserem czy wycinania ploterem. Z mojego doświadczenia wektoryzacja jest też ważna przy projektowaniu ikon, piktogramów, infografik na strony WWW – zapis w SVG jest lekki, dobrze się skaluje na różne ekrany i jest zgodny z dobrymi praktykami front-endu. Warto pamiętać, że wektoryzacja nie „magicznie” poprawia jakości zdjęcia, tylko zamienia je w inny typ reprezentacji, najlepiej sprawdza się przy prostych kształtach, logotypach, rysunkach technicznych, nie przy skomplikowanych fotografiach.

Pytanie 32

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

A. O(n)
B. O(n3)
C. O(n!)
D. O(n2)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 33

Do jakiego celu służy polecenie mysqldump?

A. optymalizacji bazy
B. naprawy niespójnej bazy
C. sprawdzenia integralności bazy
D. stworzenia kopii zapasowej bazy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie mysqldump jest narzędziem używanym w systemach zarządzania bazami danych MySQL i MariaDB, które pozwala na tworzenie kopii zapasowych baz danych. Główna funkcjonalność mysqldump polega na eksportowaniu danych oraz struktury bazy danych do pliku tekstowego w formacie SQL. Taki plik może być później użyty do przywrócenia bazy danych w przypadku awarii lub utraty danych. Przykładowo, administratorzy baz danych często wykorzystują mysqldump do tworzenia regularnych kopii zapasowych przed wprowadzeniem istotnych zmian w strukturze bazy lub przed aktualizacją systemu. Stosowanie mysqldump w praktyce jest zgodne z najlepszymi praktykami zarządzania danymi, które podkreślają znaczenie regularnego tworzenia kopii zapasowych jako strategii ochrony danych. Warto również pamiętać, że mysqldump ma różne opcje, które umożliwiają dostosowanie procesu tworzenia kopii zapasowej, takie jak wybór konkretnych tabel, pomijanie danych lub dodanie opcji kompresji, co zwiększa elastyczność i efektywność tego narzędzia.

Pytanie 34

Jakie właściwości stylu CSS poprawnie definiują dla akapitu czcionkę: Arial; jej wielkość: 16 pt; oraz styl czcionki: kursywa?

A. p {font-style: Arial; font-size: 16pt; font-variant: normal;}
B. p {font-family: Arial; font-size: 16px; font-variant: normal;}
C. p {font-family: Arial; font-size: 16pt; font-style: italic;}
D. p {font-style: Arial; size: 16px; font-weight: normal;}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź p {font-family: Arial; font-size: 16pt; font-style: italic;} jest poprawna, ponieważ zawiera wszystkie istotne właściwości, które definiują krój, rozmiar oraz styl czcionki dla akapitu. Właściwość font-family definiuje krój czcionki, w tym przypadku Arial, co jest zgodne z wymaganiami. Właściwość font-size ustawia rozmiar czcionki na 16 punktów (pt), co jest standardowym sposobem definiowania wielkości czcionki w kontekście typografii. Ponadto właściwość font-style została poprawnie użyta do określenia stylu pochylenia czcionki, co w CSS jest reprezentowane przez wartość italic. Te właściwości są zgodne z dobrymi praktykami w CSS, które zalecają precyzyjne definiowanie czcionek, aby zapewnić spójność w prezentacji tekstu. Przykładowo, stosując ten styl w dokumencie HTML, uzyskasz wyraźnie wyodrębniony akapit, który będzie atrakcyjny wizualnie i czytelny. Zastosowanie odpowiednich jednostek, takich jak pt dla rozmiaru czcionki, jest również istotne dla zapewnienia odpowiedniej skalowalności na różnych urządzeniach.

Pytanie 35

W języku JavaScript stworzono funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Jak powinno wyglądać prawidłowe wywołanie tej funkcji oraz uzyskanie jej wyniku?

A. var wynik=liczba_max(a,b,c);
B. liczba_max(a,b,c,wynik);
C. liczba_max(a,b,c)=wynik;
D. liczba_max(a,b,c);

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "var wynik=liczba_max(a,b,c);" jest poprawna, ponieważ w ten sposób prawidłowo wywołujemy funkcję liczba_max, przekazując do niej trzy argumenty: a, b oraz c. Funkcja ta ma na celu zwrócenie maksymalnej wartości z przekazanych liczb, więc przypisanie jej wyniku do zmiennej wynik jest logicznym krokiem. W języku JavaScript, operator przypisania (=) pozwala na zdefiniowanie zmiennych, co w tym przypadku oznacza, że zmienna wynik będzie zawierać wartość zwróconą przez funkcję. Wartością tą jest największa liczba spośród a, b i c. Zastosowanie takiego podejścia jest zgodne z koncepcją programowania funkcjonalnego, gdzie funkcje są traktowane jako „pierwszej klasy obywateli”, co oznacza, że można je przypisywać do zmiennych. Dobrą praktyką w programowaniu jest również używanie czytelnych nazw zmiennych oraz funkcji, co ułatwia zrozumienie kodu przez inne osoby. Dodatkowo, warto zwrócić uwagę na typy danych przekazywanych do funkcji, aby uniknąć nieprzewidzianych błędów podczas obliczeń.

Pytanie 36

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

Ilustracja do pytania
A. 192.168.0.1:3306
B. 127.0.0.1:70
C. localhost:80
D. htdocs

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 37

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. formularz
B. zestawienie
C. raport
D. zapytanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 38

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 10 15 20 25 30 35 40 45
B. 0 5 10 15 20 25 30 35 40 45 50
C. 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to 10 15 20 25 30 35 40 45 ponieważ pętla while w języku PHP działa na zasadzie sprawdzania warunku przed każdą iteracją. W tym przypadku zmienna $liczba jest inicjalizowana wartością 10 a warunek w pętli sprawdza czy $liczba jest mniejsza niż 50. Wartość zmiennej jest wypisywana i następnie zwiększana o 5 w każdym kroku iteracyjnym. Pętla zakończy się gdy $liczba osiągnie wartość 50 lub większą. Dlatego ostatnią wypisaną wartością będzie 45 gdyż po dodaniu 5 zmienna $liczba wyniesie 50 i przestanie spełniać warunek pętli. Takie konstrukcje pętli są powszechne w programowaniu szczególnie gdy mamy do czynienia z iteracją po stałych przedziałach liczbowych. Stosowanie pętli while jest zalecane w przypadku gdy liczba iteracji nie jest z góry znana a jedynie zależy od spełnienia określonego warunku. Ważne jest by pamiętać o możliwości nieskończonej pętli jeśli warunek nigdy nie zostanie spełniony co może prowadzić do błędów wykonania programu. Praktycznym zastosowaniem takiej pętli jest iteracja po zbiorze danych którego rozmiar zależy od zewnętrznych czynników np danych wejściowych od użytkownika lub zawartości pliku.

Pytanie 39

Przedstawiona jest tabela pracownicy, w której umieszczono rekordy widoczne obok. Jaką wartość zwróci wykonanie umieszczonej w ramce kwerendy SQL?

SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. 2600
B. 1300
C. 2200
D. 5400

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwerenda SQL SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000; służy do znalezienia maksymalnej wartości w kolumnie pensja z rekordów spełniających warunek pensja mniejsza niż 3000. Przeszukując tabelę pracownicy widzimy że wartości spełniające ten warunek to 1300 2600 i 2200. Najwyższą z tych wartości jest 2600 co czyni tę odpowiedź poprawną. Zrozumienie tego typu kwerend SQL jest kluczowe w pracy z bazami danych ponieważ pozwala na wyciąganie konkretnych informacji z dużych zbiorów danych. W praktyce takie zapytania mogą być używane do analizowania danych pracowniczych w firmach gdzie na przykład chcemy zidentyfikować pracowników z wynagrodzeniem poniżej określonego progu. Jest to zgodne z dobrymi praktykami w branży gdzie używa się agregacji danych do celów analitycznych. Zrozumienie jak działa funkcja MAX() w połączeniu z klauzulą WHERE umożliwia efektywne filtrowanie i przetwarzanie danych co jest niezbędne w wielu aplikacjach biznesowych.

Pytanie 40

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

A. zalogować się do kopii zapasowej
B. odczytać komunikaty generowane podczas tworzenia kopii
C. zrealizować pełną kopię zapasową
D. wykonać kopię zapasową dziennika transakcyjnego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie BACKUP LOG w MS SQL Server służy do wykonywania kopii zapasowej dziennika transakcyjnego, co jest kluczowe dla zapewnienia integralności danych w bazach danych transakcyjnych. Dziennik transakcyjny rejestruje wszystkie zmiany dokonane w bazie, co pozwala na odtworzenie stanu bazy na dany moment oraz na przywrócenie bazy do stanu sprzed awarii. Wykonując kopię zapasową dziennika transakcyjnego, użytkownicy mogą minimalizować ryzyko utraty danych, ponieważ pozwala to na przywrócenie bazy do najnowszego stanu przed wystąpieniem awarii. W praktyce, regularne tworzenie takich kopii jest częścią polityki backupu, która powinna być dostosowana do potrzeb organizacji oraz do intensywności operacji na bazie danych. Ustalając harmonogram kopii zapasowych, należy także brać pod uwagę obciążenie bazy danych oraz wymagania dotyczące RPO (Recovery Point Objective) i RTO (Recovery Time Objective). Według najlepszych praktyk, zaleca się wykonywanie kopii zapasowych dziennika transakcyjnego przynajmniej co kilka godzin, a w środowisku o wysokiej dostępności – nawet co kilka minut.