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: 17 czerwca 2026 15:26
  • Data zakończenia: 17 czerwca 2026 16:02

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Czym charakteryzują się systemy CMS?

A. wbudowanym edytorem grafiki wektorowej
B. możliwością programowania w zaawansowanych frameworkach
C. wbudowanym serwerem poczty
D. możliwością edycji treści bez znajomości HTML

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Systemy CMS (Content Management System) pozwalają zarządzać treścią serwisu przez panel administracyjny, BEZ znajomości HTML i programowania - tekst i media dodaje się jak w edytorze tekstu. Przykłady to WordPress czy Joomla!. Dlatego CMS cechuje możliwość edycji treści bez znajomości HTML.

Pytanie 2

void wypisz(int n) {
    for (int i = 1; i <= n; i++) {
        System.out.println("Wykonanie operacji po raz " + i);
    }
    System.out.println("Wykonanie kolejnej operacji!");
}
Złożoność obliczeniowa prezentowanego kodu wynosi:
A. O(n!)
B. O(1)
C. O(n)
D. O(n²)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym zadaniu kluczowe jest zauważenie, że jedynym fragmentem kodu, który realnie „rośnie” wraz ze wzrostem n, jest pętla for. Pętla wykonuje się od i = 1 do i <= n, czyli dokładnie n razy. W każdej iteracji wykonywana jest jedna instrukcja wypisania tekstu na konsolę: System.out.println("Wykonanie operacji po raz " + i);. To jest stały zestaw operacji w każdej iteracji, nie pojawia się żadna zagnieżdżona pętla, żadne rekurencyjne wywołania ani inne konstrukcje, które by powodowały większy wzrost liczby operacji. Z tego powodu całkowita liczba operacji tego algorytmu jest proporcjonalna do n, a w notacji dużego O zapisujemy to jako O(n). Dodatkowe wywołanie System.out.println("Wykonanie kolejnej operacji!"); po zakończeniu pętli ma z punktu widzenia złożoności asymptotycznej znaczenie stałe – to jest jedna instrukcja, więc dokładamy tylko +1 do liczby operacji. Standardowo w analizie algorytmów takie stałe pomijamy, bo interesuje nas zachowanie dla bardzo dużych n. W praktyce taki schemat O(n) pojawia się non stop: przechodzenie po elementach tablicy, listy, sprawdzanie każdego rekordu z pliku, proste filtrowanie danych. Moim zdaniem warto wyrobić sobie nawyk: widzisz pojedynczą pętlę, bez dodatkowych zagnieżdżeń i bez skoków zależnych od innych zmiennych – bardzo często będzie to właśnie złożoność liniowa. W dobrych praktykach projektowania algorytmów przyjmuje się, że O(n) jest zazwyczaj akceptowalne dla sporych danych, bo czas rośnie wprost proporcjonalnie do liczby elementów. Dopiero gdy pojawiają się pętle w pętlach, trzeba się bardziej martwić o wydajność. Warto też pamiętać, że operacja wejścia/wyjścia (I/O), jak wypisywanie na konsolę, jest w rzeczywistości dość kosztowna, ale w analizie teoretycznej zakładamy, że to jedna jednostkowa operacja na iterację. Dzięki temu możemy porównywać różne algorytmy w sposób ogólny, niezależny od konkretnej maszyny czy implementacji.

Pytanie 3

Ikona funkcji w edytorze grafiki rastrowej oznaczona jako „różdżka” pozwala na

Ilustracja do pytania
A. zaznaczenie obszaru w oparciu o kolor
B. wybranie konkretnego koloru i ustawienie go jako aktywnego
C. ręczne zaznaczanie fragmentów poprzez przeciąganie kursora
D. wybiórcze nakładanie koloru przy użyciu pędzla

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja różdżki, znana również jako magiczna różdżka, jest narzędziem powszechnie używanym w edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP. Narzędzie to pozwala użytkownikowi na szybkie zaznaczanie obszarów obrazu na podstawie podobieństwa kolorów. Działa poprzez analizę koloru piksela, na który kliknięto, i automatyczne zaznaczenie sąsiadujących pikseli o podobnych wartościach kolorystycznych. Użytkownik może dostosować czułość narzędzia, co jest określane jako tolerancja, aby precyzyjnie kontrolować zakres zaznaczenia. Ustawienie wyższej tolerancji pozwala na zaznaczenie większej liczby pikseli, które różnią się od koloru docelowego tylko nieznacznie, co jest przydatne przy bardziej złożonych obrazach. Ta funkcjonalność jest szczególnie przydatna podczas pracy z obrazami o jednolitym tle lub podczas edycji zdjęć, gdzie szybkie zaznaczenie obszaru pozwala na skuteczniejsze przeprowadzanie operacji, takich jak zmiana koloru, usuwanie czy kopiowanie wybranych elementów. W praktyce, magiczna różdżka stanowi kluczowy element w arsenale narzędzi grafika, umożliwiając efektywne zarządzanie i manipulowanie obrazem, co jest zgodne z najlepszymi praktykami w branży edycji graficznej.

Pytanie 4

Ikona przedstawiająca funkcję w edytorze grafiki rastrowej, znana jako „kubełek”, pozwala na

Ilustracja do pytania
A. pobranie wybranej barwy i ustawienie jej jako aktywnej
B. zmianę bieżących kolorów
C. wybór obszaru o identycznym kolorze
D. wypełnienie obszaru, który został zaznaczony kolorem
Narzędzie 'kubełek', często spotykane w edytorach grafiki rastrowej takich jak Adobe Photoshop czy GIMP, służy do wypełniania zaznaczonego obszaru kolorem. Jest to szczególnie przydatne w sytuacjach, gdy chcemy szybko zapełnić jednolitym kolorem duże powierzchnie, takie jak tła lub obiekty. Działa na zasadzie zalewania najbliższych pikseli wybranym kolorem, uwzględniając podobieństwo kolorów, co można regulować za pomocą opcji tolerancji. W praktyce, narzędzie to usprawnia proces tworzenia grafik, ponieważ eliminuje potrzebę ręcznego kolorowania każdego piksela. Dodatkowo 'kubełek' może być stosowany w połączeniu z różnymi trybami mieszania, co pozwala na uzyskanie bardziej zaawansowanych efektów wizualnych. Praca z 'kubełkiem' wymaga zrozumienia koncepcji warstw, ponieważ wypełnianie na konkretnej warstwie ma wpływ na finalny wygląd projektu. Wiedza o tym, jak skutecznie używać narzędzia 'kubełek', jest niezbędna dla każdego grafika cyfrowego, który chce pracować efektywnie i profesjonalnie, realizując projekty zgodnie z najlepszymi praktykami branżowymi.

Pytanie 5

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

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

Pytanie 6

Które spośród poniższych zdań dotyczących definicji funkcji umieszczonej w ramce jest prawidłowe?

function czytajImie(){
var imie=null;
do{
imie=prompt("podaj imie: ");
if(imie.length<3) alert("wprowadzony tekst jest niepoprawny");
}while(imie.length<3);
}
A. Pętla wykona się tylko jeden raz
B. Funkcja zawiera pętlę, która powtarza się 3 razy
C. Tekst będzie odczytywany do chwili, gdy podana zostanie liczba większa niż 3
D. Wczytywanie tekstu zakończy się, gdy tekst będzie się składał przynajmniej z 3 znaków
W analizowanej funkcji głównym celem jest zapewnienie, że użytkownik wprowadza imię o odpowiedniej długości. Pętla do while jest strukturą sterującą stosowaną, gdy chcemy, aby blok kodu wykonał się co najmniej raz przed sprawdzeniem warunku. W tym przypadku pętla nie wykona się tylko raz, ponieważ warunek jest taki, że imię musi mieć co najmniej trzy znaki długości. Błędne zrozumienie logiki mogłoby wynikać z myślenia, że pętla zawsze kończy się po pierwszym wykonaniu, co jest nieprawidłowe w kontekście tej funkcji. Odnośnie twierdzenia, że funkcja posiada pętlę powtarzającą się trzy razy, jest ono nieprawdziwe, ponieważ liczba iteracji nie jest stała i zależy od danych wejściowych użytkownika. Często mylne jest założenie, że pętle mają z góry określoną liczbę iteracji, podczas gdy w rzeczywistości często kończą się na podstawie zdefiniowanego warunku logicznego. Wreszcie, opcja mówiąca o wczytywaniu tekstu do momentu podania liczby większej niż 3 błędnie interpretuje warunek pętli. Warunek mówi o długości wprowadzonego tekstu, a nie o jego wartości liczbowej. Często błędnie zakłada się, że każdy warunek logiczny odnosi się do wartości liczbowych, co w tym przypadku prowadzi do nieporozumienia. Zrozumienie, jak działają warunki logiczne i pętle kontrolne, jest kluczowe w programowaniu, ponieważ pozwala to na tworzenie bardziej elastycznego i dynamicznego kodu, który odpowiednio reaguje na różne dane wejściowe.

Pytanie 7

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

A. CSS
B. JavaScript
C. Ruby on Rails
D. PHP
Poprawna odpowiedź to JavaScript, bo właśnie ten język działa bezpośrednio w przeglądarce użytkownika i pozwala na dynamiczną weryfikację formularzy jeszcze przed wysłaniem danych na serwer. JavaScript ma dostęp do drzewa DOM, więc może odczytać wartości pól, sprawdzić, czy nie są puste, czy e‑mail ma poprawny format, czy hasło ma odpowiednią długość, a nawet czy dwa pola hasła są identyczne. Z mojego doświadczenia to jest absolutny standard w nowoczesnych aplikacjach webowych: najpierw lekka walidacja po stronie klienta w JS, a dopiero potem solidna walidacja po stronie serwera.
Dobrym przykładem jest formularz rejestracji: po wpisaniu zbyt krótkiego hasła JavaScript może od razu wyświetlić komunikat pod polem, bez przeładowania strony. Można też blokować przycisk „Wyślij”, dopóki wszystkie wymagane pola nie są poprawnie wypełnione. W praktyce często używa się zdarzeń takich jak onsubmit na formularzu albo input/blur na polach, żeby na bieżąco sprawdzać dane. Można też korzystać z gotowych bibliotek walidacyjnych, ale pod spodem i tak pracuje JavaScript.
W dobrych praktykach przyjmuje się zasadę: walidacja po stronie klienta poprawia wygodę i szybkość obsługi (user experience), ale nie zastępuje walidacji po stronie serwera. JavaScript służy więc do „pierwszej linii obrony” i podpowiedzi użytkownikowi, a serwer (np. w PHP czy innym języku backendowym) musi i tak wszystko jeszcze raz sprawdzić ze względów bezpieczeństwa. Warto też pamiętać o wykorzystaniu wbudowanych mechanizmów HTML5 (atrybuty required, type="email" itd.), ale to JavaScript daje pełną kontrolę nad logiką i komunikatami błędów, bo pozwala tworzyć własne reguły i reagować na konkretne zachowania użytkownika.

Pytanie 8

Warunek zapisany w języku PHP wypisze liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. jest ona dodatnia.
B. wynik dzielenia liczby przez 2 jest równy 0.
C. jest ona liczbą pierwszą.
D. jest ona parzysta.
Twoja odpowiedź jest poprawna. Warunek w języku PHP 'if($liczba % 2 == 0)' sprawdza faktycznie, czy dana liczba jest parzysta. Jak dobrze zauważyłeś, reszta z dzielenia liczby parzystej przez 2 jest zawsze równa 0. Jest to bezpośrednie odzwierciedlenie definicji liczby parzystej, która mówi, że jest to liczba, którą można podzielić przez 2 bez reszty. Dlatego warunek ten jest powszechnie stosowany w programowaniu do sprawdzania parzystości liczby. W praktyce, może on być wykorzystany np. do filtrowania danych, gdzie chcemy wykluczyć liczby nieparzyste albo też do różnego rodzaju operacji na tablicach, gdzie operacje wykonujemy tylko dla indeksów parzystych. Pamiętaj jednak, że ten warunek nie sprawdzi, czy liczba jest dodatnia, ujemna czy pierwsza. Do tego potrzebne będą inne warunki i operacje.

Pytanie 9

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45 50
B. 0 5 10 15 20 25 30 35 40 45
C. 10 15 20 25 30 35 40 45 50
D. 10 15 20 25 30 35 40 45
Dobrze zrozumiałeś działanie pętli while w języku PHP. Wybrana przez Ciebie sekwencja liczb (10, 15, 20, 25, 30, 35, 40, 45) jest poprawna. Pętla while, znajdująca się w skrypcie PHP, rozpoczyna działanie od wartości zmiennej, którą określono jako 10 i zwiększa ją o 5 za każdą iteracją, dopóki jej wartość jest mniejsza niż 50. Tak więc, ostatnią wydrukowaną liczbą jest 45, ponieważ w kolejnym kroku wartość zmiennej wynosiłaby już 50, co jest wartością większą od maksymalnej zdefiniowanej w warunku pętli. Zrozumienie działania pętli to klucz do efektywnego programowania, umożliwiającego tworzenie skomplikowanych algorytmów. Dobre praktyki zalecają, aby zawsze dokładnie analizować i rozumieć, jak daną pętle będą interpretowane przez interpreter języka.

Pytanie 10

W tabeli Recepta pola Imię oraz Nazwisko odnoszą się do pacjenta, dla którego recepta została wystawiona. Jaką kwerendę należy wykorzystać, aby dla wszystkich recept uzyskać datę ich wystawienia oraz imię i nazwisko lekarza, który je wystawił?

Ilustracja do pytania
A. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
B. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
C. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
D. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zauważyłem, że dobrze zrozumiałeś, jak skonstruować kwerendę SQL, która łączy dane lekarza z datą wystawienia recepty. Użycie klauzuli JOIN to kluczowa sprawa, bo dzięki temu możesz połączyć tabele Recepta i Lekarz na podstawie odpowiednich kluczy. Dzięki temu dostajesz imię i nazwisko lekarza, który wypisał daną receptę. Klauzula SELECT, którą używasz, wskazuje, co chcesz zobaczyć – w tym przypadku Imie i Nazwisko z tabeli Lekarz oraz Datę Wystawienia z tabeli Recepta. To jest naprawdę podstawowa umiejętność, która pomaga w pracy z relacyjnymi bazami danych. Z mojego doświadczenia, umiejętność tworzenia takich zapytań, pomoże nie tylko w nauce, ale i w przyszłej pracy, bo baza danych rzadko jest prosta i często trzeba łączyć różne dane. I jeszcze jedna rzecz: używanie JOIN w odpowiedni sposób może przyspieszyć działanie zapytań, co jest ważne, gdy mamy do czynienia z dużą ilością danych.

Pytanie 11

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. trim()
B. replace()
C. slice()
D. split()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Metoda split() w języku JavaScript jest niezwykle użyteczna do dzielenia łańcucha tekstowego na elementy tablicy na podstawie określonego separatora. Gdy weźmiemy pod uwagę kontekst przetwarzania tekstu, na przykład możemy mieć ciąg znaków reprezentujący listę imion oddzielonych przecinkami, taki jak "Jan,Kasia,Piotr". Używając funkcji split(',', 2), możemy uzyskać tablicę ['Jan', 'Kasia'], co pozwala nam na łatwe manipulowanie i przetwarzanie tych danych. Metoda ta jest zgodna z zasadami programowania funkcyjnego, umożliwiając praktyczne podejście do przetwarzania danych. Warto również zauważyć, że split() może być wykorzystywana w różnorodnych kontekstach, takich jak praca z danymi z formularzy, analizowanie tekstów czy rozdzielanie argumentów w funkcjach. Stosując tę metodę, programiści powinni pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych oraz zarządzanie sytuacjami, gdy ciąg wejściowy jest pusty lub nie zawiera separatora, co można osiągnąć poprzez dodatkowe sprawdzenia. W kontekście nowoczesnych aplikacji webowych, efektywne zarządzanie danymi tekstowymi jest kluczowe dla optymalizacji wydajności oraz poprawy UX, co czyni metodę split() fundamentalnym narzędziem w arsenale programisty JavaScript.

Pytanie 12

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
C. Czesław, Czechowski
D. Czesław, Niemen
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 13

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. XHTML 2.0
B. HTML5
C. HTML4
D. XHTML1.0
HTML5 wprowadził nowe znaczniki semantyczne, takie jak <header>, <footer> oraz <nav>, które mają na celu poprawę struktury i czytelności kodu HTML. Te znaczniki pozwalają na lepsze określenie ról poszczególnych części dokumentu, co jest istotne zarówno dla programistów, jak i dla wyszukiwarek internetowych oraz oprogramowania asystującego. Przykładowo, znacznik <header> zazwyczaj zawiera nagłówki i metadane, podczas gdy <footer> jest przeznaczony na informacje końcowe, takie jak prawa autorskie czy linki do polityki prywatności. Z kolei <nav> wskazuje sekcję nawigacyjną, co ułatwia użytkownikom poruszanie się po stronie. Użycie tych znaczników zgodnie z ich zamierzonymi funkcjami poprawia semantykę dokumentu HTML5, co jest zgodne z najlepszymi praktykami w zakresie SEO i dostępności. Warto również zauważyć, że HTML5 wprowadza inne elementy, takie jak <article> czy <section>, które dodatkowo wspierają tworzenie dobrze zorganizowanej i zrozumiałej struktury dokumentu. W związku z tym, stosowanie nowych znaczników w HTML5 jest niezwykle korzystne zarówno dla twórców, jak i dla użytkowników stron internetowych.

Pytanie 14

Algorytm przedstawiony na rysunku można zapisać w języku JavaScript za pomocą instrukcji

A. for(i = 0; i > 10; i++)

B. var i = 0;
   while(i <= 10)
     i += 2;

C. var i = 0;
   do
     i++;
   while(i > 10);

D. var i = 0;
   do
     i = i + 2;
   while(i < 10);
Ilustracja do pytania
A. C.
B. A.
C. D.
D. B.
Dobrze! Wybrałeś prawidłową odpowiedź B. Biorąc pod uwagę wykres przepływu, zmienna 'i' jest inicjalizowana wartością 0 i następnie w pętli zwiększana o 2, dopóki jej wartość nie przekroczy 10. Wprowadzona instrukcja w JavaScript (var i = 0; while(i <= 10) { i += 2; }) idealnie odzwierciedla proces przedstawiony na diagramie. Inicjalizacja zmiennej jest ważnym krokiem w programowaniu, który pozwala na użycie zmiennej w kodzie, a pętla 'while' jest często stosowana do wykonywania części kodu wielokrotnie do momentu, aż warunek przestanie być spełniony. W tym przypadku, warunkiem jest 'i' mniejsze lub równe 10, a kod wewnątrz pętli zwiększa wartość 'i' o 2 za każdym razem, gdy jest wykonywany. Jest to typowy przykład użycia pętli i operatorów w języku JavaScript.

Pytanie 15

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. wyłącznie typu logicznego.
B. wyłącznie typu tekstowego.
C. klucza obcego.
D. klucza głównego.
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 16

Edytor, który spełnia kryteria WYSIWYG, powinien umożliwiać

A. publikację strony na serwerze za pomocą wbudowanego klienta FTP
B. tworzenie podstawowych grafik wektorowych
C. przygotowanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
D. osiągnięcie zbliżonego rezultatu tworzonej strony do jej wyglądu w przeglądarce internetowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Edytory WYSIWYG (What You See Is What You Get) mają na celu umożliwienie użytkownikom tworzenia i edytowania treści w sposób, który przypomina ostateczny wygląd strony internetowej. Odpowiedź dotycząca uzyskania zbliżonego wyniku tworzonej strony do jej obrazu w przeglądarce internetowej jest kluczowym aspektem działania takich edytorów. Umożliwiają one użytkownikom natychmiastowe podglądanie efektów wprowadzanych zmian, co jest nieocenione przy projektowaniu stron. Przykładem może być edytor tak jak Adobe Dreamweaver czy WordPress, które pozwalają na wizualne projektowanie układu, co redukuje potrzebę ręcznego kodowania. Przy tworzeniu stron internetowych zgodnie z dobrymi praktykami, edytory WYSIWYG powinny wspierać standardy HTML i CSS, co zapewnia, że efekty wizualne są zgodne z tym, co użytkownik zobaczy w przeglądarce. Takie podejście zwiększa efektywność pracy, a także ułatwia współpracę między programistami a designerami.

Pytanie 17

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ć wszystkie elementy tablicy na liczby o przeciwnym znaku
B. wyliczenie iloczynu wszystkich wartości w tablicy
C. zmienić wartości tablicy na te zapisane w zmiennej liczba
D. obliczenie wartości bezwzględnej poszczególnych elementów tablicy

Brak odpowiedzi na to pytanie.

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

Pytanie 18

Formularz, który pełni rolę pośrednika w nawigacji po bazie danych pomiędzy formularzami i kwerendami dostępnymi w systemie, określany jest jako formularz

A. głównym
B. pierwotnym
C. sterującym
D. zagnieżdżonym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Formularz sterujący jest kluczowym elementem w projektowaniu baz danych, który pozwala na efektywną nawigację pomiędzy różnymi formularzami oraz kwerendami. Jego główną funkcją jest dostarczanie użytkownikowi centralnego punktu dostępu do różnych części aplikacji, co ułatwia zarządzanie danymi oraz ich przeglądanie. Przykładowo, w aplikacjach biznesowych formularz sterujący może zawierać przyciski, które kierują użytkownika do formularzy wprowadzania danych, formularzy raportowych, czy kwerend do wyszukiwania informacji. Dobrą praktyką jest, aby formularz sterujący był intuicyjny i estetyczny, co zwiększa użyteczność i efektywność aplikacji. W standardach projektowania baz danych, formularze sterujące są często powiązane z koncepcją MVC (Model-View-Controller), gdzie pełnią rolę kontrolera, który zarządza przepływem danych między modelem a widokiem, co umożliwia lepsze organizowanie interakcji użytkownika z systemem.

Pytanie 19

Poniższy fragment kodu PHP służy do zarządzania

if (empty($_POST["name"])) {
    $nameErr = "Name is required";
}
A. sesjami
B. bazami danych
C. formularzami
D. ciasteczkami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fragment kodu PHP przedstawiony w pytaniu dotyczy obsługi formularza i jest to typowa konstrukcja używana do walidacji danych przesyłanych metodą POST. W PHP dane z formularza przesyłane są za pomocą superglobalnej tablicy $_POST, co pozwala na ich łatwe przetwarzanie i walidację. W tym przypadku skrypt sprawdza, czy pole 'name' zostało wypełnione przez użytkownika. Funkcja empty() jest stosowana, aby wykryć, czy dane pole jest puste, co jest kluczowe dla zabezpieczenia aplikacji przed niekompletnymi danymi. Gdy pole jest puste, zmienna $nameErr zostaje ustawiona na wartość komunikatu błędu, informującą użytkownika o brakujących danych. Praktyczne zastosowanie tego rodzaju sprawdzania obejmuje różnorodne formularze internetowe, takie jak rejestracja użytkowników czy składanie zamówień. Dobre praktyki w PHP zalecają stosowanie walidacji po stronie serwera, ponieważ poprawia to bezpieczeństwo i integralność danych, nawet jeśli wcześniej dane były walidowane po stronie klienta za pomocą JavaScriptu. Warto również pamiętać o stosowaniu filtrów i walidacji danych wejściowych, aby zapobiec potencjalnym atakom, jak np. SQL injection

Pytanie 20

Po zrealizowaniu polecenia SQL użytkownik Ela zyska możliwość wykorzystania poniższych uprawnień:

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. realizować wszystkie działania na strukturze danych
B. tylko tworzyć i zmieniać strukturę tabeli
C. tylko dodawać oraz zmieniać dane
D. przeprowadzać wszystkie operacje na danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to możliwość wykonywania wszystkich akcji na danych przyznanych przez polecenie GRANT. W kontekście SQL, uprawnienia SELECT, INSERT, UPDATE oraz DELETE dają użytkownikowi pełną kontrolę nad danymi w tabeli. Dzięki uprawnieniu SELECT użytkownik może przeglądać dane, a INSERT umożliwia dodawanie nowych rekordów. Z kolei UPDATE pozwala na modyfikację istniejących danych, natomiast DELETE umożliwia ich usunięcie. Przykładowo, jeśli użytkownik Ela chce prowadzić analizy danych, korzystając z SELECT, a następnie wprowadzać poprawki lub dodawać nowe dane, polecenie to daje jej odpowiednie narzędzia do ich realizacji. W praktyce, wydawanie uprawnień dla użytkowników w bazach danych powinno być zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownicy powinni otrzymywać tylko te uprawnienia, które są konieczne do wykonywania ich zadań. Dzięki temu zwiększa się bezpieczeństwo bazy danych i zmniejsza ryzyko nieautoryzowanego dostępu.

Pytanie 21

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 22

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

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

Brak odpowiedzi na to pytanie.

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

Aby w zapytaniu SQL połączyć dane z dwóch tabel powiązanych relacją, należy użyć słowa kluczowego:

A.
JOIN
B.
UNION
C.
GROUP BY
D.
IN

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do łączenia danych z tabel powiązanych relacją służy <code><span class="code-keyword">JOIN</span></code>. Złączenie dopasowuje wiersze z różnych tabel według wspólnego pola - najczęściej klucza głównego w jednej i klucza obcego w drugiej - i zwraca je jako jeden wynik. Pozwala to np. pokazać zamówienie razem z danymi klienta. Występuje w odmianach (INNER, LEFT, RIGHT), które decydują, które wiersze bez dopasowania zachować. To właśnie <code><span class="code-keyword">JOIN</span></code> realizuje relacyjne połączenie tabel w zapytaniu.

Pytanie 24

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
D. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.

Pytanie 25

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. A.
B. C.
C. B.
D. D.
Logo systemu CMS Joomla! różni się od logotypów innych znanych systemów jak Drupal czy WordPress, co jest dość oczywiste. Zrozumienie ich to klucz do ogarnięcia tych platform, bo każda z nich ma swoje zastosowania i funkcje. Drupala przedstawia niebieska kropla, a to narzędzie jest naprawdę potężne do budowy złożonych systemów webowych, ale potrzeba sporej wiedzy programistycznej, więc początkujący mogą mieć z nim trudności. Z kolei WordPress z literą W w czarnym kółku to najpopularniejszy CMS, zwłaszcza wśród blogerów i małych firm, bo jest łatwy w obsłudze. Ale ten logo z pomarańczową gwiazdką nie jest związane z żadnym z tych CMS-ów, więc można się w tym pogubić. Trzeba zrozumieć różnice i jak się te systemy wizualnie identyfikuje, żeby mądrze wybierać platformy do swoich projektów. Kluczowe jest nie tylko widzieć logotypy, ale jeszcze ogarnąć, co każdy z tych systemów potrafi, żeby skutecznie je wykorzystać w pracy.

Pytanie 26

Określ, w jaki sposób należy odnosić się do pliku default.css, jeżeli index.html znajduje się bezpośrednio w folderze Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
B. <link rel="stylesheet" type="text/css" href="./style/default.css" />
C. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
D. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź wskazuje na relatywną ścieżkę do pliku CSS. W HTML, stosowanie ścieżek relatywnych jest standardem i dobrą praktyką. Relatywna ścieżka ./style/default.css oznacza, że plik default.css znajduje się w folderze style, który jest bezpośrednio wewnątrz katalogu, w którym znajduje się plik index.html. Stosowanie relatywnych ścieżek zapewnia większą elastyczność i przenośność projektu, ponieważ nie są one zależne od struktury folderów na danym komputerze. Jest to szczególnie ważne w kontekście aplikacji webowych, które mogą być przenoszone między różnymi środowiskami serwerowymi. Zaleca się, aby projektanci stron zawsze używali ścieżek relatywnych, aby uniknąć problemów z odwoływaniem się do zasobów po zmianie lokalizacji projektu. Użycie poprawnej składni w tagu link, jak rel=stylesheet oraz type=text/css, zgodnie z dobrymi praktykami zapewnia poprawne załadowanie stylów CSS, co wpływa na poprawne wyświetlanie się strony w przeglądarkach.

Pytanie 27

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

A. Służy do zapisu zdjęć cyfrowych
B. Jest to reprezentacja obrazu przy pomocy siatki pikseli o różnych kolorach układających się w poziomie i pionie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
C. Może być zapisywana w formatach JPG lub PNG
D. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Grafika wektorowa to technika obrazowania, która polega na reprezentowaniu obrazów za pomocą figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są zdefiniowane matematycznie i umieszczone w układzie współrzędnych. Dzięki temu obrazy wektorowe są skalowalne bez utraty jakości, co jest ich kluczową zaletą. Zastosowanie grafiki wektorowej znajduje się w wielu dziedzinach, takich jak projektowanie logo, ilustracje, animacje oraz wszędzie tam, gdzie potrzebna jest elastyczność w edycji i skalowaniu obrazów. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa zapewnia lepszą ostrość i jakość w dowolnym rozmiarze. Dobrymi przykładami formatów wektorowych są SVG (Scalable Vector Graphics) oraz AI (Adobe Illustrator), które są standardami branżowymi wykorzystywanymi przez profesjonalnych projektantów. W praktyce, podczas projektowania, grafika wektorowa umożliwia łatwe wprowadzanie zmian kolorystycznych, kształtowych czy nawet animacyjnych bez negatywnego wpływu na jakość obrazu.

Pytanie 28

Która z poniższych technologii działa po stronie klienta (front-end, w przeglądarce)?

A. Perl
B. CSS
C. PHP
D. Node.js
Technologie front-endowe działają po stronie klienta - w przeglądarce użytkownika. CSS jest właśnie taką technologią: przeglądarka pobiera arkusz stylów i sama renderuje wygląd strony (kolory, czcionki, układ). Razem z HTML i JavaScriptem tworzy „trójkę” front-endu. Choć CSS to język opisu wyglądu, a nie pełny język programowania, jego przetwarzanie odbywa się u klienta. Przeciwieństwem są technologie serwerowe, gdzie kod wykonuje się na serwerze przed wysłaniem strony. Dlatego po stronie klienta działa CSS.

Pytanie 29

Czego NIE da się zrobić w języku PHP?

A. wykonać operacji na danych w bazie
B. obsłużyć danych z formularzy
C. dynamicznie zmienić treść strony HTML już w przeglądarce
D. wygenerować dynamiczną treść strony
PHP wykonuje się na SERWERZE i tworzy gotowy HTML wysyłany do przeglądarki - więc gdy strona już się wyświetla u użytkownika, PHP nie może jej dalej zmieniać „na żywo”. Dynamiczne modyfikacje po stronie klienta (np. ukrycie elementu po kliknięciu, bez przeładowania) to zadanie JavaScriptu. Zapamiętaj granicę: PHP buduje stronę przed wysłaniem, JS zmienia ją już w przeglądarce.

Pytanie 30

Elementem wykorzystywanym w bazie danych do podsumowywania, prezentowania oraz drukowania danych jest

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Raport jest fundamentalnym obiektem w bazach danych, który służy do podsumowywania, analizowania i prezentowania danych w przystępny sposób. Jego kluczową funkcją jest umożliwienie użytkownikowi wygenerowania wyników na podstawie zgromadzonych informacji, co jest szczególnie istotne w kontekście podejmowania decyzji biznesowych. Raporty mogą być wykorzystywane do przedstawienia danych finansowych, wydajności operacyjnej czy analizy rynku. W dobrych praktykach zarządzania danymi raporty powinny być oparte na aktualnych i wiarygodnych danych, a ich struktura powinna być przemyślana, aby umożliwić łatwe zrozumienie wyników. Przykładem może być raport sprzedaży, który zbiera dane z transakcji i przedstawia je w formie graficznej, co ułatwia szybką analizę trendów. Ponadto, w nowoczesnych systemach raportowania wykorzystuje się technologie takie jak BI (Business Intelligence), które integrują dane z różnych źródeł, co znacznie podnosi wartość informacyjną generowanych raportów.

Pytanie 31

W tabeli artykuly wykonano określone instrukcje dotyczące uprawnień użytkownika jan. Po ich realizacji użytkownik jan uzyska możliwość

GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
A. edycji danych i przeglądania zawartości tabeli
B. tworzenia tabeli i wypełniania jej informacjami
C. sprawdzania zawartości tabeli
D. tworzenia tabeli oraz edytowania jej zawartości

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź wskazuje na to że użytkownik jan ma prawa do tworzenia tabeli i wypełniania jej danymi co wynika z początkowego nadania pełnych praw za pomocą komendy GRANT ALL PRIVILEGES i późniejszego cofnięcia konkretnych przywilejów SELECT i UPDATE. To oznacza że jan zachował uprawnienia do tworzenia tabelek i wstawiania danych do tabeli bez możliwości przeglądania czy aktualizowania danych w istniejących wierszach. W kontekście zarządzania bazami danych takie precyzyjne przyznawanie i odbieranie uprawnień jest kluczowe do utrzymania integralności i bezpieczeństwa danych. Przykładowo w środowisku produkcyjnym tworzenie i wypełnianie tabel może być ograniczone do administratorów baz danych lub zespołów deweloperskich podczas gdy inne role mogą mieć jedynie prawa do odczytu. Takie zarządzanie uprawnieniami pomaga zminimalizować ryzyko błędów i nieautoryzowanych modyfikacji danych. Standardy takie jak ISO/IEC 27001 zalecają precyzyjne zarządzanie dostępem w celu zabezpieczenia informacji co jest dobrą praktyką w branży IT.

Pytanie 32

Na ilustracji pokazano relację jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz podstawowy id tabeli filmy z kluczem obcym rezyserzy_id tabeli rezyserzy
B. klucz obcy rezyserzy_id tabeli filmy z kluczem obcym id tabeli rezyserzy
C. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
D. klucz obcy rezyserzy_id tabeli filmy z kluczem podstawowym id tabeli rezyserzy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja jeden do wielu w bazach danych często wiąże się z sytuacją, gdzie jeden rekord w tabeli nadrzędnej może być powiązany z wieloma rekordami w tabeli podrzędnej. W tym kontekście tabela nadrzędna to rezyserzy posiadająca klucz podstawowy id, natomiast tabela podrzędna to filmy która odnosi się do tej wartości poprzez klucz obcy rezyserzy_id. Klucz podstawowy to unikalny identyfikator rekordu w tabeli, który pozwala na jednoznaczne rozróżnienie każdego rekordu. Klucz obcy natomiast jest atrybutem w tabeli podrzędnej, który odnosi się do klucza podstawowego w tabeli nadrzędnej. Jest to zgodne z teorią normalizacji baz danych, gdzie relacje jeden do wielu są standardowym podejściem do projektowania struktur danych. Użycie klucza obcego pozwala na utrzymanie integralności referencyjnej, co oznacza że każda wartość klucza obcego musi odpowiadać wartości klucza podstawowego w powiązanej tabeli lub być null, jeśli taka relacja jest dozwolona. Praktyczne zastosowanie tej relacji można zaobserwować w systemach zarządzania treścią, gdzie jeden autor (reżyser) może mieć przypisanych wiele artykułów (filmów), jednak każdy artykuł jest przypisany do jednego autora, co umożliwia na przykład efektywne zarządzanie danymi i generowanie raportów o twórczości danego autora.

Pytanie 33

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

A. wykonywanie
B. analizowanie błędów
C. wdrażanie
D. kompilowanie

Brak odpowiedzi na to pytanie.

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

Pytanie 34

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. ustalanie limitów przestrzeni na dysku
B. przypisanie uprawnień
C. określanie zakresu tabel
D. wykorzystanie makr

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przypisanie uprawnień jest kluczowym elementem zarządzania bezpieczeństwem w Microsoft Access, ponieważ pozwala na kontrolowanie, kto ma dostęp do danych w tabelach i kwerendach. W praktyce, administratorzy baz danych mogą definiować, które grupy użytkowników mogą przeglądać, edytować lub usuwać dane. To podejście jest zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy otrzymują tylko te uprawnienia, które są im niezbędne do wykonywania swoich zadań. Na przykład, jeśli pracownik potrzebuje jedynie przeglądać dane w konkretnej tabeli, administrator może przyznać mu jedynie uprawnienia do odczytu, co minimalizuje ryzyko nieautoryzowanych zmian. Warto także wspomnieć, że przypisanie uprawnień nie ogranicza się tylko do tabel, ale dotyczy również kwerend, formularzy i raportów, co pozwala na szczegółowe zarządzanie dostępem do różnych zasobów systemu. Dobre praktyki w zakresie bezpieczeństwa baz danych zalecają regularne audyty uprawnień, aby upewnić się, że są one nadal odpowiednie do zmieniających się potrzeb organizacji oraz roli użytkowników.

Pytanie 35

Zawarty blok ilustruje proces

Ilustracja do pytania
A. realizacji zadania w pętli
B. wykorzystania zdefiniowanej procedury lub funkcji
C. odczytu lub prezentacji danych
D. podjęcia decyzji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Romb w diagramach przepływu sterowania jest używany do reprezentacji podejmowania decyzji jest kluczowym elementem w programowaniu warunkowym Proces ten polega na ocenie wyrażenia logicznego które prowadzi do jednego z dwóch możliwych stanów prawda lub fałsz a następnie przepływu sterowania w kierunku odpowiedniego bloku kodu Praktyczne zastosowanie tego elementu można znaleźć w strukturach takich jak instrukcje if-else czy switch-case Stosowanie decyzji w kodzie jest niezbędne do tworzenia dynamicznych i interaktywnych aplikacji które reagują na różne sytuacje w czasie rzeczywistym Dodatkowo podejmowanie decyzji jest podstawą dla wdrażania algorytmów sztucznej inteligencji i uczenia maszynowego gdzie różne scenariusze są oceniane a odpowiednie decyzje podejmowane na podstawie wyników analizy danych W praktyce inżynierowie oprogramowania muszą zgodnie z dobrymi praktykami projektowymi dbać o to aby każda decyzja była dobrze zaprojektowana i zoptymalizowana nie tylko pod kątem poprawności logicznej ale także wydajności i czytelności kodu co ma kluczowe znaczenie dla utrzymania i rozwoju złożonych systemów informatycznych

Pytanie 36

W języku CSS określono styl dla stopki. Aby zastosować to formatowanie do bloku oznaczonego znacznikiem div, należy wpisać

#stopka { ... }
A. <div id="stopka">
B. <div "stopka">
C. <div class="stopka">
D. <div title="stopka">

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to <div id="stopka"> ponieważ w CSS użycie selektora ID poprzedzonego znakiem # oznacza, że styl jest stosowany do elementu o określonym identyfikatorze. W HTML atrybut id jest unikalny w obrębie całego dokumentu co oznacza, że może być przypisany tylko do jednego elementu. Stosowanie identyfikatorów jest powszechną praktyką w przypadku stylizacji elementów, które pojawiają się tylko raz na stronie jak stopka nagłówek czy główny kontener treści. Przykład praktycznego zastosowania obejmuje sytuacje gdzie chcesz stylizować konkretną część strony internetowej zachowując jednorodność w całym projekcie. Dobrą praktyką jest również unikanie zbyt częstego używania id na rzecz klas które są bardziej elastyczne i mogą być stosowane do wielu elementów. Jednak w przypadku elementów unikalnych takich jak stopka użycie id jest zgodne z najlepszymi praktykami projektowania stron internetowych. Warto również pamiętać że selektory ID mają wyższy priorytet w CSS co oznacza że ich stylizacje nadpisują te zdefiniowane dla klas o tej samej specyfikacji.

Pytanie 37

Jakie imiona spełniają warunek klauzuli LIKE w zapytaniu

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
?
A. Oda, Oksana, Oktawia
B. Oksana, Oktawia, Olga
C. Oktawia, Oktawian, Olga
D. Oksana, Ola, Olga

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź Oksana, Oktawia, Olga jest poprawna, ponieważ wszystkie te imiona spełniają warunki klauzuli LIKE w zapytaniu SQL. Klauzula LIKE 'o_%_a' wskazuje na to, że imię musi zaczynać się na literę 'o', mieć co najmniej jeden dowolny znak po 'o' (reprezentowany przez znak podkreślenia '_'), a następnie musi kończyć się na literę 'a'. Przykłady imion: Oksana zaczyna się na 'O', ma 'ks' jako drugi znak i kończy się na 'a'; Oktawia również dostosowuje się do tego wzoru, zaś Olga zaczyna się na 'O', ma 'lg' jako drugi i trzeci znak oraz kończy na 'a'. W praktyce, umiejętność korzystania z klauzuli LIKE jest kluczowa w SQL przy wyszukiwaniu danych według wzorców, co pozwala na bardziej elastyczne i precyzyjne zapytania. Poprawne użycie LIKE zwiększa efektywność filtrowania danych, co jest istotnym aspektem w zarządzaniu bazami danych oraz analizie danych, zgodnie z najlepszymi praktykami w branży.

Pytanie 38

Dla których imion klauzula LIKE jest prawdziwa?

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
A. Oda, Oksana, Oktawia
B. Oksana, Oktawia, Olga
C. Oksana, Ola, Olga
D. Oktawia, Oktawian, Olga

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź „Oksana, Oktawia, Olga" jest prawidłowa. Aby zrozumieć, dlaczego właśnie te imiona spełniają warunek, należy dokładnie przeanalizować wzorzec użyty w klauzuli LIKE. Wzorzec 'o_%_a' składa się z pięciu elementów: litery „o" na początku, znaku podkreślenia oznaczającego dokładnie jeden dowolny znak, symbolu procentu reprezentującego zero lub więcej dowolnych znaków, kolejnego znaku podkreślenia (znów dokładnie jeden znak) oraz litery „a" na końcu. Z tej struktury wynika, że prawidłowe imię musi spełniać trzy warunki: zaczynać się od litery „o", kończyć się na literę „a" oraz mieć co najmniej cztery znaki długości. Ta ostatnia zasada jest kluczowa - dwa znaki podkreślenia wymuszają obecność minimum dwóch znaków pomiędzy pierwszą a ostatnią literą. Dlatego imiona takie jak „Ola" czy „Oda", mimo że zaczynają się na „o" i kończą na „a", są zbyt krótkie. Z kolei „Oktawian" odpada, ponieważ kończy się na literę „n", nie „a". Pozostają więc Oksana, Oktawia i Olga - każde z nich ma odpowiednią długość i właściwe litery na początku oraz końcu.

Pytanie 39

Klient wpisał adres nieistniejącego zasobu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 503
B. 404
C. 400
D. 500
Odpowiedź 404 jest prawidłowa, ponieważ oznacza, że serwer nie może znaleźć żądanego zasobu. Kiedy użytkownik wprowadza nieistniejący adres URL, serwer HTTP zwraca ten kod błędu jako odpowiedź informującą, że dany zasób nie został znaleziony. Jest to standardowy sposób na komunikowanie się z klientami, że ich prośba nie mogła zostać zrealizowana z powodu braku zasobu. W praktyce, kod 404 jest powszechnie używany do zarządzania sytuacjami, w których użytkownik wpisuje niewłaściwy adres lub gdy zasób został usunięty. Dobrą praktyką jest tworzenie własnych stron błędu 404, które informują użytkowników o tym, co mogą zrobić dalej, na przykład sugerując im powrót na stronę główną lub wyszukiwanie w serwisie. Z perspektywy bezpieczeństwa, warto również unikać ujawniania szczegółów dotyczących struktury serwera w odpowiedziach 404, aby zminimalizować potencjalne ryzyko ataków.

Pytanie 40

Podaj definicję metody, którą trzeba umieścić w miejscu kropek, aby na stronie WWW pojawił się tekst: Jan Kowalski

Ilustracja do pytania
A. C
B. B
C. A
D. D
Pozostałe odpowiedzi zawierają błędy związane z niepoprawnym użyciem kontekstu this lub niekompletną definicją funkcji. W opcji B metoda dane została zdefiniowana jako funkcja globalna, co powoduje, że this nie odnosi się do obiektu osoba, ale do obiektu globalnego, co uniemożliwia poprawne odwołanie się do właściwości imie i nazwisko. To prowadzi do błędnych lub niezdefiniowanych wyników, ponieważ this w tym kontekście nie zawiera oczekiwanych właściwości. Opcja C nie używa słowa kluczowego this, co oznacza, że zmienne imie i nazwisko są traktowane jako zmienne globalne, a nie właściwości obiektu osoba. Jeżeli takie zmienne globalne nie istnieją, powoduje to błąd w wykonaniu, ponieważ kod próbuje odwołać się do niezdefiniowanych zmiennych. W opcji D użycie funkcji bez return powoduje, że metoda dane nie zwraca żadnej wartości, co skutkuje przypisaniem undefined do innerHTML, co jest oczywistym błędem w kontekście oczekiwanego wyświetlenia tekstu. Wszystkie te błędne podejścia wynikają z niepoprawnego zarządzania kontekstem obiektowym w JavaScript, co podkreśla znaczenie zrozumienia wiązania dynamicznego słowa kluczowego this i dobrych praktyk w projektowaniu metod obiektowych w JavaScript. Kluczowym aspektem jest zapewnienie, że metody mają dostęp do właściwości obiektu, w ramach którego zostały zdefiniowane, co jest osiągane przez poprawne użycie this w kontekście metody wewnętrznej obiektu.