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: 28 czerwca 2026 16:30
  • Data zakończenia: 28 czerwca 2026 16:46

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

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

W JavaScript poprawnie zdefiniowana zmienna to

A. imię%
B. imię2
C. imie2
D. #imie
W przypadku odpowiedzi 'imię%' występuje nieprawidłowy znak specjalny, co łamie zasady dotyczące nazewnictwa zmiennych w JavaScript. Zgodnie z tymi zasadami, zmienne mogą zawierać tylko litery, cyfry, znaki podkreślenia oraz znaki dolara, ale nie mogą kończyć się ani zawierać znaków specjalnych, takich jak procent. Z tego powodu, użycie takiego znaku w nazwie zmiennej prowadzi do błędów składniowych i jest niezgodne z konwencjami programistycznymi. Podobnie, w przypadku odpowiedzi '#imie', znak hashtagu jest również zabroniony w nazwach zmiennych. Często początkujący programiści mylą się, myśląc, że mogą używać dowolnych symboli w nazwach zmiennych, co prowadzi do problemów podczas kompilacji czy interpretacji kodu. Ważne jest, aby znać te zasady, ponieważ ich przestrzeganie ułatwia współpracę w zespołach programistycznych oraz zapewnia lepszą organizację kodu. Prawidłowe nazewnictwo sprzyja również łatwiejszej konserwacji i rozwoju projektów, co jest kluczowe w długoterminowych inicjatywach programistycznych.

Pytanie 2

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. String (ciąg znaków)
B. Nieokreślonego (undefined)
C. Logicznego
D. Liczbowego
Odpowiedzi wskazujące na inne typy danych, takie jak typ logiczny czy liczbowy, zawierają istotne nieporozumienia dotyczące sposobu, w jaki JavaScript zarządza danymi. Typ logiczny w tym kontekście oznaczałby, że zmienna mogłaby przyjmować tylko wartości 'true' lub 'false', co jest mylnym założeniem, ponieważ 'true' jest tutaj częścią tekstu, a nie wartością logiczną. Z kolei typ liczbowy byłby właściwy dla zmiennych takich jak 1, 2 czy 3, które reprezentują liczby całkowite lub zmiennoprzecinkowe. W przypadku zadeklarowanej zmiennej 'var x="true";', wartość, która jest przypisywana, jest w rzeczywistości ciągiem tekstowym, mimo że zawiera słowo kluczowe 'true'. Typ danych 'undefined' z kolei oznacza, że zmienna została zadeklarowana, ale nie przypisano jej żadnej wartości, co również nie odpowiada sytuacji przedstawionej w pytaniu. Zrozumienie typów danych w JavaScript jest kluczowe dla unikania błędów typowych, zwłaszcza w kontekście zmiennych, które mogą być używane w różnych operacjach. W praktyce, to zrozumienie typów pozwala programistom lepiej zarządzać danymi i pisać bardziej niezawodny kod. Warto również pamiętać, że JavaScript automatycznie konwertuje typy w wielu sytuacjach, co może prowadzić do niezamierzonych rezultatów, dlatego proszę zwracać szczególną uwagę na przypisania i operacje wykonywane na zmiennych.

Pytanie 3

Cechy przedstawione w tabeli dotyczą?

  • Strony ustalają dążenie do konkretnego wyniku
  • Ważny jest efekt pracy, a nie sposób jej realizacji
  • Zleceniodawca przekazuje za wykonawcę zaliczkę na podatek dochodowy
A. umowy zlecenia
B. umowy o dzieło
C. umowy agencyjnej
D. umowy o pracę
Umowa o pracę różni się od umowy o dzieło w kilku kluczowych aspektach. Przede wszystkim, umowa o pracę koncentruje się na procesie wykonywania pracy, a nie tylko na jej rezultacie. Pracownik w ramach umowy o pracę podlega określonym przepisom dotyczącym czasu pracy, urlopów i innych świadczeń pracowniczych, co nie ma miejsca w umowie o dzieło. Z kolei umowa zlecenia także skupia się bardziej na wykonywaniu usług niż na osiąganiu konkretnego rezultatu, co oznacza, że zleceniobiorca powinien wykonać powierzone zadanie z należytą starannością, ale niekoniecznie osiągnąć określony efekt końcowy. Umowa agencyjna jest jeszcze innym typem kontraktu, w którym agent działa na rzecz zleceniodawcy, ale niekoniecznie musi dostarczać konkretny produkt lub usługę końcową. Typowym błędem jest mylenie tych umów z uwagi na podobieństwa w formalnościach czy obowiązkach podatkowych, jednak kluczowe jest zrozumienie różnic w zakresie oczekiwań co do efektu pracy i sposobu jej rozliczania.

Pytanie 4

Co powinno znaleźć się w KAŻDEJ tabeli, aby baza działała poprawnie i spójnie?

A. klucze PRIMARY KEY i FOREIGN KEY
B. klucz PRIMARY KEY (unikalny i niepusty)
C. klucz FOREIGN KEY z NOT NULL
D. klucz obcy z NOT NULL i UNIQUE
Klucz OBCY (FOREIGN KEY) nie jest obowiązkowy w każdej tabeli - występuje tylko tam, gdzie istnieje powiązanie z inną tabelą. Dlatego warianty wymagające klucza obcego (z NOT NULL, UNIQUE) są błędne. Podstawą jest PRIMARY KEY - unikalny i niepusty.

Pytanie 5

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
B. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
C. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
D. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
Kod HTML przedstawiony w pytaniu wykorzystuje znacznik &lt;video&gt;, który jest elementem HTML5 pozwalającym na osadzanie filmów w dokumentach internetowych. W kontekście poprawnej odpowiedzi, kluczowym jest zrozumienie, że przeglądarki muszą obsługiwać HTML5, aby mogły w pełni funkcjonować z tym kodem. W przypadku starszych przeglądarek, które nie wspierają HTML5, element &lt;video&gt; może nie być wyświetlany lub nie będzie działał prawidłowo. Dlatego istotne jest, aby deweloperzy testowali swoje aplikacje w różnych środowiskach oraz aby korzystali z odpowiednich polyfilli dla starszych przeglądarek, które mogą poprawić ich funkcjonalność. Przykładowo, użycie biblioteki JavaScript takiej jak Video.js może pomóc w zapewnieniu wsparcia dla elementów wideo w szerszym zakresie przeglądarek. Dbałość o kompatybilność z różnymi wersjami przeglądarek to nie tylko kwestia estetyki, ale również użyteczności i dostępności aplikacji internetowych.

Pytanie 6

Jak zbudować zapytanie SELECT, aby wyświetlić nazwiska mieszkańców bez powtórzeń (unikalne)?

A.
SELECT AVG(nazwisko) FROM mieszkancy;
B.
SELECT DISTINCT nazwisko FROM mieszkancy;
C.
SELECT TOP 10 nazwisko FROM mieszkancy;
D.
SELECT nazwisko FROM mieszkancy ORDER BY nazwisko;
Aby usunąć powtórzenia z wyniku, dodaje się do SELECT słowo DISTINCT, np. SELECT DISTINCT nazwisko FROM mieszkancy. Zapytanie zwróci wtedy każde nazwisko tylko raz, nawet jeśli w tabeli występuje wielokrotnie. Dlatego unikalne nazwiska daje SELECT DISTINCT.

Pytanie 7

Aby w skrypcie JavaScript pobrać dane wpisane przez użytkownika, można posłużyć się oknem generowanym przez funkcję:

A.
prompt()
B.
confirm()
C.
document.write()
D.
alert()
Poprawna jest prompt(), ponieważ to jedyna z wymienionych funkcji, która pobiera dane wpisane przez użytkownika. Wyświetla ona okno dialogowe z treścią pytania oraz polem tekstowym, a po zatwierdzeniu zwraca wpisany tekst jako łańcuch znaków (string). Wartość tę można od razu zapisać w zmiennej i wykorzystać dalej w kodzie, np. let imie = prompt('Podaj imię:');. Gdy użytkownik kliknie Anuluj, funkcja zwraca null. Warto pamiętać, że wynik jest zawsze tekstem - jeśli potrzebujesz liczby, trzeba go przekonwertować, np. funkcją Number(). Dzięki temu prompt() umożliwia prostą interakcję ze stroną bez budowania formularza HTML.

Pytanie 8

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 lat
B. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
C. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
D. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
W przypadku pierwszej opcji, wybór imion, nazwisk i numerów PESEL osób w wieku poniżej 18 lat jest błędny, ponieważ zapytanie wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że filtruje jedynie osoby, które są w wieku równym 18 lub 30 lat, a nie poniżej 18 lat. Warto zauważyć, że taka interpretacja zapytania ignoruje zasadniczą logikę działania operatora IN. Z kolei trzecia opcja, dotycząca wybrania imion, numerów PESEL i wieku osób z przedziału od 18 do 30 lat, również mija się z prawdą, gdyż operator IN nie obejmuje osób, które mają wiek pomiędzy 18 a 30 lat, a jedynie osoby, które mają 18 lub 30 lat. Ostatnia opcja, dotycząca wyboru osób powyżej 30 lat, jest całkowicie sprzeczna z zapytaniem, które w ogóle nie bierze pod uwagę takiej grupy wiekowej. Warto przy tym zauważyć, że typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, mogą wynikać z niepełnego zrozumienia działania operatorów w SQL oraz nieznajomości zasad filtracji danych. W praktyce, znajomość specyfiki poszczególnych operatorów oraz ich zastosowań w różnych kontekstach jest kluczowa dla poprawnego formułowania zapytań i analizy danych.

Pytanie 9

Co robi polecenie:

ALTER TABLE miasta ADD kod text;
?
A. dodaje do tabeli kolumnę kod typu text
B. zmienia nazwę kolumny kod na text
C. zmienia nazwę tabeli miasta na kod
D. dodaje dwie kolumny: kod i text
Pozostałe interpretacje są błędne. W zapisie ADD kod text jest jedna nazwa kolumny (kod) i jeden typ (text), więc powstaje JEDNA kolumna, a nie dwie. Nazwa tabeli się nie zmienia (to nie RENAME), a nazwa kolumny nie jest podmieniana. Efektem jest dodanie kolumny kod typu text.

Pytanie 10

Aby zbudować tabelę, należy wykorzystać polecenie

A. CREATE DATABASE
B. ALTER TABLE
C. INSERT INTO
D. CREATE TABLE
Odpowiedź 'CREATE TABLE' jest poprawna, ponieważ to polecenie jest używane w SQL do tworzenia nowych tabel w bazie danych. Tabela to podstawowa jednostka organizacyjna danych, która składa się z wierszy i kolumn, gdzie każda kolumna ma przypisaną określoną datę typu, taką jak integer, varchar, date itd. Przykład użycia tego polecenia to: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50));'. W tym przypadku tworzymy tabelę 'pracownicy', w której znajdują się trzy kolumny: 'id', 'imie' i 'nazwisko'. Ważnym aspektem jest, że przy definiowaniu tabeli należy również określić klucze główne oraz inne ograniczenia, takie jak unikalność czy relacje między tabelami, co jest zgodne z najlepszymi praktykami projektowania baz danych. Użycie 'CREATE TABLE' pozwala na skuteczne zarządzanie strukturą bazy danych, co jest kluczowe dla jej późniejszej integralności i wydajności.

Pytanie 11

W języku JavaScript zapisano kod, którego wynikiem działania jest

var osoba = prompt("Podaj imię", "Adam");
A. wyświetlenie okna z pustym polem edycyjnym.
B. wyświetlenie okna z polem edycyjnym, w którym jest wpisany domyślny tekst "Adam".
C. bezpośrednie wpisanie do zmiennej osoba wartości "Adam".
D. pobranie z formularza wyświetlonego na stronie HTML imienia "Adam".
Twoja odpowiedź jest poprawna. W JavaScript metoda prompt() służy do wyświetlenia okna dialogowego z polem tekstowym dla użytkownika. Pierwszy argument metody to wiadomość, która jest wyświetlana w oknie dialogowym, natomiast drugi argument to domyślna wartość, jaka jest wpisana w polu tekstowym. W przypadku podanego kodu, drugi argument to 'Adam', co oznacza, że w polu edycyjnym domyślnie będzie wpisany tekst 'Adam'. Metoda ta jest często stosowana do zbierania od użytkownika informacji w prosty i szybki sposób. Pamiętaj jednak, że nie jest to bezpieczny sposób przekazywania danych, ponieważ informacje wpisane przez użytkownika mogą być łatwo przechwycone przez nieautoryzowane osoby.

Pytanie 12

W PHP zmienna $_GET stanowi zmienną

A. utworzoną przez autora strony, przeznaczoną do przesyłania danych z formularza przez adres URL
B. predefiniowaną, wykorzystywaną do zbierania danych formularza po nagłówkach żądania HTTP (informacje z formularza nie są widoczne w URL)
C. zwykłą, utworzoną przez autora strony
D. predefiniowaną, służącą do przesyłania informacji do skryptów PHP przez adres URL
Zmienna $_GET w języku PHP jest predefiniowaną superglobalną tablicą, która służy do zbierania danych przesyłanych metodą GET, co oznacza, że dane te są dołączane do adresu URL po znaku zapytania. Umożliwia to łatwe przekazywanie informacji, takich jak wartości z formularzy, parametry zapytań czy identyfikatory produktów, w sposób czytelny dla użytkowników. Przykładowo, gdy użytkownik wypełnia formularz na stronie, a następnie klika przycisk przesyłania, dane są przesyłane do skryptu PHP, co można zobaczyć w adresie URL: `example.com/index.php?name=John&age=30`. Wartości te można następnie odczytać w skrypcie za pomocą $_GET['name'] i $_GET['age']. Warto dodać, że korzystanie z metody GET ma swoje ograniczenia, takie jak maksymalna długość adresu URL oraz możliwość przesyłania tylko danych tekstowych. W standardach bezpieczeństwa warto również pamiętać o sanitizacji i walidacji danych wejściowych, aby zapobiec atakom typu injection czy cross-site scripting (XSS).

Pytanie 13

Który z języków służy do STYLIZACJI stron WWW?

A. CSS
B. Python
C. HTML
D. SQL
Do stylizacji stron WWW służy CSS (Cascading Style Sheets) - opisuje wygląd elementów: kolory, czcionki, układ, marginesy, oddzielając prezentację od treści zapisanej w HTML. Dlatego językiem stylizacji jest CSS.

Pytanie 14

Podane w ramce polecenie SQL ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
B. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
C. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
D. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie.
W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze.
Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.

Pytanie 15

Na przedstawionej tabeli samochodów wykonano zapytanie SQL:

SELECT model FROM samochody
WHERE rocznik=2016;

Jakie wartości zostaną zwrócone w wyniku tego zapytania?
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry
A. Punto, Corsa, Astra, Corolla, Yaris
B. Fiat, Opel, Toyota
C. Czerwony, grafitowy
D. Punto, Corsa, Corolla
W przypadku błędnych odpowiedzi należy zrozumieć dlaczego nie są one poprawne w kontekście zapytania SQL. Zapytanie SELECT model FROM samochody WHERE rocznik=2016; ma na celu zwrócenie tylko tych modeli samochodów które mają rocznik równy 2016. Jakiekolwiek inne odpowiedzi które zawierają wartości nie spełniające tego warunku są niepoprawne. Na przykład odpowiedzi które zawierają kolory samochodów takich jak czerwony czy grafitowy są błędne ponieważ zapytanie nie dotyczy kolumny kolor. W bazach danych struktura zapytania musi precyzyjnie odpowiadać danym które chcemy uzyskać co oznacza że nie można uwzględniać danych z innych kolumn jeśli nie są one częścią zapytania. Kolejnym błędem jest sugerowanie że zapytanie zwraca marki samochodów takie jak Fiat Opel czy Toyota. Ponownie zapytanie specjalnie wybiera kolumnę model a nie marka dlatego takie odpowiedzi nie są zgodne z zapytaniem. Zrozumienie struktury zapytań SQL i precyzyjne określenie jakie dane są potrzebne jest kluczowe w pracy z bazami danych. Typowe błędy przy konstruowaniu zapytań to niepoprawne określenie kolumny lub warunku co prowadzi do nieoczekiwanych wyników. W związku z tym znajomość zasad konstrukcji zapytań oraz umiejętność przewidywania wyników są niezbędne w codziennej pracy z bazami danych aby uniknąć błędów i zapewnić dokładność przetwarzania danych. SQL jako język do zarządzania danymi wymaga precyzyjnego podejścia i znajomości źródła danych co jest kluczowe dla efektywnego zarządzania informacją. Poprawne sformułowanie zapytania zapewnia że wyniki będą zgodne z oczekiwaniami i będą spełniać założenia analizy danych. Warto także stosować narzędzia walidacji zapytań aby upewnić się że są one optymalne i poprawne co jest dobrym standardem w branży.

Pytanie 16

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p {text-indent: 30px;}
B. p {line-height: 30px;}
C. p {text-spacing: 30px;}
D. p {line-indent: 30px;}
Pierwsza z odpowiedzi, p {line-height: 30px;}, odnosi się do interlinii, czyli przestrzeni między poszczególnymi liniami tekstu. Ustawienie line-height na 30 pikseli wpłynie na odległość między liniami, ale nie wprowadzi wcięcia, co jest kluczowe w przypadku tego pytania. Użytkownicy często mylą te właściwości, co prowadzi do nieporozumień w zakresie formatowania tekstu. Druga odpowiedź, p {text-spacing: 30px;}, jest błędna, ponieważ text-spacing nie jest standardową właściwością CSS. CSS nie definiuje takiej właściwości, co może prowadzić do frustracji podczas pracy nad stylizacją dokumentów. W przypadku trzeciej odpowiedzi, p {line-indent: 30px;}, również nie jest to poprawne podejście, gdyż line-indent nie jest uznawane za standardową właściwość CSS, więc jego zastosowanie nie przyniesie oczekiwanych efektów. Typowym błędem jest zakładanie, że każda właściwość związana z tekstem może być zastosowana w podobny sposób, co prowadzi do niepoprawnych wyników. Kluczowe jest zrozumienie różnicy między właściwościami, takimi jak line-height, text-indent i inne, aby skutecznie stylizować tekst na stronach internetowych.

Pytanie 17

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

A. $a = str_rep('Kowalski','Nowak',$a);
B. $a = str_replace('Nowak', 'Kowalski',$a);
C. $a = str_replace('Nowak','Kowalski');
D. $a = str_replace('Kowalski','Nowak',$a);
Pierwsza odpowiedź jest nieprawidłowa, ponieważ funkcja str_rep nie istnieje w PHP. Wszelkie próby użycia takiego polecenia skutkują błędami, ponieważ PHP nie rozpoznaje tej funkcji. Zrozumienie właściwych nazw funkcji oraz ich składni jest kluczowe w programowaniu, aby uniknąć błędów. W drugiej odpowiedzi, funkcja str_replace została wywołana z niewłaściwymi parametrami, ponieważ brakuje trzeciego argumentu, który jest wymagany do zdefiniowania zmiennej, w której dokonujemy zamiany. Nieprawidłowe podejście do składni funkcji prowadzi do nieefektywnego kodu. Kolejna odpowiedź, w której zamieniamy 'Nowak' na 'Kowalski', także jest błędna, ponieważ nie spełnia celu zamiany wskazanego w pytaniu. Całkowicie odwrotne podejście do problemu może prowadzić do wprowadzenia błędnych danych. Warto zwrócić uwagę, że typowe błędy myślowe, takie jak nieprawidłowe przypisanie argumentów funkcji, mogą wynikać z braku znajomości dokumentacji lub niewłaściwego zrozumienia działania funkcji. Ostatecznie, kluczem do skutecznego programowania jest nie tylko znajomość składni, ale także umiejętność analizy i testowania kodu, co można osiągnąć poprzez praktykę oraz korzystanie z zasobów edukacyjnych.

Pytanie 18

W języku JavaScript zadeklarowano funkcję.
function absValue(f) {
    return Math.abs(f);
}

A. zwrócić wartość przeciwną do f
B. zwrócić wartość bezwzględną z f
C. wypisać wartość przeciwną do f
D. wypisać wartość bezwzględną z f
Poprawna odpowiedź to „zwrócić wartość bezwzględną z f”. Funkcja absValue(f) korzysta z wbudowanej metody Math.abs(), która zwraca wartość bezwzględną liczby przekazanej jako argument. Oznacza to, że jeśli liczba f jest ujemna, zostanie zamieniona na dodatnią, a jeśli dodatnia — pozostanie bez zmian. Funkcja nie wypisuje wartości, lecz zwraca wynik, który można następnie wykorzystać w dalszych obliczeniach. Takie podejście jest często stosowane w programowaniu, gdy chcemy operować na wielkościach zawsze nieujemnych, np. przy obliczaniu różnic, odległości lub w analizie danych numerycznych.

Pytanie 19

Pętla while ma działać, dopóki zmienna x należy do przedziału otwartego (-2, 5). Który warunek to zapisuje (PHP)?

A.
($x == -2) && ($x < 5)
B.
($x < -2) || ($x > 5)
C.
($x > -2) || ($x > 5)
D.
($x > -2) && ($x < 5)
Przedział otwarty (-2, 5) to liczby WIĘKSZE od -2 i jednocześnie MNIEJSZE od 5, więc warunek to ($x > -2) && ($x < 5) - oba muszą być spełnione naraz, stąd iloczyn logiczny &&. Pętla while działa, dopóki ten warunek jest prawdziwy. Zapamiętaj: przedział otwarty = ostre nierówności (>, <) połączone &&.

Pytanie 20

Model fizyczny replikacji bazy danych pokazany na ilustracji to model

Ilustracja do pytania
A. centralnego subskrybenta
B. równorzędny
C. centralnego wydawcy
D. rozproszony
Model centralnego wydawcy jest kluczowym elementem w systemach replikacji baz danych gdzie jeden serwer pełni rolę wydawcy dystrybutora danych do wielu subskrybentów Ta architektura pozwala na efektywne zarządzanie danymi poprzez centralne sterowanie zmianami i ich dystrybucję do podłączonych serwerów subskrybentów W praktyce takie podejście jest używane w dużych organizacjach gdzie konieczne jest zapewnienie aktualności i spójności danych w różnych lokalizacjach Przykładowo w firmach z wieloma oddziałami centralny serwer może dystrybuować dane transakcyjne do lokalnych serwerów zapewniając wszystkim oddziałom bezpośredni dostęp do aktualnych informacji Dzięki temu możliwe jest przeprowadzenie analizy danych w czasie rzeczywistym oraz synchronizacja danych co jest kluczowe w przypadku systemów ERP i CRM Stosowanie modelu centralnego wydawcy zgodnie z dobrymi praktykami umożliwia także łatwe skalowanie systemu oraz zarządzanie bezpieczeństwem danych poprzez centralne punkty kontrolne Taka architektura minimalizuje ryzyko konfliktów danych i zapewnia integralność danych co jest zgodne ze standardami branżowymi

Pytanie 21

Prezentowany blok kodu ilustruje proces

Ilustracja do pytania
A. podjęcia decyzji
B. załadowania lub wyświetlenia informacji
C. użycia zdefiniowanej procedury lub funkcji
D. realizacji zadania w pętli
Symbol przedstawiony na obrazku to romb który w diagramach przepływu algorytmów i schematach blokowych oznacza podjęcie decyzji Jest to kluczowy element w programowaniu i inżynierii oprogramowania używany do podejmowania decyzji lub wyrażania warunków logicznych Decyzja to punkt w programie gdzie przetwarzanie może podążać różnymi ścieżkami w zależności od spełnienia określonych warunków Na przykład w językach programowania takich jak Python lub Java warunek if-else jest używany do podjęcia decyzji w zależności od wartości logicznych Wyobraźmy sobie sytuację w której program ma zdecydować czy użytkownik jest pełnoletni W takim przypadku instrukcja if sprawdza warunek wiek użytkownika większy lub równy 18 i w zależności od tego wykonuje odpowiednie instrukcje Takie podejście jest zgodne z dobrymi praktykami programowania które kładą nacisk na klarowność kodu i jego elastyczność Dzięki temu programiści mogą tworzyć bardziej złożone systemy które reagują na różne scenariusze i dostosowują swoje działanie do dynamicznie zmieniających się warunków co jest kluczowe w projektowaniu skalowalnych i efektywnych rozwiązań

Pytanie 22

W CSS zapisano stylizację

css
p > i {color: blue}
oznacza to, że kolorem niebieskim zostanie wyświetlony
A. pochylony tekst akapitu
B. pogrubiony tekst akapitu
C. wszystkie teksty nagłówków, niezależnie od formatowania
D. cały tekst akapitu, niezależnie od jego stylizacji
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 23

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. ALTER TABLE
B. GRANT
C. UPDATE
D. INSERT INTO
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 24

Aby w jezyku CSS ustawic czerwony kolor dla tekstu, mozna uzyc stylu:

A.
color: rgb(255,0,0);
B.
text-color: rgb(255,0,0);
C.
color: rgb(#FF0000);
D.
text-color: rgb(#FF0000);
Kolor tekstu w CSS ustawia wlasciwosc color, a nie zadna inna nazwa - to ona odpowiada za barwe znakow elementu. Wartosc mozna podac na kilka sposobow, a jednym z nich jest funkcja rgb(), ktora przyjmuje trzy skladowe: czerwona, zielona i niebieska, kazda w zakresie od 0 do 255. Zapis rgb(255,0,0) oznacza pelne nasycenie czerwieni przy zerowej zieleni i zerowym blekicie, czyli czysty czerwony. Dlatego deklaracja color: rgb(255,0,0); jest jedyna poprawna sposrod podanych - laczy wlasciwa wlasciwosc z prawidlowo zapisana funkcja rgb().

Pytanie 25

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

A. PHP
B. JavaScript
C. Ruby on Rails
D. CSS
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 26

Język HTML posiada nagłówki, które służą do tworzenia hierarchii treści. Nagłówki te występują tylko w zakresie

A. h1 – h4
B. h1 – h10
C. h1 – h6
D. h1 – h8
Odpowiedź h1 – h6 jest poprawna, ponieważ język HTML udostępnia sześć poziomów nagłówków, od h1 do h6, które służą do tworzenia hierarchii treści na stronie internetowej. Nagłówek h1 jest najważniejszy i powinien być używany do oznaczenia głównego tytułu strony, podczas gdy h2, h3, h4, h5 i h6 wskazują na kolejne poziomy nagłówków, które pomagają w organizacji treści. Przykładowo, nagłówek h2 może być używany do sekcji, natomiast h3 może oznaczać podsekcje w ramach danej sekcji. Używanie nagłówków w ten sposób nie tylko poprawia czytelność i zrozumienie treści przez użytkowników, ale także pozytywnie wpływa na SEO (optymalizację dla wyszukiwarek). Warto pamiętać, że zgodnie z najlepszymi praktykami, powinno się unikać pomijania poziomów nagłówków, co zapewnia logiczną strukturę treści i ułatwia indeksację przez roboty wyszukiwarek.

Pytanie 27

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. C.
B. B.
C. D.
D. A.
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 28

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript?

javascript
document.write(Math.round(4.51) + Math.pow(2, 3));
A. 14
B. 11
C. 13
D. 12
Zobaczmy, jak doszliśmy do poprawnej odpowiedzi 13. W kodzie JavaScript mamy fragment: <script type='text/javascript'> document.write(Math.round(4.51) + Math.pow(2, 3)); </script>. Co tu się dzieje? Dwie główne operacje to zaokrąglanie i potęgowanie. Funkcja Math.round(4.51) zaokrągla do najbliższej liczby i zwraca 5. Potem mamy Math.pow(2, 3), które daje wynik 8, bo 2 do potęgi 3 to 2 * 2 * 2. Jak to zsumujemy, to mamy 5 + 8, co daje 13. Warto wiedzieć, że Math.round i Math.pow są częścią obiektu Math w JavaScript, który ma różne przydatne funkcje. Na przykład, Math.sqrt() oblicza pierwiastek kwadratowy, a Math.random() daje losowe liczby. To są naprawdę przydatne rzeczy w aplikacjach webowych, gdzie często potrzebujemy obliczeń z danymi liczbowymi. Standard ECMA-262 opisuje, jak te funkcje mają działać, więc możemy być pewni, że będą działać tak samo w różnych środowiskach JavaScript.

Pytanie 29

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
$z=mysqli_query($db,"SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a=mysqli_fetch_row($z);
echo "$a[1], $a[2]";

A. ulicy oraz miasta z pierwszego zwróconego wpisu
B. miasta i kodu pocztowego ze wszystkich zwróconych wpisów
C. ulicy oraz miasta ze wszystkich zwróconych wpisów
D. miasta i kodu pocztowego z pierwszego zwróconego wpisu
Pierwsza z niepoprawnych odpowiedzi sugeruje, że kod wypisuje ulicę i miasto z pierwszego zwróconego rekordu. Choć kod rzeczywiście korzysta z indeksów, to jednak nie wypisuje ulicy, lecz miasto i kod pocztowy. Kolejna odpowiedź sugeruje, że kod wyświetla ulicę i miasto ze wszystkich zwróconych rekordów. W rzeczywistości, kod jest skonstruowany w taki sposób, że ogranicza się do jednego wiersza danych, przez co nie ma możliwości wypisania informacji o wszystkich rekordach. Ostatnia z odpowiedzi stwierdza, że kod wypisuje miasto i kod pocztowy ze wszystkich zwróconych rekordów, co również jest błędne, ponieważ kod jedynie prezentuje dane pierwszego rekordu. Takie zrozumienie kodu może prowadzić do błędnych wniosków i nieprawidłowego użycia funkcji w praktyce tworzenia aplikacji webowych, dlatego kluczowe jest dokładne zapoznanie się z dokumentacją PHP oraz zasadami działania baz danych.

Pytanie 30

Kiedy zachowana jest integralność ENCJI w bazie danych?

A. gdy każda tabela ma utworzony klucz główny
B. gdy klucz główny jest zawsze liczbą całkowitą
C. gdy każdy klucz główny ma odpowiadający klucz obcy w innej tabeli
D. gdy każda kolumna ma przypisany typ danych
Pozostałe warunki nie dotyczą integralności encji. Klucz główny nie musi być liczbą całkowitą (może być np. tekstem). Przypisanie typu kolumnom to osobna kwestia. Powiązanie z kluczem obcym w innej tabeli to integralność REFERENCYJNA, nie encji. Integralność encji zapewnia klucz główny w każdej tabeli.

Pytanie 31

Do czego można wykorzystać program FileZilla?

A. do weryfikacji strony internetowej
B. do interpretacji kodu PHP
C. do testowania prędkości ładowania strony
D. do publikowania strony internetowej
FileZilla to dosyć popularny program, który służy do przesyłania plików za pomocą FTP. W dużym skrócie, jest to narzędzie, które umożliwia publikację stron internetowych. Dzięki niemu można łatwo wrzucać różne pliki, takie jak HTML, CSS czy JavaScript, na serwer. Jego obsługa jest naprawdę prosta – można tworzyć foldery, przenosić, kopiować czy usuwać pliki, co jest bardzo ważne, kiedy zarządza się stroną. Na przykład, jeżeli projektujesz stronę na swoim komputerze i chcesz, żeby była dostępna w Internecie, wystarczy, że skonfigurujesz połączenie FTP w FileZilla, wpiszesz dane logowania do serwera i przeciągniesz pliki do odpowiedniego folderu. Używanie FTP do publikacji to standard w branży, bo jest to bezpieczny i skuteczny sposób na zarządzanie swoimi stronami.

Pytanie 32

Ograniczanie dostępu do niektórych pól lub metod obiektów danej klasy, tak aby mogły być one wykorzystywane wyłącznie przez wewnętrzne metody tej klasy lub funkcje zaprzyjaźnione, to

A. dziedziczenie
B. polimorfizm
C. konkatenacja
D. hermetyzacja
Dziedziczenie to mechanizm, który pozwala na tworzenie nowych klas na podstawie już istniejących, co umożliwia ponowne wykorzystanie kodu i wprowadzanie hierarchii w projektach, jednak nie ma nic wspólnego z ukrywaniem pól i metod. W dziedziczeniu, klasy pochodne dziedziczą właściwości i metody klas bazowych, co sprawia, że możliwe jest ich wykorzystanie, a nie ukrycie. Kolejną koncepcją jest konkatenacja, która w kontekście programowania nie odnosi się do hermetyzacji, lecz do łączenia ciągów tekstowych, co nie ma zastosowania przy ukrywaniu danych w klasach. Polimorfizm natomiast to zdolność obiektów do przyjmowania wielu form, co jest związane z interfejsami i dziedziczeniem, ale również nie dotyczy hermetyzacji. Typowym błędem myślowym jest mylenie tych pojęć z hermetyzacją, ponieważ wszystkie one są fundamentami programowania obiektowego, lecz służą różnym celom. Zrozumienie tego rozróżnienia jest istotne dla prawidłowego stosowania technik programistycznych i wdrażania efektywnych rozwiązań w praktyce.

Pytanie 33

Atrybut NOT NULL kolumny jest konieczny w przypadku:

A. klucza podstawowego
B. użycia atrybutu DEFAULT
C. wszystkich pól typu numerycznego
D. definicji wszystkich pól tabeli
Klucz podstawowy (primary key) jednoznacznie identyfikuje każdy wiersz, dlatego nie może być pusty - stąd jego kolumny muszą mieć atrybut NOT NULL (w wielu systemach jest on dla klucza wymuszany automatycznie). Inne kolumny mogą dopuszczać brak wartości (NULL), zależnie od projektu. Dlatego NOT NULL jest konieczny w przypadku klucza podstawowego.

Pytanie 34

Które z pól edycyjnych zostało wystylizowane według poniższego wzoru, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

input {
    padding: 10px;
    background-color: Teal;
    color: white;
    border: none;
    border-radius: 7px;
}
Ilustracja do pytania
A. Pole 4
B. Pole 2
C. Pole 3
D. Pole 1
Pole 2 zostało sformatowane zgodnie z podanym stylem CSS Ponieważ właściwość padding została ustawiona na 10px pole tekstowe ma wewnętrzny odstęp wokół zawartości co sprawia że tekst nie dotyka bezpośrednio krawędzi pola Kolor tła ustawiony na Teal odróżnia to pole od innych które mogą mieć domyślne kolory tła Biały kolor tekstu zapewniony przez właściwość color sprawia że tekst jest czytelny na ciemnym tle Brak obramowania dzięki border none powoduje że pole nie ma widocznej linii wokół siebie co nadaje mu czysty wygląd Zaokrąglenie krawędzi ustawione na 7px border-radius daje bardziej nowoczesny wygląd a także ułatwia integrację z różnymi projektami interfejsu użytkownika Takie podejście do stylizacji elementów formularzy jest zgodne z nowoczesnymi trendami projektowania stron internetowych gdzie używane są łagodne zaokrąglenia oraz odpowiednio dobrane kontrasty kolorystyczne W praktyce takie style są nie tylko estetyczne ale także poprawiają użyteczność interfejsu poprzez zwiększenie czytelności i intuicyjności obsługi formularzy Warto również zauważyć że zastosowanie CSS do formatowania elementów pozwala na zachowanie spójności wyglądu na różnych stronach oraz łatwą modyfikację w przyszłości

Pytanie 35

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?

A. strtoupper('ala ma psa');
B. strstr ('ala ma psa');
C. ucfirst ('ala ma psa');
D. strtolower('ala ma psa');
Funkcje strtolower, ucfirst oraz strstr nie są właściwe w kontekście przekształcania tekstu na wielkie litery. Funkcja strtolower('ala ma psa') konwertuje wszystkie litery w ciągu na małe litery. Gdyby ciąg już zawierał małe litery, użycie tej funkcji nie przyniosłoby pożądanych efektów. Przykładowo, jeśli przekazalibyśmy ciąg z już dużymi literami, wynikiem byłby ciąg z samymi małymi literami, co jest sprzeczne z zamierzonym celem. Funkcja ucfirst('ala ma psa') natomiast zmienia tylko pierwszą literę danego ciągu na wielką, pozostawiając resztę liter w oryginalnym stanie. Z tego powodu, po zastosowaniu tej funkcji wynik byłby 'Ala ma psa', co również nie odpowiada oczekiwanemu rezultatowi. Ostatnia funkcja, strstr, służy do wyszukiwania podciągów w danym ciągu. Jej zastosowanie w tym kontekście jest nieadekwatne, ponieważ nie dokonuje żadnej konwersji liter, a jedynie sprawdza, czy dany fragment tekstu występuje w ciągu. Dlatego, mimo że wszystkie funkcje mają swoje zastosowanie w PHP, żadna z nich nie spełnia wymaganego celu przekształcenia tekstu na wielkie litery w przypadku podanego przykładu.

Pytanie 36

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. MIN
B. SUM
C. AVG
D. COUNT
Funkcja AVG w języku SQL jest wbudowaną funkcją agregującą, która służy do obliczania średniej wartości we wskazanej kolumnie. Oblicza ona średnią arytmetyczną z wartości liczbowych w danej kolumnie, co jest niezwykle przydatne w analizie danych. Na przykład, jeśli mamy tabelę z wynikami sprzedaży, możemy użyć zapytania SQL: SELECT AVG(sprzedaż) FROM tabela_sprzedaży; aby uzyskać średnią sprzedaż. Dobrą praktyką jest stosowanie tej funkcji w połączeniu z klauzulą GROUP BY, co pozwala na obliczenie średnich wartości w różnych grupach danych, na przykład średnia sprzedaż według kategorii produktowej. Przy stosowaniu funkcji AVG warto pamiętać, że ignoruje ona wartości NULL, co wpływa na wynik obliczeń. W kontekście analizy danych w SQL, znajomość takich funkcji jak AVG jest kluczowa dla efektywnego przetwarzania i analizy informacji, co stanowi fundament dobrego zarządzania danymi.

Pytanie 37

Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?

A. DENY, GRANT, REVOKE
B. DELETE, INSERT, UPDATE
C. ALTER, CREATE, DROP
D. SELECT, SELECT INTO
Poprawna odpowiedź to DELETE, INSERT, UPDATE, które są podstawowymi poleceniami w języku SQL dla operacji manipulacji danymi (DML, Data Manipulation Language). Polecenie INSERT służy do dodawania nowych rekordów do tabeli, na przykład: 'INSERT INTO pracownicy (imie, nazwisko) VALUES ('Jan', 'Kowalski');'. DELETE umożliwia usunięcie istniejących danych, co można zrealizować poprzez 'DELETE FROM pracownicy WHERE nazwisko = 'Kowalski';', co kasuje rekordy spełniające określony warunek. Natomiast UPDATE pozwala na modyfikację danych w tabeli, na przykład: 'UPDATE pracownicy SET imie = 'Anna' WHERE nazwisko = 'Kowalski';'. Te instrukcje są zgodne z międzynarodowymi standardami SQL i są kluczowe w codziennym zarządzaniu bazami danych, umożliwiając efektywne manipulowanie danymi w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Microsoft SQL Server.

Pytanie 38

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

A. Krzywe.
B. Inwersja.
C. Barwienie.
D. Progowanie.
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 39

Która z zasad dotyczących poprawnego kodu HTML jest BŁĘDNA (nieprawdziwa)?

A. znaczniki zamyka się w odwrotnej kolejności niż otwierano
B. znaczniki (poza pustymi) działają do domknięcia, np. <p>...</p>
C. w nazwach znaczników nie rozróżnia się wielkości liter (<p> = <P>)
D. atrybuty trzeba podawać w kolejności ALFABETYCZNEJ
Pytanie szuka zasady BŁĘDNEJ. Atrybutów w znaczniku NIE trzeba podawać w kolejności alfabetycznej - ich kolejność jest dowolna i nie wpływa na poprawność kodu. Dlatego fałszywa jest zasada o kolejności alfabetycznej atrybutów.

Pytanie 40

Aby przy usunięciu rekordu nadrzędnego automatycznie usunęły się powiązane z nim rekordy podrzędne, w definicji klucza obcego dodaje się klauzulę:

A.
ON DELETE RESTRICT
B.
ON DELETE SET NULL
C.
ON DELETE CASCADE
D.
ON UPDATE CASCADE
Pozostałe klauzule reagują inaczej. ON DELETE SET NULL przy usunięciu rekordu nadrzędnego nie kasuje podrzędnych, lecz ustawia ich klucz obcy na NULL (powiązanie znika, rekordy zostają). ON DELETE RESTRICT działa wręcz odwrotnie - nie pozwala usunąć rekordu nadrzędnego, dopóki istnieją powiązane podrzędne. ON UPDATE CASCADE dotyczy ZMIANY wartości klucza, a nie usuwania. Automatyczne usunięcie rekordów podrzędnych wraz z nadrzędnym daje ON DELETE CASCADE, dlatego to ona jest poprawna.