Przejdź do głównej treści
  1. Strona główna
  2. Wyniki egzaminu

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 7 czerwca 2026 23:13
  • Zakończenie: 7 czerwca 2026 23:41

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

Twój wynik na tle innych

Twój wynik jest lepszy niż 68% podejść do kwalifikacji INF.03.

Porównanie z 39483 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź jak rozwiązywałeś pytania Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Pochwal się swoim wynikiem!

Szczegółowe wyniki

Pytanie 1

Aby wykonać przycisk na stronę internetową zgodnie z przedstawionym wzorem, w programie do grafiki rastrowej należy użyć opcji:

Ilustracja do pytania
A. zaznaczenie eliptyczne
B. zniekształcenie i deformacja
C. propagacja wartości
D. zaokrąglenie narożników (prostokąt z zaokrąglonymi rogami)
Wzór przedstawia prostokątny przycisk z zaokrąglonymi rogami. Taki kształt rysuje się w edytorze grafiki rastrowej narzędziem prostokąta z zaokrąglonymi rogami (lub zaokrąglając zaznaczenie o zadanym promieniu). Daje to równe, gładkie narożniki zgodne z przykładem. Dlatego poprawna jest opcja zaokrąglenia narożników.

Pytanie 2

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetla dane z tabeli dla komputerów z co najmniej 8 GB pamięci oraz procesorem Intel, można użyć kwerendy

A. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec < 8
B. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec < 8
C. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec >= 8
D. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec >= 8
Odpowiedź "SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;" jest poprawna, ponieważ wykorzystuje operator AND do jednoczesnego spełnienia dwóch warunków: procesor musi być równy 'Intel', a pamięć musi wynosić co najmniej 8 GB. Taki zapis jest zgodny z najlepszymi praktykami w programowaniu zapytań SQL, którymi są m.in. precyzyjność oraz jednoznaczność. Dzięki użyciu operatora AND, zapytanie filtruje wyniki w sposób, który jest zgodny z wymaganiami użytkownika. W praktyce, takie kwerendy są niezwykle ważne dla analizy danych w bazach danych, ponieważ umożliwiają wyodrębnienie specyficznych informacji, które są krytyczne dla podejmowania decyzji biznesowych. Na przykład, w kontekście sklepu komputerowego, analiza komputerów z określonymi parametrami technicznymi może pomóc w lepszym dostosowaniu oferty do potrzeb klientów. Ponadto, rozumienie składni SQL oraz umiejętność formułowania efektywnych zapytań to kluczowa umiejętność dla specjalistów w dziedzinie zarządzania danymi.

Pytanie 3

Który sposób komentowania jednoliniowego jest dozwolony w języku JavaScript?

A.
//
B.
!
C.
<!
D.
#
W JavaScripcie komentarz jednoliniowy oznacza się przez // - reszta wiersza po tych znakach jest ignorowana. Dlatego dozwolony jest //.

Pytanie 4

Tabela psy ma pola imie, rasa, telefon_wlasciciela, rok_szczepienia. Która kwerenda zwróci telefony właścicieli psów szczepionych PRZED 2015?

A.
SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;
B.
SELECT psy FROM rok_szczepienia < 2015;
C.
SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015;
D.
SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015;
Po SELECT wymienia się kolumny do POBRANIA, a w WHERE warunek wyboru wierszy. Chcemy telefony psów szczepionych przed 2015, więc bierzemy kolumnę telefon_wlasciciela i warunek rok_szczepienia < 2015: SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;. Dlatego ta kwerenda jest poprawna.

Pytanie 5

Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. wykonywania wszelkich działań na danych
B. jedynie dodawania i edytowania danych
C. wykonywania wszystkich operacji na strukturze danych
D. jedynie tworzenia i zmiany struktury tabel
Przy analizie pytania o uprawnienia SQL istotne jest zrozumienie znaczenia poszczególnych komend w kontekście zarządzania bazą danych. Komenda GRANT w SQL służy do przyznawania określonych uprawnień użytkownikom względem danych w bazie. Odpowiedź sugerująca że użytkownik Ela może jedynie tworzyć i modyfikować strukturę tabel jest nieprawidłowa ponieważ polecenie nie zawiera DDL (Data Definition Language) które byłoby odpowiedzialne za tworzenie i modyfikację struktur takich jak CREATE czy ALTER. Uprawnienia INSERT i UPDATE dotyczą manipulacji danymi a nie strukturami. Z kolei sugerowanie że użytkownik może jedynie dodawać i modyfikować dane także jest błędne ponieważ DELETE i SELECT są kluczowymi operacjami w kontekście pełnego dostępu do danych pozwalając odpowiednio na usuwanie danych i ich odczyt. Ponadto stwierdzenie że użytkownik może wykonywać wszystkie operacje na strukturze danych także jest błędne ponieważ operacje DML (Data Manipulation Language) takie jak INSERT UPDATE DELETE SELECT nie odnoszą się do samej struktury a do zawartości tabeli. Typowe błędy myślowe w tym kontekście wynikają z mylenia operacji na danych z operacjami na strukturze co jest częstym problemem wśród początkujących administratorów baz danych. Zrozumienie różnicy pomiędzy DDL i DML jest kluczowe dla efektywnego zarządzania uprawnieniami i bezpieczeństwem baz danych co jest fundamentem pracy administratora. Prawidłowa interpretacja uprawnień i ich konsekwencji w kontekście bezpieczeństwa i zarządzania danymi jest nieodzownym elementem pracy z bazami danych.

Pytanie 6

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze localhost
B. do wszystkich tabel w bazie danych hurtownia
C. do wszystkich kolumn w tabeli hurtownia
D. dla konta root na serwerze sprzedawca
Podane polecenie SQL <code>GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';</code> jest poprawne, ponieważ przyznaje uprawnienia do wykonywania zapytań SELECT na wszystkich tabelach w bazie danych hurtownia. Operator <code>.*</code> w kontekście bazy danych oznacza, że dotyczy to wszystkich tabel znajdujących się w tej bazie. Przyznawanie uprawnień w taki sposób jest zgodne z najlepszymi praktykami zarządzania dostępem w systemach baz danych, ponieważ umożliwia kontrolowanie, którzy użytkownicy mogą uzyskiwać dostęp do danych. W praktyce, jeśli 'sprzedawca' potrzebuje przeglądać dane ze wszystkich tabel w hurtowni, to takie przyznanie uprawnień jest najbardziej efektywne. Takie podejście ułatwia zarządzanie uprawnieniami, pozwalając administratorom na nadawanie ogólnych uprawnień w ramach bazy danych, zamiast przypisywania ich dla każdej tabeli z osobna. Dobrą praktyką jest również regularne przeglądanie i aktualizowanie przydzielonych uprawnień, aby zapewnić bezpieczeństwo i zgodność z zasadami ochrony danych.

Pytanie 7

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Zabrania wprowadzenia wartości NULL
B. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
C. Jest stosowany wyłącznie w przypadku kolumn liczbowych
D. Wymusza unikalne nazwy kolumn w tabeli
Atrybut UNIQUE w MySQL jest kluczowym elementem definicji tabeli, który zapewnia, że wartości w danej kolumnie są unikalne w obrębie całej tabeli. Oznacza to, że nie może być dwóch wierszy, które mają tę samą wartość w kolumnie oznaczonej jako UNIQUE. Jest to szczególnie istotne w kontekście zarządzania danymi, gdyż pozwala na eliminację duplikatów, co jest zgodne z najlepszymi praktykami projektowania baz danych. Przykładem zastosowania atrybutu UNIQUE może być tabela przechowująca dane użytkowników, gdzie adres e-mail powinien być unikalny dla każdego użytkownika. Dzięki temu, system może zapewnić, że nie dojdzie do przypadkowego utworzenia dwóch kont z tym samym adresem e-mail. Warto dodać, że atrybut UNIQUE może współistnieć z wartościami NULL – w MySQL, wiele wartości NULL jest dozwolonych w kolumnie, która ma zastosowany atrybut UNIQUE. Zrozumienie i prawidłowe wykorzystanie tego atrybutu jest kluczowe dla zachowania integralności danych i efektywności operacji na bazie danych.

Pytanie 8

Skrypt stworzony w języku JavaScript wyznacza cenę promocyjną dla swetrów w barwach: zielonej, niebieskiej (zmienna kolor) przy wydatkach przekraczających 200 zł (zmienna zakupy). Warunek niezbędny do obliczeń powinien być zapisany z użyciem wyrażenia logicznego?

A. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
B. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
C. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
D. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
Odpowiedź zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski') jest poprawna, ponieważ dokładnie spełnia warunki opisane w pytaniu. Wyrażenie logiczne składa się z dwóch głównych części: sprawdzenia, czy wartość zmiennej zakupy jest większa niż 200 oraz sprawdzenia, czy zmienna kolor jest równa 'zielony' lub 'niebieski'. Użycie operatora logicznego '&&' (AND) w połączeniu z '||' (OR) pozwala na zdefiniowanie warunków, które muszą być spełnione, aby uzyskać cenę promocyjną. Przykładowo, jeśli użytkownik kupi sweter za 250 zł w kolorze zielonym, warunek będzie prawdziwy, a cena promocyjna zostanie zastosowana. W kontekście standardów programistycznych, taka konstrukcja jest zgodna z najlepszymi praktykami pisania czytelnego i efektywnego kodu w JavaScript, gdzie zrozumiałość i logika wyrażeń warunkowych są kluczowe dla utrzymania i rozwoju aplikacji.

Pytanie 9

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. użyć polecenia mysql_fetch
B. pokazać zmienną $db
C. zaindeksować zmienną tab, tab[0] to pierwsze imię
D. zastosować pętlę z poleceniem mysqli_fetch_row
Prawidłowa odpowiedź dotyczy zastosowania pętli z poleceniem mysqli_fetch_row. W języku PHP przy pracy z bazą danych MySQL wykorzystujemy bibliotekę mysqli, która oferuje funkcje pozwalające na manipulację danymi. Funkcja mysqli_query wykonuje zapytanie SQL na połączeniu z bazą danych, zwracając wynik w postaci obiektu typu mysqli_result. Aby pobrać wszystkie wiersze wyników, konieczne jest zastosowanie pętli, która iteruje przez każdy wiersz zwracany przez zapytanie. Funkcja mysqli_fetch_row jest używana do pobrania kolejnego wiersza z wyniku jako tablicy numerycznej. Przykładowy kod mógłby wyglądać następująco while ($row = mysqli_fetch_row($tab)) { echo $row[0]; } co pozwala na wyświetlenie imion wszystkich osób poniżej 18 roku życia. Praktyczne podejście polega na iteracyjnej obsłudze wyników zapytań, co jest zgodne z branżowymi standardami. Takie rozwiązanie umożliwia dynamiczne przetwarzanie danych w czasie rzeczywistym zwiększając elastyczność aplikacji. Dodatkowo warto pamiętać o odpowiednim zarządzaniu zasobami, takim jak zamknięcie połączenia z bazą danych po zakończeniu operacji. To podejście podkreśla znaczenie efektywnego zarządzania danymi w aplikacjach webowych.

Pytanie 10

Jakiego typu mechanizm zabezpieczeń dotyczący uruchamiania aplikacji jest obecny w środowisku wykonawczym platformy .NET Framework?

A. Mechanizm uruchamiania aplikacji realizowany przez frameworki aplikacji internetowych (ASP.NET)
B. Mechanizm uruchamiania aplikacji oparty na uprawnieniach kodu (CAS - Code Access Security) i na rolach (RBS - Role-Based Security)
C. Mechanizm uruchamiania aplikacji dla bibliotek klas
D. Mechanizm uruchamiania aplikacji realizowany przez funkcję Windows API (Application Programming Interface)
Wiele osób myli odpowiedzi dotyczące mechanizmów wykonywania aplikacji w .NET Framework, wskazując na różne inne opcje, które nie dotyczą bezpośrednio kontroli bezpieczeństwa. Mechanizm realizowany przez Windows API, choć istotny w kontekście interakcji z systemem operacyjnym, nie zapewnia specyficznych mechanizmów kontroli dostępu do zasobów, jak ma to miejsce w przypadku CAS. Windows API jest jedynie zestawem funkcji umożliwiających aplikacjom komunikację z systemem operacyjnym, a nie narzędziem do zabezpieczania aplikacji. Również stwierdzenie, że mechanizm wykonywania aplikacji dla bibliotek klas działa jako mechanizm bezpieczeństwa, jest mylne, ponieważ biblioteki klas same w sobie nie definiują polityki bezpieczeństwa, lecz dostarczają funkcjonalności, które mogą być używane w aplikacjach. Kolejna pomyłka polega na twierdzeniu, że mechanizmy ASP.NET, takie jak autoryzacja i uwierzytelnianie, są odpowiedzialne za kontrolę bezpieczeństwa wykonywania aplikacji. Choć ASP.NET dostarcza narzędzi do zabezpieczania aplikacji webowych, nie są one bezpośrednio związane z mechanizmami bezpieczeństwa na poziomie uruchamiania kodu. Przykładowo, można zastosować CAS w aplikacji ASP.NET, ale samo ASP.NET nie implementuje tego mechanizmu. Zrozumienie różnicy pomiędzy tymi mechanizmami jest kluczowe dla skutecznego wdrażania zabezpieczeń w aplikacjach .NET, co w praktyce przekłada się na lepsze zarządzanie ryzykiem związanym z bezpieczeństwem.

Pytanie 11

Podany fragment kodu PHP ma na celu wstawienie wartości z zmiennych $a, $b, $c do bazy danych, w tabeli dane. Tabela ta składa się z czterech kolumn, z których pierwsza to autoinkrementowany klucz podstawowy. Które z zapytań powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. ```SELECT NULL, '$a', '$b', '$c' FROM dane;```
B. ```INSERT INTO dane VALUES ('$a', '$b', '$c');```
C. ```SELECT '$a', '$b', '$c' FROM dane;```
D. ```INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');```
Prawidłowa odpowiedź to "INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');" ponieważ wstawia dane do bazy danych w sposób zgodny z jej strukturą. W tabeli dane pierwsze pole jest kluczem głównym, który jest autoinkrementowany, co oznacza, że nie musimy go podawać ręcznie. Wartość NULL w tym przypadku pozwala bazie danych na automatyczne wygenerowanie nowego identyfikatora. Pozostałe zmienne, $a, $b i $c, zawierają dane, które chcemy wstawić do odpowiednich kolumn. Stosowanie przygotowanych zapytań (prepared statements) w PHP z wykorzystaniem mysqli jest najlepszą praktyką, ponieważ zapewnia ochronę przed atakami SQL injection oraz poprawia wydajność. Przykład zastosowania tego typu zapytania może obejmować dodawanie użytkowników do systemu, gdzie każdy użytkownik ma unikalny identyfikator generowany przez bazę danych. Warto również pamiętać o walidacji i sanitizacji danych przed ich wprowadzeniem do bazy.

Pytanie 12

W języku SQL, aby wstawić wiersz danych do tabeli w bazie danych, należy zastosować polecenie

A. INSERT INTO
B. CREATE ROW
C. CREATE INTO
D. SELECT ROW
W języku SQL nazewnictwo poleceń nie jest przypadkowe i mocno wynika ze standardu ANSI/ISO. Jeżeli chcemy dodać nowy wiersz danych do istniejącej tabeli, używamy instrukcji INSERT INTO, a nie żadnych konstrukcji typu SELECT ROW, CREATE ROW czy CREATE INTO. Te błędne formy często biorą się z intuicyjnego mieszania pojęć z języków programowania i potocznego opisu danych.
SELECT służy wyłącznie do odczytu danych, czyli do tworzenia zapytań wybierających wiersze z tabel. Dodawanie słowa ROW do SELECT wygląda może „logicznie” po ludzku, ale w SQL nie istnieje taka konstrukcja jak SELECT ROW do wstawiania rekordu. SELECT może co najwyżej dostarczyć dane, które potem wstawimy za pomocą INSERT INTO w formie INSERT INTO tabela (kolumny) SELECT .... To jest poprawny, standardowy mechanizm masowego wstawiania, ale sama instrukcja SELECT niczego nie zapisuje do tabeli.
Z kolei CREATE w SQL służy do tworzenia obiektów strukturalnych: CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE DATABASE. Tworzymy w ten sposób samą strukturę, a nie dane w środku. Stąd pomysły typu CREATE ROW albo CREATE INTO są po prostu sprzeczne z logiką składni SQL. Wiersz danych (rekord) nie jest osobnym obiektem, który się „tworzy” poleceniem CREATE, tylko zawartością tabeli, którą modyfikujemy poleceniami INSERT, UPDATE albo DELETE.
Częsty błąd myślowy polega na tym, że ktoś próbuje tłumaczyć SQL dosłownie z języka naturalnego: „chcę utworzyć wiersz, więc napiszę CREATE ROW”. Niestety SQL ma swoje utrwalone słownictwo i trzeba się go nauczyć jak języka obcego. Dobra praktyka w branży to trzymanie się dokładnych konstrukcji ze standardu: INSERT INTO do dodawania rekordów, SELECT do odczytu, UPDATE do modyfikacji i DELETE do usuwania. Dzięki temu kod jest czytelny dla każdego programisty czy administratora, który zna SQL, a zapytania są przenośne między różnymi silnikami baz danych.

Pytanie 13

Tabela podzespoly ma pola: model, producent, typ, cena. Które zapytanie wyświetli modele pamięci RAM firmy Kingston od najtańszej do najdroższej?

A.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC;
B.
SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC;
C.
SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC;
D.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC;
Trzeba spełnić oba warunki naraz - typ „RAM” ORAZ producent „Kingston” - więc łączymy je AND, a sortowanie od najtańszej to ORDER BY cena rosnąco (domyślnie, lub ASC). Wybieramy model z tabeli podzespoly. Dlatego ta kwerenda jest poprawna.

Pytanie 14

Aby stworzyć stronę internetową, która będzie odpowiadać załączonej ilustracji, konieczne jest użycie semantycznych znaczników sekcji w języku HTML5. Jakim znacznikiem należy określić sekcję menu?

A. header
B. div
C. aside
D. nav
Znacznik <div> jest często używany do ogólnego grupowania elementów w HTML, ale nie niesie ze sobą semantycznego znaczenia, co oznacza, że nie informuje technologii wspomagających ani wyszukiwarek o roli, jaką pełni zawartość. W kontekście semantycznego HTML5, poleganie na znaczniku <div> nie wykorzystuje potencjału nowych standardów, które poprawiają dostępność i strukturę dokumentów. Znacznik <aside> jest zwykle używany do grupowania treści pobocznej, takiej jak reklamy czy linki powiązane, dlatego nie jest on odpowiedni do definiowania sekcji menu. <header> jest z kolei stosowany do elementów nagłówkowych, takich jak tytuły stron czy sekcje wstępne, co również nie pasuje do kontekstu sekcji nawigacyjnej. Właściwe wykorzystanie semantycznych znaczników pomaga nie tylko w lepszej organizacji kodu, ale także wspiera dostępność oraz optymalizację SEO, co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 15

Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?

A. przyznanie uprawnień do przeglądania bazy dla Administratora
B. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
C. sprawdzenie, czy baza działa wystarczająco wydajnie
D. ustalenie systemu kodowania znaków w bazie
Zdefiniowanie systemu kodowania znaków w bazie, choć istotne, nie jest kluczowym krokiem przed wykonaniem kopii bezpieczeństwa. Odpowiednie kodowanie znaków wpływa na sposób przechowywania i interpretacji danych, jednak w kontekście backupu danych, jego ustalenie jest mniej istotne. Bardziej krytyczne jest upewnienie się, że istniejące dane są poprawne i integralne. Nadanie uprawnień do przeglądania bazy dla Administratora jest ważne dla kontroli dostępu, ale nie ma bezpośredniego wpływu na jakość kopii zapasowej. W przypadku, gdy uprawnienia są nieodpowiednio skonfigurowane, administrator może nie mieć wystarczających uprawnień do przeprowadzenia niezbędnych operacji, co prowadzi do ryzyka niewykonania pełnego backupu. Sprawdzanie wydajności bazy również nie powinno być priorytetem przed wykonaniem kopii zapasowej; choć wydajność ma znaczenie w codziennym użytkowaniu bazy danych, nie wpływa na jakość danych, które mają być zabezpieczone. Właściwe podejście do tworzenia kopii zapasowych wymaga skoncentrowania się na integralności danych, a nie na ich wydajności czy konfiguracji dostępu.

Pytanie 16

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

SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"
Wskaż zapytanie, które zwróci te same dane:
A. SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków"
B. SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków"
C. SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków"
D. SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków"
Wybrana odpowiedź jest poprawna, ponieważ wykorzystuje operator logiczny OR do połączenia dwóch warunków w klauzuli WHERE. W wyniku tego zapytania zostaną zwrócone wszystkie rekordy z tabeli 'mieszkancy', gdzie miasto to 'Poznań' lub 'Kraków'. To podejście jest zgodne z zasadami SQL, gdzie operator OR umożliwia łączenie warunków, co jest powszechnie stosowane w praktyce. Warto zauważyć, że zapytanie z wykorzystaniem operatora UNION ALL, które było pierwotnie zdefiniowane, również łączy wyniki z dwóch zapytań, ale każdy SELECT działa osobno. Użycie OR w tym przypadku jest bardziej efektywne, ponieważ pozwala na jedno zapytanie, co może przyspieszyć wykonanie w porównaniu do kilku zapytań UNION. W praktycznych zastosowaniach, gdy mamy do czynienia z wieloma kryteriami, stosowanie operatorów logicznych jest kluczowe dla uzyskania precyzyjnych wyników.

Pytanie 17

Który parametr obiektu graficznego zmieni się po modyfikacji wartości kanału alfa?

A. ostrość krawędzi
B. kolejność wyświetlania pikseli
C. nasycenie kolorów
D. przezroczystość
Kanał alfa przechowuje informację o PRZEZROCZYSTOŚCI każdego piksela, więc jego zmiana wpływa właśnie na przezroczystość obrazu (od pełnej widoczności po całkowitą niewidoczność). Dlatego zmienia się przezroczystość.

Pytanie 18

Podczas przygotowywania grafiki na stronę internetową konieczne jest wycięcie jedynie określonego fragmentu. Jak nazywa się ta operacja?

A. lustrzane odbicie obrazu.
B. kadrowanie.
C. łączenie warstw.
D. zmiana rozmiaru.
Kadrowanie to proces polegający na wycinaniu fragmentu obrazu w celu skupienia uwagi na określonym elemencie lub poprawienia kompozycji. W kontekście grafiki internetowej, kadrowanie jest kluczowe, aby dostosować zdjęcia do wymagań wizualnych strony, zachowując jednocześnie wysoką jakość obrazu. Przykładowo, jeśli tworzymy stronę dla restauracji, możemy wyciąć fragment zdjęcia dania, aby lepiej zaprezentować jego szczegóły. Dobre praktyki w kadrowaniu obejmują stosowanie zasady trzech, która polega na umiejscowieniu kluczowych elementów obrazu w punktach przecięcia linii podziału. Warto również pamiętać o rozdzielczości i proporcjach, aby uniknąć rozmycia lub zniekształcenia obrazu. Kadrowanie jest często używane w różnych formatach wizualnych, takich jak posty w mediach społecznościowych, banery reklamowe czy galerie zdjęć. W ten sposób, odpowiednie kadrowanie przyczynia się do lepszej prezentacji treści oraz poprawia estetykę i przejrzystość strony internetowej.

Pytanie 19

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. czy użytkownik jest zalogowany
B. czy istnieje plik PHP, który przetworzy dane
C. który użytkownik wprowadził informacje
D. czy wprowadzone dane spełniają określone reguły
Walidacja pól formularza jest kluczowym elementem w procesie zbierania danych od użytkowników. Jej głównym celem jest upewnienie się, że dane, które użytkownik wprowadza, są zgodne z określonymi regułami i standardami. Na przykład, jeśli pole formularza wymaga adresu e-mail, walidacja może sprawdzić, czy wprowadzone dane mają odpowiedni format (np. zawierają '@' i końcówkę domeny). Ważne jest, aby walidację przeprowadzać zarówno po stronie klienta, jak i serwera. Walidacja po stronie klienta (np. za pomocą JavaScript) może szybko informować użytkownika o błędach, ale nie powinna być jedyną metodą, gdyż można ją łatwo obejść. Walidacja po stronie serwera, przeprowadzana w językach takich jak PHP lub Python, zapewnia, że dane są na pewno zgodne z wymaganiami systemu przed ich przetworzeniem. Przykładami reguł walidacji mogą być wymagania dotyczące długości tekstu, formatów numerów telefonów czy też wymagalności pewnych pól, co jest zgodne z dobrymi praktykami UX oraz standardami bezpieczeństwa danych.

Pytanie 20

Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?

<video>
    <source src="film.mp4" type="video/mp4">
</video>
A. loop
B. muted
C. controls
D. autoplay
Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'.

Pytanie 21

Instrukcja użytkownika aplikacji nie powinna zawierać

A. sposobu działania poszczególnych komponentów.
B. opisu instalacji programu.
C. wymagań sprzętowych.
D. opisu zastosowanych algorytmów.
Wiele osób intuicyjnie myśli, że dobra instrukcja użytkownika powinna zawierać „wszystko o programie”, łącznie z tym, jak jest on zbudowany od środka. To dość częsty błąd. Instrukcja użytkownika to dokument stricte praktyczny, nastawiony na obsługę, a nie na analizę wewnętrznej logiki systemu. Dlatego wymagania sprzętowe są tam jak najbardziej na miejscu – użytkownik musi wiedzieć, czy aplikacja w ogóle uruchomi się na jego komputerze, jakiego systemu operacyjnego potrzebuje, ile pamięci RAM czy wolnego miejsca na dysku. To podstawowy element każdej sensownej instrukcji, spotykany w oprogramowaniu komercyjnym i open source. Podobnie opis instalacji programu jest absolutnie kluczowy. Bez przejrzystej procedury instalacji, najlepiej krok po kroku, z krótkimi komentarzami, wielu użytkowników po prostu nie poradzi sobie z poprawnym uruchomieniem aplikacji. W dobrych praktykach dokumentacyjnych (np. styl Microsoft, Atlassian, Red Hat) sekcje typu „Instalacja”, „Pierwsze uruchomienie”, „Konfiguracja wstępna” to standard. Trzecia kwestia to sposób działania poszczególnych komponentów, ale z perspektywy użytkownika, nie programisty. Nie chodzi o opisy klas, modułów czy bibliotek, tylko o to, co użytkownik widzi: okna, zakładki, panele, przyciski, formularze. Instrukcja powinna tłumaczyć, do czego służą konkretne elementy interfejsu, jakie mają opcje, co się stanie po wybraniu danej funkcji. Bez takiego opisu użytkownik błądzi po omacku. Problem zaczyna się wtedy, gdy do instrukcji użytkownika próbuje się wcisnąć opis zastosowanych algorytmów. To już jest poziom dokumentacji technicznej, przeznaczony dla deweloperów. Użytkownik końcowy nie potrzebuje wiedzieć, czy dane są sortowane quicksortem, mergesor­tem, jak działa algorytm szyfrowania albo jaka jest złożoność czasowa przetwarzania. Takie informacje nie pomagają mu wykonać zadania w aplikacji, tylko wprowadzają niepotrzebny chaos. Typowy błąd myślowy polega tu na mieszaniu dwóch różnych grup odbiorców: użytkowników i programistów. Dobrą praktyką jest ich rozdzielenie i trzymanie instrukcji użytkownika na poziomie funkcji, kroków i efektów, a nie implementacji.

Pytanie 22

Na przedstawionej grafice widać fragment bazy danych. Jakie kwerendę należy zastosować, aby uzyskać nazwy produktów zakupionych przez klienta o id = 1?

Ilustracja do pytania
A. SELECT nazwa FROM produkty JOIN transakcje_produkty USING(nr_produktu) JOIN transakcje USING(nr_transakcji) WHERE nr_klienta = 1
B. SELECT nazwa FROM produkty JOIN transakcje_produkty USING(nr_produktu) WHERE nr_klienta = 1
C. SELECT nazwa FROM produkty JOIN transakcje ON nr_produktu = nr_klienta WHERE nr_klienta = 1
D. SELECT nazwa FROM produkty JOIN transakcje_produkty JOIN transakcje WHERE nr_klienta = 1
Prawidłowa odpowiedź używa właściwego połączenia tabel baz danych aby otrzymać nazwy produktów zakupionych przez klienta o konkretnym identyfikatorze. W SQL kwerenda z JOIN umożliwia łączenie danych z więcej niż jednej tabeli na podstawie wspólnego pola. W tym przypadku tabela produkty jest połączona z transakcje_produkty przez pole nr_produktu oraz tabela transakcje jest połączona z transakcje_produkty przez pole nr_transakcji. Dzięki temu możliwe jest uzyskanie pełnego obrazu transakcji dla klienta o id = 1. Zastosowanie USING(nr_produktu) i USING(nr_transakcji) upraszcza kwerendę eliminując konieczność jawnego określania kolumn po obu stronach klauzuli ON. Praktyczne zastosowanie takich kwerend jest podstawą w analizie danych sprzedażowych gdzie analiza historii zakupów klientów może dostarczyć cennych informacji dla działów marketingu oraz logistyki. Dobre praktyki obejmują również optymalizację zapytań SQL aby były jak najbardziej efektywne co jest kluczowe przy pracy z dużymi zbiorami danych.

Pytanie 23

Weryfikację kompletności formularza, działającą po stronie przeglądarki, należy zrealizować w języku

A. PHP
B. Ruby on Rails
C. JavaScript
D. CSS
W tym pytaniu łatwo się pomylić, bo wszystkie wymienione technologie występują w kontekście stron WWW, ale pełnią zupełnie różne role. Weryfikacja kompletności formularza „po stronie przeglądarki” oznacza, że logika musi działać u użytkownika, w jego browserze, zanim dane trafią na serwer. I tu kluczowe jest rozróżnienie: co działa po stronie klienta, a co po stronie serwera.
CSS służy wyłącznie do opisu wyglądu – kolory, marginesy, rozmiary czcionek, układ elementów. Nie ma dostępu do wartości pól formularza w sensie logicznym. Można co najwyżej zmieniać styl w zależności od pseudo-klas (np. :valid, :invalid w HTML5), ale to są wbudowane mechanizmy przeglądarki, a nie „logika programu” w CSS. CSS nie umożliwia napisania warunku typu: jeśli pole A i pole B są puste, to pokaż taki komunikat i zablokuj wysłanie formularza.
PHP z kolei jest językiem typowo serwerowym. Kod PHP wykonuje się na serwerze, po wysłaniu formularza, a nie w przeglądarce. To świetne narzędzie do walidacji danych po stronie serwera, zapisania ich do bazy, obsługi sesji i całej logiki backendowej, ale nie zrealizuje walidacji „na żywo” w momencie, gdy użytkownik dopiero wypełnia formularz. Typowym błędem myślowym jest założenie, że skoro PHP często pracuje z formularzami, to „sprawdza formularz”. Owszem, ale dopiero po jego wysłaniu.
Ruby on Rails to natomiast framework backendowy napisany w Ruby, również działający na serwerze. On także ma bogate mechanizmy walidacji modeli i danych, ale znowu – wszystko dzieje się po stronie serwera. Framework może generować formularze, przyjmować dane, walidować je i zwracać błędy, ale przeglądarka sama z siebie nie uruchamia kodu Railsów.
Jeżeli w treści pytania pojawia się wyraźny zapis „po stronie przeglądarki”, to praktycznie zawsze chodzi o technologię kliencką, czyli JavaScript lub ewentualnie rozwiązania na nim oparte (np. frameworki front-endowe). Warto o tym pamiętać, bo rozróżnienie klient–serwer to jedna z podstaw w programowaniu webowym i często decyduje o poprawności odpowiedzi w takich zadaniach.

Pytanie 24

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
B. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
C. w każdej sytuacji
D. po kliknięciu myszą w celu wprowadzenia tekstu
W języku CSS pseudoklasa :focus jest używana do definiowania stylów dla elementów, które są w stanie aktywnego fokusu. W przypadku elementów formularza, takich jak pola tekstowe input, fokus uzyskuje się poprzez kliknięcie myszą lub użycie klawisza tab, co pozwala na wprowadzenie tekstu. Pseudoklasa :focus umożliwia stylizację elementu tylko wtedy, gdy jest aktywny, co jest kluczowe dla poprawy użyteczności interfejsu użytkownika. W przykładzie podanym w pytaniu, gdy pole edycyjne input uzyska fokus, jego tło zmieni się na jasnozielone dzięki właściwości background-color ustawionej na LightGreen. Takie zastosowanie stylów CSS jest powszechne w projektowaniu formularzy, gdzie wizualne wskazanie aktywnego elementu jest istotne dla użytkownika. Dobre praktyki projektowania interfejsów kładą nacisk na czytelność i intuicyjność, co zwiększa dostępność i wygodę użytkowania aplikacji webowych. Stylowanie z wykorzystaniem pseudoklasy :focus pozwala projektantom i deweloperom tworzyć interfejsy, które są nie tylko estetyczne, ale także funkcjonalne, wspierając użytkowników w efektywnym korzystaniu z aplikacji.

Pytanie 25

Zastosowanie poniższej kwerendy SQL spowoduje usunięcie

DELETE FROM mieszkania WHERE status=1;
A. tabeli mieszkania z systemu baz danych
B. pola o nazwie status w tabeli mieszkania
C. tabel, w których pole status ma wartość 1, z bazy danych mieszkania
D. rekordów, dla których pole status ma wartość 1, z tabeli mieszkania
Odpowiedź, którą zaznaczyłeś, jest jak najbardziej trafna i dotyczy działania kwerendy SQL, szczególnie polecenia DELETE. W tym przypadku, to DELETE FROM mieszkania WHERE status=1 oznacza, że zamierzamy usunąć wszystkie rekordy z tabeli mieszkania, gdzie status jest równy 1. To jest ważne, bo w zarządzaniu bazami danych kluczowe jest precyzyjne ustalenie, które dane chcemy usunąć. Z mojej perspektywy, przed wykonaniem takiej operacji warto najpierw wykonać zapytanie SELECT z tymi samymi warunkami, żeby zobaczyć, co dokładnie usuniemy. Przykład? Możesz chcieć usunąć mieszkania, które są zarezerwowane lub niedostępne, co może być oznaczone statusem 1. To naprawdę dobra praktyka, bo pozwala na lepsze zarządzanie danymi i na utrzymanie porządku w bazie. A wiesz, co jeszcze? Zawsze warto zrobić kopię zapasową danych przed masowym usuwaniem, żeby nie stracić czegoś ważnego.

Pytanie 26

Przedstawiony fragment kodu ilustruje działanie

Ilustracja do pytania
A. podjęcia decyzji
B. prezentacji danych
C. wykorzystania zdefiniowanej procedury lub funkcji
D. pozyskiwania danych
Blok przedstawiony na rysunku to romb, który w diagramach przepływu danych reprezentuje punkt decyzyjny. W kontekście programowania i modelowania procesów biznesowych, zastosowanie takich punktów jest kluczowe dla podejmowania decyzji na podstawie warunków logicznych. Na przykład, w algorytmach komputerowych romb służy do określenia, którą ścieżką proces powinien się dalej przemieszczać, zależnie od spełnienia określonych warunków. W praktyce, może to być na przykład wybór między dwiema różnymi akcjami, jak wysłanie e-maila lub zapis do bazy danych w zależności od wartości wprowadzonej przez użytkownika. Zastosowanie rombu zgodnie z zasadami BPMN (Business Process Model and Notation) oraz UML (Unified Modeling Language) pozwala na precyzyjne i czytelne modelowanie złożonych procesów, co jest kluczowe w projektowaniu systemów informatycznych i optymalizacji procesów biznesowych.

Pytanie 27

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 5
B. 4
C. 7
D. 6
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 28

Grafik pragnie zmienić obraz JPG na format PNG bez utraty jakości, tak aby w obszarach, gdzie pierwotnie był kolor biały, w finalnym obrazie występowała przezroczystość. W tym celu powinien

A. zaimportować obraz do edytora grafiki wektorowej
B. dodać kanał alfa
C. przekształcić obraz w odcienie szarości
D. zmniejszyć rozdzielczość obrazu
Dodanie kanału alfa do obrazu JPG, aby uzyskać przezroczystość w kolorze białym, jest najlepszym podejściem. Kanał alfa to dodatkowa warstwa informacji w pliku graficznym, która definiuje przezroczystość każdego piksela. W formacie PNG, kanał alfa umożliwia tworzenie przezroczystych tła, co jest szczególnie przydatne w projektach, gdzie elementy graficzne muszą być nakładane na różne tła. W praktyce, aby uzyskać pożądany efekt, grafik powinien użyć narzędzi do edycji grafiki, takich jak Adobe Photoshop, GIMP lub Inkscape. Po zaimportowaniu obrazu JPG, użytkownik może użyć funkcji selekcji koloru, aby zaznaczyć obszary białe, a następnie usunąć je, co wprowadzi przezroczystość w tych miejscach. Na końcu, obraz można zapisać jako PNG, co zachowa wprowadzone zmiany. Tego typu operacje są standardem w pracy z grafiką komputerową, szczególnie w projektach związanych z web designem i tworzeniem materiałów reklamowych.

Pytanie 29

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

A. grupowania.
B. sumy.
C. części wspólnej.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 30

W jakim bloku powinien być umieszczony warunek pętli?

Ilustracja do pytania
A. Opcja B
B. Opcja A
C. Opcja C
D. Opcja D
Odpowiedź C jest prawidłowa ponieważ blok w kształcie rombu jest powszechnie stosowany w schematach blokowych do przedstawiania warunków decyzyjnych W kontekście pętli programistycznych warunek decyzyjny kontroluje jej wykonanie określając kiedy pętla powinna się zakończyć lub kontynuować Romb jako symbol decyzyjny umożliwia zadanie pytania logicznego którego wynik decyduje o dalszym przebiegu algorytmu Na przykład w pętli while warunek jest oceniany przed każdym wykonaniem bloków kodu w pętli co zapewnia że pętla działa dopóki warunek jest spełniony Podobnie w pętli for warunek kontroluje liczbę iteracji poprzez ocenę wyrażenia logicznego przed każdą iteracją Stosowanie rombu do przedstawiania warunków pętli jest zgodne ze standardami modelowania procesów i zwiększa czytelność oraz zrozumiałość schematów blokowych dla programistów i analityków Właściwe umiejscowienie warunku w rombie w strukturze pętli pokazuje zdolność do logicznego modelowania algorytmów co jest kluczowe dla tworzenia efektywnego i niezawodnego oprogramowania

Pytanie 31

Co nada polecenie

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
(anna nie miała wcześniej praw)?
A. prawa do zmiany struktury wszystkich tabel bazy
B. prawa do wybierania, wstawiania i aktualizacji DANYCH w tabeli klienci
C. prawa do danych we WSZYSTKICH tabelach bazy
D. prawa do dodawania kolumn i zmiany STRUKTURY tabeli klienci
GRANT SELECT, INSERT, UPDATE ON klienci TO anna; nadaje użytkowniczce anna prawa do operacji na DANYCH konkretnej tabeli klienci: odczytu (SELECT), wstawiania (INSERT) i aktualizacji (UPDATE). Dlatego nadaje prawa do wybierania, wstawiania i aktualizacji danych w tabeli klienci.

Pytanie 32

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. pusty wynik
B. Czesław, Niemen
C. Czesław, Czechowski
D. Czesław
Zapytanie SQL używa operatora LIKE z wzorcem C%W co oznacza że szuka wartości w kolumnie wykonawca które zaczynają się na literę C i kończą na literę W oraz mogą zawierać dowolne znaki pomiędzy. W tabeli nie ma jednak wykonawcy który spełnia ten wzorzec. Czesław Niemen zaczyna się na C ale kończy na M a Mikołaj Czechowski zaczyna się na M więc żaden z tych rekordów nie spełnia kryterium. Takie podejście do filtrowania danych jest powszechnie stosowane w bazach danych pozwalając na zaawansowane wyszukiwania tekstowe. Użycie operatora LIKE z odpowiednimi wzorcami znaków to potężne narzędzie przy analizie tekstów w bazach danych. Warto jednak pamiętać że wydajność takich operacji może znacząco się obniżyć przy dużych zbiorach danych dlatego w praktyce stosuje się indeksowanie kolumn oraz optymalizację zapytań SQL. Ważne jest również aby dobrze zrozumieć jak działa operator LIKE oraz jakie są różnice w jego działaniu w różnych systemach bazodanowych np. w MySQL Oracle czy PostgreSQL.

Pytanie 33

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

A. łączy (skleja) teksty w jeden ciąg
B. usuwa wskazany fragment tekstu
C. przycina wyświetlany tekst
D. zwraca podłańcuch z tekstu wejściowego
Funkcja CONCAT łączy (skleja) kilka wartości tekstowych w jeden ciąg, np. SELECT CONCAT(imie, ' ', nazwisko) FROM klienci zwróci pełne imię i nazwisko w jednej kolumnie. Przyjmuje dowolną liczbę argumentów i często służy do budowania czytelnych etykiet, adresów czy komunikatów z kolumn bazy. W MySQL pokrewna CONCAT_WS pozwala dodatkowo podać separator wstawiany między elementy. Dlatego CONCAT odpowiada za łączenie tekstu.

Pytanie 34

Z którego z pól klasy

class Dane {
    public $a;
    private $b;
    protected $c;
}
będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?
A. Do pola $b.
B. Do wszystkich pól.
C. Do pola $a.
D. Do pola $c.
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.

Pytanie 35

Kolor zapisany w systemie RGB, o wartościach rgb(255,128,16), jaki będzie miał odpowiednik w kodzie szesnastkowym?

A. #ff8011
B. #008010
C. #ff0f10
D. #ff8010
Kod RGB (Red, Green, Blue) to model barw wykorzystywany w grafice komputerowej oraz w technologii wyświetlania. Wartości RGB są określane na podstawie trzech składowych: czerwonej, zielonej i niebieskiej. Każda z tych składowych może przyjmować wartości w zakresie od 0 do 255. W przypadku koloru zapisanym jako rgb(255,128,16), wartość 255 oznacza pełne nasycenie koloru czerwonego, 128 to średnie nasycenie koloru zielonego, a 16 to stosunkowo niskie nasycenie koloru niebieskiego. Aby przekonwertować wartości RGB na format szesnastkowy, należy przekształcić każdą z trzech składowych na system szesnastkowy, co w przypadku podanego koloru daje nam: 255 w systemie dziesiętnym to FF w szesnastkowym, 128 to 80, a 16 to 10. Łącząc te wartości, otrzymujemy #ff8010, co dokładnie odpowiada wartości RGB podanej w pytaniu. Taki zapis jest powszechnie stosowany w CSS i innych formatach związanych z web designem, a jego znajomość jest kluczowa dla każdego projektanta lub developera webowego.

Pytanie 36

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 0
B. 10
C. 2
D. 20
Błędem w rozumieniu tego fragmentu kodu może być założenie, że pętla while zakończy się wcześniej niż po 10 iteracjach. Można błędnie przypuszczać, że zmienna a przyjmuje inną wartość, na przykład 10, 0 lub 2, jeśli nie zrozumiemy poprawnie mechanizmu działania pętli while i operacji wewnątrz niej. Zmienna i początkowo wynosi 10 i jest dekrementowana o 1 w każdej iteracji, co oznacza, że pętla zakończy się dopiero, gdy i osiągnie wartość 0. W trakcie każdej iteracji do zmiennej a dodawana jest wartość 2, co prowadzi do jej końcowej wartości 20 po 10 iteracjach. Błędne odpowiedzi mogą wynikać z niedostatecznego zrozumienia, jak działa dekrementacja zmiennej sterującej pętlą lub jak wpływa to na liczbę wykonanych iteracji. Zrozumienie poprawnego przepływu kontroli w pętli while jest kluczowe w wielu sytuacjach programowania, aby przewidzieć wynik działania kodu. Pętla while jest fundamentalnym mechanizmem sterowania przepływem w wielu językach programowania, dlatego tak ważne jest, by dobrze rozumieć jej działanie i unikać błędnych wniosków, które mogą prowadzić do nieprawidłowego działania programu.

Pytanie 37

Który znacznik HTML umożliwia DYNAMICZNE generowanie grafiki na stronie (bez dodatkowych plików)?

A.
<img>
B.
<embed>
C.
<canvas>
D.
<object>
Pozostałe znaczniki nie generują grafiki kodem. <img> tylko wyświetla gotowy plik obrazu. <object> i <embed> osadzają zewnętrzne zasoby (np. PDF, multimedia). Rysowanie grafiki w locie umożliwia <canvas>.

Pytanie 38

Innym określeniem saturacji koloru jest:

A. przezroczystość koloru
B. jasność koloru
C. nasycenie koloru
D. dopełnienie koloru
Saturacja to po prostu NASYCENIE koloru - opisuje, jak czysta i intensywna jest barwa. Przy wysokiej saturacji kolory są żywe i soczyste, a przy stopniowym obniżaniu blakną, aż przy zerze przechodzą w odcienie szarości. To jeden z trzech parametrów modeli HSV i HSL (obok odcienia i jasności). Dlatego innym określeniem saturacji jest nasycenie koloru.

Pytanie 39

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

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

Pytanie 40

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. zmienić wartości tablicy na te zapisane w zmiennej liczba
B. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
C. wyliczenie iloczynu wszystkich wartości w tablicy
D. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
Kod pokazany na obrazku używa konstrukcji foreach z operatorem referencji ampersand aby iterować po tablicy tab i zmieniać każdy jej element. Operator referencji & pozwala na bezpośrednią modyfikację wartości w tablicy. Instrukcja $liczba = $liczba * (-1) w pętli foreach zmienia znak każdej liczby na przeciwny co oznacza że dodatnie liczby stają się ujemne a ujemne stają się dodatnie. Dzięki temu możliwe jest szybkie odwrócenie znaków wszystkich elementów w tablicy co jest powszechnie stosowane w programowaniu aby przygotować dane do dalszych operacji matematycznych lub analizy. Unset($liczba) jest używane po pętli aby odłączyć referencję co jest dobrą praktyką zapobiegającą przypadkowym modyfikacjom przyszłych danych. Zastosowanie tego wzorca jest efektywne i pozwala na bezpieczną manipulację strukturą danych w PHP. Technika ta jest użyteczna nie tylko w kontekście matematycznym ale również w przypadkach gdzie wymagane jest szybkie przetwarzanie dużych ilości danych.