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: 9 czerwca 2026 07:57
  • Data zakończenia: 9 czerwca 2026 08:11

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

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

Przedstawiona linia kreskowa w stylu obramowania CSS jest określona własnością

Ilustracja do pytania
A. double
B. doted
C. dashed
D. solid
Dobrze zrozumiałeś temat. Linia kreskowa w stylu CSS jest określana właściwością 'dashed'. Jest to jedna z kilku wartości, które można przypisać właściwości 'border-style' w języku CSS, aby manipulować wyglądem obramowania elementu. Stosowanie różnych styli linii pozwala na tworzenie bardziej skomplikowanych i estetycznie przyjemnych projektów. Na przykład, styl 'dashed' może być używany do zaznaczania linków lub przycisków, aby zwrócić uwagę użytkownika. Ważne jest jednak, aby zawsze pamiętać o utrzymaniu konsekwencji w projektowaniu stron internetowych. Dobre praktyki zalecają, aby wybierać styl obramowania, który najlepiej pasuje do ogólnego stylu strony. Podsumowując, właściwość 'border-style' jest kluczowym narzędziem w projektowaniu stron internetowych.

Pytanie 2

Elementarna animacja może być zapisana w formacie

A. PSD
B. BMP
C. TIFF
D. GIF
Format GIF (Graphics Interchange Format) jest powszechnie stosowany do tworzenia prostych animacji ze względu na swoją zdolność do kompresji obrazów i obsługi przez większość przeglądarek internetowych. GIF pozwala na zapisanie sekwencji obrazów w jednej pliku, co umożliwia ich wyświetlanie jako animacji. Standard GIF obsługuje maksymalnie 256 kolorów z palety, co czyni go idealnym do prostych grafik, takich jak ikony czy animacje internetowe. Dzięki metodzie kompresji Lempel-Ziv-Welch (LZW) możliwe jest zmniejszenie rozmiaru pliku bez utraty jakości, co jest kluczowe w kontekście transferu danych przez sieć. Przykłady zastosowania formatu GIF obejmują animowane banery reklamowe, emotikony oraz krótkie klipy wideo w formie GIF, które stały się popularne na platformach społecznościowych. Ponadto GIF wspiera przezroczystość i animacje w cyklu, co podnosi jego użyteczność w wielu aplikacjach multimedialnych. Z tego powodu GIF jest formatem, który oferuje zarówno funkcjonalność, jak i kompatybilność, co czyni go najlepszym wyborem dla prostych animacji.

Pytanie 3

W kodzie HTML 5, w celu walidacji wartości pola <input type="text"> za pomocą wyrażenia regularnego, należy użyć atrybutu

A. readonly
B. pattern
C. step
D. value
W tym pytaniu chodzi o konkretny mechanizm walidacji wbudowany w HTML5, a nie o ogólne właściwości pól formularza. Walidacja za pomocą wyrażeń regularnych jest w standardzie przypisana do jednego, ściśle określonego atrybutu – właśnie pattern. Inne atrybuty z listy pełnią zupełnie inne role i ich mylenie to dość typowy błąd przy nauce formularzy.

Atrybut step jest używany do określania „kroku” dla wartości liczbowych lub dat, np. w input type="number" czy type="date". Pozwala zdefiniować, o ile ma się zwiększać lub zmniejszać wartość przy użyciu strzałek lub walidować, czy liczba jest wielokrotnością danego kroku. Przykład: step="0.5" przy liczbie zmiennoprzecinkowej. Nie ma on żadnego związku z wyrażeniami regularnymi ani ze zwykłym tekstem w type="text".

value z kolei to po prostu wartość pola – początkowa (domyślna) lub aktualna, odczytywana i modyfikowana przez JavaScript lub wysyłana w formularzu. Ustawienie value nie waliduje danych, tylko je definiuje. Można wprawdzie ręcznie sprawdzać value w JS i dopasowywać je do regexa, ale to już logika skryptu, a nie działanie samego atrybutu w HTML. To pewnie częsty skrót myślowy: „wartość pola” vs. „sprawdzenie wartości pola”, ale przeglądarka sama z siebie nie waliduje na podstawie samego value.

readonly natomiast blokuje możliwość edycji pola przez użytkownika, ale nadal wysyła jego wartość z formularzem. To przydatne, gdy chcemy coś pokazać, ale nie pozwolić na zmianę, np. wygenerowany identyfikator. Nie ma tu żadnej analizy treści, żadnego dopasowywania do wzorca – po prostu pole jest nieedytowalne. Czasem ktoś myśli: „skoro nie można tego zmienić, to jakby jest bezpieczne i zwalidowane”, ale to już bardziej kwestia logiki aplikacji, a nie mechanizmu walidacji.

Mechanizm HTML5 do regexów jest jeden: pattern. Warto go łączyć z innymi atrybutami walidacyjnymi, jak required, minlength, maxlength, type, ale to właśnie pattern odpowiada za dopasowanie tekstu do określonego wzorca. Wszystko inne z tej listy pełni pomocnicze lub zupełnie inne funkcje i nie zastępuje typowej walidacji opartej o wyrażenia regularne.

Pytanie 4

Aby na stronie internetowej wyświetlić logo, którego tło jest przezroczyste, należy zastosować format

A. BMP
B. JPG
C. CDR
D. PNG
Poprawnie – w przypadku logo z przezroczystym tłem na stronach WWW standardem jest format PNG. Ten format obsługuje tzw. kanał alfa, czyli dodatkową informację o przezroczystości każdego piksela. Dzięki temu możesz mieć np. białe logo, które „leży” na kolorowym lub zdjęciowym tle strony i nie ma wokół niego brzydkiego kwadratowego prostokąta. W praktyce wygląda to tak: projektant zapisuje logo z wyciętym tłem (bez tła lub z częściową przezroczystością), eksportuje je do PNG i potem w HTML wstawiasz `<img src="logo.png" alt="Logo">`. Przeglądarka sama poprawnie wyrenderuje przezroczystość.
Moim zdaniem PNG to taki złoty środek dla elementów interfejsu: logo, ikony, przyciski. Format ten stosuje bezstratną kompresję, więc ostre krawędzie, tekst i cienkie linie wyglądają dużo lepiej niż w JPG. Przy logo ma to ogromne znaczenie, bo rozmazane logo firmy wygląda po prostu nieprofesjonalnie. Dodatkowo PNG jest wspierany przez wszystkie współczesne przeglądarki i systemy, więc nie trzeba kombinować z żadnymi dodatkowymi wtyczkami.
W odróżnieniu od JPG, PNG nie generuje artefaktów kompresji wokół krawędzi, co jest kluczowe przy płaskiej grafice, typografii i ikonografii. Z mojego doświadczenia w projektach webowych przyjmuje się prostą zasadę: zdjęcia – JPG (lub nowoczesne formaty typu WebP/AVIF), grafika z przezroczystością i ostre elementy UI – PNG lub SVG. Dla logo rastrowego PNG z przezroczystym tłem to po prostu dobra praktyka branżowa i bezpieczny wybór, jeśli nie korzystasz z wektorowego SVG.

Pytanie 5

Dostępna jest tabela z danymi o mieszkaniach, zawierająca kolumny: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. Wszystkie informacje poza adresem tych mieszkań, które mają więcej niż 3 pokoje
B. Metraż oraz koszt tych mieszkań, które mają więcej niż 3 pokoje
C. Metraż oraz koszt tych mieszkań, które mają przynajmniej 3 pokoje
D. Wszystkie informacje o tych mieszkaniach, które mają minimum 3 pokoje
W tym zapytaniu SQL chodzi o to, żeby ściągnąć konkretne dane z tabeli mieszkania. Używamy klauzuli SELECT, dlatego wybieramy tylko te kolumny, które nas interesują, czyli metraż i cena. I to wszystko bierzemy z tabeli mieszkania, co mamy w klauzuli FROM. Jeszcze dodajemy filtr WHERE, który mówi, że bierzemy tylko te mieszkania, które mają więcej niż trzy pokoje. To naprawdę dobra strategia, bo dzięki temu dokładnie widzimy, co nas interesuje. Takie zapytanie przydaje się w analizach rynku nieruchomości, bo można porównywać ceny mieszkań z większą ilością pokoi. Ogólnie mówiąc, SQL jest super narzędziem do pracy z danymi, bo pozwala nam szybko i efektywnie wyciągać to, co jest dla nas ważne. Wiedza na temat takich zapytań to podstawa, zwłaszcza w pracy z dużymi bazami danych i generowaniu różnych raportów.

Pytanie 6

Na ilustracji przedstawiono schemat rozmieszczenia elementów na stronie WWW. W której z jej sekcji zazwyczaj znajduje się stopka strony?

Ilustracja do pytania
A. 2
B. 1
C. 4
D. 5
Odpowiedź 5 jest poprawna ponieważ w standardach projektowania stron internetowych stopka strony zazwyczaj znajduje się na dole każdej podstrony. Stopka to miejsce gdzie umieszczane są informacje takie jak prawa autorskie prywatność i linki do kontaktu. Dobrze zaprojektowana stopka może także zawierać skróty nawigacyjne które pomagają użytkownikowi szybko przemieszczać się po stronie. W praktyce projektanci stron WWW stosują podejście oparte na responsywnym designie co oznacza że stopka powinna być łatwo dostępna i czytelna na różnych urządzeniach. Wykorzystanie CSS Grid lub Flexbox pozwala na elastyczne zarządzanie układem strony co jest szczególnie przydatne przy projektowaniu stopki. Ponadto stopki są elementami które odpowiadają za spójność wizualną całej strony internetowej zapewniając użytkownikowi intuicyjne doświadczenie. Umieszczanie stopki w dolnej części strony jest zgodne z oczekiwaniami użytkowników co zwiększa użyteczność serwisu i pozytywnie wpływa na jego odbiór. Praktyczne zastosowanie tego podejścia można zauważyć na wielu profesjonalnych stronach gdzie stopka jest wyraźnie oddzielona i przejrzysta co ułatwia użytkownikowi odnalezienie potrzebnych informacji.

Pytanie 7

Kod       SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje wybranie

A. imion, nazwisk i numerów PESEL osób młodszych niż 18 lat
B. imion, numerów PESEL oraz wieku osób w przedziale 18 do 30 lat
C. imion, numerów PESEL oraz wieku ludzi mających ponad 30 lat
D. imion, numerów PESEL i wieku osób, które mają 18 lub 30 lat
Pierwsza odpowiedź, która wskazuje na osoby poniżej 18 lat, jest błędna. To zapytanie SQL nie ma na celu wybrania młodszych; przecież filtruje tych, którzy mają 18 lub 30 lat. Co do drugiej odpowiedzi, to sugeruje, jakoby zapytanie wybierało osoby w przedziale od 18 do 30, co też jest pomyłką. Operator IN wskazuje konkretne liczby, a nie przedzial, dlatego w tym przypadku wiek pośredni nie ma miejsca. Trzecia odpowiedź, dotycząca osób powyżej 30 lat, kompletnie nie pasuje, bo nie dotyczy tego, co jest w zapytaniu. Właściwie to nie ma związku między tą składnią SQL a osobami, które mają więcej niż 30 lat. Każda z tych odpowiedzi wynika z niepoprawnego zrozumienia, jakie jest intencja zapytania, które jasno wybiera osoby tylko w dwóch podanych przedziałach. Myślę, że ważne jest, żeby dobrze rozumieć, jak działają operatory w SQL, żeby unikać takich pomyłek i nieporozumień.

Pytanie 8

W języku C do reprezentowania liczb zmiennoprzecinkowych używa się typu:

A.
int
B.
double
C.
char
D.
bool
Liczby zmiennoprzecinkowe (z częścią ułamkową) reprezentuje w języku C typ double - oferuje on podwójną precyzję, czyli więcej cyfr znaczących niż float. Oba przechowują liczby rzeczywiste, np. 3.14 czy 2.5e-3, lecz double jest dokładniejszy i częściej domyślny dla literałów z kropką. Dla porównania int trzyma liczby całkowite, więc utraciłby część ułamkową. Dlatego do liczb zmiennoprzecinkowych w C służy typ double.

Pytanie 9

Który znacznik służy do budowania hierarchii (struktury) tekstu nagłówkami?

A.
<h6>
B.
<style>
C.
<head>
D.
<u>
Hierarchię tekstu buduje się nagłówkami <h1> do <h6> - od najważniejszego do najmniej ważnego. <h6> to nagłówek najniższego poziomu, ale wciąż element tej struktury. Dlatego do hierarchii nagłówków należy <h6>.

Pytanie 10

Funkcja agregująca AVG wykorzystana w zapytaniu

SELECT AVG(cena) FROM uslugi;
ma na celu
A. wyliczenie średniej arytmetycznej cen wszystkich usług
B. znalezienie najwyższej ceny za usługi
C. obliczenie liczby dostępnych usług w tabeli
D. zsumowanie wszystkich kosztów usług
Funkcja agregująca AVG w języku SQL oblicza średnią arytmetyczną wartości w określonej kolumnie, w tym przypadku w kolumnie 'cena' tabeli 'uslugi'. W kontekście baz danych, obliczanie średniej jest kluczowym narzędziem analitycznym, które pozwala na uzyskanie ogólnego obrazu wartości danej kolumny. W praktyce, analiza średnich cen usług może być użyteczna dla menedżerów chcących dostosować strategię cenową lub dla działów finansowych oceniających wydajność sprzedaży. Przykładowo, jeżeli średnia cena usług wynosi 100 zł, a kolejny miesiąc przynosi spadek do 80 zł, jest to sygnał do analizy powodów obniżenia przychodów. Stosowanie funkcji AVG jest zgodne z najlepszymi praktykami w zakresie analizy danych, gdyż pozwala na podejmowanie decyzji opartych na faktach i liczbach. Warto również zauważyć, że do obliczeń średnich często używa się danych z różnych grup, co może pomóc w zrozumieniu trendów oraz wzorców w zachowaniach klientów na rynku.

Pytanie 11

Jak ustawić tło body obrazem rys.png, powtarzanym TYLKO w poziomie?

A.
background-image: url("rys.png"); background-repeat: repeat-y;
B.
background-image: url("rys.png"); background-repeat: round;
C.
background-image: url("rys.png"); background-repeat: repeat;
D.
background-image: url("rys.png"); background-repeat: repeat-x;
Pozostałe wartości robią co innego. repeat powiela obraz w obu kierunkach (kafelki), repeat-y tylko w pionie, a round skaluje i dopasowuje liczbę powtórzeń. Powtarzanie wyłącznie w poziomie daje repeat-x.

Pytanie 12

W tabeli zadania znajduje się pole tekstowe status. Jakie zapytanie należy użyć, aby usunąć te zadania, które mają status 'zamknięte'?

A. TRUNCATE TABLE zadania;
B. DELETE FROM zadania WHERE status = 'zamknięte';
C. DELETE FROM zadania;
D. TRUNCATE TABLE zadania WHERE status = 'zamknięte';
Odpowiedź DELETE FROM zadania WHERE status = 'zamknięte' jest poprawna, ponieważ wykorzystuje standardową składnię SQL do usuwania rekordów z tabeli na podstawie zadanych warunków. W tym przypadku, kwerenda ta usuwa tylko te wiersze, które mają wartość 'zamknięte' w polu status. Jest to podejście zgodne z dobrymi praktykami, ponieważ pozwala na precyzyjne określenie, które dane mają zostać usunięte, co minimalizuje ryzyko przypadkowego usunięcia innych rekordów. Na przykład, w systemie zarządzania projektami, możemy mieć wiele zadań z różnymi statusami, takimi jak 'otwarte', 'w trakcie', czy 'zamknięte'. Użycie tej kwerendy pozwala na oczyszczenie bazy danych z nieaktualnych zadań, co jest kluczowe dla utrzymania porządku i efektywności w zarządzaniu projektami. Ponadto, stosując tę metodę, możemy w przyszłości łatwo modyfikować warunki usuwania, na przykład zmieniając status na 'wstrzymane', zachowując elastyczność w zarządzaniu danymi.

Pytanie 13

Jakie dane zostaną wybrane po wykonaniu poniższej kwerendy na pokazanych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";

idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Brak danych
B. Pole id równe 7 oraz 8
C. Wszystkie id
D. Tylko id równe 8
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL SELECT id FROM samochody WHERE rocznik LIKE '2_4'; filtruje rekordy, które mają w kolumnie rocznik wartość z drugą cyfrą równą '2' i czwartą cyfrą równą '4'. W złożonym zapytaniu SQL zastosowano operator LIKE z użyciem symbolu podkreślenia (_) jako symbolu zastępczego dla pojedynczego znaku. To oznacza, że szukamy dowolnego roku, który zaczyna się od cyfry '2', ma dowolną cyfrę na drugiej pozycji i cyfrę '4' na ostatniej pozycji. Praktycznie oznacza to, że wybierane są identyfikatory pojazdów, które mają rocznik odpowiadający temu wzorcowi. W dostarczonym zbiorze danych tylko rekordy o id 7 i 8 spełniają ten warunek, ponieważ rocznik to 2014 i 2004. Tego rodzaju konstrukcja SQL jest użyteczna w sytuacjach, gdy potrzebujemy selektywnie uzyskać dane na podstawie wzorców. Operator LIKE jest bardzo efektywny w analizie danych tekstowych w bazach danych np. w raportach analitycznych gdzie kluczowe jest wyszukiwanie na podstawie wzorców. Warto zaznaczyć, że takie podejście jest zgodne ze standardami SQL, ułatwiającymi zarządzanie i filtrowanie danych w złożonych systemach bazodanowych.

Pytanie 14

Walidator HTML5 zgłosił: „Error: Element head is missing a required instance of child element title”. Co to oznacza?

A. że element <title> nie jest wymagany
B. że <title> nie został zamknięty </title>
C. że w <head> nie zdefiniowano elementu <title>
D. że brakuje atrybutu title w <img>
Komunikat „Element head is missing a required instance of child element title” znaczy, że w sekcji <head> nie umieszczono wymaganego znacznika <title>. Walidator wymaga tytułu w każdym dokumencie. Dlatego oznacza brak <title> w <head>.

Pytanie 15

Jak nazywa się technika sortowania, która polega na podziale zbioru na n przedziałów o równej długości, gdzie przeprowadza się sortowanie, a następnie analizuje i prezentuje posortowane elementy z tych przedziałów?

A. Sortowanie szybkie
B. Sortowanie kubełkowe
C. Sortowanie bąbelkowe
D. Sortowanie przez wybór
Sortowanie kubełkowe (ang. bucket sort) jest metodą, która dzieli dane na kilka przedziałów, zwanych kubełkami, w którym następnie dokonuje się sortowania elementów. W praktyce, dane są przypisywane do kubełków na podstawie ich wartości, co umożliwia efektywne sortowanie mniejszych zbiorów. Po posortowaniu elementów w każdym kubełku, następuje ich scalanie w jeden, posortowany zbiór. Metoda ta jest szczególnie efektywna dla danych, które są równomiernie rozłożone w ograniczonym zakresie wartości. Przykładem zastosowania sortowania kubełkowego może być sortowanie wyników testów w szkołach, gdzie wyniki są klasyfikowane w poszczególnych kubełkach odpowiadających przedziałom ocen. Takie podejście przyspiesza proces sortowania, zwłaszcza w przypadku dużych zbiorów danych, i jest zgodne z zasadami optymalizacji algorytmów, pozwala na wykorzystanie równoległego przetwarzania. W standardach branżowych sortowanie kubełkowe jest często polecane w kontekście przetwarzania danych w systemach baz danych oraz w algorytmach obliczeniowych, gdzie czas realizacji operacji sortujących jest krytyczny.

Pytanie 16

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. kolor tekstu będzie szary
B. kolor tekstu będzie pomarańczowy
C. tło będzie pomarańczowe
D. tło będzie szare
W tym przykładzie pokazano dwa różne sposoby stylizacji za pomocą CSS: styl wbudowany i styl zewnętrzny. Styl wbudowany ma wyższy priorytet, bo jest przypisany bezpośrednio do elementu HTML, a to oznacza, że w nagłówku trzeciego stopnia kolor tła będzie pomarańczowy. To ma sens, bo czasem musimy przeskoczyć ogólne reguły stylizacji, żeby wprowadzić jakieś szczególne zmiany. Używanie stylów wbudowanych może być jednak ryzykowne, bo jak się ich nagromadzi, to ciężko się potem w tym połapać. Dlatego lepiej korzystać z zewnętrznych stylów – są bardziej uporządkowane i pozwalają na łatwe powtarzanie kodu CSS. Ważne jest też, żeby nie łączyć HTML z CSS w sposób, który wprowadza zamęt, bo to ułatwia życie i sprawia, że kod jest bardziej zrozumiały. Wiedza na temat priorytetów w CSS jest kluczowa dla każdego, kto chce dobrze projektować strony i mieć wszystko ładnie poukładane.

Pytanie 17

Skrypt w JavaScript, który obsługuje wynagrodzenia pracowników, powinien stworzyć raport dla tych, którzy są zatrudnieni na umowę o pracę oraz otrzymują wynagrodzenie w przedziale domkniętym od 4000 do
4500 zł. Jaki warunek należy zastosować do wygenerowania raportu?

A. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
B. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
D. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
Odpowiedź umowa == 'praca' && (pensja >= 4000 && pensja <= 4500) jest poprawna, ponieważ precyzyjnie określa warunki, jakie muszą być spełnione, aby wygenerować raport. Warunek umowa == 'praca' zapewnia, że analizujemy tylko pracowników zatrudnionych na umowę o pracę, co jest kluczowe w kontekście raportowania. Dodatkowo zastosowanie operatora logicznego '&&' w połączeniu z zakresowym sprawdzeniem pensji (pensja >= 4000 && pensja <= 4500) skutkuje tym, że raport zostanie wygenerowany wyłącznie dla pracowników, których pensja mieści się w ścisłym przedziale od 4000 do 4500 zł. To podejście jest zgodne z dobrymi praktykami programistycznymi, gdzie ważne jest, aby warunki były ściśle zdefiniowane, co pozwala uniknąć nieporozumień i błędów w danych. Przykładowo, jeżeli stworzymy funkcję generującą raport, możemy ją łatwo zaimplementować w systemie hr, co pozwoli na automatyzację procesów związanych z płacami oraz raportowaniem, a także zwiększy przejrzystość i precyzję w zarządzaniu danymi finansowymi.

Pytanie 18

Który znacznik sekcji <head> jest wymagany w HTML5, a jego brak walidator zgłasza jako błąd?

A.
link
B.
style
C.
meta
D.
title
Pozostałe znaczniki <head> są opcjonalne. <link> dołącza zasoby (np. CSS), <meta> podaje metadane, a <style> zawiera reguły CSS - żaden nie jest wymagany. Obowiązkowy jest <title>.

Pytanie 19

Które z poniższych zdań charakteryzuje grafikę wektorową?

A. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych
B. Może być zapisywana w formatach JPG lub PNG
C. Jest to reprezentacja obrazu przy pomocy siatki pikseli o różnych kolorach układających się w poziomie i pionie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
D. Służy do zapisu zdjęć cyfrowych
Wybór niepoprawnej odpowiedzi może wynikać z nieporozumienia dotyczącego podstawowych różnic między grafiką wektorową a grafiką rastrową. Wiele osób myli te dwa pojęcia, co prowadzi do błędnych wniosków. Na przykład, stwierdzenie, że grafika wektorowa jest wykorzystywana do zapisu fotografii cyfrowej, jest mylące, ponieważ fotografie to klasyczne przykłady grafiki rastrowej, która jest oparta na pikselach. Grafika rastrowa, jak JPEG czy PNG, polega na tworzeniu obrazów z małych kwadratowych jednostek (pikseli), co skutkuje utratą jakości przy ich skalowaniu, w przeciwieństwie do grafiki wektorowej. Ponadto, opisana jako 'prezentacja obrazu za pomocą pionowo-poziomej siatki odpowiednio kolorowanych pikseli', koncepcja ta odnosi się do struktury grafiki rastrowej, a nie wektorowej. Ponadto, formaty JPEG i PNG są odpowiednie dla obrazów rastrowych, a nie wektorowych, co podkreśla dodatkowe zamieszanie. Dobrze jest pamiętać, że rysunki wektorowe są oparte na matematycznych równaniach, co czyni je bardziej elastycznymi i odpowiednimi dla różnych zastosowań w projektowaniu graficznym. Typowe błędy w myśleniu dotyczące tych technologii wynikają z braku zrozumienia ich fundamentalnych właściwości oraz zastosowań w praktyce, co może prowadzić do niewłaściwego wykorzystania narzędzi graficznych w pracy zawodowej.

Pytanie 20

Aby utworzyć relację wiele do wielu pomiędzy tabelami A i B, należy

A. tabelę A połączyć z tabelą B przez utworzenie kluczy obcych
B. wprowadzić trzecią tabelę zawierającą klucze obce do tabel A i B
C. wiele wpisów z tabeli A zduplikuje się w tabeli B
D. tabela A będzie miała identyczne pola jak tabela B
Twierdzenie, że wystarczy połączyć tabelę A z tabelą B za pomocą zdefiniowania kluczy obcych, jest błędne, ponieważ taka operacja tworzy jedynie relację jeden do wielu, a nie wiele do wielu. W przypadku relacji jeden do wielu jedna tabela (np. tabela A) może być połączona z wieloma rekordami w drugiej tabeli (np. tabela B), ale nie odwrotnie. Co więcej, zduplikowanie wielu rekordów z tabeli A w tabeli B prowadziłoby do powstania redundancji i nieefektywnego zarządzania danymi, co jest sprzeczne z zasadami normalizacji baz danych. Wreszcie, posiadanie tabeli A z takimi samymi polami co tabela B jest nieadekwatne i niezgodne z ideą relacji wiele do wielu. Tego typu rozwiązanie prowadziłoby do chaosu w strukturze bazy danych oraz utrudniałoby jakiekolwiek operacje na zbiorach danych. Aby zrealizować relację wiele do wielu, należy zawsze wprowadzić osobną tabelę, która będzie w stanie efektywnie łączyć obie oryginalne tabele, umożliwiając ich prawidłowe powiązanie i zarządzanie danymi.

Pytanie 21

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
Zakładając, że użytkownik wcześniej nie posiadał żadnych uprawnień, to polecenie SQL przyzna użytkownikowi anna prawa jedynie do:
A. wybierania, wstawiania oraz aktualizacji danych wszystkich tabel w bazie o nazwie klienci
B. wybierania, dodawania rekordów oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
D. wybierania, dodawania rekordów oraz modyfikacji struktury tabeli o nazwie klienci
Odpowiedź jest prawidłowa, ponieważ polecenie SQL 'GRANT SELECT, INSERT, UPDATE ON klienci TO anna;' przyznaje użytkownikowi 'anna' określone prawa do tabeli o nazwie 'klienci'. Prawa te obejmują możliwość wybierania, wstawiania oraz aktualizacji danych w tej tabeli, co jest zgodne z zasadami zarządzania uprawnieniami w systemach baz danych. W praktyce oznacza to, że użytkownik 'anna' będzie mógł wykonywać zapytania SELECT, co pozwoli mu na odczyt danych, a także wstawiać nowe rekordy (INSERT) oraz modyfikować istniejące (UPDATE). To jest standardowa praktyka w zarządzaniu dostępem do danych, która pozwala na precyzyjne kontrolowanie, jakie operacje mogą być wykonywane przez poszczególnych użytkowników. Dobrą praktyką jest ograniczenie uprawnień do minimum, które użytkownik potrzebuje do wykonania swoich zadań, co jest zgodne z zasadą najmniejszych uprawnień. Na przykład, jeżeli 'anna' jest odpowiedzialna tylko za wstawianie nowych klientów, to przyznawanie jej uprawnień do aktualizacji danych może nie być konieczne. W teorii i praktyce bazy danych, rozróżnienie pomiędzy różnymi rodzajami uprawnień jest kluczowe dla bezpieczeństwa i integralności danych.

Pytanie 22

W wyniku wykonania przedstawionego poniżej kodu JavaScript zmienna x ma wartość:

<script>
    var x = 10;
    x++;
    console.log(x);
</script>
A. 10 i zostanie wypisana w dokumencie HTML.
B. 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
C. 11 i zostanie wypisana w konsoli przeglądarki internetowej.
D. 11 i zostanie wypisana w oknie pop-up.
Kod w ramce to prosty przykład operacji na zmiennej i użycia konsoli w JavaScript:

<script>
var x = 10;
x++;
console.log(x);
</script>

Najpierw deklarowana jest zmienna `x` z użyciem słowa kluczowego `var` i przypisana jest do niej wartość 10. Następnie operator `x++` to tzw. inkrementacja postfiksowa – zwiększa wartość zmiennej `x` o 1. Po wykonaniu tej instrukcji `x` nie jest już równe 10, tylko 11. Ostatnia linia `console.log(x);` wypisuje aktualną wartość zmiennej do konsoli deweloperskiej przeglądarki, a nie do okna strony czy do popupu.

Z mojego doświadczenia w pracy z JavaScript, `console.log()` to podstawowe narzędzie debugowania. W praktyce, gdy testujesz np. działanie pętli, obsługę formularzy, komunikację AJAX czy manipulację DOM, bardzo często wypisujesz dane właśnie do konsoli, żeby nie zaśmiecać interfejsu użytkownika. To jest zgodne z dobrymi praktykami front-endu: logi techniczne trafiają do konsoli, a nie do użytkownika końcowego.

Warto też zauważyć różnicę między `x++` i `++x`. W tym konkretnym kodzie nie ma znaczenia, bo wartość jest tylko zwiększana i potem logowana, ale w wyrażeniach z przypisaniem kolejność ma już znaczenie. Operator `++` jest typowym elementem składni wielu języków (C, C++, Java, JavaScript), więc dobrze go rozumieć. W nowoczesnym kodzie częściej używa się `let` lub `const` zamiast `var`, ale mechanizm inkrementacji i logowania do konsoli pozostaje taki sam. Podsumowując: po inkrementacji `x` ma wartość 11 i ta wartość jest wyświetlana w konsoli przeglądarki przez `console.log()` – dokładnie tak, jak wskazuje poprawna odpowiedź.

Pytanie 23

Jakie jest zadanie funkcji desaturacji w edytorze grafiki?

A. zwiększenie jaskrawości (nasycenia) barw
B. przekształcenie barw do odcieni szarości
C. rozjaśnienie obrazu
D. zwiększenie liczby kolorów w obrazie
Desaturacja to obróbka, która zmniejsza nasycenie barw aż do zera, przez co kolorowy obraz staje się czarno-biały (w odcieniach szarości). Zachowuje przy tym jasność pikseli - zmienia się tylko „kolorowość”, a nie to, jak jasny jest dany punkt. Stosuje się ją, gdy chcemy uzyskać efekt monochromatyczny albo przygotować obraz do dalszej obróbki. Pojęciowo jest przeciwieństwem zwiększania nasycenia (saturacji). Dlatego zadaniem desaturacji jest przekształcenie barw do odcieni szarości.

Pytanie 24

Która z czynności NIE WPŁYNIE na wielkość zajmowanej pamięci pliku graficznego?

A. Kompresja
B. Interpolacja
C. Zmiana rozdzielczości obrazu
D. Skalowanie obrazu przy użyciu atrybutów HTML
Skalowanie obrazu za pomocą atrybutów HTML nie wpływa na rozmiar pliku graficznego, ponieważ ta operacja odbywa się po stronie klienta, w przeglądarce, a nie na samym pliku. Gdy obraz jest wyświetlany w HTML, atrybuty takie jak 'width' i 'height' mogą zmienić jego wizualny rozmiar na stronie, ale nie modyfikują samego pliku. W praktyce oznacza to, że niezależnie od tego, jak duży lub mały wyświetlany jest obraz, jego rzeczywisty rozmiar na dysku pozostaje niezmieniony. Dobrą praktyką w web designie jest stosowanie odpowiednich rozmiarów i formatów obrazów w zależności od kontekstu, co może poprawić szybkość ładowania strony i doświadczenie użytkownika. Warto również pamiętać, że zbyt duże obrazy mogą powodować dłuższy czas ładowania, co wpływa na SEO i oceny wydajności witryny. Dlatego zaleca się optymalizację obrazów przed ich dodaniem do strony, co jest bardziej efektywne niż poleganie na zmianie rozmiarów przez HTML.

Pytanie 25

Baza danych fizycznie umieszczona na wielu komputerach, ale logicznie traktowana jako jedna całość, oparta jest na architekturze:

A. lokalnej
B. rozproszonej
C. abstrakcyjnej
D. relacyjnej
Baza rozproszona przechowuje dane na wielu komputerach (węzłach), często w różnych lokalizacjach, lecz system zarządzania prezentuje je użytkownikowi jako jedną logiczną całość. Zwiększa to dostępność i wydajność oraz pozwala dzielić obciążenie. Dlatego opisana baza opiera się na architekturze rozproszonej.

Pytanie 26

Celem testów związanych ze skalowalnością oprogramowania jest ocena, czy aplikacja

A. jest właściwie udokumentowana
B. potrafi funkcjonować przy założonym i wyższym obciążeniu
C. jest chroniona przed nieautoryzowanymi operacjami, np. dzieleniem przez zero
D. posiada odpowiednią funkcjonalność
Twoja odpowiedź o funkcjonalności aplikacji i unikaniu błędów, jak dzielenie przez zero, nie do końca odnosi się do testów skalowalności. Właściwie, kluczowym punktem w testach skalowalności jest to, jak system radzi sobie z większym obciążeniem. Funkcjonalność trochę dotyczy tego, co aplikacja umie, ale to nie to samo co skalowanie. Posiadanie dobrej dokumentacji jest istotne, ale nie wpływa na to, jak aplikacja reaguje na rosnące obciążenie. Owszem, zabezpieczenia są ważnym elementem, żeby system był stabilny, ale to właśnie nie ma wiele wspólnego z zagadnieniem skalowalności. Myślę, że część osób myli różne aspekty, takie jak funkcjonalność z wydajnością i zabezpieczeniami. Ważne, żeby umieć je oddzielać i wiedzieć, jak każdy z tych elementów wpływa na ogólną jakość aplikacji w obliczu zmieniającego się zapotrzebowania.

Pytanie 27

Który kod oznacza kolor o odcieniu NIEBIESKIM?

A.
#0000EE
B.
#EE00EE
C.
#EE0000
D.
#00EE00
W zapisie #RRGGBB ostatnia para to niebieski. #0000EE ma zerowy czerwony i zielony, a wysoką składową niebieską - więc kolor jest NIEBIESKI. Dlatego niebieski to #0000EE.

Pytanie 28

W systemie MySQL trzeba użyć polecenia REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian jedynie w definicji struktury bazy danych. Odpowiednia komenda do odebrania tych uprawnień ma postać

A. REVOKE ALL ON tabela1 FROM 'anna'@'locaihost'
B. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych wcześniej uprawnień użytkownikom. W kontekście pytania, właściwa odpowiedź to 'REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost''. To polecenie wskazuje na odebranie użytkownikowi 'anna' możliwości tworzenia nowych obiektów w bazie danych (CREATE), zmiany struktury istniejących obiektów (ALTER) oraz usuwania obiektów (DROP) w tabeli 'tabela1'. Odbieranie tych praw jest kluczowe w zarządzaniu bezpieczeństwem bazy danych, ponieważ pozwala na precyzyjne kontrolowanie, kto ma dostęp do modyfikacji struktury bazy danych. W praktyce, administratorzy baz danych często muszą ograniczać uprawnienia użytkowników, aby zapobiec nieautoryzowanym zmianom, które mogą wpłynąć na integralność danych. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby dostosować je do zmieniających się potrzeb organizacji oraz zwiększyć poziom bezpieczeństwa systemu.

Pytanie 29

Jaką funkcję pełni CONCAT w języku SQL?

A. usuwa wskazany fragment tekstu
B. przycina wyświetlany tekst
C. łączy (skleja) teksty w jeden ciąg
D. zwraca podłańcuch z tekstu wejściowego
Pozostałe opisy pasują do innych funkcji tekstowych. Usuwanie lub podmianę fragmentu tekstu realizuje REPLACE. Przycinanie - np. usuwanie spacji z początku i końca - to zadanie TRIM. Wycięcie podłańcucha (fragmentu od pozycji o danej długości) zwraca SUBSTRING. Sklejanie kilku napisów w jeden wykonuje CONCAT, dlatego to ta odpowiedź jest poprawna.

Pytanie 30

W kodzie HTML znajdziemy formularz. Jaki rezultat zostanie pokazany przez przeglądarkę, jeśli użytkownik wprowadził do pierwszego pola wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 2
B. Efekt 1
C. Efekt 3
D. Efekt 4
Efekt 2 jest prawidłowy, ponieważ odpowiada dokładnemu odwzorowaniu HTML. Kod zawiera element <textarea> oraz dwa pola typu checkbox. Przeglądarka wyświetla pole tekstowe o określonym rozmiarze, gdzie użytkownik może wpisać tekst. Checkboxy pozwalają na wybór opcji, niezależnych od siebie, co odróżnia je od radiobuttonów. Przykładowy text wpisany w pole <textarea> zostanie wyświetlony w miejscu tego pola, co jest dobrze widoczne na obrazie odpowiadającym efektowi 2. Warto pamiętać, że <textarea> stosuje się do dłuższych form tekstu, co jest standardem w projektowaniu formularzy. Użycie checkboxów jest zgodne z dobrymi praktykami, gdy użytkownik może zaznaczyć dowolną liczbę opcji. Jest to ważne, aby dostarczyć użytkownikowi intuicyjny interfejs do wprowadzania i wyboru danych. W HTML ważne jest, aby kod był semantyczny i zgodny z oczekiwaniami użytkowników, co ten przykład dobrze ilustruje. Formularze powinny być zawsze testowane pod kątem użyteczności i poprawności w różnych przeglądarkach.

Pytanie 31

Który typ danych obsługiwany przez PHP jest przeznaczony do obsługi zmiennych typu logicznego?

A. Boolean
B. Float
C. String
D. Integer
Typy Float, Integer oraz String nie są odpowiednie do przechowywania informacji logicznych. Float reprezentuje liczby zmiennoprzecinkowe, co oznacza, że przechowuje dane numeryczne z częścią dziesiętną. Używanie typu float do logiki programistycznej może prowadzić do nieścisłości, ponieważ nie potrafi on właściwie reprezentować wartości logicznych, takich jak prawda czy fałsz. Z kolei Integer to typ całkowity, który również nie ma zastosowania w kontekście zmiennych logicznych. Przechowuje tylko liczby całkowite, a jego użycie w decyzjach logicznych może prowadzić do błędnych interpretacji, gdyż wartości całkowite nie są bezpośrednio związane z pojęciem prawdy i fałszu. String, będący typem reprezentującym dane tekstowe, również nie jest odpowiedni do tego celu. Choć można konwertować ciągi tekstowe na zmienne logiczne, takie jak poprzez interpretację 'true' jako prawdy i 'false' jako fałszu, nie jest to efektywne ani zalecane w praktyce ze względu na możliwość wystąpienia błędów. W programowaniu ważne jest, aby stosować odpowiednie typy danych, co zwiększa czytelność oraz jakość kodu, a także ułatwia jego utrzymanie. Prawidłowe stosowanie typów danych, w tym boolean, jest kluczowe dla tworzenia efektywnych i błędoodpornych aplikacji.

Pytanie 32

W dokumencie HTML stworzono formularz. Jakie działanie kodu zostanie pokazane przez przeglądarkę, jeśli w drugie pole użytkownik wprowadzi tekst „ala ma kota”?

Ilustracja do pytania
A. Efekt 1
B. Efekt 4
C. Efekt 2
D. Efekt 3
Efekt 2 jest poprawny ponieważ kod HTML przedstawia formularz zawierający element select oraz pole input typu password. Element select pozwala na wybór jednej z trzech opcji Kraków Poznań i Szczecin co widzimy w efekcie 2. Pole input typu password zasłania wpisywane przez użytkownika znaki co jest zgodne z przedstawionym obrazem gdzie w miejscu drugiego pola widoczne są zamaskowane znaki. To zabezpieczenie jest standardem w formularzach internetowych chroniącym dane przed nieuprawnionym dostępem. Przeglądarki internetowe interpretują typ password zamieniając wprowadzone znaki na symbole najczęściej kropki lub gwiazdki. Dla programistów webowych jest to istotne przy projektowaniu interfejsów użytkownika zapewniając zarówno funkcjonalność jak i bezpieczeństwo. Ważne jest również aby pamiętać o odpowiednim zarządzaniu danymi wprowadzonymi w polach password po stronie serwera zapewniając szyfrowanie i bezpieczne przechowywanie. Stosowanie elementu select w połączeniu z input type=password jest popularne w formularzach rejestracyjnych gdzie użytkownik wybiera opcję a następnie wprowadza hasło. Dobre praktyki obejmują również walidację danych po stronie klienta i serwera aby zapewnić poprawność i bezpieczeństwo wprowadzanych informacji.

Pytanie 33

Jakie informacje można uzyskać na temat normalizacji tej tabeli?

Ilustracja do pytania
A. Tabela jest w drugiej postaci normalnej
B. Tabela znajduje się w trzeciej postaci normalnej
C. Tabela nie jest znormalizowana
D. Tabela znajduje się w pierwszej postaci normalnej
Tabela nie jest znormalizowana ponieważ zawiera nieatomowe wartości w kolumnie Adres. Wartości te składają się z kilku elementów takich jak ulica kod pocztowy i miasto co jest sprzeczne z zasadą atomowości wymaganą w pierwszej postaci normalnej (1NF). Normalizacja danych jest kluczowym krokiem w projektowaniu baz danych mającym na celu eliminację redundancji i poprawę integralności danych. W praktyce dla osiągnięcia pierwszej postaci normalnej każda kolumna w tabeli powinna zawierać tylko jedną wartość co oznacza że Adres powinien być podzielony na kilka kolumn takich jak Ulica Kod Pocztowy i Miasto. Dalsze etapy normalizacji obejmują usuwanie zależności funkcyjnych oraz zapewnianie że wszystkie atrybuty niekluczowe są zależne wyłącznie od klucza głównego tabeli co jest celem drugiej i trzeciej postaci normalnej. Poprawne znormalizowanie danych ułatwia ich zarządzanie i zmniejsza ryzyko występowania niezgodności w bazie danych co jest standardem w branży IT zwłaszcza w dużych systemach informatycznych gdzie integralność danych jest kluczowa dla poprawnego działania aplikacji.

Pytanie 34

Który format wideo NIE jest natywnie obsługiwany przez element <video> w HTML5?

A. Ogg
B. WebM
C. MP4
D. AVI
Element <video> w HTML5 obsługuje natywnie formaty MP4 (H.264), WebM i Ogg. AVI to starszy kontener, którego przeglądarki nie odtwarzają wprost przez <video> - wymaga konwersji do jednego z obsługiwanych formatów. Dlatego nieobsługiwanym formatem jest AVI.

Pytanie 35

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. lokalizację serwera bazy danych
B. nazwę bazy danych
C. hasło użytkownika
D. nazwę użytkownika
W języku PHP używając biblioteki mysqli do połączenia z bazą danych MySQL, jako drugi argument funkcji mysqli należy podać nazwę użytkownika. Konstruktor mysqli przyjmuje pięć głównych argumentów: lokalizację serwera, nazwę użytkownika, hasło użytkownika, nazwę bazy danych oraz opcjonalne port i socket. Nazwa użytkownika jest kluczowa, ponieważ określa, który użytkownik bazy danych będzie używany do połączenia. Najczęściej używanym użytkownikiem przy lokalnych połączeniach testowych jest 'root', ale w środowiskach produkcyjnych stosuje się bardziej restrykcyjne podejście, tworząc dedykowane konta z ograniczonymi uprawnieniami dostępowymi. Korzystając z odpowiednich danych uwierzytelniających, można także lepiej logować działania i zarządzać prawami dostępu. Dobra praktyka wymaga, aby hasło było przechowywane bezpiecznie, np. w plikach konfiguracyjnych poza dostępem zewnętrznym, a dane użytkownika zawsze były szyfrowane przy przesyłaniu. Znajomość poprawnej konfiguracji połączenia z bazą danych jest kluczowa dla bezpieczeństwa i wydajności aplikacji.

Pytanie 36

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

A. MAIN KEY
B. PRIMARY KEY
C. IDENTITY FIELD
D. UNIQUE
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 37

Możliwość utworzenia konta użytkownika jan z hasłem janPass można osiągnąć przy pomocy polecenia

A. CREATE USER 'jan'@'localhost' IDENTIFIED BY 'janPass';
B. CREATE USER 'jan'@'localhost';
C. CREATE USER 'jan'@'%localhost' IDENTIFIED VIA mysql_native_password USING 'janPass';
D. CREATE USER 'jan'@'localhost' PASSWORD EXPIRE;
Odpowiedź ta jest poprawna, ponieważ prawidłowo wykorzystuje składnię polecenia SQL do tworzenia użytkownika w bazie danych MySQL. Polecenie 'CREATE USER 'jan'@'localhost' IDENTIFIED BY 'janPass';' tworzy nowego użytkownika o nazwie 'jan' z hasłem 'janPass', które jest wymagane do autoryzacji. Użycie 'IDENTIFIED BY' jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa, ponieważ pozwala na bezpośrednie zdefiniowanie hasła w momencie tworzenia konta użytkownika. W praktyce, stworzenie użytkownika z odpowiednim hasłem jest kluczowym krokiem w zarządzaniu bazą danych, zwłaszcza w kontekście bezpieczeństwa danych. Umożliwia to ograniczenie dostępu do zasobów bazy danych tylko do autoryzowanych użytkowników. Dodatkowo, w codziennej pracy należy regularnie aktualizować hasła użytkowników oraz stosować złożone hasła, aby zwiększyć poziom bezpieczeństwa. Warto również zaznaczyć, że w nowoczesnych wersjach MySQL możliwe jest użycie dodatkowych opcji, takich jak 'REQUIRE SSL', dla podniesienia poziomu zabezpieczeń przy nawiązywaniu połączeń.

Pytanie 38

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

A. wykluczenia.
B. sumy.
C. części wspólnej.
D. grupowania.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 39

Co MUSI wystąpić w konstrukcji switch w PHP?

A. co najmniej dwie instrukcje case
B. instrukcja break po każdym case
C. nagłówek switch(wyrażenie)
D. instrukcja default
W konstrukcji switch obowiązkowy jest nagłówek switch(wyrażenie) - to jego wartość porównuje się z kolejnymi etykietami case. Bez wyrażenia w nawiasie instrukcja nie ma czego sprawdzać. Dlatego musi wystąpić nagłówek switch(wyrażenie).

Pytanie 40

Wynikiem realizacji zamieszczonego kodu PHP jest pokazanie komunikatu

Ilustracja do pytania
A. warunek3
B. warunek4
C. warunek1
D. warunek2
Analizując kod PHP, można zauważyć, że użycie operatorów logicznych jest kluczowe do zrozumienia jego działania. Operator „AND” (&&) zwraca true tylko wtedy, gdy oba operandy są prawdziwe, natomiast „OR” (||) zwraca true, jeśli przynajmniej jeden z operandów jest prawdziwy. Pierwszy warunek sprawdza połączenie ($a && $b) oraz ($c && $d). Ponieważ $a i $c są true, a $b i $d są false, oba wyrażenia zwracają false, co powoduje, że całość jest false. Drugi warunek sprawdza ($a && $b) lub ($c || $d). Tutaj ($c || $d) zwraca true, ponieważ $c jest true. Trzeci warunek to „elseif” z ($c && $d) lub (! $a), gdzie ($c && $d) jest false, ale (! $a) również jest false, bo $a jest true. Kod kończy się „else” jako ostatnią opcją, która nie zostanie wykonana, ponieważ drugi warunek jest prawdziwy. Typowy błąd polega na niewłaściwej interpretacji kolejności wykonywania operatorów i braku zrozumienia, kiedy wyrażenie logiczne zwraca true, co jest częstym problemem w programowaniu logicznego przepływu w aplikacjach. Zrozumienie i poprawne zastosowanie operatorów logicznych jest fundamentalne w tworzeniu warunków, które pomagają w kontrolowaniu przepływu programu zgodnie z zamierzonymi założeniami projektowymi.