Wyniki egzaminu

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

Egzamin zdany!

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

Jaką wartość w formacie RGB będzie miała barwa oznaczona kodem heksadecymalnym: #1510FE?

A. rgb(21, 16, FE)
B. rgb(15, 10, FE)
C. rgb(21, 16, 255)
D. rgb(21, 16, 254)
Odpowiedź rgb(21, 16, 254) jest dobra, bo te wartości RGB pochodzą z kodu heksadecymalnego #1510FE. W tym kodzie każda para cyfr pokazuje, jak mocno świeci dany kolor: od 00, co oznacza brak koloru, do FF, gdzie mamy pełną intensywność. W naszym przypadku, pierwsza para '15' to kolor czerwony, '10' to zielony, a 'FE' to niebieski. Jak to przeliczymy na dziesiętny, to '15' daje nam 21, '10' daje 16, a 'FE' to 254. I stąd mamy rgb(21, 16, 254). Te wartości są super przydatne, na przykład przy tworzeniu stylów CSS, gdzie kolory są podstawą. Warto ogarnąć, jak przerabiać kolory z jednego formatu na drugi – to naprawdę pomaga w projektowaniu grafiki i stron www.

Pytanie 2

W języku PHP do zmiennej a przypisano ciąg znaków, w którym wielokrotnie pojawia się słowo Kowalski. Aby jednym poleceniem wymienić w zmiennej a wszystkie wystąpienia słowa Kowalski na słowo Nowak, należy użyć polecenia

A. $a = str_rep('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_replace('Nowak', 'Kowalski', $a);
D. $a = str_replace('Kowalski', 'Nowak', $a);
Kiedy mówimy o funkcji str_replace w PHP, to trzeba dobrze znać jej zasady, bo jak coś zrobisz źle, to może nie działać jak powinno. Na przykład w przypadku $a = str_replace('Nowak', 'Kowalski'); brak trzeciego argumentu, co sprawia, że PHP nie wie, gdzie dokonać tej zamiany. Funkcja potrzebuje tych trzech rzeczy, żeby działać. A jak masz argumenty w złej kolejności, jak w $a = str_replace('Nowak', 'Kowalski', $a); to też nie zadziała, bo próbujesz zastąpić 'Nowak', a powinieneś 'Kowalski'. To typowy błąd, który często się zdarza. Jeszcze ważne, żeby nie pomylić nazw funkcji, bo na przykład $a = str_rep('Kowalski', 'Nowak', $a); wywoła błąd, bo PHP nie zna takiej funkcji. W praktyce dobrze jest więc testować kod w odpowiednim środowisku, żeby mieć pewność, że wszystko działa przed wdrożeniem w bardziej skomplikowane projekty.

Pytanie 3

Pomiędzy jakimi znakami można umieścić komentarz wieloliniowy w kodzie PHP?

A.
<!-- ... -->
B.
/* ... */
C.
<? ... ?>
D.
/? ... ?/
W PHP komentarz wieloliniowy (blokowy) umieszcza się między /* ... */ - wszystko w środku interpreter pomija, nawet jeśli zajmuje kilka wierszy. Dla komentarzy jednoliniowych PHP udostępnia też // oraz #. Komentarze opisują kod i pomagają go zrozumieć, a także pozwalają tymczasowo wyłączyć fragment bez usuwania. Dlatego komentarz wieloliniowy w PHP zapisuje się jako /* ... */.

Pytanie 4

W CSS, stosowanie poniższego kodu na stronie z kilkoma akapitami, gdzie każdy składa się z kilku linijek, spowoduje, że

p::first-line
{
    font-size: 150%;
}
A. pierwsza linia każdego z paragrafów będzie miała mniejszą wielkość czcionki od pozostałych linii
B. pierwszy paragraf na stronie będzie miał powiększoną czcionkę w całości
C. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
D. cały tekst w paragrafie zostanie powiększony o 150%
Rozważając pozostałe możliwości zauważamy że zapis p::first-line { font-size: 150%; } odnosi się tylko do pierwszej linii każdego paragrafu a nie do całego tekstu paragrafu. Błędne myślenie że całość tekstu paragrafu będzie powiększona o 150% wynika z mylnego zrozumienia zasięgu pseudo-elementu. Pseudo-elementy takie jak ::first-line mają zastosowanie tylko do specyficznych części elementów blokowych w tym przypadku pierwszej linii co oznacza że ich działanie nie rozciąga się na cały paragraf. Podobnie sugerowanie że cała czcionka paragrafu zostanie zmieniona na mniejszą jest niepoprawne ponieważ ::first-line nie zmienia domyślnej wielkości czcionki pozostałych linii. W kontekście CSS rozmiar czcionki dla całego elementu można zmodyfikować bezpośrednio przez selektor elementu a nie przez pseudo-element. Przypisywanie zmiany czcionki tylko do pierwszej linii jest częstym sposobem na wyróżnienie tekstu w sposób który nie ingeruje w ogólny styl i strukturę dokumentu co jest zgodne z najlepszymi praktykami projektowania stron. Takie podejście umożliwia bardziej elegancką i czytelną prezentację informacji co jest kluczowe w tworzeniu intuicyjnych interfejsów użytkownika. Ważne jest aby rozumieć różnice między pseudo-elementami a innymi metodami stylizacji aby dokładnie przewidywać efekty określonych stylów w CSS i skutecznie stosować je do osiągania zamierzonych efektów projektowych. W przypadku chęci zmiany stylu całego paragrafu należałoby bezpośrednio użyć odpowiedniego selektora CSS dla całego elementu bez ograniczania się do pseudo-elementu first-line co pozwala na pełną kontrolę nad wszystkimi aspektami wizualnymi tekstu w danym kontekście.

Pytanie 5

Co można powiedzieć o zmiennej predefiniowanej $_POST w języku PHP?

A. zawiera dane przesłane do skryptu z formularza
B. jest kopią tablicy $_COOKIE
C. jest rozszerzoną wersją tablicy $_SESSION
D. zawiera dane przesłane do skryptu z ciasteczka
Zmienna predefiniowana $_POST zawiera dane przesłane do skryptu z FORMULARZA wysłanego metodą POST - trafiają one w treści żądania, a nie w adresie URL. Odczytuje się je np. $_POST['login']. Dlatego $_POST zawiera dane z formularza.

Pytanie 6

W relacyjnych bazach danych encja jest przedstawiana przez

A. relację.
B. rekord.
C. tabelę.
D. kwerendę.
Nieprawidłowe odpowiedzi wskazują na pewne nieporozumienia dotyczące definicji podstawowych elementów relacyjnych baz danych. Rekord, chociaż jest istotnym składnikiem tabeli, nie reprezentuje encji, lecz pojedynczą instancję encji. Mylne jest również utożsamianie tabeli z relacją, ponieważ relacja w kontekście teorii zbiorów odnosi się do zbioru krotek, podczas gdy tabela jest fizycznym i trwałym przedstawieniem tychże zbiorów w bazie danych. Kwerenda natomiast to instrukcja używana do uzyskiwania danych z bazy danych, a nie do ich reprezentacji. To podejście do zrozumienia modeli relacyjnych może prowadzić do błędnych wniosków w projektowaniu baz danych. Dla przykładu, nieumiejętność rozróżnienia między tabelą a rekordem może skutkować niewłaściwym modelowaniem danych, co wpłynie negatywnie na wydajność i integralność bazy danych. Warto zwrócić uwagę na znaczenie właściwego stosowania terminologii oraz zrozumienie struktury danych w relacyjnych bazach danych, co jest kluczowe dla efektywnego zarządzania danymi i ich relacjami.

Pytanie 7

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Połączyć relacją pola ID z obu tych tabel
B. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
C. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
D. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
Dodanie pola klucza obcego do tabeli Klienci i połączenie go z ID tabeli Zamowienia nie jest poprawne ponieważ relacja jeden do wielu wymaga aby klucz obcy znajdował się po stronie tabeli która reprezentuje wiele elementów czyli w tym przypadku Zamowienia Jeśli połączymy relacją pola ID z obu tabel nie uzyskamy semantyki relacji jeden do wielu a jedynie relację równoważności co nie odzwierciedla rzeczywistego scenariusza w którym jeden klient może posiadać wiele zamówień Zdefiniowanie trzeciej tabeli z dwoma kluczami obcymi przypomina projektowanie tabeli asocjacyjnej stosowanej raczej w relacjach wiele do wielu niż jeden do wielu Taka konstrukcja jest bardziej skomplikowana i niepotrzebna w tym konkretnym przypadku wprowadza nadmiarowość oraz dodatkowe obciążenie operacyjne Takie błędne podejścia mogą wynikać z niezrozumienia podstawowych zasad modelowania danych oraz zaniedbania w stosowaniu dobrych praktyk projektowych takich jak normalizacja baz danych i optymalizacja struktury relacyjnej Prowadzą one do nieefektywnego przetwarzania danych i trudności w ich późniejszym zarządzaniu

Pytanie 8

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. dotted
B. solid
C. dashed
D. double
Wybór właściwości takich jak solid double czy dotted dla stylu obramowania często wynika z niepełnego zrozumienia ich zastosowań Solid jest używane do tworzenia ciągłej linii co może być mylące gdy celem jest uzyskanie efektu linii przerywanej W kontekście projektowania stron internetowych solid jest bardziej dominujące i może przesuwać punkt ciężkości z treści na formatowanie co nie zawsze jest pożądane Double tworzy podwójną linię i choć może być stosowane w celu uzyskania bardziej wyrazistego efektu jego użycie w sytuacji gdy potrzebna jest subtelność jest nieodpowiednie Dotyczy to sytuacji gdzie wizualna przejrzystość i prostota są kluczowe Dotted tworzy linię z kropkami która różni się od dashed strukturą i wyglądem podczas gdy dashed używa kresek dotted sprawia wrażenie bardziej delikatnej i lekko chaotycznej linii co nie zawsze jest zgodne z zamierzonym stylem estetycznym Struktura dotted może być stosowana tam gdzie wymagana jest bardziej dekoracyjna linia Wybór właściwej właściwości jest kluczowy dla osiągnięcia zamierzonego efektu wizualnego i powinien być oparty na standardach projektowania stron internetowych które uwzględniają zarówno estetykę jak i funkcjonalność Zapewnienie spójności w użyciu stylów w całej witrynie jest również istotne dla zachowania profesjonalnego wyglądu i łatwości użytkowania takich jak rozpoznawalność interakcji i intuicyjność nawigacji poprzez odpowiednie oznaczenia CSS pozwala na szeroką personalizację co wymaga zrozumienia subtelnych różnic między różnymi wartościami stylów i ich odpowiednimi zastosowaniami w kontekście projektu

Pytanie 9

Jak system CMS realizuje oddzielenie treści serwisu od jego wyglądu?

A. treść generuje z bazy danych, a wygląd ze zdefiniowanego szablonu
B. treść z bazy danych, a wygląd za pomocą atrybutów HTML
C. treść ze statycznych plików HTML, a wygląd ze szablonu
D. treść ze statycznych plików HTML, a wygląd we Flashu
Istotą CMS jest rozdział treści (baza) i wyglądu (szablon). Warianty z treścią w statycznych plikach HTML przeczą dynamicznemu zarządzaniu treścią. Wygląd nie powstaje z atrybutów HTML ani we Flashu (technologia przestarzała), lecz z szablonu. CMS generuje treść z bazy danych, a wygląd ze zdefiniowanego szablonu.

Pytanie 10

W tabeli mieszkancy znajdują się dane o osobach z całej Polski. Aby zliczyć, ile różnych miast jest zawartych w tej tabeli, należy wykonać kwerendę

A. SELECT DISTINCT miasto FROM mieszkancy;
B. SELECT COUNT(miasto) FROM mieszkancy;
C. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
D. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
Wybrana kwerenda SELECT COUNT(DISTINCT miasto) FROM mieszkancy; jest poprawna, ponieważ pozwala na zliczenie unikalnych miast w tabeli mieszkancy. Funkcja DISTINCT eliminuje duplikaty, co oznacza, że tylko różne wartości miasto będą brane pod uwagę w procesie zliczania. Użycie COUNT w połączeniu z DISTINCT jest standardową praktyką w SQL, która zapewnia dokładne wyniki przy analizie danych. Taka metoda jest szczególnie przydatna w przypadku dużych zbiorów danych, gdzie wiele rekordów może odnosić się do tego samego miasta. Na przykład, jeśli mamy 1000 rekordów, z których 200 dotyczy Warszawy, 300 Krakowa oraz 500 Gdańska, kwerenda zwróci wynik 3, ponieważ tylko trzy różne miasta zostały uwzględnione. Tego typu zapytania są powszechne w raportach analitycznych, gdzie istotne jest zrozumienie dystrybucji danych oraz identyfikacja różnych kategorii w zbiorze, co jest niezbędne dla podejmowania decyzji biznesowych.

Pytanie 11

Który z wymienionych programów służy do obróbki dźwięku?

A. Audacity
B. GIMP
C. Inkscape
D. CorelDRAW
Audacity to darmowy program do nagrywania i edycji dźwięku - pozwala wycinać i łączyć fragmenty, regulować głośność, normalizować, usuwać szumy oraz nakładać efekty, a także eksportować do formatów takich jak MP3 czy WAV. To popularne narzędzie do montażu audio i podcastów. Pozostałe wymienione programy dotyczą grafiki, a nie dźwięku. Dlatego do obróbki dźwięku służy Audacity.

Pytanie 12

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
B. wprowadzić nawiasy klamrowe w sekcji if i else
C. dodać znak $ przed nazwami zmiennych
D. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
Wstawienie znaku $ przed nazwami zmiennych w JavaScript nie jest wymagane, ponieważ ten język nie wymaga żadnych specjalnych znaków dla identyfikatorów zmiennych. Znak $ jest używany w niektórych przypadkach, np. w bibliotekach jak jQuery, ale nie wpływa na sposób działania podstawowych zmiennych. Wprowadzenie cudzysłowów wokół zmiennych a i b w liniach 2 i 5 również jest nieprawidłowe, ponieważ spowoduje to, że program zamiast wartości tych zmiennych będzie próbował odwoływać się do stringów 'a' i 'b', co z kolei prowadzi do błędów. W JavaScript cudzysłowy są używane do definiowania stringów, a nie do oznaczania zmiennych. Zamiana cudzysłowów na apostrofy w liniach 3 i 6 nie rozwiązuje problemu, ponieważ zarówno cudzysłowy, jak i apostrofy są poprawnymi znacznikami stringów w JavaScript. W kontekście dobrych praktyk programistycznych, zawsze warto stosować nawiasy klamrowe dla czytelności i bezpieczeństwa kodu, gdyż ułatwia to zrozumienie jego struktury oraz zmniejsza ryzyko błędów związanych z nieprawidłowym zakresem instrukcji.

Pytanie 13

Aby przeanalizować rozkład ilościowy różnych kolorów na zdjęciu, należy skorzystać z

A. rozmycia Gaussa
B. balansu kolorów
C. histogramu
D. desaturacji
Histogram to coś jak graficzna mapka kolorów w Twoim zdjęciu. Pokazuje, jak rozłożone są różne kolory – czerwony, zielony i niebieski – co jest mega przydatne, gdy chcesz zobaczyć, które kolory dominują w Twoim obrazie. Dzięki histogramowi można ogarnąć siłę kolorów i ich proporcje. Jak się nim pobawisz, to łatwiej zauważysz, czy kolory są zbyt intensywne, zbyt blade albo czy masz jakieś przepalenia czy zbyt ciemne miejsca w obrazku. Osobiście, jak używam histogramu, to mogę fajnie dostosować jasność czy kontrast, żeby zdjęcie wyglądało tak, jak chcę. W fotografii i grafice komputerowej histogramy są po prostu standardem – bez nich ciężko ocenić jakość obrazu i podjąć sensowne decyzje w postprodukcji. Dlatego naprawdę warto z nich korzystać, bo dają konkretny wgląd w kolorystykę.

Pytanie 14

Która z wymienionych grup znaczników HTML zawiera elementy przeznaczone do grupowania oraz tworzenia struktury dokumentu?

A. span, strong, em
B. br, img, hr
C. table, tr, td
D. div, article, header
Odpowiedź 'div, article, header' jest poprawna, ponieważ te znaczniki HTML są kluczowymi elementami umożliwiającymi grupowanie i organizację treści w dokumentach webowych. Znacznik 'div' jest uniwersalnym kontenerem, który można wykorzystać do grupowania innych elementów w celu lepszej strukturyzacji strony. 'article' jest przeznaczony do oznaczania niezależnych fragmentów treści, takich jak posty na blogach, które mogą być samodzielnie dystrybuowane. Z kolei 'header' zazwyczaj zawiera nagłówki i elementy wprowadzające dla sekcji strony. Zastosowanie tych znaczników zgodnie z wytycznymi W3C sprzyja poprawnej hierarchii dokumentu, co z kolei zwiększa użyteczność strony oraz jej dostępność dla technologii asystujących. Przykładowo, użycie 'article' pozwala wyszukiwarkom i czytnikom ekranu lepiej zrozumieć strukturę treści, co może pozytywnie wpłynąć na SEO oraz doświadczenia użytkowników.

Pytanie 15

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport pokazujący dane z tabeli, obejmujący tylko komputery z co najmniej 8 GB pamięci oraz procesorem Intel, można wykorzystać kwerendę

A. SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec < 8
B. SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;
C. SELECT * FROM komputery WHERE procesor = 'Intel' OR pamiec < 8
D. SELECT * FROM komputery WHERE procesor = 'Intel' OR pamiec >= 8;
Wybrana kwerenda SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8; jest prawidłowa, ponieważ precyzyjnie spełnia wymagania dotyczące filtracji danych w tabeli komputery. Użycie operatora AND jest kluczowe w tej sytuacji, ponieważ umożliwia jednoczesne sprawdzenie dwóch warunków: pierwszy warunek wymaga, aby procesor był równy 'Intel', a drugi, aby pamięć RAM była większa lub równa 8 GB. W rezultacie kwerenda zwróci tylko te rekordy, które spełniają oba kryteria, co jest zgodne z założeniem raportu. W praktyce, tego typu kwerendy są niezwykle ważne, szczególnie w kontekście analizy danych, gdzie precyzyjne określenie kryteriów jest kluczowe dla uzyskania wartościowych wyników. Dobre praktyki w tworzeniu zapytań SQL obejmują także wykorzystanie odpowiednich indeksów na kolumnach procesor i pamiec, co może znacznie zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 16

W tabeli mieszkancy znajdują się dane o osobach z całego kraju. Aby ustalić, ile unikalnych miast występuje w tej tabeli, trzeba zapisać kwerendę

A. SELECT COUNT(miasto) FROM mieszkancy;
B. SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
C. SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
D. SELECT DISTINCT miasto FROM mieszkancy;
Wybór odpowiedzi "SELECT COUNT(DISTINCT miasto) FROM mieszkancy;" jest naprawdę trafny. Używasz funkcji COUNT razem z DISTINCT, co pozwala na zliczenie tylko unikalnych miast w tabeli 'mieszkancy'. Funkcja COUNT liczy wszystkie wiersze, a DISTINCT usuwa duplikaty, dzięki czemu dostajemy dokładną liczbę miast. Fajnie jest to wykorzystać, gdy analizujesz dane demograficzne – wtedy wiesz, jakie masz rozkłady w różnych miastach. W bazach danych to standardowy sposób, bo dzięki temu unikasz powielania danych i masz lepsze analizy. Ważne jest też, żeby pamiętać o wydajności zapytań; połączenie DISTINCT z COUNT może być bardziej efektywne niż próba szukania duplikatów później. No i zasady normalizacji bazy danych? One rzeczywiście pomagają w tym, żeby dane były uporządkowane, co ułatwia ich przetwarzanie i analizowanie.

Pytanie 17

Jak powinien być poprawnie zapisany znacznik <img>, służący do umieszczenia na stronie internetowej obrazu rys.jpg, przeskalowanego do szerokości 120 px oraz wysokości 80 px z tekstem alternatywnym "krajobraz"?

A. <img src="rys.jpg" height="120px" width="80px" info="krajobraz"/>
B. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"/>
C. <img href="rys.jpg" height="120px" width="80px" info="krajobraz"/>
D. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz"/>
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"/> jest poprawna z kilku powodów. Przede wszystkim, atrybut 'src' wskazuje na lokalizację pliku graficznego, co jest kluczowe dla poprawnego wyświetlania obrazu na stronie internetowej. Atrybuty 'width' oraz 'height' pozwalają na precyzyjne określenie rozmiarów obrazu, co jest istotne zarówno dla responsywności strony, jak i dla optymalizacji czasu ładowania. Użycie jednostki 'px' (pikseli) jest poprawne, jednak w HTML5 można pominąć tę jednostkę, wpisując jedynie wartość liczbową. Atrybut 'alt' jest niezwykle ważny dla dostępności, ponieważ dostarcza alternatywny opis obrazu dla użytkowników, którzy nie mogą go zobaczyć, na przykład osób niewidomych korzystających z czytników ekranu. Używanie odpowiednich atrybutów oraz wartości jest zgodne z najlepszymi praktykami w tworzeniu stron WWW oraz standardami W3C, co wpływa na lepszą użyteczność oraz SEO strony. Przykładem praktycznym może być umieszczenie grafiki w nagłówku strony, gdzie obraz jest widoczny, a opis alternatywny wspiera dostępność i kontekst treści.

Pytanie 18

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

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

Pytanie 19

Język JavaScript wspiera

A. abstrakcyjne klasy
B. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
C. obiekty DOM
D. funkcje wirtualne
Wybór jednej z pozostałych opcji może wynikać z nieporozumienia dotyczącego podstawowych koncepcji programowania w JavaScript. Funkcje wirtualne, które są bardziej charakterystyczne dla języków programowania obiektowego, takich jak C++ czy Java, nie mają zastosowania w JavaScript, który nie wspiera klasycznej hierarchii klas w taki sposób, jak te języki. W JavaScript funkcje są obiektami, a prototypowe dziedziczenie jest kluczowym mechanizmem, co często prowadzi do mylnej interpretacji koncepcji klas abstrakcyjnych. JavaScript nie definiuje klas abstrakcyjnych w tradycyjnym sensie, chociaż od ES6 wprowadzono wsparcie dla klas. Co więcej, idea wysyłania ciastek z tą samą informacją do wielu klientów nie jest bezpośrednio związana z językiem JavaScript, lecz z mechanizmami serwerowymi oraz strukturyzowaniem danych w aplikacjach webowych. Często popełniane błędy myślowe dotyczą zrozumienia ról różnych technologii webowych i ich interakcji. JavaScript działa głównie po stronie klienta, a jego integracja z serwerami odbywa się zazwyczaj za pomocą protokołu HTTP, w którym ciasteczka są jednym z wielu elementów zarządzania stanem użytkownika. Zrozumienie roli DOM w kontekście JavaScript jest kluczowe do tworzenia efektywnych i interaktywnych aplikacji, co podkreśla znaczenie tej koncepcji w codziennym programowaniu.

Pytanie 20

Rekord w bazie danych jest jednoznacznie identyfikowany przez pole:

A. klucza obcego
B. numeryczne
C. relacji
D. klucza podstawowego
Rekord w bazie jednoznacznie identyfikuje pole klucza PODSTAWOWEGO (głównego) - jego wartości są unikalne i niepuste. Dlatego identyfikuje go klucz podstawowy.

Pytanie 21

Aby uzyskać akapit, w którym słowo „zaznaczony” jest wyróżnione znacznikiem <mark>, a słowo „istotny” oznaczone jako ważne <em> - z poprawnym otwarciem i zamknięciem znaczników - należy zastosować kod:

A.
<p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
B.
<p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
C.
<p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
D.
<p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
Poprawny kod to
<p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
Każdy znacznik obejmuje dokładnie to słowo, którego dotyczy: <mark> wyróżnia „zaznaczony”, a <em> oznacza „istotny” jako ważny - i oba są zamknięte. Znaczniki nie zachodzą też na siebie nieprawidłowo. Dlatego ta wersja jest poprawna.

Pytanie 22

W CSS zastosowano poniższe formatowanie. Kolorem czerwonym będzie wyświetlony

h1 i {
   color: red;
}
A. jedynie tekst italic we wszystkich poziomach nagłówków
B. cały tekst nagłówka pierwszego stopnia oraz wszelki tekst italic, niezależnie od lokalizacji na stronie
C. cały tekst nagłówka pierwszego stopnia oraz tekst italic akapitu
D. tylko tekst italic nagłówka pierwszego stopnia
Analizując dostępne odpowiedzi, widzimy, że tylko jedna poprawnie interpretuje zastosowanie selektora CSS. Pierwsza odpowiedź sugeruje, że kolor czerwony zostanie zastosowany jedynie do tekstu pochylonego we wszystkich poziomach nagłówków, co jest błędne. Selekcja h1 i odnosi się wyłącznie do pochylonych elementów wewnątrz nagłówka pierwszego poziomu, a nie w innych nagłówkach. Druga odpowiedź zakłada, że cały tekst nagłówka pierwszego poziomu oraz pochylony tekst akapitu będzie czerwony. To nieprawda, ponieważ selektor dotyczy wyłącznie tekstu w tagu <i> wewnątrz <h1>, a nie oddzielnie pochyłych akapitów. Trzecia odpowiedź również źle interpretuje zakres selektora, twierdząc, że każdy pochyły tekst na stronie zostanie sformatowany na czerwono, co jest niezgodne z koncepcją selektorów złożonych, które w tym przypadku działają tylko w kontekście <h1>. Podstawowy błąd we wszystkich niepoprawnych odpowiedziach polega na nieprawidłowym rozumieniu, jak precyzyjnie działają selektory CSS, co jest kluczowe dla efektywnego zarządzania stylami w projektowaniu stron internetowych. Dobra znajomość selektorów pozwala na uniknięcie nadmiernego użycia klas czy identyfikatorów oraz sprzyja tworzeniu bardziej semantycznego kodu CSS, co jest zgodne z najlepszymi praktykami w branży. Precyzyjna wiedza na temat działania selektorów złożonych pozwala na bardziej efektywne stylizowanie stron oraz minimalizowanie niepożądanych konfliktów stylów.

Pytanie 23

Która z poniższych funkcji zdefiniowanych w języku PHP oblicza sumę połowy wartości a i połowy wartości b?

A. function licz($a, $b) {return $a/2 + $b;}
B. function licz($a, $b) {return 2/$a + 2/$b;}
C. function licz($a, $b) {return ($a/2 + $b)/2;}
D. function licz($a, $b) {return $a/2 + $b/2;}
Podczas analizy niepoprawnych odpowiedzi warto zauważyć, że niektóre z nich zawierają błędy w logice obliczeń. W pierwszej nieprawidłowej opcji funkcja zwraca sumę połowy a oraz pełnej wartości b. Takie podejście nie spełnia założenia pytania, które zakłada zwrócenie sumy połowy obu wartości. Koncepcja ta sugeruje nieporozumienie dotyczące operacji arytmetycznych i ich właściwego zastosowania. W drugiej przedstawionej odpowiedzi, operator '/' został użyty w niewłaściwy sposób, co prowadzi do całkowicie błędnego wyniku. Zamiast obliczać sumę połowy a i połowy b, funkcja ta nie tylko zmienia logikę obliczeń, ale również wprowadza potencjalne błędy zaokrągleń, które mogą wpływać na wynik końcowy. Ostatnia niepoprawna opcja wykazuje błędne zrozumienie pojęcia średniej, ponieważ dzieli sumę połowy a i b przez 2, co nie jest zgodne z wymaganym pytaniem. Wspólnym błędem we wszystkich tych przypadkach jest ignorowanie podstawowych zasad dotyczących operacji arytmetycznych i ich zastosowania w kontekście funkcji. To podkreśla znaczenie dokładnego zrozumienia problemu przed przystąpieniem do jego rozwiązania.

Pytanie 24

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w jednostronnie domkniętym przedziale <-5, 10)?

A. $zmienna1 <= -5 && $zmienna1 < 10
B. $zmienna1 <= -5 || $zmienna1 < 10
C. $zmienna1 >= -5 || $zmienna1 < 10
D. $zmienna1 >= -5 && $zmienna1 < 10
W analizowanych odpowiedziach pojawia się kilka błędnych koncepcji związanych z użyciem operatorów logicznych oraz interpretacją przedziałów. W przypadku wyrażenia $zmienna1 >= -5 || $zmienna1 < 10, zastosowanie operatora || (OR) prowadzi do sytuacji, w której warunki są połączone w sposób, który nie spełnia wymagań jednostronnie domkniętego przedziału. W praktyce oznacza to, że jeśli zmienna1 jest mniejsza od 10, ale większa od -5, cały warunek zwraca prawdę, co jest niezgodne z zamierzonym przedziałem. Podobny błąd występuje w wyrażeniu $zmienna1 <= -5 || $zmienna1 < 10, gdzie również użycie operatora OR skutkuje tym, że przedział nie jest odpowiednio ograniczony. Ostatnie wyrażenie $zmienna1 <= -5 && $zmienna1 < 10 zawiera dodatkowo błąd związany z interpretacją granicy -5, które nie powinno być włączone w przedział domknięty. Takie błędne rozumienie prowadzi do nieprawidłowego przechwytywania wartości zmiennej, co jest szczególnie istotne w kontekście programowania w PHP, gdzie precyzyjne określenie warunków jest kluczowe dla zapewnienia poprawności działania aplikacji. Zrozumienie różnicy między jednostronnie domkniętym a domkniętym przedziałem jest fundamentem w programowaniu i pozwala uniknąć typowych pułapek podczas implementacji logiki aplikacji. Warto także regularnie przeglądać dokumentację oraz standardy dotyczące operatorskich konstrukcji w PHP, aby utrzymać wysoką jakość kodu.

Pytanie 25

W języku działającym po stronie serwera tworzysz ankietę, której wynik ma być zapamiętany w postaci małego pliku po stronie użytkownika. Jaki mechanizm wykorzystasz?

A. tablicę globalną $_FILES
B. sesję
C. bazę danych SQL
D. ciasteczka (cookies)
Ciasteczko (cookie) to niewielki plik zapisywany przez serwer w przeglądarce użytkownika i odsyłany przy kolejnych żądaniach. Idealnie nadaje się do zapamiętania drobnej informacji po stronie klienta, np. że ktoś wziął już udział w ankiecie. W PHP ustawia się je funkcją setcookie(). Dlatego dane zapisywane w małym pliku u użytkownika to ciasteczka.

Pytanie 26

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich wierszy, gdzie producent to TOSHIBA. W SQL zapis tej modyfikacji będzie wyglądać następująco:

A. UPDATE podzespoly SET URL = 'toshiba.pl' WHERE producent = 'TOSHIBA';
B. UPDATE podzespoly SET URL = 'toshiba.pl'
C. UPDATE podzespoly.producent = 'TOSHIBA' SET URL = 'toshiba.pl';
D. UPDATE producent = 'TOSHIBA' SET URL = 'toshiba.pl';
Odpowiedź jest poprawna, ponieważ zawiera właściwą składnię polecenia SQL do aktualizacji wartości w tabeli. W SQL, instrukcja UPDATE jest używana do modyfikacji danych w istniejących rekordach. W tym przypadku, polecenie 'UPDATE podzespoly SET URL = 'toshiba.pl' WHERE producent = 'TOSHIBA';' zmienia wartość pola URL na 'toshiba.pl' tylko dla tych rekordów, gdzie producent jest równy 'TOSHIBA'. To podejście jest zgodne z dobrymi praktykami w zarządzaniu bazami danych, ponieważ pozwala na precyzyjne określenie, które rekordy mają zostać zaktualizowane. W praktyce, przed wykonaniem takiej aktualizacji, zaleca się zawsze wykonać zapytanie SELECT, aby zweryfikować, które rekordy zostaną zmodyfikowane. Zapewnia to dodatkową warstwę kontroli i zabezpiecza przed niezamierzonymi zmianami. Prawidłowe użycie klauzuli WHERE jest kluczowe, aby nie zmienić wszystkich rekordów w tabeli, co mogłoby doprowadzić do utraty danych. Zrozumienie struktury SQL i zasad działania instrukcji jest fundamentem pracy z relacyjnymi bazami danych.

Pytanie 27

Jaką wartość zwróci funkcja w języku C++, jeśli parametry wynoszą a = 4 oraz b = 3?

long int fun1(int a, int b)
{
long int wynik = 1;
for (int i = 0; i < b; i++)
wynik *= a;
return wynik;
}
A. 64
B. 16
C. 12
D. 1
Rozpatrując niepoprawne odpowiedzi należy zauważyć że błędne zrozumienie działania pętli for oraz operacji w niej zawartych może prowadzić do niepoprawnych wyników. Niektórzy mogą błędnie zakładać że funkcja wykonuje dodawanie a nie mnożenie co prowadzi do odpowiedzi takich jak 12 lub 16. W rzeczywistości pętla for w tej funkcji przemnaża wartość zmiennej wynik przez a dla każdej iteracji co oznacza że wynik końcowy jest a podniesione do potęgi b. Błąd polegający na uznaniu że wynik to 12 może wynikać z pomyłki i traktowania operacji jak klasycznego dodawania zamiast przemnożenia a z kolei wynik 16 mógłby wynikać z błędnego wnioskowania że pętla wykonuje inną liczbę iteracji niż w rzeczywistości. Kolejnym częstym błędem jest nieprawidłowe przypisanie wartości początkowej do wyniku albo niezrozumienie że pętla zaczyna od 0 i iteruje do b-1. Takie błędne założenia mogą wynikać z niezrozumienia podstawowej składni i logicznych kroków algorytmu. Zrozumienie tego jak działa pętla for oraz jak operacje na zmiennych zmieniają ich wartości w trakcie iteracji jest kluczowe aby poprawnie przewidzieć wynik działania funkcji. Kluczem do poprawnego rozwiązania jest metodyczne sprawdzenie każdego kroku algorytmu co pozwoli uniknąć podobnych błędów w przyszłości. Zasady te są fundamentalne dla każdego programisty a ich zrozumienie ma zastosowanie w szerokim zakresie zagadnień programistycznych i algorytmicznych zapewniając nie tylko poprawność ale również efektywność pisanych programów. Poprawne zrozumienie tych podstaw umożliwia tworzenie bardziej złożonych i wydajnych algorytmów co jest kluczowe w środowisku zawodowym.

Pytanie 28

Algorytm sortowania tablicy, polegający na wielokrotnym porównywaniu par sąsiednich elementów i ich zamianie, gdy są w złej kolejności, nosi nazwę sortowania:

A. bąbelkowym
B. przez wybór
C. przez scalanie
D. szybkim
Sortowanie bąbelkowe (ang. bubble sort) wielokrotnie przechodzi przez tablicę, porównując sąsiednie elementy i zamieniając je miejscami, gdy są w złej kolejności. Większe wartości stopniowo „wypływają” na koniec niczym bąbelki. Jest proste, ale wolne (złożoność O(n²)). Dlatego opisany algorytm to sortowanie bąbelkowe.

Pytanie 29

Jaką funkcję w języku PHP można wykorzystać do weryfikacji typu zmiennej?

A. switch()
B. foreach()
C. strrev()
D. var_dump()
Funkcja var_dump() w języku PHP jest niezwykle przydatna do sprawdzania typu zmiennej, ponieważ wyświetla zarówno wartość zmiennej, jak i jej typ. Dzięki temu programista może szybko zrozumieć, co dokładnie znajduje się w danej zmiennej. Na przykład, jeśli mamy zmienną $a przypisaną do wartości 5, używając var_dump($a), uzyskamy wynik 'int(5)', co wskazuje, że zmienna jest typu całkowitego. Z kolei dla zmiennej $b, która jest tablicą, var_dump($b) pokaże strukturę tablicy oraz jej zawartość. Użycie var_dump() jest zgodne z dobrymi praktykami debugowania w PHP, ponieważ umożliwia identyfikację problemów z typami danych, co jest kluczowe w kontekście typowania dynamicznego, jakie ma miejsce w PHP. Dodatkowo, var_dump() jest często stosowane w sytuacjach, gdy programista chce szybko zweryfikować, co znajduje się w zmiennych podczas rozwoju aplikacji, co przyspiesza proces debugowania i pozwala na łatwiejsze znalezienie błędów w logice aplikacji.

Pytanie 30

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
B. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
C. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
Twoja odpowiedź jest jak najbardziej na miejscu, bo trafnie wskazuje, jakie warunki trzeba spełnić, żeby uzyskać odpowiednie nazwy wycieczek. W tym zapytaniu SQL 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3' użyto operatora AND, co oznacza, że oba warunki muszą być spełnione naraz. Pierwszy mówi, że cena wycieczki musi być mniejsza niż 2000 zł, co pomaga znaleźć tańsze oferty. Drugi warunek wymaga, żeby było przynajmniej cztery wolne miejsca, co jest ważne, gdy ktoś myśli o podróżach z rodziną lub przyjaciółmi. Takie podejście jest zgodne z tym, co powinniśmy stosować, pisząc zapytania SQL, bo powinny być one precyzyjne i skuteczne. Warto też pamiętać o dobrym używaniu operatorów logicznych, żeby uzyskać oczekiwane rezultaty. Dlatego zrozumienie, jak te operatory działają oraz jak je zastosować w kontekście danych, jest kluczowe w pracy z bazami danych.

Pytanie 31

Tabela filmy zawiera klucz główny id oraz klucz obcy rezyserID, natomiast tabela rezyserzy ma klucz główny id. Obydwie tabele są połączone relacją jeden do wielu, gdzie strona rezyserzy odnosi się do strony filmy. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...
B. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...
C. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
D. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
Odpowiedź, która wskazuje na połączenie tabeli filmy z tabelą rezyserzy za pomocą klauzuli JOIN, z warunkiem ON filmy.rezyserID = rezyserzy.id, jest prawidłowa, ponieważ bezpośrednio odzwierciedla relację pomiędzy tymi dwiema tabelami. Klucz obcy rezyserID w tabeli filmy wskazuje na klucz główny id w tabeli rezyserzy. W związku z tym, aby prawidłowo połączyć te tabele w kwerendzie SELECT, musimy użyć tego klucza obcego w warunku połączenia. Przykładowo, w realnych zastosowaniach chcesz uzyskać informacje o filmach oraz ich reżyserach; więc pisząc zapytanie, możesz z łatwością uzyskać dane, takie jak tytuł filmu i imię reżysera, co jest kluczowe w systemach zarządzania bazą danych. Dobre praktyki wskazują, że zawsze należy używać poprawnych kluczy do łączenia tabel, aby uzyskać wiarygodne i dokładne wyniki, co jest fundamentalne w projektowaniu baz danych i tworzeniu zapytań SQL.

Pytanie 32

Jakie jest zadanie poniższej pętli?

int x = 0;
while (x < 10)
{
    mojeKsiazki[x] = new Ksiazka();
    x++;
}
A. stworzenie dziesięciu instancji obiektów typu Ksiazka.
B. wyświetlenie danych z tabeli Ksiazka na ekranie.
C. stwórzenie jednego obiektu typu mojeKsiazki
D. uzupełnienie tablicy Ksiazka danymi.
W przedstawionej pętli while zmienna x jest inicjowana wartością 0, a następnie w każdej iteracji pętli tworzy nowy obiekt typu Ksiazka, który jest przypisywany do elementu tablicy mojeKsiazki w indeksie x. Pętla kontynuuje działanie, aż x osiągnie wartość 10, co oznacza, że zostaną utworzone obiekty dla indeksów od 0 do 9, co łącznie daje 10 obiektów. Jest to standardowy sposób inicjalizacji tablicy obiektów w języku C#, który pokazuje, jak można dynamicznie tworzyć i przechowywać instancje klas. W praktycznych zastosowaniach, takie podejście jest bardzo użyteczne, gdy potrzebujemy przechować wiele podobnych obiektów, na przykład w aplikacjach do zarządzania danymi, gdzie każde wpisane dane może być reprezentowane przez obiekt. Poprawna alokacja pamięci oraz zarządzanie obiektami są kluczowe w programowaniu obiektowym, a umiejętność skutecznego wykorzystywania pętli do inicjalizacji tablic jest niezbędna dla każdego programisty.

Pytanie 33

Informacje o ciasteczkach (cookies) są w PHP przechowywane w tablicy:

A.
$_SERVER
B.
$_COOKIE
C.
$_GET
D.
$_POST
Ciasteczka odesłane przez przeglądarkę PHP udostępnia w tablicy superglobalnej $_COOKIE. Odczytuje się z niej wartość po nazwie, np. $_COOKIE["jezyk"]. Samo ciasteczko ustawia się funkcją setcookie("jezyk", "pl", time()+3600), a serwer wysyła je w nagłówku odpowiedzi; przy kolejnych żądaniach przeglądarka odsyła je z powrotem i trafiają właśnie do $_COOKIE. W praktyce wykorzystuje się je do zapamiętania preferencji użytkownika czy identyfikatora sesji. Dlatego informacje o ciasteczkach przechowuje tablica $_COOKIE.

Pytanie 34

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A. <s> </s>
B. <b> </b>
C. <u> </u>
D. <em> </em>
Element <s> w HTML służy do oznaczania tekstu jako nieaktualnego, błędnego albo już nieobowiązującego poprzez jego przekreślenie. Przeglądarka domyślnie renderuje taki fragment z poziomą linią przez środek tekstu. W praktyce używa się go np. przy cenach promocyjnych: <p>Stara cena: <s>199 zł</s> Nowa cena: 149 zł</p> albo przy korektach treści, kiedy chcemy pokazać, że coś zostało zmienione, ale wciąż widoczne jest, co było wcześniej. Warto wiedzieć, że historycznie do podobnych celów używano też <strike>, ale ten znacznik jest przestarzały (deprecated) w standardzie HTML i nie powinien być już stosowany. Moim zdaniem lepiej od razu przyzwyczajać się do poprawnych, aktualnych tagów, bo to się później opłaca przy większych projektach. W nowszych specyfikacjach HTML5 zaleca się stosowanie <s> właśnie do treści nieaktualnych, ale nie takich, które zostały formalnie wycofane – do tego jest znacznik <del>, który dodatkowo semantycznie wskazuje usunięcie fragmentu, często używany w systemach kontroli wersji treści. Z mojego doświadczenia warto rozróżniać <s>, <del> i <ins>, bo w połączeniu z CSS i narzędziami do dostępności (np. czytnikami ekranu) daje to lepszą semantykę dokumentu. Dobrą praktyką jest też nie nadużywać przekreśleń tylko dla „efektu wizualnego” – jeśli chcesz coś tylko wyróżnić graficznie, lepiej użyć CSS, a znaczników semantycznych używać zgodnie z ich przeznaczeniem.

Pytanie 35

Aby w wyniku zapytania wyeliminować powtarzające się wiersze, należy użyć klauzuli

A.
DISTINCT
B.
ORDER BY
C.
LIMIT
D.
UNIQUE
Klauzula DISTINCT w zapytaniu SELECT porównuje całe zwracane wiersze i pozostawia tylko niepowtarzalne, usuwając wszystkie ich kopie. Dotyczy zestawu kolumn wskazanych po słowie SELECT: jeśli dwa wiersze mają identyczne wartości we wszystkich tych kolumnach, w wyniku pojawi się jeden z nich. Na przykład SELECT DISTINCT miasto FROM klienci zwróci listę miast bez powtórzeń, nawet gdy wielu klientów mieszka w tym samym mieście. To właśnie ta klauzula odpowiada za eliminację zduplikowanych wierszy w wyniku zapytania.

Pytanie 36

Aby w języku HTML uzyskać formatowanie paragrafu przedstawione w ramce, należy zastosować kod

Ilustracja do pytania
A. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
B. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
C. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
D. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
Poprawnie wybrałeś kod z poprawnie zagnieżdżonymi i domkniętymi znacznikami: <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>. To dokładnie odpowiada temu, co widać na podglądzie: zwykły akapit, w nim jedno słowo podświetlone na żółto oraz inne wyróżnione kursywą. Znacznik <p> tworzy paragraf – podstawowy blok tekstu w HTML. W środku używasz elementów liniowych (inline): <mark> do zaznaczenia fragmentu tekstu jak zakreślaczem oraz <em> do zaznaczenia treści istotnej znaczeniowo, co domyślnie jest renderowane jako kursywa. Według specyfikacji HTML5 <mark> służy do semantycznego wyróżnienia tekstu związanego z kontekstem, np. wynik wyszukiwania na stronie czy aktualnie ważna informacja. <em> natomiast podkreśla akcent logiczny w zdaniu, a nie tylko ozdobne pochylenie, co jest dobrą praktyką dostępnościową. Ważne jest też poprawne zagnieżdżanie: najpierw otwierasz <mark>, potem go zamykasz </mark>, dopiero później otwierasz <em> i zamykasz </em>. Żaden z tych znaczników nie nachodzi na siebie w sposób krzyżowy. Tego pilnują walidatory W3C i warto się do tego przyzwyczaić od początku. W codziennej pracy taki kod możesz wykorzystać np. w artykułach, dokumentacji technicznej, materiałach szkoleniowych, gdzie chcesz: zakreślić słowo kluczowe (<mark>) i jednocześnie podkreślić termin ważny dla autora lub kontekstu (<em>). Moim zdaniem lepiej stosować <em> zamiast <i>, bo <em> niesie znaczenie semantyczne i czytniki ekranu potrafią je zinterpretować, co poprawia dostępność strony.

Pytanie 37

Pokazane pole input pozwala na  

<input type = "checkbox" name = "text1" value = "text2">

A. selekcja opcji z listy o wartościach text1 i text2
B. wprowadzenie hasła
C. wybranie opcji
D. wprowadzenie dowolnego tekstu
Odpowiedzi takie jak "wpisanie dowolnego tekstu", "wpisanie hasła" czy "wybranie opcji z listy o wartości text1 i text2" są mylne, bo nie oddają rzeczywistego działania pola typu checkbox. Jak chodzi o checkboxa, to nie wprowadza się tekstu ani haseł. Checkboxy są do wyboru opcji, a nie do wpisywania danych. Wydaje mi się, że pisanie dowolnego tekstu sugeruje, że chodzi o pole tekstowe, a to jest zupełnie inny typ elementu. Z kolei hasło powinno być wprowadzone w polu typu password, które maskuje to, co wpisujemy dla bezpieczeństwa. A wybieranie opcji z listy kojarzy się z rozwijaną listą (select), a nie checkboxem, co też jest niepoprawne. Często mylimy różne typy elementów formularza i nie do końca rozumiemy ich funkcje. Dlatego warto rzucić okiem na dokumentację i przykłady różnych typów pól formularzy, żeby uniknąć podobnych nieporozumień w przyszłości.

Pytanie 38

W języku HTML, aby ustawić tytuł dokumentu na "Moja strona", który będzie widoczny na karcie przeglądarki internetowej, należy użyć zapisu

A. <meta name="title" content="Moja strona">
B. <title>Moja strona</title>
C. <meta title="Moja strona">
D. <head>Moja strona</head>
Odpowiedź <title>Moja strona</title> jest poprawna, ponieważ element <title> jest standardowym sposobem definiowania tytułu dokumentu HTML, który jest wyświetlany na pasku tytułowym przeglądarki. Zgodnie z normą HTML, element ten powinien być umieszczony wewnątrz sekcji <head> dokumentu. Przykładowa struktura dokumentu HTML z tytułem wygląda następująco: <html><head><title>Moja strona</title></head><body></body></html>. Tytuł jest istotny nie tylko dla użytkowników, ale również dla wyszukiwarek internetowych, ponieważ wpływa na SEO (Search Engine Optimization). Dobrze dobrany tytuł może zwiększyć klikalność linków w wynikach wyszukiwania. Dodatkowo, element <title> jest ważnym aspektem dostępności, ponieważ osoby korzystające z technologii asystujących polegają na nim, aby zrozumieć zawartość strony. W kontekście dobrych praktyk warto pamiętać, że tytuł powinien być krótki, zwięzły i adekwatny do treści strony. Warto również unikać duplikatów tytułów na różnych stronach tej samej witryny, co może prowadzić do chaosu w nawigacji i negatywnie wpływać na doświadczenia użytkowników oraz SEO.

Pytanie 39

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. PHP
B. AJAX
C. VBScript
D. XML
AJAX, czyli Asynchronous JavaScript and XML, to technika umożliwiająca asynchroniczną komunikację pomiędzy klientem a serwerem bez potrzeby przeładowania całej strony WWW. Umożliwia to tworzenie bardziej responsywnych i interaktywnych aplikacji internetowych. Przykładem zastosowania AJAX może być formularz kontaktowy, który po wypełnieniu wysyła dane do serwera i otrzymuje odpowiedź bez odświeżania całej strony, co poprawia doświadczenie użytkownika. Technologia ta wykorzystuje XMLHttpRequest lub Fetch API do przesyłania i odbierania danych w formacie JSON, co jest bardziej efektywne niż tradycyjne metody. AJAX jest szeroko stosowany w aplikacjach typu single-page, gdzie szybkość i wydajność są kluczowe. Warto również zwrócić uwagę na bezpieczeństwo przy korzystaniu z AJAX, takie jak walidacja danych wejściowych oraz ochrona przed atakami XSS i CSRF, które są standardami w branży.

Pytanie 40

Jak nazywa się tłumaczenie kodu źródłowego napisanego przez programistę na zrozumiały dla komputera kod maszynowy?

A. analizowanie błędów
B. wykonywanie
C. kompilowanie
D. wdrażanie
Tłumaczenie kodu źródłowego na zrozumiały dla komputera kod maszynowy nazywa się kompilowaniem - wykonuje je kompilator, tworząc plik wynikowy. Dlatego ta czynność to kompilowanie.