Wyniki egzaminu

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

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jaką informację przekazuje przeglądarce internetowej zapis <!DOCTYPE html> ?

A. Dokument został zapisany w wersji HTML 5
B. Dokument został zapisany w wersji HTML 4
C. W dokumencie wszystkie tagi są zapisane wielkimi literami
D. W dokumencie wymagane jest zamknięcie każdego taga, nawet samozamykającego
Odpowiedź, że dokument został zapisany w języku HTML 5, jest prawidłowa, ponieważ zapis <DOCTYPE html> jest standardowym nagłówkiem deklarującym, że dokument jest napisany w najnowszej wersji HTML, czyli HTML 5. Taki zapis informuje przeglądarkę, że ma interpretować zawartość dokumentu zgodnie z zasadami i funkcjami określonymi w HTML 5. Wprowadzenie HTML 5 przyniosło wiele ulepszeń, takich jak nowe elementy semantyczne (np. <header>, <footer>, <article>), które ułatwiają tworzenie strukturalnie poprawnych i bardziej dostępnych stron internetowych. Dodatkowo, HTML 5 wprowadza wsparcie dla multimediów (np. <video>, <audio>) oraz API, które umożliwiają bardziej interaktywne podejście do tworzenia aplikacji webowych. Warto pamiętać, że stosowanie aktualnych standardów jest kluczowe dla zapewnienia kompatybilności z nowymi przeglądarkami oraz urządzeniami mobilnymi, a także dla zwiększenia wydajności i bezpieczeństwa aplikacji webowych.

Pytanie 2

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

A. span, strong, em
B. table, tr, td
C. br, img, hr
D. div, article, header
Wybierając inne grupy znaczników, można napotkać na istotne nieporozumienia dotyczące ich funkcji i zastosowania w tworzeniu struktury dokumentów. Znaczniki takie jak 'br', 'img' i 'hr' pełnią role bardziej semantyczne niż strukturalne. 'br' jest używany do wstawiania złamania linii, co nie wpływa na organizację treści, lecz jedynie na formatowanie. 'img' z kolei służy do wstawiania obrazów, a 'hr' zaznacza wizualne podziały pomiędzy sekcjami. Oznacza to, że te znaczniki nie przyczyniają się do efektywnego grupowania elementów. Alternatywna grupa 'table', 'tr', 'td' jest stricte związana z prezentowaniem danych w formie tabelarycznej, co również nie jest zgodne z celem organizacji treści na stronie. Tego typu podejście może prowadzić do niskiej dostępności treści, ponieważ nie uwzględnia hierarchii i semantyki, które są kluczowe w projektowaniu stron internetowych. Warto unikać takich błędów w myśleniu, które mogą skutkować nieczytelnymi i nieuporządkowanymi stronami, a także negatywnie wpływać na doświadczenie użytkowników, ponieważ nieczytelne lub źle zorganizowane dokumenty mogą zniechęcać odbiorców oraz obniżać wyniki wyszukiwania w Internecie.

Pytanie 3

Których funkcji użyć, aby po operacji na bazie uzyskać NUMER błędu oraz jego OPIS?

A.
mysqli_error
i
mysqli_connect_errno
B.
mysqli_error
i
mysqli_errno
C. tylko
mysqli_error
D.
mysqli_error
i
mysqli_error_number
Gdy zapytanie się nie powiedzie, warto poznać i numer błędu, i jego opis - to dwie różne funkcje pracujące w parze: mysqli_errno($polaczenie) zwraca liczbowy KOD błędu (np. 1064), a mysqli_error($polaczenie) jego tekstowy OPIS (np. „You have an error in your SQL syntax”). W praktyce loguje się oba: numer ułatwia automatyczne rozpoznanie problemu, a opis - szybką diagnozę przez człowieka. Zapamiętaj: „errno” = numer (number), „error” = opis.

Pytanie 4

Reprezentacja znacznika HTML w formacie

<a href="#hobby">przejdź</a>
A. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o URL "hobby"
B. jest błędny, użyto niewłaściwego znaku "#" w atrybucie href
C. jest błędny, w atrybucie href należy wpisać adres URL
D. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do sekcji o nazwie "hobby"
W odpowiedziach, które wskazują na błędy w zapisie znacznika HTML, pojawiają się nieporozumienia dotyczące funkcji atrybutu href w tagu <a>. Niepoprawne są twierdzenia sugerujące, że użycie znaku '#' w atrybucie href jest błędne. Wręcz przeciwnie, znak '#' jest standardowym sposobem definiowania odnośników do identyfikatorów na tej samej stronie. Zastosowanie atrybutu href w takiej formie jest powszechnie akceptowane i stosowane w praktyce web developerskiej. Kolejnym błędnym wnioskiem jest stwierdzenie, że w atrybucie href należy podać pełny adres URL. W rzeczywistości, gdy celem jest nawigacja do sekcji na tej samej stronie, wystarczy użyć symbolu '#' i odpowiedniego identyfikatora. Dodatkowo, pominięcie praktyki użycia href do nawigacji wewnętrznej prowadzi do mniejszych korzyści w zakresie użyteczności strony. Użytkownicy oczekują, że będą mogli łatwo przemieszczać się pomiędzy różnymi sekcjami długich treści, a niewłaściwe podejście do definiowania odnośników może prowadzić do frustracji i obniżenia jakości doświadczeń użytkowników. Warto zatem zrozumieć, że poprawne stosowanie takich odnośników jest kluczowe dla skutecznego projektowania stron internetowych.

Pytanie 5

W systemie PHP złożono zapytanie SELECT do bazy przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić liczbę rekordów, które zwróciło to zapytanie?

A. mysqli_fetch_row
B. mysqli_connect
C. mysqli_num_rows
D. mysqli_query
Wybór innych funkcji jako odpowiedzi na pytanie jest niezgodny z ich rzeczywistym przeznaczeniem w kontekście analizy wyników zapytań w PHP. Funkcje takie jak mysqli_fetch_row służą do pobierania pojedynczego wiersza z zestawu wyników i nie dostarczają informacji o łącznej liczbie rekordów. Użycie tej funkcji może prowadzić do błędnych wniosków, gdyż zamiast podać liczbę wyników, zwraca jedynie dane jednego wiersza. Innym przykładem jest mysqli_query, która jest odpowiedzialna za wykonanie zapytania, ale nie oferuje metody na określenie ilości zwróconych rekordów. Podobnie, mysqli_connect jest funkcją do nawiązywania połączenia z bazą danych, co jest zupełnie nieadekwatne w kontekście analizy wyników zapytań. Użytkownicy często mylą te funkcje, ponieważ wszystkie są częścią pakietu MySQLi, jednak każda z nich ma swoje specyficzne zastosowanie. Właściwe zrozumienie roli poszczególnych funkcji jest kluczowe dla efektywnej pracy z bazami danych w PHP. Ignorowanie tego może prowadzić do nieefektywnego kodu oraz problemów z wydajnością aplikacji. Dlatego ważne jest, aby przed przystąpieniem do pisania zapytań zrozumieć, jakie funkcje będą potrzebne i jakie dane chcemy uzyskać.

Pytanie 6

Jaki jest efekt działania programu w JavaScript?

var osoba = prompt("Podaj imię", "Adam");
A. pojawi się okno z pustym polem do edycji
B. uzyskanie z formularza wyświetlonego na stronie HTML imienia "Adam"
C. otwarcie okna z polem do edycji, w którym znajduje się domyślny tekst "Adam"
D. przypisanie do zmiennej osoba wartości "Adam"
Funkcja prompt w JavaScript jest używana do wyświetlania okna dialogowego z polem edycyjnym pozwalającym użytkownikowi na wprowadzenie danych. W tym przypadku funkcja prompt przyjmuje dwa argumenty: pierwszy to komunikat wyświetlany użytkownikowi, a drugi to domyślna wartość w polu tekstowym. Kod var osoba = prompt('Podaj imię' 'Adam') otwiera okno dialogowe z tekstem Podaj imię i domyślnie wpisanym w polu tekstowym imieniem Adam. Domyślna wartość jest przydatna w sytuacjach gdzie chcemy zasugerować użytkownikowi pewne dane które mogą być dla niego odpowiednie lub często używane. Jest to wygodne rozwiązanie w aplikacjach internetowych pozwalające na szybkie i intuicyjne wprowadzanie danych przez użytkownika. Zastosowanie prompt jest przykładem interakcji między użytkownikiem a stroną internetową co jest kluczowym elementem dynamicznych aplikacji webowych. Ważne jest jednak by pamiętać że funkcja prompt może być blokowana w niektórych przeglądarkach dlatego jej użycie powinno być dobrze przemyślane i ewentualnie zastąpione bardziej nowoczesnymi rozwiązaniami takimi jak formularze HTML z odpowiednimi atrybutami i stylizacjami.

Pytanie 7

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba >= -200) && (liczba < -100)
B. (liczba <= -200) || (liczba > -100)
C. (liczba >= -200) || (liczba > -100)
D. (liczba <= -200) && (liczba < -100)
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 8

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba > 100 && liczba <= 200)
B. if (liczba > 100 || liczba <= 200)
C. if (liczba < 100 || liczba >= 200)
D. if (liczba < 100 && liczba <= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 9

Który element relacyjnej bazy danych (kod w języku SQL) można WYWOŁAĆ wewnątrz zapytania, tak że zwróci wartość lub dane widoczne jak tabela?

A. reguła
B. wyzwalacz
C. funkcja zdefiniowana przez użytkownika
D. procedura składowana
Funkcja zdefiniowana przez użytkownika (UDF) to kod SQL, który można WYWOŁAĆ wewnątrz zapytania - zwraca wartość albo zbiór danych widoczny jak tabela. Dlatego tym elementem jest funkcja zdefiniowana przez użytkownika.

Pytanie 10

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w pierwsze pole użytkownik przeglądarki wpisał wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 4.
B. Efekt 3.
C. Efekt 2.
D. Efekt 1.
Odpowiedź, którą wybrałeś, nie jest poprawna, i wynika to z małego nieporozumienia dotyczącego formularzy HTML. Główna sprawa to to, że wszystko, co wpisujesz w polach formularza, jest pokazywane dopiero po jego przesłaniu. W tym przypadku, jeśli wprowadzisz 'Przykładowy text' w pole tekstowe, to będzie to widoczne, ale checkboxy będą niezaznaczone. Błędne odpowiedzi często pochodzą z mylenia działania checkboxów. Pamiętaj, że te dwa checkboxy są zawsze niezaznaczone, niezależnie od tego, co wprowadziłeś w pole tekstowe. I to, że wartość z pola tekstowego nie wpływa na checkboxy, można uznać za istotne zrozumienie działania formularzy HTML. Także warto zwrócić na to uwagę w przyszłości.

Pytanie 11

Której metody JS użyć, aby WYODRĘBNIĆ fragment napisu między podanymi indeksami?

A.
replace()
B.
slice()
C.
trim()
D.
concat()
Do wyodrębnienia fragmentu napisu między podanymi indeksami służy w JavaScripcie metoda slice(), np. "komputer".slice(0, 3) zwróci „kom”. Podaje się indeks początkowy i (opcjonalnie) końcowy, a metoda nie zmienia oryginału, tylko zwraca wycinek. Dlatego fragment napisu wyodrębnia slice().

Pytanie 12

Jak dołączyć do strony skrypt z pliku przyklad.js?

A.
<script link="przyklad.js"></script>
B.
<script src="/przyklad.js"></script>
C.
<script>przyklad.js</script>
D.
<link rel="script" href="/przyklad.js">
Pozostałe wersje nie zadziałają. <script>przyklad.js</script> potraktuje „przyklad.js” jako KOD do wykonania, a nie ścieżkę do pliku. link="przyklad.js" używa atrybutu, którego <script> nie zna, a <link rel="script"> służy do zasobów typu arkusze CSS, nie skryptów. Plik JS dołącza <script src="/przyklad.js"></script>.

Pytanie 13

Jak nazywa się technika sortowania, która polega na podziale zbioru na n przedziałów o równej długości, gdzie przeprowadza się sortowanie, a następnie analizuje i prezentuje posortowane elementy z tych przedziałów?

A. Sortowanie kubełkowe
B. Sortowanie bąbelkowe
C. Sortowanie przez wybór
D. Sortowanie szybkie
Sortowanie szybkie (ang. quicksort) jest algorytmem typu „dziel i zwyciężaj”, który działa poprzez wybór tzw. pivota i podział danych na mniejsze podzbiory, które są sortowane rekurencyjnie. Choć jest to jedna z najszybszych metod sortowania w praktyce, nie polega na podziale na kubełki, co czyni ją nieodpowiednią odpowiedzią na postawione pytanie. Sortowanie bąbelkowe (ang. bubble sort) natomiast, to algorytm, który porównuje sąsiadujące ze sobą elementy i wymienia je, jeśli są w złej kolejności. Jest to metoda mało efektywna, szczególnie dla dużych zbiorów danych, i nie ma zastosowania w kontekście podziału na przedziały. Z kolei sortowanie przez wybór (ang. selection sort) działa poprzez znajdowanie minimalnego (lub maksymalnego) elementu w zbiorze i przenoszenie go na początek, co również nie związane jest z koncepcją kubełków. Typowym błędem myślowym jest mylenie różnych metod sortowania, co często wynika z nieznajomości ich specyfiki i zasad działania. Różne algorytmy mają swoje unikalne cechy i zastosowania, a ich wybór powinien być oparty na charakterystyce danych oraz wymagań dotyczących wydajności, co jest kluczowe w praktycznych zastosowaniach informatycznych.

Pytanie 14

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 5
B. 15
C. 7
D. 3
Zrozumienie działania tego algorytmu jest kluczowe dla programowania i matematyki obliczeniowej. Algorytm ten wykorzystuje pętlę 'dopóki', która wykonuje operacje na dwóch zmiennych: Z i N. Na początku Z jest równe 0, a N jest równe 1. Pętla trwa dopóki Z jest mniejsze od 3. W każdej iteracji pętli zmienna N jest aktualizowana zgodnie z wyrażeniem N = N * 2 + 1 oraz Z jest zwiększane o 1. Przy pierwszej iteracji Z wynosi 0, więc N staje się 1 * 2 + 1 = 3, a Z zostaje zwiększone do 1. W drugiej iteracji Z wynosi 1, więc N staje się 3 * 2 + 1 = 7, a Z wynosi 2. W trzeciej iteracji Z wynosi 2, dlatego N staje się 7 * 2 + 1 = 15, a Z zostaje zwiększone do 3, co kończy pętlę. W rezultacie, gdy algorytm kończy działanie, zmienna N ma wartość 15, która zostaje wypisana. To podejście jest zgodne z dobrymi praktykami w pisaniu algorytmów, gdzie dbałość o zrozumienie pętli i operacji na zmiennych jest fundamentalna dla tworzenia wydajnych programów.

Pytanie 15

Prawa CREATE, ALTER, DROP nadane w GRANT dotyczą:

A. przyznawania uprawnień innym
B. pobierania danych z bazy
C. pracy ze STRUKTURĄ bazy
D. pracy z danymi
Polecenia CREATE, ALTER i DROP należą do języka DEFINICJI danych (DDL) - tworzą, zmieniają i usuwają OBIEKTY bazy (tabele, widoki). Nadanie tych praw w GRANT pozwala więc ingerować w STRUKTURĘ bazy, a nie w same dane. Zapamiętaj: CREATE/ALTER/DROP kształtują „szkielet” bazy.

Pytanie 16

Jakie jest odstępstwo pomiędzy poleceniem DROP TABLE a TRUNCATE TABLE?

A. DROP TABLE usuwa tabelę, a TRUNCATE TABLE eliminuje wszystkie dane, zostawiając pustą tabelę
B. Obydwa polecenia usuwają tylko zawartość tabeli, ale tylko DROP TABLE może być przywrócone
C. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE można cofnąć
D. DROP TABLE usuwa tabelę, natomiast TRUNCATE TABLE modyfikuje dane w niej spełniające określony warunek
Odpowiedź jest prawidłowa, ponieważ polecenie DROP TABLE całkowicie usuwa tabelę z bazy danych, łącznie z jej strukturą i danymi. Nie można jej później przywrócić, co oznacza, że wszelkie dane w niej zawarte zostaną na stałe utracone. Z kolei TRUNCATE TABLE jest poleceniem, które usuwa jedynie dane wewnątrz tabeli, ale sama tabela i jej struktura pozostają nienaruszone. Po wykonaniu TRUNCATE TABLE tabela staje się pusta, a jej definicja oraz wszystkie indeksy pozostają w bazie danych. Przykładowo, jeśli mamy tabelę 'Klienci' z danymi klientów, wykonanie TRUNCATE TABLE Klienci spowoduje, że tabela pozostanie, ale wszystkie rekordy zostaną usunięte. Wywołanie tych poleceń ma różne zastosowanie w praktyce; DROP TABLE można wykorzystać, gdy nie potrzebujemy tabeli, natomiast TRUNCATE TABLE jest przydatne, gdy chcemy szybko usunąć wszystkie dane z tabeli, zachowując jej strukturę dla przyszłych operacji.

Pytanie 17

Aby wprowadzić rekord do tabeli Pracownicy, jakie polecenie SQL należy zastosować?

A. INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);
B. INSERT VALUES (Jan, Kowalski) INTO Pracownicy;
C. INSERT VALUES Pracownicy INTO (Jan, Kowalski);
D. INSERT (Jan, Kowalski) INTO Pracownicy;
Odpowiedź 'INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);' jest poprawna, ponieważ jest zgodna z ogólną składnią polecenia SQL do dodawania danych do tabeli. W składni tej najpierw wskazujemy, do której tabeli chcemy wprowadzić dane, używając frazy 'INSERT INTO', a następnie w nawiasach podajemy nazwy kolumn, do których mają być wprowadzone wartości. Wartości te umieszczamy po słowie kluczowym 'VALUES', również w nawiasach. Takie podejście jest zgodne z normami SQL i zapewnia, że dane będą poprawnie wstawione. Przykładem praktycznym może być dodanie nowego pracownika do bazy danych firmy, co jest kluczowym elementem zarządzania informacjami o pracownikach. Prawidłowa składnia pozwala również na łatwe wprowadzenie wielu rekordów jednocześnie, co jest efektywne w dużych systemach baz danych. Ponadto, użycie poprawnej składni ułatwia przyszłe modyfikacje oraz optymalizację zapytań, co jest istotne w kontekście dobrą praktyką w programowaniu baz danych.

Pytanie 18

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

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

W języku JavaScript zapisano poniższy fragment kodu:

var x=10;
x++;
console.log(x);
Po uruchomieniu skryptu zmienna x
A. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
B. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
C. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
D. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
W analizowanym fragmencie kodu JavaScript mamy do czynienia z prostą operacją inkrementacji zmiennej x, która początkowo wynosi 10. Operator ++ zwiększa wartość zmiennej o 1, co skutkuje wartością 11. Wartością, która zostanie wyświetlona, jest wartość zmiennej x, która po inkrementacji wynosi 11. Jednak ważnym aspektem jest to, że w kodzie jest błąd składniowy w wywołaniu funkcji console.log. Poprawna składnia powinna wyglądać tak: console.log(x); zamiast console.logx);. W obecnej formie kodu, mimo inkrementacji zmiennej x do wartości 11, pojawi się błąd wykonania, a wartość nie zostanie wypisana. Gdyby błąd został naprawiony, wynik 11 zostałby wyświetlony w konsoli przeglądarki, co jest standardowym miejscem do monitorowania wyjścia w aplikacjach JavaScript. To zachowanie jest zgodne ze specyfikacjami ECMAScript, które definiują zasady działania operatorów oraz metod konsoli.

Pytanie 20

Polecenie DBCC CHECKDB ('sklepAGD', Repair_fast) w systemie MS SQL Server

A. sprawdzi spójność konkretnej tabeli i naprawi uszkodzone dane
B. zweryfikuje spójność danej tabeli
C. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
D. przeprowadzi kontrolę spójności bazy danych i wykona kopię zapasową
Odpowiedzi, które stwierdzają, że polecenie DBCC CHECKDB sprawdza spójność określonej tabeli, są wynikiem nieporozumienia dotyczącego funkcji tego narzędzia. DBCC CHECKDB działa na poziomie bazy danych, a nie pojedynczych tabel, co oznacza, że jego celem jest ocena integralności całej struktury bazy danych. Przykładowo, niektóre użytkownicy mogą mylić CHECKDB z poleceniem CHECKTABLE, które rzeczywiście sprawdza spójność pojedynczych tabel. Inna błędna koncepcja występuje w odpowiedziach sugerujących, że polecenie wykonuje kopię bezpieczeństwa – w rzeczywistości DBCC CHECKDB nie tworzy kopii zapasowych, a jego celem jest identyfikacja problemów, a nie ich rozwiązanie poprzez archiwizację danych. Warto także zaznaczyć, że chociaż DBCC CHECKDB może naprawić uszkodzone indeksy, nie jest to jego jedyny zakres działania, co czyni błędnym ograniczenie jego funkcjonalności tylko do tego aspektu. Typowe błędy myślowe obejmują także nieznajomość roli, jaką odgrywają indeksy w bazach danych oraz ich wpływu na wydajność. Właściwe zrozumienie działania DBCC CHECKDB i jego opcji naprawczych jest kluczowe dla skutecznego zarządzania bazą danych i zapewnienia jej stabilności.

Pytanie 21

Na ilustracji przedstawiono strukturę bloków na stronie internetowej. Który z poniższych fragmentów CSS odpowiada takim ustawieniom? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy {float:left; width:30%; } #drugi {clear:both; width:70%; } #trzeci {float:left; width:70%; } #czwarty {clear:both; }
B. #pierwszy{float:left; width:30%;} #drugi {clear:both; width:70%;} #trzeci {clear:both; width:70%;} #czwarty {float:left; width:100%;}
C. #pierwszy {float:left; width:30%;} #drugi {float:left; width:70%;} #trzeci {float:left; width:70%;} #czwarty {clear:both; }
D. #pierwszy { width: 30%; } #drugi { width: 70%; } #trzeci { width: 70%; } #czwarty { width: 100%; }
Odpowiedź pierwsza jest prawidłowa, gdyż prawidłowo wykorzystuje właściwość float w stylach CSS, aby uzyskać pożądany układ bloków na stronie internetowej. Float pozwala elementom przemieszczać się na lewą lub prawą stronę kontenera, co jest kluczowe w tworzeniu layoutów. W tym przypadku #pierwszy, #drugi i #trzeci mają ustawione float:left, co umożliwia ich równoległe ustawienie w poziomie aż do momentu, gdy szerokości kontenera są zapełnione. Następnie blok #czwarty wymaga clear:both, aby przemieszczać się poniżej wszystkich poprzednich elementów z ustawionym float. To powszechna technika stosowana w projektowaniu responsywnych układów stron, gdzie równoległe pozycjonowanie elementów pozwala na efektywne wykorzystanie przestrzeni. Float w połączeniu z odpowiednimi szerokościami procentowymi pomaga tworzyć elastyczne projekty, które dobrze skalują się na różnych urządzeniach, co jest zgodne z nowoczesnymi standardami web developmentu. Ponadto zrozumienie działania float i clear jest fundamentem przy tworzeniu klasycznych layoutów typu grid przed wprowadzeniem nowoczesnych rozwiązań takich jak Flexbox czy CSS Grid, co pokazuje zrozumienie podstawowych zasad CSS.

Pytanie 22

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

A. do ponumerowania rekordów w bazie
B. do zwrócenia kolejnego rekordu wyniku
C. do zwrócenia LICZBY wierszy w wyniku zapytania
D. do zwrócenia rekordu o numerze z parametru
Pozostałe opisy mylą tę funkcję z innymi etapami pracy z wynikiem. Pobranie KOLEJNEGO rekordu to zadanie mysqli_fetch_assoc() lub mysqli_fetch_row(), a nie mysqli_num_rows(). Funkcja nie „numeruje rekordów w bazie” ani nie pobiera „rekordu o numerze z parametru” - nie przyjmuje numeru wiersza, tylko cały wynik. Zwraca wyłącznie LICZBĘ wierszy w wyniku zapytania.

Pytanie 23

W kodzie HTML przypisano pewne znaczniki do klasy o nazwie "nomargin". Jak można przeprowadzić operacje na tych znacznikach w języku JavaScript, korzystając z odpowiedniej funkcji?

A. getElementsByClassName("nomargin")
B. getElementById("nomargin")
C. getElementsByTagName("nomargin")
D. getElement("nomargin")
Wybór odpowiedzi 'getElementsByClassName("nomargin")' jest właściwy, ponieważ ta funkcja umożliwia selekcję wszystkich elementów HTML, które mają przypisaną daną klasę. W tym przypadku klasa to 'nomargin'. Funkcja ta zwraca kolekcję elementów, co jest bardzo przydatne w manipulacji DOM, gdyż pozwala na wykonywanie operacji na wielu elementach jednocześnie. Przykładowo, jeśli chcemy usunąć marginesy z wszystkich elementów, które mają tę klasę, możemy wykorzystać zwróconą kolekcję do iteracji i zastosować odpowiednie style CSS. Kod mógłby wyglądać tak: var elements = document.getElementsByClassName('nomargin'); for (var i = 0; i < elements.length; i++) { elements[i].style.margin = '0'; }. Standardy JavaScript oraz DOM odnoszą się do używania tej funkcji jako efektywnej metody nawiązywania interakcji z elementami na stronie. Warto także pamiętać, że getElementsByClassName zwraca „żywą” kolekcję, co oznacza, że zmiany w DOM będą natychmiast widoczne w tej kolekcji.

Pytanie 24

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez jedną godzinę.
B. wygaśnie po jednej godzinie od jego utworzenia.
C. będzie przechowywany na serwerze przez jedną dobę.
D. wygaśnie po jednej dobie od jego utworzenia.
Kod z funkcją setcookie() w PHP bardzo często myli się z mechanizmami przechowywania danych po stronie serwera, dlatego łatwo tu o błędne skojarzenia. W tym przykładzie kluczowe są dwie rzeczy: po pierwsze, gdzie fizycznie przechowywane jest cookie, a po drugie, w jakiej jednostce podajemy czas. Ciasteczka HTTP są zawsze przechowywane po stronie klienta, czyli w przeglądarce użytkownika, w jej lokalnym magazynie. Serwer jedynie informuje przeglądarkę, jaki ma być czas życia takiego wpisu, wysyłając odpowiedni nagłówek Set-Cookie z datą wygaśnięcia. Stąd pomysł, że cookie „będzie przechowywane na serwerze” jest po prostu nietrafiony – serwer nie ma osobnego magazynu na ciasteczka użytkowników, on tylko je odczytuje z nagłówków przychodzących żądań i ewentualnie ustawia nowe. Druga częsta pomyłka dotyczy samego czasu. Funkcja time() zwraca aktualny timestamp w sekundach od 1.01.1970, a w wyrażeniu 3600 * 24 wyliczana jest liczba sekund w jednej dobie. Jeśli ktoś pobieżnie spojrzy na zapis, może skojarzyć 3600 z godziną i założyć, że cookie jest ważne tylko godzinę, ignorując mnożenie przez 24. To typowy błąd „czytania po łebkach” kodu. Tymczasem przeglądarka dostaje konkretny moment w przyszłości, przesunięty o 86400 sekund, i do tej chwili będzie wysyłać cookie przy każdym żądaniu do odpowiedniej domeny i ścieżki. Warto też pamiętać, że samo istnienie cookie nie oznacza trwałego przechowywania danych po stronie serwera. Dane z ciasteczka trafiają na serwer dopiero, gdy przeglądarka wyśle je w nagłówku HTTP. Dlatego planując logikę aplikacji, trzeba jasno rozróżniać dane sesyjne na serwerze (np. w $_SESSION) od danych w cookie, które użytkownik może modyfikować po swojej stronie i które wygasają dokładnie według tego timestampu, jaki podamy w setcookie().

Pytanie 25

Jeżeli założymy, że zmienne: a, b, c mają wartości liczbowe, wynikiem spełnienia warunku będzie wyświetlenie liczby

if ($a > $b && $a > $c)
echo $a;
else if ($b > $c)
echo $b;
else
echo $c;
A. najmniejszej
B. parzystej
C. największej
D. nieparzystej
Prawidłowa odpowiedź, czyli największa liczba jest wynikiem analizy warunku, który sprawdza wartość zmiennych a, b i c. Wykorzystujemy tutaj strukturę warunkową if-else, co jest standardową techniką w wielu językach programowania, takich jak PHP czy JavaScript. Przy pierwszej linijce kodu if ($a > $b && $a > $c) echo $a sprawdzamy, czy a jest większe od b i jednocześnie większe od c. Jeśli warunek jest spełniony, wypisujemy wartość a, co oznacza, że a jest największa. Jest to zgodne z dobrą praktyką algorytmiczną, gdzie przy porównywaniu trzech wartości dokładne warunki logiczne pomagają w ustaleniu największej z nich. Struktura ta jest wydajna i łatwa do zrozumienia. Praktycznym zastosowaniem może być np. system oceniania, gdzie na podstawie kilku wyników wybieramy ten najwyższy do dalszej analizy. Prawidłowe rozpoznawanie i implementowanie takich warunków jest kluczowe w codziennej pracy programisty, który musi regularnie wybierać największe wartości do różnych zastosowań biznesowych.

Pytanie 26

W dokumencie HTML utworzono formularz wysyłający dane do skryptu formularz.php. Po naciśnięciu przycisku typu submit, przeglądarka przekierowuje nas do określonego adresu. Na podstawie podanego linku można wywnioskować, że dane do pliku formularz.php przesłano metodą

.../formularz.php?imie=Anna&nazwisko=Kowalska
A. GET
B. POST
C. COOKIE
D. SESSION
W kontekście przesyłania danych z formularza do pliku PHP metoda COOKIE nie jest bezpośrednio związana z formularzami HTML. Cookies to małe pliki przechowywane w przeglądarce użytkownika, służące do śledzenia sesji lub przechowywania danych użytkownika. Nie są one używane do bezpośredniego przesyłania danych formularza. Metoda POST, używana w formularzach HTML, wysyła dane jako treść żądania HTTP, co nie jest widoczne w adresie URL. POST jest preferowaną metodą dla przesyłania dużych ilości danych lub danych poufnych, ponieważ nie ogranicza ich ilości i lepiej zabezpiecza przed przypadkowym ujawnieniem. Metoda SESSION odnosi się do mechanizmu przechowywania danych o stanie użytkownika po stronie serwera, który umożliwia śledzenie sesji użytkownika między różnymi żądaniami HTTP. Dane sesji nie są bezpośrednio przesyłane przez formularze HTML, ale mogą być używane do przechowywania informacji po przesłaniu formularza. Często dochodzi do nieporozumień dotyczących tych metod, ponieważ każda z nich pełni inną funkcję w kontekście zarządzania danymi użytkownika w aplikacjach webowych. Kluczowym błędem jest założenie, że wszystkie wymienione metody mogą być używane wymiennie z formularzami HTML, co prowadzi do niepoprawnych wniosków w kontekście tego pytania.

Pytanie 27

Która metoda wypisze w języku JavaScript komunikat w konsoli przeglądarki?

A.
console.print("test");
B.
console.log("test");
C.
console.echo("test");
D.
console.write("test");
Do wypisywania komunikatów w konsoli przeglądarki w JavaScript służy metoda console.log(), np. console.log("test");. Konsolę otwiera się w narzędziach deweloperskich (klawisz F12). To podstawowe narzędzie diagnostyczne - pozwala podejrzeć wartości zmiennych i przebieg działania skryptu. Obiekt console ma też metody pokrewne, np. console.error() czy console.warn(). Dlatego poprawna jest console.log("test");.

Pytanie 28

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. debugowania strony internetowej
B. walidacji kodu HTML i XHTML
C. sprawdzania zgodności witryny ze standardem HTML5
D. walidacji stylów CSS
Narzędzie przedstawione na ilustracji to usługa walidacji CSS stworzona przez World Wide Web Consortium (W3C). Jego głównym celem jest sprawdzanie poprawności arkuszy stylów CSS pod kątem zgodności z obowiązującymi standardami. Walidacja CSS pozwala na identyfikację błędów składniowych oraz niepoprawnych wartości, co jest kluczowe dla zapewnienia spójności wyglądu strony w różnych przeglądarkach. Korzystanie z walidatora CSS jest częścią dobrych praktyk w procesie tworzenia stron internetowych, ponieważ poprawny kod CSS zwiększa dostępność i użyteczność serwisów. Praktycznym przykładem użycia tego narzędzia jest proces optymalizacji strony internetowej, gdzie walidator pomaga w eliminacji błędów, które mogą prowadzić do nieprzewidywalnego zachowania witryny. Dzięki walidacji możemy również upewnić się, że nasze arkusze stylów są zgodne z najnowszymi standardami, co jest istotne dla przyszłej kompatybilności serwisu.

Pytanie 29

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości dla bloków: 1, 2,
3, 4 (blok 5 nie ma ustawionej szerokości), powinno zawierać właściwość

Ilustracja do pytania
A. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
B. clear: both dla wszystkich bloków.
C. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
D. float: left dla wszystkich bloków.
Twoja odpowiedź jest poprawna. Bloki 1, 2, 3 i 4 powinny być ustawione obok siebie na stronie. Możemy tego dokonać, stosując dla nich właściwość 'float: left' w CSS, która sprawia, że elementy są wyświetlane po lewej stronie swojego kontenera. Często stosuje się tę technikę przy projektowaniu layoutów stron internetowych, umożliwiając rozmieszczenie bloków w jednym rzędzie. Blok 5 powinien natomiast znajdować się poniżej tych bloków, co osiągniemy stosując właściwość 'clear: both'. Ta właściwość zapewnia, że element nie będzie obok żadnego z poprzednich bloków, nawet jeśli mają one ustawiony float. Jest to szczególnie przydatne w sytuacjach, gdy chcemy, aby pewien element (np. stopka strony) był wyświetlany poniżej innych bloków, niezależnie od ich położenia czy szerokości. W praktyce, prawidłowe zastosowanie tych dwóch właściwości jest kluczowe dla tworzenia responsywnych i atrakcyjnych layoutów stron.

Pytanie 30

Który z przedstawionych poniżej fragmentów kodu HTML5 zostanie uznany przez walidator HTML za niepoprawny?

A. <p class= "stl" style= "color: #F00 ">tekst</p>
B. <p class= "stl">tekst</p>
C. <p class= "stl"><style>.a{color:#F00}</style>tekst</p>
D. <p class= "stl" id= "a">tekst</p>
Poprawna odpowiedź, która została wskazana, to <p class= "stl"><style>.a{color:#F00}</style>tekst</p>. W kontekście HTML5, element <style> jest przeznaczony do umieszczania w nagłówkach dokumentu (<head>), a nie wewnątrz elementów blokowych, takich jak <p>. Umieszczanie tagu <style> w tagu <p> narusza zasady dotyczące struktury dokumentu HTML. Walidatory HTML5, które sprawdzają zgodność kodu z obowiązującymi standardami W3C, uznają takie umieszczenie za błąd, ponieważ stylizacja powinna być oddzielona od treści. Zgodnie z najlepszymi praktykami, CSS powinno być zaimplementowane w plikach zewnętrznych lub sekcjach <head>, co ułatwia utrzymanie i modyfikację kodu. Przykładem poprawnej struktury może być: <head><style>.a{color:#F00}</style></head><body><p class="stl">tekst</p></body>. To zapewnia przejrzystość i zgodność z zasadami HTML5, co jest kluczowe dla SEO oraz dostępności strony.

Pytanie 31

Znacznik

<pre> </pre>
służy do prezentacji:
A. treści polską czcionką
B. znaku przekreślenia
C. znaku wielokropka
D. treści czcionką o stałej szerokości
Znacznik <pre> służy do wyświetlania treści w formacie, który zachowuje oryginalne formatowanie i białe znaki. Treści umieszczone wewnątrz tego znacznika są wyświetlane czcionką o stałej szerokości (monospace), co sprawia, że każda litera i znak zajmują tę samą ilość miejsca. Jest to szczególnie przydatne przy prezentacji kodu komputerowego, danych tabelarycznych lub wszelkich innych informacji, gdzie istotne jest zachowanie struktury. Na przykład, w języku HTML, umieszczając kod CSS lub JavaScript w znaczniku <pre>, programista zapewnia, że formatowanie kodu (np. wcięcia) jest widoczne, co ułatwia czytanie i zrozumienie. Zastosowanie znacznika <pre> jest zgodne z zasadami dobrych praktyk w web designie, gdzie czytelność kodu i danych jest kluczowa dla efektywnej komunikacji z użytkownikami oraz dla poprawnego działania aplikacji webowych.

Pytanie 32

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

A.
color: rgb(255,0,0);
B.
text-color: rgb(#FF0000);
C.
color: rgb(#FF0000);
D.
text-color: rgb(255,0,0);
Latwo tu wpasc w dwie rozne pulapki. Pierwsza dotyczy nazwy wlasciwosci: text-color brzmi sensownie, ale taka wlasciwosc w CSS nie istnieje, wiec przegladarka po prostu zignoruje cala deklaracje i kolor tekstu sie nie zmieni. Barwe znakow ustawia wlasciwosc color. Druga pulapka to mieszanie zapisow koloru: rgb(#FF0000) laczy funkcje rgb() z zapisem szesnastkowym. Znak # rozpoczyna kolor w formacie hex (np. #FF0000), ktory podaje sie samodzielnie, bez rgb(). Funkcja rgb() oczekuje natomiast trzech liczb dziesietnych 0-255 oddzielonych przecinkami. Poprawnie laczy obie rzeczy tylko color: rgb(255,0,0); - wlasciwa wlasciwosc i prawidlowo zapisana funkcja rgb, gdzie 255 to pelna czerwien, a oba zera to brak zieleni i blekitu.

Pytanie 33

Jaki jest cel funkcji napisanej w PHP?

function fun1($liczba)
{
  if($liczba % 2 == 0)
    return 1;

  return 0;
}
A. Wypisanie liczby parzystej
B. Zwrócenie wartości 0, gdy liczba jest parzysta
C. Zwrócenie wartości 1, gdy liczba jest parzysta
D. Wypisanie liczby nieparzystej
Funkcja w języku PHP została zaprogramowana w taki sposób, aby najpierw sprawdzić, czy podana liczba jest parzysta, używając operatora modulo (%). Operacja $liczba % 2 == 0 sprawdza resztę z dzielenia przez 2, która dla liczb parzystych wynosi 0. Jeśli warunek jest spełniony, funkcja natychmiast zwraca wartość 1, co oznacza, że liczba jest parzysta. Taki sposób kodowania jest wydajny, ponieważ funkcja zakończy działanie natychmiast po spełnieniu warunku, bez dalszego przetwarzania. Jest to dobry przykład stosowania operacji warunkowych w funkcjach, co jest zgodne z dobrymi praktykami programistycznymi, zwłaszcza gdy zależność logiczna jest prosta i może być szybko zidentyfikowana. Takie funkcje często wykorzystywane są w systemach walidacji danych, gdzie szybkie potwierdzenie poprawności danych jest kluczowe dla wydajności całego systemu. Pozwala również na łatwe rozszerzenie logiki, jeśli w przyszłości zajdzie taka potrzeba.

Pytanie 34

W teorii relacji operacja selekcji polega na

A. eliminuje krotki z powtarzającymi się polami
B. pozbywaniu się pustych wierszy
C. wybraniu krotek, które spełniają określone warunki
D. wybraniu krotek, które nie zawierają wartości NULL
Operacja selekcji w algebrze relacji polega na wydobywaniu z bazy danych krotek, które spełniają określone warunki. Tego rodzaju operacje są kluczowe w kontekście zapytań do baz danych, ponieważ pozwalają na precyzyjne filtrowanie danych. Na przykład, jeśli mamy tabelę 'Klienci' z informacjami o klientach, możemy użyć selekcji, aby wybrać tylko tych, którzy mają status 'aktywny', co pozwala nam skoncentrować się na aktualnych użytkownikach. Takie podejście jest zgodne z podstawowymi zasadami zarządzania danymi, w tym z zasadą minimalizacji danych, która mówi, że należy pracować tylko z tymi informacjami, które są istotne do danego zadania. Ponadto, operacja selekcji jest często używana w połączeniu z innymi operacjami, takimi jak projekcja czy łączenie, co pozwala na budowanie bardziej złożonych zapytań i uzyskiwanie bardziej szczegółowych informacji. W praktyce, umiejętność skutecznego stosowania selekcji jest niezbędna dla każdego, kto pracuje z bazami danych, a znajomość tej operacji stanowi podstawę dla bardziej zaawansowanych technik analizy danych.

Pytanie 35

Jak sprawdzić spójność danych w tabeli bazy MySQL?

A.
mysql
B.
mysqldump
C.
REPAIR TABLE
D.
CHECK TABLE
Spójność danych w tabeli MySQL sprawdza polecenie CHECK TABLE - analizuje tabelę pod kątem błędów i uszkodzeń, nie modyfikując jej. Naprawę wykonuje się dopiero osobno, gdy problem zostanie wykryty. Dlatego do sprawdzenia spójności służy CHECK TABLE.

Pytanie 36

Aby zdefiniować styl akapitu <p>, który występuje bezpośrednio po znaczniku <img>, należy w arkuszu CSS zastosować selektor:

A.
img [p]
B.
img p
C.
img + p
D.
img > p
Te selektory różnią się rodzajem powiązania między elementami. img p ze spacją to selektor potomka - odnosi się do akapitów znajdujących się wewnątrz obrazu, co jest niemożliwe, bo <img> nie zawiera treści. img > p z operatorem > wybiera bezpośrednie dzieci elementu, więc również szuka <p> w środku <img>. Zapis img [p] jest po prostu błędny - nawiasy kwadratowe w CSS służą do dopasowania po atrybutach, a nie po nazwie znacznika. Akapit stojący tuż za obrazem, jako jego sąsiad, wskazuje selektor img + p z operatorem sąsiedztwa.

Pytanie 37

Co w bazach danych oznacza termin „atrybut”?

A. nazwaną kolumnę tabeli opisującą określoną cechę
B. rekord tabeli z danymi jednego egzemplarza
C. powiązanie dwóch lub więcej danych związkiem
D. obiekt złożony z cech opisanych kolumnami
Pozostałe odpowiedzi mylą pojęcia modelu relacyjnego. „Obiekt złożony z cech” to raczej encja, a nie pojedynczy atrybut. Powiązanie danych związkiem to RELACJA. Rekord z danymi jednego egzemplarza to KROTKA (wiersz). Atrybut to nazwana kolumna opisująca cechę.

Pytanie 38

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
B. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
C. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
D. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
Instrukcje JavaScript w pytaniu wykorzystują metodę getElementsByClassName aby pobrać kolekcję wszystkich elementów na stronie które posiadają przypisaną klasę styl1. Metoda ta zwraca obiekt typu HTMLCollection który przypomina tablicę i zawiera odniesienia do elementów DOM posiadających określoną klasę. Następnie za pomocą pętli for przechodzimy przez każdy z tych elementów i zmieniamy ich styl na bolder przypisując nową wartość do właściwości style.fontWeight. Dzięki temu każdy element w kolekcji zostaje zmodyfikowany i wyświetlany z pogrubioną czcionką. Takie podejście jest zgodne z dobrymi praktykami w zakresie manipulacji DOM w JavaScript gdyż jest to sposób efektywny i bezpośredni. Użycie klas do grupowania elementów HTML pozwala na jednoczesne stosowanie stylów i operacji na grupach elementów co jest kluczowe w dynamicznym modelu tworzenia stron internetowych. Warto zwrócić uwagę na fakt że nazwy klas są czułe na wielkość liter co oznacza że styl1 i Styl1 byłyby traktowane jako różne klasy.

Pytanie 39

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

A. text-transform
B. position
C. list-style-type
D. display
Odpowiedź 'position' to strzał w dziesiątkę! To właściwość w CSS, która mówi nam, jak elementy mają być ustawione na stronie. Masz różne opcje, jak 'static', 'relative', 'fixed', 'absolute' i 'sticky', które każda z nich ma swoje przeznaczenie. Na przykład 'static' to standard, który nic nie zmienia w układzie, a 'relative' umożliwia przesunięcie elementu w stosunku do jego pierwotnej pozycji. Z kolei 'absolute' pozwala umieścić element w odniesieniu do najbliższego przodka, który nie jest ustawiony na 'static', co świetnie się sprawdza, gdy chcesz, żeby coś się ładnie ułożyło na stronie. 'fixed' trzyma element w tym samym miejscu na ekranie, nawet jak przewijasz stronę – idealne dla nagłówków. 'Sticky' łączy w sobie cechy 'relative' i 'fixed', co daje lepszą kontrolę nad pozycjonowaniem przy przewijaniu. Używanie tych wartości jest naprawdę ważne, jeżeli projektujesz responsywne interfejsy, więc dobrze, że to wiesz!

Pytanie 40

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia, jak działa relacja klucz główny-klucz obcy w bazach danych. W relacyjnych bazach danych tabele są często powiązane relacjami, gdzie jedna tabela posiada klucz obcy odnoszący się do klucza głównego innej tabeli. W kontekście zapytania SQL, aby poprawnie połączyć tabele i uzyskać odpowiednie dane, musimy użyć klauzuli JOIN z właściwym warunkiem ON. Błędne odpowiedzi pokazują typowe nieporozumienia: jedna z alternatywnych odpowiedzi próbuje połączyć tabele bez użycia klauzuli ON, co prowadzi do błędnych wyników, ponieważ nie określa w jaki sposób rekordy z tabeli Klienci są powiązane z rekordami z tabeli Zgłoszenia. Inna odpowiedź błędnie zakłada, że filtrujemy dane na podstawie id klienta zamiast id zgłoszenia, co prowadzi do nieprawidłowego zestawu wyników niezgodnego z założeniami zadania. Takie błędy mogą wynikać z niedostatecznego zrozumienia struktury bazy danych oraz mechanizmów filtracji i łączenia danych w SQL. Kluczem do poprawnego zapytania jest jasne zrozumienie, jak relacje w bazach danych pozwalają na efektywne łączenie danych i selekcję pożądanych rekordów, co jest podstawą analizy danych i ich raportowania w systemach informacyjnych. Unikanie takich błędów wymaga znajomości syntaktyki SQL i logicznego sposobu myślenia o danych i ich powiązaniach.