Wyniki egzaminu

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

Egzamin zdany!

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

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

A. Krzywe.
B. Inwersja.
C. Progowanie.
D. Barwienie.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 2

Wskaż funkcję JavaScript, która umożliwia obliczenie połowy kwadratu liczby podanej jako argument.

A. function wynik(a) { return a*a/2; }
B. function wynik(a) { return a/2+a/2; }
C. function wynik(a) { return a*2/2; }
D. function wynik(a) { return 2*a/a; }
W analizie niepoprawnych odpowiedzi można zauważyć kilka typowych pomyłek, które prowadzą do błędnych obliczeń. Pierwsza z odpowiedzi, 'function wynik(a) { return a/2+a/2; }', jest myląca, ponieważ ta funkcja w rzeczywistości wykonuje dodawanie dwóch połówek liczby, co prowadzi do uzyskania wartości równiej 'a', a nie połowy kwadratu. W ten sposób nie realizuje postawionego celu. Druga propozycja, 'function wynik(a) { return a*2/2; }', również nie przynosi oczekiwanego rezultatu. Ta funkcja najpierw mnoży 'a' przez 2, a następnie dzieli przez 2, co ponownie prowadzi do wartości równej 'a'. Takie podejście jest nieefektywne i nie spełnia wymogów zadania. Kolejna odpowiedź, 'function wynik(a) { return 2*a/a; }', jest całkowicie błędna, ponieważ ta funkcja po prostu zwraca wartość 2, niezależnie od wartości 'a', co jest niezgodne z definicją obliczania połowy kwadratu liczby. W każdym z przypadków dostrzegamy brak zrozumienia podstawowych operacji arytmetycznych oraz ich zastosowania w kontekście funkcji. Typowym błędem jest skupienie się na manipulacji wartością 'a', zamiast zrozumienia, że celem jest obliczenie kwadratu tej liczby, a następnie podzielenie wyniku przez 2, co jest kluczowym elementem zadania.

Pytanie 3

Atrybut autor w tabeli ksiazka oznacza

CREATE TABLE ksiazka (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  tytul VARCHAR(200),
  autor SMALLINT UNSIGNED NOT NULL,
  CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. atrybut typu tekstowego zawierający informacje o autorze
B. atrybut używany w relacji z tabelą dane
C. kluczem podstawowym tabeli ksiazka
D. kluczem obcym powiązanym z tabelą autorzy
Pole autor w tabeli ksiazka nie powinno być utożsamiane z kluczem głównym ponieważ klucz główny jest unikalnym identyfikatorem rekordu w tabeli a w tym przypadku tę rolę pełni pole id Klucz główny jest niezbędny do jednoznacznej identyfikacji każdego wiersza co jest fundamentalne dla operacji takich jak aktualizacja czy usuwanie danych Nie jest również polem typu napisowego chociaż jego nazwa mogłaby sugerować zawartość tekstową Pole autor jest zdefiniowane jako SMALLINT co oznacza że przechowuje liczby całkowite i jest używane do przechowywania identyfikatorów autorów w tabeli ksiazka Ponadto nie stanowi pola wykorzystywanego przy relacji z tabelą dane ponieważ to odniesienie było tylko przykładem nazwy constraint w definicji klucza obcego W projektowaniu baz danych istotne jest aby rozumieć różnice pomiędzy typami kluczy oraz ich rolą w strukturze bazy danych Klucze główne i obce pełnią kluczowe role w zarządzaniu relacjami oraz w zachowywaniu integralności danych co jest kluczowe dla utrzymania spójności i niezawodności aplikacji korzystających z tych danych

Pytanie 4

W przedstawionej regule CSS h1{color: blue} co oznacza h1?

A. selektor
B. deklarację
C. klasę
D. wartość
W kontekście analizy niepoprawnych odpowiedzi, pierwsza z nich sugeruje, że h1 oznacza klasę. Klasa w CSS jest definiowana za pomocą kropki (.), co różni ją od selektorów tagów, jak h1. Klasy umożliwiają grupowanie elementów i stosowanie wspólnych stylów, jednak h1 jako tag HTML nie może być klasą. Kolejna odpowiedź definiuje h1 jako wartość, co jest błędne, ponieważ wartość w CSS odnosi się do przypisania określonej właściwości, na przykład 'color: blue', gdzie 'blue' jest wartością, a h1 selektorem. Wreszcie, odpowiedź opisana jako deklaracja, również jest myląca. Deklaracja w CSS składa się z selektora oraz przypisania właściwości i wartości, takich jak w przykładowej regule h1{color: blue}. W tym przypadku h1 jest jedynie selektorem, a cała reguła, w tym kolor, jest deklaracją. Dlatego ważne jest zrozumienie różnicy między tymi terminami, aby skutecznie korzystać z CSS w projektowaniu stron internetowych.

Pytanie 5

Jaki typ danych w MySQL należy zastosować, aby w jednym polu zapisać zarówno datę, jak i czas?

A. TIMESTAMP
B. DATE
C. BOOLEAN
D. YEAR
Odpowiedzi DATE, YEAR i BOOLEAN są niewłaściwe w kontekście przechowywania zarówno daty, jak i czasu w bazie danych MySQL. DATE jest typem danych, który przechowuje tylko datę, bez informacji o godzinie. Użycie DATE oznaczałoby utratę ważnych informacji o czasie, co może być istotne w wielu aplikacjach, na przykład w systemach rejestracji zdarzeń. YEAR, z kolei, jest ograniczonym typem danych, który służy jedynie do przechowywania roku. Oznacza to, że nie może być użyty do rejestrowania pełnej daty ani czasu, co jest niewystarczające w przypadku wielu praktycznych zastosowań. BOOLEAN to typ danych, który przechowuje jedynie wartości logiczne (prawda/fałsz) i nie ma zastosowania w kontekście daty i czasu. Typowe błędy myślowe, które mogą prowadzić do wyboru niewłaściwych typów danych, obejmują myślenie, że daty i czasy można zrealizować oddzielnie, co w praktyce może prowadzić do problemów z synchronizacją i zarządzaniem danymi. Właściwe rozumienie dostępnych typów danych w MySQL jest kluczowe dla efektywnego projektowania baz danych i zapewnienia ich integralności.

Pytanie 6

Które zdarzenie JavaScript reaguje na POJEDYNCZE kliknięcie elementu?

A.
onKeyDown
B.
onDblClick
C.
onClick
D.
onLoad
Zdarzenie onclick reaguje na POJEDYNCZE kliknięcie elementu lewym przyciskiem myszy - to najczęściej używane zdarzenie interaktywne, np. <button onclick="zapisz()">Zapisz</button>. Wyzwala się po pełnym kliknięciu (wciśnięcie + zwolnienie nad tym samym elementem). Zapamiętaj: „click” = jedno kliknięcie.

Pytanie 7

W JavaScript poprawnie zdefiniowana zmienna to

A. imię2
B. imie2
C. imię%
D. #imie
Odpowiedź 'imie2' jest prawidłowa, ponieważ spełnia wszystkie zasady dotyczące nazewnictwa zmiennych w języku JavaScript. Zgodnie z tymi zasadami, nazwy zmiennych mogą zaczynać się od litery (a-z, A-Z), znaku podkreślenia (_) lub znaku dolara ($). Następnie, dozwolone są litery, cyfry (0-9), znaki podkreślenia oraz znaki dolara. Nazwa 'imie2' jest zgodna z tymi zasadami, ponieważ zaczyna się od litery, a następnie zawiera cyfrę, co jest akceptowalne. Przykładowo, dobra praktyka w programowaniu polega na nadawaniu zmiennym nazw związanych z ich przeznaczeniem, na przykład 'userAge' dla wieku użytkownika. Warto pamiętać, że unikanie użycia polskich znaków oraz specjalnych symboli w nazwach zmiennych, takich jak znaki procentu czy hashtagi, zwiększa czytelność i przenośność kodu, szczególnie w międzynarodowych projektach. Dobra praktyka sugeruje również używanie camelCase, co ułatwia identyfikację zmiennych w większych projektach.

Pytanie 8

Która dyrektywa w pliku php.ini decyduje o ZAPISYWANIU błędów PHP do pliku dziennika (logu)?

A.
memory_limit
B.
display_errors
C.
log_errors
D.
max_execution_time
Dyrektywa log_errors w php.ini włącza zapisywanie błędów do dziennika; współpracuje z error_log, która wskazuje plik logu. Zapis do logu jest preferowany na serwerze produkcyjnym, bo nie ujawnia błędów użytkownikom, a jednocześnie pozwala je analizować. Dlatego za zapis błędów do logu odpowiada log_errors.

Pytanie 9

Polecenie SQL przedstawione poniżej ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększenie o jeden wartości pola Uczen
B. zwiększenie o jeden wartości kolumny id_klasy dla wszystkich rekordów tabeli Uczen
C. ustawienie wartości pola Uczen na 1
D. ustawienie wartości kolumny id_klasy na 1 dla każdego rekordu w tabeli Uczen
Polecenie SQL używa instrukcji UPDATE aby zmodyfikować wszystkie rekordy w tabeli Uczen Zwiększenie wartości kolumny id_klasy o 1 to typowa operacja używana na przykład w przypadkach kiedy chcemy zmienić przypisanie uczniów do kolejnej klasy Jest to przydatne w scenariuszach takich jak promocja uczniów do następnej klasy w systemie szkolnym Warto zauważyć że użycie tej składni jest zgodne z dobrymi praktykami SQL szczególnie gdy chcemy przeprowadzić identyczną modyfikację dla wszystkich rekordów w tabeli W takich przypadkach operacje masowe jak ta są znacznie bardziej efektywne niż iteracyjne modyfikowanie każdego rekordu oddzielnie Od strony technicznej SQL umożliwia manipulację danymi na poziomie całych tabel co jest jedną z najważniejszych jego cech i wyróżnia go jako wszechstronne narzędzie do zarządzania bazami danych Zrozumienie tej zasady pozwala na efektywne i skalowalne zarządzanie dużymi zbiorami danych co jest kluczowe w profesjonalnym środowisku IT

Pytanie 10

Co powinien umożliwiać edytor działający w trybie WYSIWYG?

A. tworzenie podstawowej grafiki wektorowej
B. obróbkę plików dźwiękowych
C. uzyskanie wyglądu strony zbliżonego do jej obrazu w przeglądarce
D. publikację strony przez wbudowany klient FTP
WYSIWYG dotyczy edycji z podglądem wyglądu, a nie innych funkcji. Tworzenie grafiki wektorowej, klient FTP do publikacji czy obróbka dźwięku to osobne narzędzia. Istotą WYSIWYG jest uzyskanie wyglądu zbliżonego do obrazu strony w przeglądarce.

Pytanie 11

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

A.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC;
B.
SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC;
C.
SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC;
D.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC;
Pozostałe zapytania zawodzą. OR zwróciłby wszystkie RAM-y oraz wszystkie produkty Kingston (także inne typy), a nie ich część wspólną. Sortowanie malejące (DESC) dałoby kolejność od najdroższej, a FROM producent myli tabelę z kolumną. Poprawne jest połączenie AND z ORDER BY cena rosnąco.

Pytanie 12

Do której właściwości CSS można przypisać wartości static, relative, fixed, absolute, sticky?

A.
display
B.
list-style-type
C.
position
D.
text-transform
Pozostałe właściwości przyjmują inne wartości. display steruje typem wyświetlania (block, inline, flex). list-style-type ustala rodzaj punktora listy. text-transform zmienia wielkość liter (uppercase, lowercase). Słowa relative, absolute, sticky należą do position.

Pytanie 13

W semantycznym HTML odpowiednikiem tagu <b>, który nie tylko pogrubia tekst, ale również oznacza go jako istotniejszy, jest

A. <mark>
B. <em>
C. <ins>
D. <strong>
Znacznik <strong> w języku HTML semantycznym służy do oznaczania tekstu, który ma szczególne znaczenie w kontekście treści. Oprócz stylistycznego pogrubienia czcionki, <strong> wskazuje, że dany fragment tekstu jest ważny dla zrozumienia treści dokumentu. Przykładowo, w artykule omawiającym bezpieczeństwo w Internecie, można użyć <strong> do wyróżnienia kluczowych terminów, takich jak 'szyfrowanie' czy 'firewall', co podkreśla ich znaczenie w ochronie danych. Użycie znaczników semantycznych, takich jak <strong>, jest zgodne z najlepszymi praktykami dostępności, co zapewnia lepszą interpretację treści przez technologie asystujące, takie jak czytniki ekranu. Takie podejście poprawia nie tylko nawigację po stronie, ale również SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst i hierarchię treści. Warto również zauważyć, że w przeciwieństwie do <b>, który jedynie zmienia wygląd tekstu, <strong> wnosi dodatkowy sens do struktury dokumentu, co jest szczególnie istotne w kontekście tworzenia witryn internetowych, które są zarówno estetyczne, jak i funkcjonalne.

Pytanie 14

<?php
function silnia($liczba)
{
    if($liczba < 2)
        return 1;
    else
        return $liczba * silnia($liczba - 1);
}
?>
Funkcja silnia jest funkcją
A. rekurencyjną.
B. abstrakcyjną.
C. nie zwracającą wyniku.
D. bezparametrową.
Kod przedstawia funkcję `silnia($liczba)` w PHP, która oblicza silnię liczby naturalnej. Kluczową cechą tej funkcji jest to, że wewnątrz swojego ciała wywołuje samą siebie: `silnia($liczba - 1)`. To właśnie sprawia, że jest to funkcja rekurencyjna, a nie żadna z pozostałych podanych opcji. Warto zrozumieć, skąd mogą brać się błędne skojarzenia. Niektórzy patrzą na definicję i myślą, że skoro funkcja ma prostą postać, to może jest „bezparametrowa”. Tymczasem funkcja bezparametrowa to taka, która nie przyjmuje żadnych argumentów, np. `function test(){ ... }`. Tutaj mamy wyraźnie zdefiniowany parametr `$liczba`, który jest używany w warunku `if($liczba < 2)` oraz w obliczeniach, więc nie ma mowy o braku parametrów. Pojawia się też czasem mylne przekonanie, że skoro funkcja „coś robi”, to może nie musi zwracać wyniku. W tym przykładzie jasno widać słowo kluczowe `return` użyte w obu gałęziach instrukcji warunkowej: najpierw `return 1;`, a potem `return $liczba * silnia($liczba - 1);`. To jest funkcja, która zwraca konkretną wartość liczbową – wynik obliczenia silni – a nie funkcja typu „procedura”, która tylko wykonuje efekt uboczny. W PHP dobra praktyka jest taka, żeby funkcje obliczeniowe zawsze coś zwracały, zamiast np. tylko wypisywać dane na ekran. Opcja „abstrakcyjna” również nie pasuje do tego przykładu. Pojęcie funkcji abstrakcyjnej wiąże się z programowaniem obiektowym, klasami abstrakcyjnymi i interfejsami, gdzie definiujemy metodę bez implementacji (w PHP np. `abstract public function foo();`). Tutaj mamy zwykłą, w pełni zaimplementowaną funkcję globalną, bez słowa kluczowego `abstract` i bez kontekstu klasy. Z mojego doświadczenia często problem bierze się z mieszania pojęć: ktoś kojarzy abstrakcję z „czystą matematyką” silni i automatycznie myśli „abstrakcyjna funkcja”, ale w terminologii PHP to zupełnie coś innego. Poprawne rozpoznanie rekurencji wymaga zwrócenia uwagi tylko na jedną rzecz: czy funkcja wywołuje samą siebie i czy ma warunek końca. Tutaj oba te elementy są obecne, więc jedynym poprawnym opisem jest właśnie funkcja rekurencyjna.

Pytanie 15

Do czego służy polecenie mysqldump?

A. do sprawdzenia integralności bazy
B. do naprawy niespójnej bazy
C. do optymalizacji bazy
D. do utworzenia kopii zapasowej bazy
Polecenie mysqldump służy do utworzenia kopii zapasowej bazy - eksportuje strukturę i dane do pliku, umożliwiając późniejsze odtworzenie. Dlatego mysqldump tworzy kopię zapasową.

Pytanie 16

Zaprezentowane pole input daje możliwość

<input type="checkbox" name="text1" value="text2">
A. zaznaczenia opcji z listy zawierającej wartości text1 i text2
B. wprowadzenia hasła
C. wybrania opcji
D. wpisania dowolnego tekstu
Pole input typu text umożliwia wpisanie dowolnego tekstu przez użytkownika co jest powszechnie używane w formularzach do wprowadzania danych takich jak imiona adresy email czy inne informacje tekstowe. Błąd polega na tym że checkbox nie służy do wpisywania tekstu lecz do wyboru opcji. Pole input typu password z kolei pozwala ukrywać wprowadzany tekst maskując go co jest typowym zastosowaniem dla pól wprowadzania haseł w formularzach logowania. Pomimo że oba te pola wykorzystują tag <input> ich przeznaczenie oraz sposób działania znacząco się różnią. Innym typem pola wyboru jest select które w połączeniu z elementem <option> pozwala użytkownikowi wybrać jedną spośród zdefiniowanych opcji. Select różni się od checkboxa tym że zazwyczaj domyślnie pozwala na wybór jednej opcji co jest bardziej zbliżone do działania radio buttonów. Wybór niepoprawnych odpowiedzi często wynika z niedostatecznego zrozumienia specyfiki oraz zastosowań różnych typów pól input co jest kluczowe dla poprawnego projektowania i implementacji formularzy internetowych. Zrozumienie funkcji i zastosowań różnych typów elementów input pozwala na tworzenie bardziej intuicyjnych i funkcjonalnych interfejsów użytkownika spełniających standardy dostępności i użyteczności co jest szczególnie ważne w kontekście projektowania zgodnego z zasadami UX.

Pytanie 17

Przykład zapytania SQL przedstawia instrukcję:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. aktualizującej
B. usuwającej
C. krzyżowej
D. dołączającej
Instrukcja SQL przedstawiona w pytaniu używa słowa kluczowego UPDATE co jest charakterystyczne dla kwerend aktualizujących. Komenda ta modyfikuje istniejące dane w tabeli poprawiając je zgodnie z podanymi kryteriami. W tym przykładzie wszystkie wartości w kolumnie cena tabeli katalog są zwiększane o 10 procent co jest typowym zastosowaniem instrukcji aktualizującej. W praktyce takie zmiany są niezbędne w przypadku modyfikacji cen produktów lub aktualizacji informacji biznesowych. Stosowanie kwerend aktualizujących wymaga zachowania szczególnej ostrożności aby nie naruszyć integralności danych. Dobre praktyki obejmują przygotowanie backupu danych przed wykonaniem operacji oraz przetestowanie kwerendy na mniejszym zbiorze danych w celu uniknięcia błędów. Aktualizacja danych to jedna z najczęstszych operacji w systemach bazodanowych dlatego zrozumienie mechanizmu działania kwerend SQL tego typu jest kluczowe dla efektywnego zarządzania danymi w każdej organizacji. SQL jako język deklaratywny umożliwia łatwe definiowanie co chcemy osiągnąć bez konieczności szczegółowego opisywania jak to zrobić co ułatwia pracę z dużymi i złożonymi zbiorami danych.

Pytanie 18

Do czego służy w PHP funkcja mysqli_select_db()?

A. do wskazania tabeli, z której pobierane są dane
B. do wskazania bazy, z której będą pobierane dane
C. do pobrania danych na podstawie zapytania
D. do nawiązania połączenia z serwerem SQL
Na jednym serwerze MySQL bywa wiele baz, więc po połączeniu trzeba wskazać, z KTÓREJ korzystać - służy do tego mysqli_select_db($polaczenie, "nazwa_bazy"). Zmienia aktywną bazę dla danego połączenia, dzięki czemu kolejne zapytania działają na właściwym zbiorze tabel. Zwykle bazę podaje się już w mysqli_connect(), ale tą funkcją można ją PRZEŁĄCZYĆ w trakcie. Zapamiętaj: „select_db” = wybierz bazę danych.

Pytanie 19

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. przyznawanie uprawnień za pomocą ustalonego schematu
B. usuwanie konta użytkownika z bazy danych
C. pozbawianie użytkownika uprawnień
D. przyznawanie praw dostępu do tabeli
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL służy do cofnięcia uprawnień, które wcześniej przyznaliśmy jakiejś osobie albo roli. W kontekście baz danych, uprawnienia SELECT to po prostu możliwość oglądania danych w tabeli (nazwa1). To dosyć ważna sprawa, jeśli mówimy o bezpieczeństwie bazy. Dzięki temu możesz kontrolować, kto ma dostęp do jakich danych, co jest szczególnie istotne w przypadku różnych regulacji prawnych, jak RODO. Przykładowo, jeśli użytkownik (nazwa2) miał dostęp do tej tabeli, a później uznaje się, że nie powinien go mieć, to używasz REVOKE, żeby to cofnąć. To normalne podejście w administrowaniu bazami danych, bo bezpieczeństwo danych to bardzo ważny aspekt. Warto również czasami przeglądać, kto ma jakie uprawnienia, żeby zminimalizować ryzyko, że ktoś niepowołany dostanie się do wrażliwych informacji.

Pytanie 20

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

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. losowe liczby z przedziału (0, x)
B. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
C. kolejne liczby od x do 0
D. kolejne liczby od 0 do x-1
Niektóre odpowiedzi sugerują niepoprawne interpretacje kodu PHP. Na przykład, propozycja wyświetlenia losowych liczb z zakresu (0, x) nie jest prawidłowa, ponieważ nie ma w kodzie żadnego komponentu generującego liczby losowe. Również pomysł na wczytywanie liczb z klawiatury jest nieprawidłowy, kod nie zawiera żadnej funkcji umożliwiającej wprowadzanie danych przez użytkownika. Ostatecznie, propozycja wyświetlenia liczb od x do 0 również jest błędna, gdyż zmienna $licznik jest zawsze inkrementowana, co oznacza, że jej wartość zawsze wzrasta. Błędne interpretacje wynikają z niewłaściwego zrozumienia funkcjonowania pętli while oraz procesu inkrementacji zmiennych. Ważne jest, aby zawsze dokładnie analizować każdy fragment kodu, zwracając szczególną uwagę na instrukcje warunkowe i manipulacje zmiennymi.

Pytanie 21

Które polecenie SQL przekazać do mysqli_query(), aby DODAĆ do bazy dane z formularza?

A.
UPDATE
B.
ALTER
C.
SELECT
D.
INSERT INTO
Aby DODAĆ nowy wiersz z danymi formularza, przekazuje się do mysqli_query() polecenie INSERT INTO, np. INSERT INTO ... VALUES .... Dlatego do dodania danych służy INSERT INTO.

Pytanie 22

Który znacznik lub grupa znaczników nie są stosowane do definiowania struktury strony HTML?

A. <header>, <footer>
B. <section>
C. <div>
D. <i>, <b>, <u>
Znacznik <i>, <b>, <u> jest stosowany głównie do celów prezentacyjnych, a nie do definiowania struktury dokumentu HTML. <i> oznacza tekst kursywą, <b> tekst pogrubiony, a <u> tekst podkreślony. Te znaczniki są częścią HTML, ale ich główną funkcją jest wzbogacenie wizualne treści, co nie ma związku z logiczną strukturą strony. W kontekście dobrych praktyk webowych, zaleca się stosowanie znaczników semantycznych, które dostarczają bardziej zrozumiałych informacji o treści strony wyszukiwarkom i asystentom technologicznym. Przykładowo, zamiast używać <b> dla podkreślenia znaczenia tekstu, warto skorzystać z <strong>, który również pogrubia tekst, ale dodatkowo wskazuje, że jest on istotny. Dobre praktyki sugerują, aby struktura strony była wyraźna i zrozumiała, co ułatwia nawigację oraz dostępność. Właściwe użycie znaczników takich jak <header>, <footer> czy <section> pomaga w tworzeniu jasnej i logicznej hierarchii dokumentu.

Pytanie 23

Który znacznik lub zestaw znaczników nie jest używany do określenia struktury dokumentu HTML?

A. <div>
B. <section>
C. <i>, <b>, <u>
D. <header>, <footer>
Te znaczniki, czyli <i>, <b> i <u>, nie są jakby do tworzenia struktury dokumentu HTML, ale bardziej do formatowania tekstu. Zgodnie z nowymi standardami HTML5, są to elementy semantyczne, które wpływają na to, jak coś wygląda, a nie na to, jak jest zorganizowane. Znacznik <i> używamy, jak chcemy coś napisać kursywą, <b>, żeby coś podkreślić, a <u>, żeby coś podkreślić. Często korzysta się z nich w stylach CSS, ale nie nadają one hierarchii ani kontekstu dokumentu. Jak chcesz wyróżnić jakiś tekst w kontekście kodu czy tytułu rozdziału, lepiej skorzystać z bardziej semantycznych znaczników, jak <em> dla podkreślenia znaczenia albo <strong> dla podkreślenia wagi. W czasach, kiedy dostępność i SEO są coraz ważniejsze, używanie semantycznych elementów to klucz do tworzenia lepszych i bardziej przejrzystych stron.

Pytanie 24

Jaką relację w projekcie bazy danych powinno się ustalić pomiędzy tabelami przedstawionymi na rysunku, przy założeniu, że każdy klient sklepu internetowego złoży co najmniej dwa zamówienia?

Ilustracja do pytania
A. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
B. n:n
C. 1:1
D. 1:n, gdzie 1 znajduje się po stronie Zamówienia, a wiele po stronie Klienta
Analizując różne możliwe relacje między tabelami, warto zrozumieć, dlaczego niektóre podejścia są błędne. Relacja 1:1 zakłada, że jedna jednostka w pierwszej tabeli odpowiada dokładnie jednej jednostce w drugiej tabeli. W kontekście sklepu internetowego sugerowałoby to, że jeden klient może mieć tylko jedno zamówienie, co nie odpowiada rzeczywistości, gdzie klienci zazwyczaj dokonują wielu transakcji. Relacja 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta, również jest niepoprawna, ponieważ sugeruje, że jedno zamówienie może być przypisane do wielu klientów, co jest sprzeczne z indywidualnym charakterem zakupów. Relacja n:n, choć teoretycznie pozwalałaby na przypisanie wielu klientów do wielu zamówień, w rzeczywistości wymagałaby dodatkowej tabeli pośredniej do przechowywania tych powiązań, co wprowadzałoby niepotrzebną złożoność i mogłoby prowadzić do błędów w przetwarzaniu danych. Typowym problemem przy projektowaniu baz danych jest błędne zrozumienie relacji między danymi, co może prowadzić do nieefektywnych struktur, utrudniających zarówno utrzymanie jak i rozwój systemu. Dlatego tak ważne jest dokładne zrozumienie specyfiki relacji między danymi i stosowanie odpowiednich modeli, które zapewnią zarówno integralność jak i wydajność systemu informatycznego na dłuższą metę.

Pytanie 25

Strona internetowa powinna mieć zorganizowaną strukturę bloków. Aby osiągnąć ten układ, należy przypisać sekcjom odpowiednie właściwości w ten sposób:

Ilustracja do pytania
A. float wyłącznie dla bloku 5; clear dla bloku 2
B. float tylko dla bloku 2; clear dla bloków: 3, 4
C. float jedynie dla bloków: 3, 4; clear dla bloku 5
D. float tylko dla bloków: 2, 3, 4; clear dla bloku 5
Odpowiedź czwarta jest prawidłowa, ponieważ użycie właściwości CSS float dla bloków 2, 3 i 4 oraz właściwości clear dla bloku 5 odpowiada oczekiwanemu układowi strony. Float pozwala na ustawienie elementów obok siebie w poziomie. W tym przypadku blok 2, 3 i 4 będą umieszczone w jednej linii dzięki właściwości float: left. Blok 2 będzie zajmował więcej przestrzeni w pionie, co pozwala umieścić bloki 3 i 4 obok siebie. Blok 5 powinien znaleźć się poniżej, więc wymaga zastosowania właściwości clear: both, aby uniknąć zachodzenia na inne elementy pływające. Taki układ jest często stosowany w projektowaniu responsywnych stron internetowych, gdzie float umożliwia elastyczne dostosowanie się elementów do różnych szerokości ekranów. Warto pamiętać, że obecnie często używa się także display: flex lub grid jako nowocześniejszych sposobów układania elementów, jednak float wciąż znajduje zastosowanie w prostych układach. Zrozumienie, jak działa float i clear, jest kluczowe dla tworzenia poprawnych i estetycznych układów bloków na stronie internetowej.

Pytanie 26

Zawartość kodu w języku HTML umieszczona w ramce ilustruje zestaw

<ol>
<li>Pierwszy</li>
<li>Drugi</li>
<li>Trzeci</li>
</ol>
A. wypunktowanej
B. linków
C. skróconych
D. numerowanej
Fragment kodu HTML używa tagu <ol> co oznacza listę numerowaną. Tag <ol> jest skrótem od ordered list i jest używany do tworzenia listy elementów, które są automatycznie numerowane przez przeglądarkę. Wewnątrz tego tagu znajdują się tagi <li>, które oznaczają poszczególne elementy listy. Każdy z tych elementów będzie wyświetlany z kolejnym numerem w przeglądarce internetowej. Na przykład w przypadku zamieszczonego kodu HTML przeglądarka wyświetli listę z numerami 1 2 3 przed elementami Pierwszy Drugi Trzeci. Listy numerowane są użyteczne w sytuacjach gdy ważna jest kolejność elementów na przykład w instrukcjach krok po kroku lub rankingach. Tworzenie list numerowanych z użyciem <ol> jest zgodne ze standardami HTML i jest dobrym rozwiązaniem gdyż pozwala na łatwe zarządzanie kolejnością elementów bez konieczności ręcznego numerowania co redukuje ryzyko błędów i automatycznie aktualizuje numerację w przypadku dodania bądź usunięcia elementów z listy.

Pytanie 27

Które z podanych formatów NIE JEST zapisane w języku CSS?

Ilustracja do pytania
A. A
B. B
C. D
D. C
Odpowiedź C jest prawidłowa, ponieważ atrybut bgcolor jest przestarzałą metodą określania koloru tła w HTML i nie jest częścią CSS. CSS (Cascading Style Sheets) zostało stworzone, aby oddzielić prezentację dokumentu od jego struktury. Korzystanie z CSS pozwala na lepsze zarządzanie stylem i spójność w wyglądzie wielu stron internetowych. Atrybuty HTML związane z wyglądem, takie jak bgcolor, zostały zastąpione przez deklaracje w CSS. Na przykład w CSS można ustawić kolor tła całej strony za pomocą selektora body i właściwości background-color. Takie podejście jest bardziej elastyczne i zgodne z nowoczesnymi standardami. Dzięki CSS możliwe jest stosowanie zaawansowanych stylizacji, takich jak gradienty czy obrazy tła, które nie były dostępne w prostych atrybutach HTML. Przy projektowaniu stron internetowych zaleca się, aby unikać przestarzałych atrybutów HTML, które mogą być niekompatybilne z nowoczesnymi przeglądarkami i powodować problemy z dostępnością.

Pytanie 28

Określ rezultat wykonania skryptu stworzonego w języku PHP

Ilustracja do pytania
A. D
B. C
C. B
D. A
Odpowiedź A jest prawidłowa, ponieważ funkcja asort() w PHP sortuje tablicę asocjacyjną według wartości w porządku rosnącym, ale zachowuje oryginalne klucze. W tym przypadku mamy tablicę z wartościami tekstowymi. Funkcja asort() posortuje te wartości alfabetycznie, co oznacza, że najpierw pojawi się 'Perl', następnie 'PHP', 'Pike' i na końcu 'Python'. Klucze zostaną przypisane do odpowiednich wartości, co jest widoczne w odpowiedzi A. Użycie asort() jest bardzo przydatne, gdy chcemy zachować związki między kluczami i wartościami w tablicach asocjacyjnych, jednocześnie sortując je według wartości. Dobrą praktyką jest używanie tej funkcji w sytuacjach, gdzie klucze mają znaczenie, takie jak przetwarzanie danych konfiguracyjnych lub wyników ankiet. Dodatkowo, rozumienie różnic między funkcjami sortującymi w PHP jak sort(), asort(), ksort(), usort(), uasort() i uksort() jest kluczowe w efektywnym manipulowaniu danymi w skryptach PHP, pozwalając na precyzyjną kontrolę nad strukturami danych i ich porządkowaniem.

Pytanie 29

Która metoda obiektu Math dla x = 2.8 zwróci 2?

A.
Math.ceil(x)
B.
Math.exp(x)
C.
Math.sqrt(x)
D.
Math.floor(x)
Pozostałe metody dają co innego. Math.ceil(2.8) zaokrągla w GÓRĘ (3), Math.sqrt(2.8) liczy pierwiastek, a Math.exp(2.8) to funkcja wykładnicza. Zaokrąglenie w dół do 2 daje Math.floor(x).

Pytanie 30

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. D.
B. A.
C. B.
D. C.
No niestety, wybrałeś złą odpowiedź. Główny problem tutaj polega na tym, że źle rozumiesz, jak działa słowo kluczowe 'this' w JavaScript. Warianty B i D są nietrafione, bo chociaż mają metodę 'dane', to nie jest ona przypisana do obiektu 'osoba'. Bez tego przypisania, metoda nie ma jak sięgnąć do właściwości 'imię' i 'nazwisko'. Podobnie, wariant C też nie jest ok, bo nie wykorzystuje 'this'. Bez 'this', nie możesz sięgnąć do tych właściwości z obiektu 'osoba'. To częsty błąd, który wynika z mylenia kontekstu. Pamiętaj, że 'this' to twój sposób na wskazanie obiektu, w którym wywołujesz metodę.

Pytanie 31

Wskaż, który zapis należy zastosować w celu wyświetlenia grafiki obrazek.png na stronie WWW w pliku plik.html.  

Ilustracja do pytania
A. <img src="/../katalog_1/katalog_B/obrazek.png">
B. <img src="/../katalog_2/katalog_B/obrazek.png">
C. <img src="../../katalog_2/katalog_B/obrazek.png">
D. <img src="obrazek.png">
Poprawny zapis <img src="../../katalog_2/katalog_B/obrazek.png"> wynika bezpośrednio z położenia pliku HTML i grafiki w strukturze katalogów. plik.html znajduje się w katalogu_1/katalog_A, a obrazek.png w katalogu_2/katalog_B. Żeby przeglądarka mogła odnaleźć plik graficzny, ścieżka względna musi krok po kroku „przejść” po tej strukturze. Najpierw ../../ cofa nas dwa poziomy w górę: z katalog_A do katalog_1, a potem z katalog_1 do katalogu głównego, w którym znajdują się katalog_1 i katalog_2. Następnie wchodzimy do katalog_2, potem do katalog_B i dopiero tam leży obrazek.png. To dokładnie odzwierciedla poprawną, relatywną drogę od pliku HTML do zasobu graficznego.
Z mojego doświadczenia w projektach webowych używanie poprawnych ścieżek względnych jest kluczowe, szczególnie gdy serwis ma rozbudowaną strukturę folderów albo jest później przenoszony między środowiskami (np. localhost, serwer testowy, produkcja). Dzięki ścieżkom względnym, takim jak ../../katalog_2/katalog_B/obrazek.png, kod HTML jest bardziej przenośny i nie trzeba modyfikować adresów po każdej zmianie domeny czy katalogu głównego. Warto też pamiętać, że atrybut src w znaczniku <img> zawsze wskazuje na zasób, który przeglądarka ma pobrać – może to być ścieżka względna, bezwzględna w obrębie serwera lub pełny URL z protokołem. W praktyce przy większych projektach dobrze jest utrzymywać spójną konwencję nazewnictwa katalogów (np. img, assets, static) i stosować logiczną strukturę, żeby takie ścieżki były łatwe do ogarnięcia. Moim zdaniem warto też na wczesnym etapie przyzwyczaić się do „ręcznego” analizowania, skąd jest liczona ścieżka – zawsze od lokalizacji aktualnego dokumentu HTML, chyba że używamy ścieżek absolutnych od katalogu głównego serwera.

Pytanie 32

Która z pętli w PHP umożliwia przeprowadzenie operacji na wszystkich elementach tablicy z automatycznym przypisaniem indeksów tych elementów?

A. for
B. foreach
C. while
D. do...while
Odpowiedź 'foreach' jest poprawna, ponieważ ta konstrukcja w języku PHP została stworzona specjalnie do iteracji po elementach tablicy. Zastosowanie 'foreach' pozwala na komfortowe i czytelne przeglądanie każdego elementu tablicy bez potrzeby ręcznego zarządzania indeksami, co jest szczególnie przydatne w przypadku tablic asocjacyjnych, gdzie klucze mogą być dowolnymi typami danych. Przykład zastosowania 'foreach': dla tablicy $fruits = ['jabłko', 'banan', 'gruszka']; używamy pętli: foreach ($fruits as $fruit) { echo $fruit; } To pozwala na wypisanie każdego owocu w tablicy. Warto również podkreślić, że 'foreach' jest bardziej wydajny i bardziej intuicyjny niż inne pętle, takie jak 'for' czy 'while', które wymagają dodatkowego zarządzania indeksami. W praktyce, 'foreach' jest standardem w iteracji tablic w PHP i jego użycie jest zgodne z najlepszymi praktykami programistycznymi.

Pytanie 33

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane", $dane, 0);
B. setcookie("dane", $dane, time() + (3600*24));
C. setcookie("dane", $dane, time());
D. setcookie("dane", "dane", 0);
Odpowiedź setcookie("dane", $dane, time() + (3600*24)); jest prawidłowa, gdyż prawidłowo ustawia ciasteczko o nazwie 'dane' z wartością zmiennej $dane na czas jednego dnia. Funkcja setcookie w PHP wymaga trzech podstawowych argumentów: nazwy ciasteczka, wartości oraz czasu wygaśnięcia. W tym przypadku używamy time() + (3600*24), co oznacza aktualny czas plus 24 godziny (3600 sekund w godzinie pomnożone przez 24). Taki sposób określenia czasu wygaśnięcia jest zgodny z zaleceniami bezpieczeństwa i zarządzania danymi w aplikacjach webowych, ponieważ umożliwia precyzyjne kontrolowanie okresu ważności ciasteczek. Przykładowo, jeśli nasze ciasteczko jest używane do przechowywania sesji użytkownika, wartość 'dane' może zawierać identyfikator sesji, co pozwala na zachowanie stanu użytkownika przez 24 godziny. Ważne jest także, aby przed użyciem setcookie nie było wysyłanych żadnych danych do przeglądarki. Dobrą praktyką jest również ustawianie flagi HttpOnly, aby zwiększyć bezpieczeństwo, oraz SameSite, aby ograniczyć ryzyko ataków CSRF.

Pytanie 34

Jaką rolę pełni kwerenda krzyżowa w MS Access?

A. dołącza rekordy z innej tabeli
B. prezentuje zliczone (zagregowane) wartości w układzie wierszy i kolumn
C. modyfikuje istniejące dane w tabeli
D. usuwa rekordy według kryteriów
Pozostałe operacje wykonują inne kwerendy. Usuwanie rekordów wg kryteriów to kwerenda usuwająca, dołączanie rekordów z innej tabeli - dołączająca, a modyfikacja danych - aktualizująca. Zestawienie zagregowanych danych w wierszach i kolumnach tworzy kwerenda krzyżowa.

Pytanie 35

W kontekście PGP zmienna $_GET jest zmienną

A. predefiniowaną, służącą do zbierania wartości z formularzy po nagłówkach zapytań HTTP (dane z formularzy nie są widoczne w URL)
B. predefiniowaną, stosowaną do przesyłania informacji do skryptów PHP poprzez adres URL
C. zwykłą, stworzoną przez autora strony
D. zdefiniowaną przez autora strony, wykorzystywaną do przesyłania danych z formularzy przez adres URL
Zmienna $_GET w języku PHP jest predefiniowaną superglobalną tablicą, która umożliwia dostęp do danych przesyłanych metodą GET za pomocą adresu URL. Oznacza to, że można przekazywać dane do skryptu PHP poprzez dodanie parametrów do adresu strony, co jest powszechnie stosowane w aplikacjach webowych. Na przykład, w adresie URL 'example.com/page.php?name=John&age=30', zmienna $_GET będzie zawierać tablicę z danymi ['name' => 'John', 'age' => '30']. Dzięki temu programista może łatwo odczytać i wykorzystać te dane w skrypcie, co jest kluczowe dla dynamicznych stron internetowych. Zgodnie z dokumentacją PHP, zmienna $_GET jest jedną z kilku superglobalnych tablic, obok takich jak $_POST, $_SESSION, i $_COOKIE, które ułatwiają zarządzanie danymi użytkownika. Ważne jest, aby pamiętać o zabezpieczeniach, takich jak walidacja i sanitizacja danych wejściowych, aby uniknąć ataków typu SQL Injection czy XSS (Cross-Site Scripting).

Pytanie 36

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

A.
SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;
B.
SELECT psy FROM rok_szczepienia < 2015;
C.
SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015;
D.
SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015;
Pozostałe zapytania mają błędy. SELECT psy FROM rok_szczepienia < 2015 myli tabelę z kolumną i nie ma poprawnej konstrukcji FROM ... WHERE. Warianty z rok_szczepienia > 2015 zwracają psy szczepione PO 2015, czyli odwrotnie. Wybór imie, rasa w ogóle nie daje numerów telefonów. Poprawne jest SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;.

Pytanie 37

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
B. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
C. usunięta tabela Pracownicy.
D. usunięty rekord najstarszego pracownika.
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika.
Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE.
Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie.
Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 38

Jaką formę ma kolor przedstawiony w systemie szesnastkowym jako #11FE07 w formacie RGB?

A. rgb(17,255,7)
B. rgb(17,254,7)
C. rgb(17,FE,7)
D. rgb(11,127,7)
Kolor zapisany w postaci szesnastkowej #11FE07 odnosi się do systemu kolorów RGB, który jest powszechnie wykorzystywany w grafice komputerowej oraz w sieci. Wartości szesnastkowe składają się z trzech par cyfr: pierwsza para (11) reprezentuje wartość czerwonego (R), druga para (FE) wartość zielonego (G), a trzecia para (07) wartość niebieskiego (B). Aby przekształcić wartości szesnastkowe na dziesiętne, stosujemy konwersję, gdzie '11' w systemie szesnastkowym to 17 w systemie dziesiętnym, 'FE' to 254, a '07' to 7. Zatem wartość RGB dla koloru #11FE07 wynosi rgb(17, 254, 7). Wartości te są kluczowe w tworzeniu kolorów w różnych aplikacjach, od stron internetowych po projektowanie graficzne. Zrozumienie konwersji kolorów oraz ich reprezentacji w różnych formatach jest niezbędne dla każdego projektanta, który pracuje z kolorami. Przykładem zastosowania może być projektowanie logo, gdzie precyzyjne odwzorowanie koloru w różnych formatach jest istotne dla spójności wizualnej marki.

Pytanie 39

W języku HTML atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. rect, triangle, circle
B. rect, poly, circle
C. rect, square, circle
D. poly, square, circle
Wybór nieprawidłowych wartości atrybutu shape może prowadzić do istotnych deficytów w funkcjonalności interaktywnych map obrazów. Na przykład, odpowiedź z wykorzystaniem wartości triangle jest błędna, gdyż HTML nie definiuje obsługi trójkąta jako kształtu obszaru w znaczniku area. Użytkownicy mogą błędnie zakładać, że różne kształty mogą być dowolnie definiowane, co jest mylnym podejściem, ponieważ HTML ma ściśle określone standardy dotyczące kształtów. Odpowiedzi takie jak square czy rectangle mogą prowadzić do nieporozumień, gdyż square jest de facto specjalnym przypadkiem rect. W praktyce, zrozumienie różnicy pomiędzy tymi wartościami oraz ich właściwe wykorzystanie jest kluczowe dla osiągnięcia zamierzonych celów w zakresie interaktywności. Używanie niewłaściwych kształtów może skutkować niewłaściwą nawigacją na stronie, co negatywnie wpływa na doświadczenia użytkowników oraz dostępność treści. Dlatego ważne jest, aby projektanci stron WWW opierali się na rzetelnych źródłach dokumentacji oraz standardów W3C, które definiują, jakie kształty są dostępne oraz w jaki sposób powinny być stosowane. Zastosowanie niepoprawnych wartości nie tylko wpłynie na działanie mapy, ale również może prowadzić do błędów w SEO, ponieważ niewłaściwie zdefiniowane obszary mogą być pomijane przez wyszukiwarki, co ogranicza widoczność strony w sieci.

Pytanie 40

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

A. rgb(15, 10, FE)
B. rgb(21, 16, FE)
C. rgb(21, 16, 254)
D. rgb(21, 16, 255)
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.