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: 22 kwietnia 2026 11:03
  • Data zakończenia: 22 kwietnia 2026 11:28

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

Wymagane minimum: 20 punktów (50%)

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

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka

A. style="margin-bottom: 0cm;">XHTML 1.1
B. HTML 4.01 Transitional
C. style="margin-bottom: 0cm;">HTML 5
D. style="margin-bottom: 0cm;">HTML 4.01 Strict
Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.

Pytanie 2

Głównym celem systemu CMS jest oddzielenie treści witryny informacyjnej od jej wyglądu. Jak osiągany jest ten efekt?

A. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
B. z bazy danych oraz wyglądu za pomocą atrybutów HTML
C. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
D. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
Podstawowym celem systemu zarządzania treścią (CMS) jest skuteczne oddzielenie treści serwisu od jego prezentacji wizualnej. Właściwe funkcjonowanie CMS opiera się na dynamicznym generowaniu zawartości z bazy danych, co pozwala na łatwe zarządzanie dużymi zbiorami informacji oraz ich aktualizację bez konieczności modyfikowania każdego pliku z osobna. Szablony, które definiują wygląd strony, są kluczowym elementem tej struktury. Dzięki zastosowaniu zdefiniowanych szablonów, różne strony mogą z łatwością przyjąć spójną estetykę wizualną, co jest zgodne z najlepszymi praktykami projektowania stron internetowych. Na przykład, w CMS WordPress, treści publikowane na blogu są przechowywane w bazie danych, a szablon wyświetla je w przyjazny dla użytkownika sposób. Taki podział umożliwia także łatwe wprowadzanie zmian w wyglądzie strony bez wpływu na jej zawartość. Warto pamiętać, że stosowanie bazy danych i szablonów wspiera SEO, ponieważ pozwala na lepsze zarządzanie meta danymi oraz linkami wewnętrznymi.

Pytanie 3

Który z czterech głównych kolorów w modelu barw CMYK jest

A. zielony
B. brązowy
C. czarny
D. pomarańczowy
Zielony, brązowy i pomarańczowy nie są podstawowymi kolorami modelu CMYK, co można wyjaśnić na podstawie zasad działania tego modelu barw. Zielony, będący kolorem wtórnym, powstaje z połączenia cyjanu i żółtego, co oznacza, że nie jest niezależnym kolorem w tym systemie. Pomarańczowy również jest kolorem wtórnym, tworzonym przez mieszanie czerwieni i żółtego, co sprawia, że brakuje mu statusu podstawowego koloru w kontekście druku. Brązowy natomiast jest kolorem, który powstaje z kombinacji różnych kolorów podstawowych, takich jak czerwony, żółty i czarny, co również wyklucza go z grona kolorów podstawowych. W modelu CMYK kluczowe jest zrozumienie, że kolory są tworzone poprzez subtractive mixing, co oznacza, że każdy dodany kolor absorbuje pewne długości fal świetlnych, co w efekcie zmienia postrzegany kolor. Z tego powodu, kolory takie jak zielony, brązowy i pomarańczowy, które są wynikiem mieszania, nie mogą być uznawane za podstawowe elementy tego modelu. W kontekście druku, poprawne zastosowanie kolorów podstawowych jest niezbędne dla uzyskania oczekiwanych rezultatów wizualnych, dlatego ważne jest, aby znać ich właściwości i sposób, w jaki wpływają na finalny efekt druku.

Pytanie 4

W języku HTML, aby stworzyć pole do wprowadzania hasła, w którym wpisywany tekst będzie ukrywany (zastępowany kropkami), należy zastosować znacznik

A. <form="password" type="password" />
B. <form input type="password" />
C. <input name="password" />
D. <input type="password" />
Odpowiedź <input type="password" /> jest poprawna, ponieważ ten znacznik HTML służy do tworzenia pola edycyjnego, w którym wprowadzane dane są maskowane. W przypadku pól do wpisywania haseł, istotne jest, aby użytkownik nie mógł zobaczyć wpisywanego tekstu, co zwiększa poziom bezpieczeństwa. W HTML, atrybut 'type' z wartością 'password' instruuje przeglądarkę, aby ukrywała znaki wprowadzane przez użytkownika, zastępując je zazwyczaj kropkami lub gwiazdkami. Przykładem zastosowania tego typu znacznika może być formularz logowania, gdzie użytkownicy wpisują swoje hasła. Dobrą praktyką jest również zastosowanie odpowiednich etykiet i walidacji, aby zapewnić, że formularz jest użyteczny i zgodny z WCAG (Web Content Accessibility Guidelines). Warto pamiętać, że bezpieczeństwo haseł powinno być również wspierane przez odpowiednie zabezpieczenia po stronie serwera, w tym haszowanie haseł oraz ochrona przed atakami typu brute force.

Pytanie 5

W sklepie z farbami obowiązuje określony sposób obliczania kosztu farby: dla koloru niebieskiego i zielonego przy pojemności 2 litry cena farby wynosi cena bazowa + 20%. Wyrażenie logiczne w języku JavaScript, które weryfikuje tę zasadę, ma formę

A. kolor = 'niebieski' || kolor = 'zielony' && pojemnosc = 2
B. (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2
C. (kolor = 'niebieski' || kolor = 'zielony') || pojemnosc = 2
D. kolor == 'niebieski' && kolor == 'zielony' && pojemnosc == 2
Analizując niepoprawne odpowiedzi, można zauważyć kilka powszechnych błędów, które prowadzą do mylnych wniosków. Przede wszystkim, użycie operatora '=' zamiast '==' jest fundamentalnym błędem w kontekście języka JavaScript. Operator '=' służy do przypisania wartości, podczas gdy '==' jest operatorem porównania, który sprawdza, czy dwie wartości są sobie równe. Zastosowanie '=' w warunkach logicznych prowadzi do nieprawidłowego działania warunków, ponieważ zamiast porównania wykonujemy przypisanie, co zazwyczaj skutkuje zawsze prawdziwym wynikiem. Ponadto, użycie operatora '&&' w przypadku kolorów w odpowiedzi, która stwierdza, że kolor jest jednocześnie 'niebieski' i 'zielony', jest logicznie niemożliwe, ponieważ jedna zmienna nie może przyjmować dwóch różnych wartości jednocześnie. Tego typu niepoprawne podejścia mogą prowadzić do niezamierzonych wyników w kodzie, co jest sprzeczne z podstawowymi zasadami programowania, takimi jak zasada jedności odpowiedzialności. Kluczowe jest również zrozumienie, że warunki powinny być jasno sformułowane, aby kod był zarówno funkcjonalny, jak i łatwy do zrozumienia dla innych programistów. Dobre praktyki programistyczne wskazują na konieczność stosowania dobrze zdefiniowanych i jednoznacznych warunków, co znacznie ułatwia dalszy rozwój i konserwację kodu.

Pytanie 6

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}
A. 0
B. Nieskończenie wiele
C. 10
D. 11
Nieprawidłowe odpowiedzi mogą wynikać z kilku błędnych założeń dotyczących działania pętli for. Jednym z częstszych błędów jest myślenie, że pętla for będzie iterować tylko do wartości 10, co skutkuje odpowiedzią 10. W rzeczywistości jednak warunek '$i <= 10' oznacza, że wartość 10 także jest wliczana do całkowitej liczby iteracji, przez co pętla będzie wykonana 11 razy. Z kolei odpowiedź sugerująca nieskończoną liczbę iteracji może pojawić się u osób, które nie zauważają, że zmienna $i jest inkrementowana w każdej iteracji. Warto również wspomnieć, że w przypadku początkowej wartości zmiennej $i wynoszącej 0 oraz braku modyfikacji tej zmiennej wewnątrz pętli nie może wystąpić sytuacja, w której pętla nie kończy się, co prowadzi do błędnego wniosku o 0 iteracjach. Kluczowe jest zrozumienie, jak struktura pętli for działa i jakie warunki wpływają na liczbę jej iteracji. Świadomość tych zasad jest niezbędna do pisania efektywnego i poprawnego kodu w PHP oraz innych językach programowania.

Pytanie 7

Innym terminem określającym saturację koloru jest

A. przezroczystość koloru
B. dopełnienie koloru
C. nasycenie koloru
D. jasność koloru
Jasność koloru to miara, która definiuje, jak jasny lub ciemny jest dany kolor, i nie należy mylić jej z nasyceniem. Jasność koncentruje się głównie na percepcji, a nie na intensywności samego koloru. Nasycenie natomiast odnosi się do czystości koloru i jego odległości od neutralnego odcienia szarości. Dopełnienie koloru odnosi się do kolorów przeciwnych w koło kolorów, a nie do stopnia ich intensywności czy żywości. Dopełniające kolory są używane w teorii kolorów do tworzenia kontrastów, ale nie mają związku z pojęciem nasycenia. Przeźroczystość koloru to z kolei miara tego, jak przezroczysty jest dany kolor, co wpływa na sposób, w jaki kolory się ze sobą mieszają. Przeźroczystość jest kluczowym elementem w technikach malarskich oraz grafice komputerowej, ale nie ma bezpośredniego związku z nasyceniem, które koncentruje się na intensywności barwy sammej w sobie. Wszystkie te terminy, mimo że są powiązane z kolorystyką, reprezentują różne aspekty i nie można ich stosować zamiennie z nasyceniem.

Pytanie 8

Który zapis w języku JavaScript daje taki sam wynik jak poniższy kod?

x = 0;
x += 10;
A. x = 0; x--; x *= 9
B. x = 10; x = 0
C. x = 10; x = x + 10
D. x = 0; x++; x = x + 9
Analiza odpowiedzi prowadzi do zrozumienia, że w niektórych przypadkach programiści mogą mieć trudności z interpretacją operacji na zmiennych. W przypadku pierwszej z niepoprawnych odpowiedzi, x = 0; x--; x *= 9; prowadzi to do innej logiki. Po przypisaniu x = 0, użycie x-- zmienia wartość x na -1, a następnie mnożenie przez 9 skutkuje -9, co nie ma nic wspólnego z oczekiwaną wartością 10. To pokazuje, jak nieprawidłowe zrozumienie podstawowych operacji arytmetycznych może prowadzić do błędów. W drugiej niepoprawnej odpowiedzi, x = 10; x = x + 10; przypisanie 10 do x oraz dodanie 10 do x daje wartość 20, co również jest dalekie od oczekiwanego wyniku. Takie nieprawidłowe podejście do operacji przypisania i dodawania może być wynikiem niedostatecznej znajomości reguł działania operatorów w JavaScript. Wreszcie, ostatnia odpowiedź, x = 10; x = 0; jest sprzeczna sama w sobie, ponieważ po przypisaniu 10, nadpisanie wartości na 0 bez żadnej operacji arytmetycznej skutkuje wartością 0, co jest jeszcze bardziej mylące. Wnioskując, kluczowe jest zrozumienie, jak działają operatory w JavaScript oraz unikanie typowych pułapek wynikających z niepoprawnego łączenia przypisania i operacji arytmetycznych. Takie błędy mogą prowadzić do trudności w debugowaniu i utrzymaniu kodu, dlatego warto przestrzegać dobrych praktyk programistycznych oraz dokładnie analizować operacje na zmiennych.

Pytanie 9

Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?

Ilustracja do pytania
A. <td rowspan="3">komórka1+3</td>
B. <td colspan="3">komórka1+3</td>
C. <td colspan="2">komórka1+3</td>
D. <td rowspan="2">komórka1+3</td>
Poprawnie wskazałeś fragment z atrybutem rowspan, czyli: <td rowspan="2">komórka1+3</td>. W HTML atrybut rowspan służy do scalania komórek tabeli w pionie, czyli wzdłuż wierszy. W tym przykładzie tabela ma dwie kolumny, a komórka „komórka1+3” zajmuje miejsce pierwszej komórki w pierwszym wierszu oraz pierwszej komórki w drugim wierszu. Dlatego właśnie wartość rowspan musi być równa 2 – ta jedna komórka rozciąga się na dwa wiersze. Gdy przeglądarka widzi taki zapis, rezerwuje dla tej komórki obszar dwóch komórek pod sobą, a w kodzie HTML w kolejnym wierszu pomijamy już odpowiednią liczbę komórek w tej kolumnie. Z mojego doświadczenia wynika, że przy projektowaniu tabel dobrze jest sobie najpierw „narysować” układ na kartce: ile wierszy, ile kolumn, które komórki się łączą. Potem łatwo dobrać czy potrzebujemy colspan (łączenie w poziomie – kolumny), czy rowspan (łączenie w pionie – wiersze). W specyfikacji HTML Living Standard dokładnie tak to jest opisane: rowspan określa, na ile wierszy rozciąga się dana komórka. W praktyce scalanie komórek przydaje się np. przy tworzeniu nagłówków tabel z opisami grup kolumn, przy harmonogramach, planach lekcji, cennikach, gdzie jedna pozycja obowiązuje przez kilka wierszy. Warto też pamiętać o semantyce: tam gdzie to możliwe, dla nagłówków stosujemy <th> z rowspan lub colspan, a dla zwykłych danych <td>. Taki porządek w kodzie ułatwia późniejsze stylowanie CSS i poprawia dostępność, bo czytniki ekranu lepiej rozumieją strukturę tabeli.

Pytanie 10

Aby umieścić plik wideo na stronie internetowej z widocznymi przyciskami sterującymi oraz zapętlonym odtwarzaniem, należy w znaczniku <video> użyć atrybutów

A. autoplay i preload
B. controls i loop
C. loop i muted
D. controls i autoplay
Odpowiedzi, które wybrałeś, opierają się na nie do końca trafnych założeniach co do funkcji atrybutów w znaczniku <video>. Wybór "loop" i "muted" to nietrafny strzał, bo choć "loop" jest potrzebny do zapętlenia, to atrybut "muted" w ogóle nie wpływa na dostępność przycisków sterujących. Wyciszenie wideo jest fajne, zwłaszcza przy automatycznym odtwarzaniu, ale nie jest konieczne, żeby przyciski były widoczne. Jeśli chodzi o "autoplay" i "preload", to sprawa wygląda podobnie - "autoplay" uruchamia wideo samo, ale bez przycisków to raczej nie jest komfortowe dla użytkownika. A "preload" odnosi się do wstępnego ładowania, co może pomóc w wydajności, ale znowu, nie ma to wpływu na to, jak możemy z tym wideo interagować. Te błędne odpowiedzi pokazują typowe nieporozumienia co do funkcji atrybutów, które są naprawdę ważne do stworzenia dobrego doświadczenia na stronach. Ludzie czasami myślą, że inne atrybuty mogą zastąpić konieczność interakcji z materiałem wideo, co może prowadzić do frustracji i złego odbioru treści.

Pytanie 11

W języku PHP uzyskano wyniki kwerend z bazy danych przy użyciu polecenia mysql_query. Aby wydobyć z otrzymanej kwerendy pojedynczy wiersz danych, konieczne jest użycie polecenia

A. mysql_fetch_row
B. mysql_field_len
C. mysql_list_fields
D. mysql_fetch_lengths
Odpowiedź mysql_fetch_row jest poprawna, ponieważ to funkcja, która pozwala na pobranie pojedynczego wiersza danych z zasobu zwróconego przez mysql_query. Zwraca ona tablicę, która zawiera wartości poszczególnych pól w wierszu, co umożliwia ich dalsze przetwarzanie. Dzięki tej funkcji programista może łatwo iterować przez wyniki kwerendy, co jest kluczowe w przypadku przetwarzania danych z baz danych. Na przykład, po wykonaniu kwerendy SELECT, można użyć pętli while, aby pobierać kolejne wiersze danych i je wyświetlać. Dobrą praktyką jest również sprawdzenie, czy zasób kwerendy jest poprawny przed użyciem tej funkcji, co pozwoli uniknąć błędów w czasie wykonywania skryptu. Warto dodać, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, które oferują bardziej zaawansowane możliwości i większe bezpieczeństwo przy pracy z bazami danych.

Pytanie 12

Jakie wyrażenie w języku JavaScript określa komentarz jednoliniowy?

A. ?
B. //
C. /*
D. #
Wskazanie odpowiedzi '#' czy '/*' jako komentarza jednoliniowego jest niepoprawne, ponieważ obie te formy są używane w programowaniu w inny sposób. Znak '#' jest typowym symbolem komentarza w językach takich jak Python, gdzie informuje interpreter, że wszystko, co następuje po nim w danym wierszu, powinno zostać zignorowane. Używanie '#' w JavaScript spowoduje błąd składniowy, ponieważ nie jest on rozpoznawany jako poprawny znak komentarza w tym języku. Z drugiej strony, sekwencja '/*' jest stosowana do definiowania komentarzy wieloliniowych, które mogą obejmować wiele wierszy. Komentarz tego typu rozpoczyna się od '/*' i kończy na '*/', co pozwala na dodawanie dłuższych notatek czy wyjaśnień w kodzie, ale nie jest pomocą w kontekście jedno-wierszowych komentarzy. Typowym błędem myślowym jest mylenie koncepcji komentarzy w różnych językach programowania, co wynika często z nieznajomości specyfiki danego języka. Kluczowe jest zrozumienie, że różne języki mają swoje zasady, a ich znajomość pozwala na uniknięcie nieporozumień oraz efektywne korzystanie z dostępnych narzędzi i syntaktyki. W kontekście JavaScript znajomość odpowiednich konwencji dotyczących komentarzy jest niezbędna do tworzenia czytelnego i dobrze zorganizowanego kodu.

Pytanie 13

Jakie polecenie pozwala na kontrolowanie oraz optymalizację bazy danych?

A. mysqldump
B. mysqlcheck
C. mysqlshow
D. mysqlimport
Odpowiedź 'mysqlcheck' jest poprawna, ponieważ jest to narzędzie służące do sprawdzania i optymalizacji baz danych MySQL. Umożliwia ono użytkownikom weryfikację integralności tabel, a także optymalizację struktury bazy danych, co jest kluczowe dla zapewnienia jej wydajności. Funkcja ta jest niezwykle przydatna w przypadku dużych baz danych, gdzie regularne sprawdzanie i optymalizacja mogą znacząco wpłynąć na szybkość wykonywania zapytań. W praktyce, mysqlcheck można uruchomić z różnymi opcjami, na przykład '-a' do automatycznej optymalizacji, co pozwala na zautomatyzowanie procesu konserwacji bazy. Ponadto, zgodnie z zaleceniami dobrych praktyk w zarządzaniu bazami danych, regularne korzystanie z mysqlcheck może pomóc w identyfikacji potencjalnych problemów przed ich eskalacją, co z kolei minimalizuje ryzyko awarii systemu i utraty danych.

Pytanie 14

W kodzie HTML zamieszczono link do strony internetowej:

<a href="http://google.com">strona Google</a>
Jakie dodatkowe zmiany należy wprowadzić, aby link otwierał się w nowym oknie lub zakładce przeglądarki, dodając do definicji linku odpowiedni atrybut?
A. rel = "external"
B. target = "_parent"
C. rel = "next"
D. target = "_blank"
Atrybut target w HTML ma na celu określenie, w jaki sposób ma być otwierany odnośnik. Wartość _blank wskazuje przeglądarkę, że nowa strona powinna zostać otwarta w nowym oknie lub zakładce. Jest to istotne dla poprawy użyteczności strony internetowej, gdyż użytkownicy mogą łatwo wrócić do oryginalnej strony po otwarciu nowego linku. W kontekście dobrych praktyk w projektowaniu stron internetowych, otwieranie odnośników w nowym oknie jest zalecane w przypadku linków zewnętrznych, aby użytkownik nie opuścił aktualnej witryny. Przykładem zastosowania jest link do dokumentacji czy zasobów zewnętrznych, gdzie ma to na celu zachowanie kontekstu przeglądania. Stosując ten atrybut, warto jednak pamiętać o tym, aby nie nadużywać go, ponieważ może to być irytujące dla użytkowników, którzy wolą kontrolować, kiedy nowe okno jest otwierane. Warto również pamiętać, że w nowoczesnych standardach HTML5 atrybut target jest często stosowany w połączeniu z atrybutem rel, aby określić, czy link jest zaufany czy nie. Umożliwia to jeszcze lepsze zarządzanie bezpieczeństwem użytkowników.

Pytanie 15

Który z opisów komentarza odzwierciedla działanie funkcji zdefiniowanej w języku PHP ```function fun1($a, $b) { if($a > $b) return $a; elseif($b > $a) return $b; else return -1; }```?

A. /* Funkcja zwraca wyższą wartość spośród dwóch podanych, w przypadku równości zwraca wartość $a */
B. /* Funkcja zwraca niższą wartość spośród dwóch podanych, w przypadku równości zwraca -1 */
C. /* Funkcja zwraca wyższą wartość spośród dwóch podanych, w przypadku równości zwraca -1 */
D. /* Funkcja zwraca niższą wartość spośród dwóch podanych, w przypadku równości zwraca wartość $a */
Wszystkie pozostałe odpowiedzi nie oddają właściwego zachowania funkcji `fun1`. Przede wszystkim, twierdzenie, że funkcja zwraca wartość niższą z dwóch podanych, jest błędne. Funkcja została zaprojektowana w taki sposób, aby zwracać wartość wyższą, a nie niższą, co jest kluczowe dla zrozumienia jej działania. Stwierdzenie, że funkcja zwraca wartość -1 w przypadku równości, jest prawdziwe, jednak nieimplikuje ono, że zwraca wartość niższą, co wprowadza w błąd. Ponadto, odpowiedzi sugerujące, że w przypadku równości funkcja zwraca wartość `$a`, są również mylące - w rzeczywistości zwraca tylko -1, co wyraźnie wskazuje na brak różnicy. Tego typu nieporozumienia mogą wynikać z braku zrozumienia logiki warunkowej w programowaniu, gdzie zastosowane instrukcje `if` i `elseif` determinują, która wartość zostanie zwrócona. W programowaniu należy zawsze analizować wyniki funkcji oraz upewnić się, że dokumentacja odpowiada rzeczywistemu działaniu kodu. Dobre praktyki obejmują również testowanie funkcji oraz jasne komunikowanie jej działania w komentarzach, aby uniknąć takich nieporozumień w przyszłości.

Pytanie 16

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista:

A. będzie pisać kod bez zastosowania wcięć
B. nie umieści średnika po wyrażeniu w instrukcji if, gdy po nim występuje sekcja else
C. pobierze dane z formularza, w którym pole input pozostało puste
D. będzie definiował zmienne w obrębie warunku
W przypadku pierwszej odpowiedzi dotyczącej pobierania wartości z formularza, należy zrozumieć, że PHP nie generuje błędu, nawet jeśli pole input nie zostało wypełnione. Wartość z pustego pola formularza zostanie przekazana jako pusty string, co nie prowadzi do błędu, ale wymaga dodatkowej walidacji. Niezapełnione pola mogą być zatem obsługiwane bez problemów. Drugą odpowiedzią jest kwestia wcięć w kodzie. Chociaż wcięcia poprawiają czytelność kodu, PHP nie wymaga ich stosowania, a brak wcięć nie spowoduje błędu wykonania, co jest mylącą koncepcją. Warto jednak podkreślić, że stosowanie wcięć jest dobrą praktyką, gdyż pozwala na lepsze zrozumienie struktury programu. Ostatnia odpowiedź dotycząca deklaracji zmiennych wewnątrz warunku również nie prowadzi do błędu interpretera. PHP pozwala na tworzenie zmiennych w dowolnym zakresie, w tym w instrukcjach warunkowych, co jest istotne dla elastyczności języka. Aby uniknąć błędnych wniosków, warto pamiętać, że błędy w PHP wynikają najczęściej z niepoprawnej składni lub niezgodności w konwencji użycia, a nie ze sposobu organizacji kodu w kontekście wcięć czy deklaracji zmiennych.

Pytanie 17

Tabela gory zawiera dane o polskich wzniesieniach oraz łańcuchach górskich, w których te wzniesienia się znajdują. Aby uzyskać Koronę Gór Polskich, czyli najwyższe wzniesienie w każdym z łańcuchów górskich, należy wykonać kwerendę

A. SELECT pasmo, szczyt, wysokosc FROM gory
B. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo
C. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc
D. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory
W analizowanym pytaniu, wszystkie pozostałe zapytania nie są w stanie dostarczyć wymaganych informacji o najwyższych szczytach górskich w każdym paśmie. Pierwsza odpowiedź, SELECT pasmo, szczyt, wysokosc FROM gory; po prostu wyświetli wszystkie kolumny bez jakiejkolwiek agregacji, co prowadzi do nieprzydatnych wyników, gdyż nie wskazuje na najwyższe szczyty, które nas interesują. Druga odpowiedź, SELECT pasmo, szczyt, MAX(wysokosc) FROM gory;, jest błędna, ponieważ nie zawiera klauzuli GROUP BY. Bez niej, zapytanie zwróci jedynie najwyższą wysokość w całej tabeli, a nie w podziale na poszczególne pasma, co jest kluczowym elementem naszego zapytania. Trzecia opcja, SELECT pasmo, szczyt FROM gory GROUP BY wysokosc;, jest również niepoprawna, gdyż grupowanie według wysokości nie ma sensu w kontekście poszukiwania najwyższych szczytów w ramach pasm. Takie podejście prowadziłoby do niejednoznacznych wyników, ponieważ w każdym paśmie mogłoby być wiele szczytów o różnych wysokościach, a nie ma możliwości zidentyfikować najwyższego szczytu. Ustalanie grupy na podstawie niewłaściwego kryterium, jak w tym przypadku, często prowadzi do błędnych wniosków i jest typowym błędem myślowym, który należy unikać podczas pracy z danymi. Kluczowym wymogiem w takich zapytaniach jest zrozumienie, jakie kryteria powinny być zastosowane do grupowania danych oraz odpowiednie wykorzystanie funkcji agregujących w kontekście danego problemu.

Pytanie 18

Który z poniższych obrazów został sformatowany przy użyciu zaprezentowanego stylu CSS?

Ilustracja do pytania
A. D
B. A
C. B
D. C
Odpowiedź A jest prawidłowa, ponieważ zastosowane style CSS dokładnie odzwierciedlają podany kod. Styl img { padding: 5px; border: 1px solid grey; border-radius: 10px; } oznacza, że obrazek otrzymuje wewnętrzny margines o wartości 5 pikseli, szary, jednopikselowy, ciągły obramowanie oraz zaokrąglenie narożników o promieniu 10 pikseli. Efektem tego jest estetyczny wygląd, który umożliwia lepszą prezentację treści graficznych w projektach webowych. Padding pozwala na uzyskanie równowagi wizualnej, natomiast border-radius zapewnia miękkość krawędzi, co jest często stosowane w nowoczesnym web designie. Praktycznym zastosowaniem takich stylów jest m.in. tworzenie kart wizualnych na stronach internetowych, gdzie estetyka i czytelność są kluczowe. Dobrym przykładem jest stosowanie tych technik w responsywnych projektach, gdzie obrazy muszą dobrze współgrać z różnymi elementami interfejsu użytkownika. CSS umożliwia tworzenie atrakcyjnych wizualnie stron, które przyciągają uwagę i poprawiają interakcję użytkownika z treścią.

Pytanie 19

Która z reguł dotyczących sekcji w języku HTML jest poprawna?

A. W sekcji <head> można zdefiniować szablon strony przy użyciu znaczników <div>
B. W sekcji <head> nie można umieszczać kodu CSS, jedynie odwołanie do pliku CSS
C. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
D. W sekcji <head> umieszcza się część <body>
Wybór tej odpowiedzi jest słuszny, ponieważ w części <head> dokumentu HTML mogą występować różne znaczniki, które są kluczowe dla poprawnej struktury i funkcjonalności strony. Znaczniki <meta> służą do dostarczania danych o stronie, takich jak opis, słowa kluczowe czy informacje o autorze, co jest istotne dla SEO (optymalizacji pod kątem wyszukiwarek). Znacznik <title> definiuje tytuł strony, który jest wyświetlany w zakładkach przeglądarki oraz w wynikach wyszukiwania, co ma wpływ na wrażenia użytkowników oraz ich decyzje. Z kolei znacznik <link> jest używany do odwoływania się do zewnętrznych arkuszy stylów CSS, co pozwala na oddzielenie struktury HTML od stylizacji. Dobre praktyki wskazują, że umieszczanie CSS w <head> zamiast w <body> poprawia czas ładowania strony oraz zapewnia, że style są stosowane jeszcze przed renderowaniem zawartości, co wpływa na lepszą użyteczność i wygląd strony. Dobrze zorganizowana sekcja <head> może przyczynić się do lepszego pozycjonowania w wyszukiwarkach oraz poprawy doświadczeń użytkowników.

Pytanie 20

Po awarii serwera bazy danych, aby jak najszybciej przywrócić pełne działanie bazy, konieczne jest wykorzystanie

A. opisu struktur danych w tabelach
B. kompletnej listy użytkowników serwera
C. najświeższej wersji instalacyjnej serwera
D. aktualnej wersji kopii zapasowej
Aby skutecznie przywrócić działanie bazy danych po jej uszkodzeniu, kluczowe jest wykorzystanie aktualnej wersji kopii zapasowej. Kopie zapasowe są fundamentem każdego planu odzyskiwania danych i powinny być regularnie tworzone zgodnie z polityką zarządzania danymi. Przykładowo, jeśli korzystamy z bazy danych w środowisku produkcyjnym, zaleca się wykonywanie codziennych kopii zapasowych oraz pełnych kopii co tydzień. W przypadku awarii, przywrócenie systemu do stanu sprzed incydentu za pomocą najnowszej kopii zapasowej minimalizuje utratę danych i przestoje. Praktyki takie jak backup w czasie rzeczywistym (real-time backup) mogą być również rozważane, aby ograniczyć ryzyko utraty danych. W kontekście standardów branżowych, organizacje powinny stosować zasady RTO (Recovery Time Objective) i RPO (Recovery Point Objective), które pomogą w określeniu najodpowiedniejszej strategii tworzenia kopii zapasowych i ich przechowywania. Zastosowanie aktualnych kopii zapasowych jest zatem najskuteczniejszym sposobem na przywrócenie funkcjonalności bazy danych.

Pytanie 21

Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //

A. nieprawidłowe dane
B. w zmiennej x maksymalna wartość ze zmiennych a, b, c
C. wybór wartości maksymalnej spośród zmiennych a, b oraz c
D. w zmiennej x minimalna wartość ze zmiennych a, b, c
W analizowanych odpowiedziach znajdują się stwierdzenia, które nie oddają rzeczywistego działania funkcji wykorzystywanej w tej linii kodu. Stwierdzenie dotyczące wyboru losowej wartości ze zmiennych a, b i c jest błędne, ponieważ funkcja Math.max nie dokonuje wyboru losowego, ale precyzyjnie analizuje wartości i zwraca największą z nich. Takie myślenie może prowadzić do poważnych nieporozumień w kontekście programowania, gdzie deterministyczne wyniki są kluczowe. Inne z kolei stwierdzenie, że w zmiennej x znajduje się minimalna wartość ze zmiennych a, b, c, jest całkowicie sprzeczne z logiką funkcji Math.max, która z definicji nakazuje jej zwracać maksymalną, a nie minimalną wartość. Użytkownik, bazując na tym błędnym rozumowaniu, mógłby wprowadzić niepoprawne dane do dalszego przetwarzania. Natomiast ostatnia błędna odpowiedź sugerująca, że zmienna x zawiera maksymalną wartość bez uwzględnienia kontekstu, jest niepoprawna w tym sensie, że nie precyzuje, iż funkcja Math.max porównuje konkretnie wartości a, b i c. Aby uniknąć takich nieporozumień, ważne jest zrozumienie mechanizmu działania wbudowanych funkcji w JavaScript oraz ich zastosowania w praktyce.

Pytanie 22

Znak <s> w HTML powoduje

A. pochylenie tekstu
B. podkreślenie tekstu
C. skreślenie tekstu
D. migotanie tekstu
Znacznik <s> w języku HTML jest używany do oznaczania tekstu, który jest przekreślony, co jest przydatne, gdy chcemy wskazać, że dana treść nie jest już aktualna lub jest nieprawidłowa. Na przykład, w dokumencie HTML możemy użyć znacznika <s> do przekreślenia starej ceny produktu, aby podkreślić, że cena została obniżona. Taki sposób prezentacji informacji jest zgodny z zasadami dostępności, ponieważ przekreślony tekst wciąż jest czytelny przez technologie asystujące, co pozwala użytkownikom na zrozumienie zmiany w kontekście treści. W praktyce zastosowanie tego znacznika może również wpłynąć na estetykę strony, eliminując potrzebę stosowania stylów CSS do osiągnięcia tego samego efektu.

Pytanie 23

W formularzu umieszczono kontrolki do podania imienia oraz nazwiska. Który z atrybutów odpowiada za wyświetlanie sugestii w polu kontrolki, która znika, gdy użytkownik zaczyna wpisywanie wartości?

<label for="imie">Imię: </label> 
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. for
B. placeholder
C. value
D. title
Atrybut "placeholder" jest kluczowym elementem w formularzach HTML, który definiuje tekst podpowiedzi umieszczony w polu kontrolki. Tekst ten zniknie, gdy użytkownik zacznie wpisywać dane, co pozwala na zapewnienie bardziej intuicyjnego interfejsu. W przypadku przykładowego formularza, atrybut "placeholder" jest użyty w polu nazwiska, co stanowi doskonały przykład jego praktycznego zastosowania. Dobrą praktyką jest stosowanie atrybutu "placeholder" w formularzach, ponieważ wprowadza on klarowność i ułatwia użytkownikom wypełnianie formularzy, jednocześnie zmniejszając ryzyko błędów. Atrybut ten nie tylko poprawia doświadczenia użytkownika, ale także zwiększa dostępność formularzy, ponieważ pozwala osobom korzystającym z czytników ekranu lepiej zrozumieć, jakie dane są wymagane. Warto również zauważyć, że "placeholder" nie powinien być używany jako substytut etykiety, która jest niezbędna do poprawnej dostępności i użyteczności. Etykiety powinny być zawsze stosowane, a "placeholder" powinien pełnić jedynie funkcję pomocniczą.

Pytanie 24

Podczas działania skryptu JavaScript został w konsoli wygenerowany błąd związany z działaniami na atrybucie elementu DOM. Z komunikatu wynika, że próbowano ustawić atrybut dla

Ilustracja do pytania
A. tabeli.
B. obrazu.
C. odnośnika.
D. paragrafu.
Wybrana przez Ciebie odpowiedź była niestety niepoprawna. Atrybut 'src', o którym mówi komunikat błędu, jest specyficzny dla obrazów, a nie dla tabel, paragrafów ani odnośników. W przypadku tabeli, typowy atrybut, który mógłby być manipulowany, to 'border' lub 'cellspacing'. Dla paragrafów często manipulowane są atrybuty takie jak 'align' czy 'dir'. Odnośniki, natomiast, mają charakterystyczny atrybut 'href', który wskazuje na adres URL, do którego prowadzi dany odnośnik. Manipulacja atrybutami DOM jest częstą praktyką w programowaniu JavaScript, jednak ważne jest zrozumienie, że różne elementy HTML mają różne atrybuty, i próba manipulacji nieodpowiednim atrybutem dla danego elementu skutkować będzie błędem. W tym konkretnym przypadku, błąd 'Uncaught TypeError: Cannot set property 'src' of null' wskazuje na próbę manipulacji atrybutem 'src', który jest charakterystyczny dla obrazów, a nie dla innych elementów HTML.

Pytanie 25

Jaką wartość przyjmie zmienna $a po wykonaniu poniższej sekwencji poleceń w języku PHP?

$a = 1; $a++; $a += 10; --$a;
A. 1
B. 11
C. 12
D. 10
Gratulacje, Twoja odpowiedź jest prawidłowa. Instrukcje wykonane w kodzie PHP prowadzą do osiągnięcia wartości 11 przez zmienną 'a'. Proces ten jest realizowany w czterech krokach. Najpierw zmienna 'a' jest inicjowana wartością 1. Następnie wartość ta jest zwiększana o 1, co daje nam 2. Do tej wartości dodawane jest 10, co daje nam łącznie 12. Na końcu, wartość ta jest zmniejszana o 1, co daje nam ostateczną wartość 11. Warto przypomnieć, że w języku programowania PHP, tak jak w większości języków, operacje są wykonywane od lewej do prawej. To jest ważne do zapamiętania, gdy mamy do czynienia z bardziej skomplikowanymi sekwencjami operacji.

Pytanie 26

W kaskadowych arkuszach stylów do oznaczenia selektora klasy wykorzystuje się symbol

A. . (kropka)
B. : (dwukropek)
C. #
D. *
Odpowiedź . (kropka) jest prawidłowa, ponieważ w kaskadowych arkuszach stylów (CSS) selektor klasy definiuje się poprzez użycie symbolu kropki przed nazwą klasy. Przykład: jeśli mamy klasę o nazwie 'przyklad', to w CSS zapisujemy selektor jako '.przyklad'. Taki selektor pozwala na stosowanie określonych stylów do wszystkich elementów HTML, które zawierają tę klasę. Dobrą praktyką jest używanie klas do grupowania elementów, co ułatwia zarządzanie stylami oraz zwiększa czytelność kodu. Na przykład, możemy zdefiniować wspólny wygląd dla przycisków: .przycisk { background-color: blue; color: white; }. Ponadto, korzystanie z klas zamiast identyfikatorów (które definiuje się przez symbol #) pozwala na wielokrotne stosowanie jednego stylu w różnych miejscach dokumentu. Klasy są bardziej elastyczne i umożliwiają lepszą organizację kodu, co jest zgodne z zasadami DRY (Don't Repeat Yourself) w programowaniu.

Pytanie 27

Jakie czynniki wpływają na wysokość dźwięku?

A. częstotliwość drgań fali akustycznej
B. intensywność wzbudzenia drgań
C. czas oscylacji źródła dźwięku
D. metoda wzbudzania drgań
To prawda, że czas drgania źródła dźwięku i sposoby, jakimi te drgania są wzbudzane, mają swoje znaczenie, ale nie wpływają one na wysokość dźwięku tak, jak to robi częstotliwość. Czas drgania to okres jednego cyklu drgania, a jego odwrotność to częstotliwość. Można by pomyśleć, że dłuższy czas drgania oznacza niższy dźwięk, ale to nie tak działa. W rzeczywistości to częstotliwość jest wyznacznikiem wysokości dźwięku. W muzyce, różne techniki, takie jak atak struny czy wibrato, mogą zmieniać brzmienie, ale nie mają wpływu na podstawową częstotliwość. Można też mówić o sile wzbudzenia drgań, co dotyczy amplitudy fali akustycznej, a to z kolei wpływa na głośność, a nie wysokość dźwięku. Często ludzie mylą głośność z wysokością, co może prowadzić do różnych nieporozumień. Na przykład, niektóre instrumenty mogą grać zarówno głośno, jak i cicho, ale na tej samej wysokości, co pokazuje, że te dwa aspekty dźwięku to zupełnie różne sprawy. Zrozumienie tych różnic to podstawa dla każdego, kto działa w akustyce czy inżynierii dźwięku.

Pytanie 28

Jak wygląda prawidłowy zapis samozamykającego się znacznika w zgodzie ze standardem języka XHTML, który odpowiada za łamanie linii?

A. <br> </br>
B. <br />
C. </br/>
D. </ br>
Odpowiedź <br /> jest prawidłowym zapisem samozamykającego się znacznika w standardzie XHTML. XHTML, czyli eXtensible HyperText Markup Language, wymaga, aby znaczniki były poprawnie zamknięte. W przypadku znaczników, które nie mają zawartości, jak <br />, stosuje się specjalną składnię. Oznaczenie <br /> wskazuje na przełamanie linii w dokumencie HTML. Ważne jest, aby podać ukośnik przed zakończeniem znacznika, co jest zgodne z zasadami XHTML. Przykładowo, w dokumentach XHTML, prawidłowe użycie <br /> może wyglądać tak: <p>Tekst przed łamaniem linii.<br />Tekst po łamaniu linii.</p>. Przestrzeganie tych zasad zapewnia, że dokumenty będą poprawnie interpretowane przez przeglądarki oraz będą zgodne z standardami W3C, co jest kluczowe dla zachowania wysokiej jakości kodu oraz jego dostępności.

Pytanie 29

Który modyfikator jest związany z opisem podanym poniżej?

Metoda oraz zmienna jest dostępna wyłącznie dla innych metod własnej klasy.
A. protected
B. private
C. static
D. public
Modyfikator dostępu private w językach programowania takich jak Java i C# umożliwia ukrywanie szczegółów implementacji danej klasy przed jej użytkownikami. Deklarowanie zmiennych i metod jako private chroni je przed nieumyślnymi zmianami z zewnątrz, co zwiększa bezpieczeństwo i integralność danych. Daje to kontrolę nad tym, jak dane są używane i modyfikowane, co jest kluczowe w projektowaniu solidnych systemów. Prywatne elementy są dostępne jedynie w obrębie klasy, co pozwala zachować enkapsulację, jedną z podstaw programowania obiektowego. Dzięki temu, można łatwo modyfikować wewnętrzne mechanizmy klasy, bez wpływu na inne części programu, które z niej korzystają. Używanie private umożliwia również tworzenie metod pomocniczych, które są niewidoczne dla użytkowników zewnętrznych, ale wspomagają działanie publicznych interfejsów. To podejście zgodne ze standardami projektowania, takimi jak zasada najmniejszej wiedzy, która zaleca ograniczanie dostępu do niezbędnego minimum dla poprawy modularności i utrzymania kodu. Przykładem może być klasa KontoBankowe, gdzie saldo konta jest prywatne, a dostęp do jego zmiany odbywa się poprzez metody publiczne, co pozwala na weryfikację operacji finansowych.

Pytanie 30

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT ```SELECT model FROM samochody WHERE rocznik=2016;``` Jakie wartości zostaną zwrócone w wyniku tego zapytania?

Ilustracja do pytania
A. Czerwony, grafitowy
B. Fiat, Opel, Toyota
C. Punto, Corsa, Astra, Corolla, Yaris
D. Punto, Corsa, Corolla
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 31

W relacyjnym modelu baz danych, termin krotka odnosi się do

A. wszystkich wierszy tabeli łącznie z wierszem nagłówkowym
B. wszystkich kolumn tabeli, które zawierają atrybuty danego obiektu
C. wierszy tabeli, z wyjątkiem wiersza nagłówkowego, w którym znajdują się nazwy kolumn
D. liczby rekordów w danej tabeli
W relacyjnym modelu baz danych, krotka odnosi się do jednego wiersza tabeli, który przechowuje zestaw atrybutów (kolumn) dla danego obiektu. Każda krotka jest zbiorem wartości, które są powiązane z określonymi kolumnami. Krotki stanowią fundamentalny element relacyjnych baz danych, w których dane są zorganizowane w formie tabel, co ułatwia ich przechowywanie, przetwarzanie oraz zapytania. Na przykład, w tabeli przechowującej informacje o klientach, każda krotka mogłaby zawierać dane takie jak imię, nazwisko, adres e-mail i numer telefonu. Wartości te są ze sobą powiązane i tworzą kompletny zestaw informacji dotyczący jednego klienta. Zgodnie z normami SQL, krotki są często przetwarzane za pomocą instrukcji SELECT, które umożliwiają pobieranie, modyfikację i zarządzanie danymi na poziomie pojedynczych wierszy. Krotki są nie tylko podstawą struktury danych, ale również fundamentem, na którym opierają się operacje na bazach danych, co czyni je kluczowym pojęciem w projektowaniu oraz zarządzaniu relacyjnymi bazami danych.

Pytanie 32

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmniejszenie kontrastu zdjęcia.
C. Zmiana jasności zdjęć.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 33

Element lub zestaw elementów, który jednoznacznie identyfikuje każdy pojedynczy rekord w tabeli bazy danych, nazywamy kluczem

A. przestawny
B. inkrementacyjny
C. podstawowy
D. obcy
Klucz podstawowy (ang. primary key) jest to pole lub zbiór pól w tabeli bazy danych, które jednoznacznie identyfikują każdy row w tej tabeli. Klucz podstawowy nie może zawierać wartości NULL i musi być unikalny dla każdego rekordu, co zapewnia integralność danych w bazie. Przykładem klucza podstawowego może być identyfikator użytkownika w tabeli użytkowników, gdzie każdy użytkownik ma unikalny numer ID. Zgodnie z normami projektowania baz danych, klucz podstawowy powinien być prosty, a jego wartość nie powinna się zmieniać w czasie, aby zachować stabilność odniesień do tego rekordu w innych tabelach. W dobrych praktykach projektowania baz danych dla kluczy podstawowych często stosuje się typy danych takie jak INTEGER z automatycznym inkrementowaniem, co umożliwia wygodne dodawanie nowych rekordów bez ryzyka kolizji wartości. Używanie kluczy podstawowych ułatwia również tworzenie relacji z innymi tabelami, znanych jako klucze obce, co jest fundamentem relacyjnych baz danych.

Pytanie 34

W jakiej technologii niemożliwe jest przetwarzanie danych wprowadzanych przez użytkownika na stronie WWW?

A. AJAX
B. JavaScript
C. PHP
D. CSS
PHP, AJAX i JavaScript to technologie, które mają zdolność do przetwarzania danych użytkownika wprowadzanych na stronach WWW. PHP jest językiem skryptowym po stronie serwera, który może obsługiwać dane użytkowników z formularzy, przetwarzać je, a następnie zwracać odpowiedzi do klienta. Dzięki PHP można na przykład zbierać dane z formularzy rejestracyjnych, walidować je i przechowywać w bazach danych. AJAX, będący technologią asynchronicznego przetwarzania danych, pozwala na komunikację z serwerem bez potrzeby przeładowywania strony. Dzięki AJAX użytkownicy mogą wprowadzać dane w formularzach i otrzymywać na bieżąco odpowiedzi z serwera, co poprawia interaktywność aplikacji internetowych. JavaScript, jako język skryptowy po stronie klienta, umożliwia manipulację danymi wprowadzanymi przez użytkowników i wykonuje walidację danych w czasie rzeczywistym. Przykładowo, JavaScript może kontrolować poprawność danych w formularzach przed ich wysłaniem na serwer, co zapobiega błędom i zwiększa użyteczność aplikacji. Dlatego, w przeciwieństwie do CSS, te technologie są kluczowe dla przetwarzania i interakcji z danymi użytkowników, co sprawia, że są niezbędne w nowoczesnym web developmencie.

Pytanie 35

Zapis CSS postaci:

 ul {
    list-style-image: url('rys.gif');
}

sprawi, że na stronie internetowej
A. rys.gif będzie stanowił ramkę dla listy nienumerowanej.
B. wyświetli się rysunek rys.gif jako tło listy nienumerowanej.
C. każdy z punktów listy będzie miał osobne tło pobrane z grafiki rys.gif
D. punktorem listy nienumerowanej będzie rys.gif
Wygląda na to, że nie zrozumiałeś poprawnie jak działa właściwość CSS list-style-image. Ta właściwość nie jest używana do ustawienia obrazka jako tła listy, ramki listy lub tła każdego punktu listy. Zamiast tego, jest ona wykorzystywana do określenia obrazu, który będzie służył jako punktor listy nienumerowanej. W podanym kodzie CSS, obrazek 'rys.gif' zostanie ustawiony jako punktor dla każdego elementu listy <li> wewnątrz listy nienumerowanej <ul>. To ważne, aby zrozumieć, że mimo że obrazek jest ustawiony jako punktor, nie wpłynie to na tło ani na obramowanie listy. Ponadto, obrazek nie będzie stanowił tła dla każdego z punktów listy. To jest powszechny błąd, który wielu programistów początkujących może popełnić. Pamiętaj, że podstawowym celem CSS jest stylizowanie elementów HTML, a nie modyfikowanie ich struktury lub funkcjonalności. Zatem użycie właściwości list-style-image do modyfikacji tła lub obramowania listy byłoby niezgodne z zasadami CSS.

Pytanie 36

Proces układania danych w bazie, który obejmuje tworzenie tabel, definiowanie relacji pomiędzy nimi oraz eliminację zbędnych danych i niespójnych powiązań, nazywany jest

A. sprawdzaniem spójności danych
B. sprawdzaniem integralności referencyjnej
C. normalizacją
D. nadmiarowością
Normalizacja to super ważny krok w robieniu baz danych. Chodzi o to, żeby uporządkować dane i pozbyć się zbędnych powtórzeń. Na przykład, jak mamy tabelę 'Klienci' i 'Zamówienia', to normalizacja pozwala połączyć te tabele tak, żeby info o klientach było tylko w jednym miejscu. Dzięki temu, każde zamówienie będzie przypisane do odpowiedniego klienta, co zmniejsza ryzyko zamieszania z danymi. Jak się stosuje zasady normalizacji, takie jak 1NF czy 2NF, to można uniknąć problemów, które mogą się pojawić przy aktualizowaniu, usuwaniu czy dodawaniu danych. Dobrze jest też regularnie sprawdzać, jak ma się struktura bazy, żeby była dostosowana do tego, co w danej chwili potrzebujemy. Tak naprawdę, normalizacja nie tylko dba o prawidłowość danych, ale też sprawia, że wszystko działa sprawniej.

Pytanie 37

Aby zmienić wartość atrybutu elementu przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
B. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
C. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
D. document.getElementById(id).innerHTML = <nowa wartość>
Sposoby zapisu w pozostałych odpowiedziach nie są odpowiednie dla zmiany cech elementów opisanych w CSS, co może prowadzić do nieporozumień w zakresie manipulacji stylem w JavaScript. Użycie document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>; może sugerować, że próbujemy ustawić atrybuty HTML, jednak nie odnosi się to do stylów CSS. Atrybuty HTML i style CSS to dwa różne obszary, a manipulowanie stylem wymaga bezpośredniego odniesienia do obiektu style. Podobnie, w przypadku document.getElementById(id).<nazwa właściwości> = <nowa wartość>; wygląd elementu nie jest zmieniany, ponieważ nie wskazujemy na obiekt style, lecz na właściwości samego elementu. Użycie document.getElementById(id).innerHTML = <nowa wartość>; również wprowadza w błąd, ponieważ ta metoda służy do zmiany zawartości HTML wewnątrz danego elementu, a nie stylów. Często pojawia się mylne przekonanie, że można manipulować stylem, używając ogólnych atrybutów lub zawartości, co prowadzi do nieefektywnego i błędnego kodu. Istotne jest zrozumienie, że stylizacja elementów wymaga poprawnej interakcji z obiektem style, co zapewnia jednocześnie zgodność z najlepszymi praktykami programowania i pozwala uniknąć błędów w logice aplikacji.

Pytanie 38

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Które zapytanie SQL należy wykonać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
C. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby, Adresy;
Poprawne zapytanie korzysta z jawnego złączenia tabel: SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;. Kluczowe są tu dwie rzeczy: użycie słowa kluczowego JOIN oraz właściwy warunek ON, który łączy klucz obcy z kluczem głównym. W tabeli Osoby kolumna Adresy_id jest kluczem obcym (FK), który wskazuje na kolumnę id w tabeli Adresy. To dokładnie odzwierciedla relację jeden‑do‑wielu narysowaną na diagramie. Dzięki temu baza danych wie, które miasto przypisać do którego nazwiska. Takie podejście jest zgodne ze standardem SQL i dobrą praktyką w relacyjnych bazach danych. Jawne JOIN-y są czytelne, łatwe do modyfikacji (np. dodanie kolejnych tabel lub warunków filtrowania) i dobrze współpracują z optymalizatorem zapytań. W praktycznych projektach, np. w aplikacjach webowych, właśnie tak buduje się zapytania: łączymy tabelę użytkowników lub klientów z tabelą adresów, zamówień, faktur, logów itp. zawsze po kluczach głównych i obcych, a nie po przypadkowo dobranych kolumnach. Moim zdaniem warto od razu wyrabiać sobie nawyk pisania nazw tabel przy kolumnach, czyli Osoby.nazwisko, Adresy.Miasto – zmniejsza to ryzyko konfliktu nazw i poprawia czytelność kodu SQL. Gdyby w przyszłości w którejś tabeli pojawiła się druga kolumna o nazwie Miasto, zapytanie nadal byłoby jednoznaczne. W większych systemach, gdzie dochodzą dodatkowe warunki (WHERE, ORDER BY, GROUP BY), taka struktura zapytania z JOIN ON jest po prostu dużo łatwiejsza w utrzymaniu i debugowaniu. Warto też pamiętać, że relacja jeden‑do‑wielu oznacza, że jedna osoba może mieć wiele adresów albo jeden adres może być przypisany do wielu osób – dokładne powiązanie zależy od modelu, ale technika złączenia po kluczu obcym pozostaje taka sama.

Pytanie 39

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

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

Pytanie 40

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><big>Duży tekst</big> zwykły tekst</p>
B. <p><big>Duży tekst</p> zwykły tekst
C. <p><strike>Duży tekst zwykły tekst</p>
D. <p><strike>Duży tekst</strike> zwykły tekst</p>
W języku HTML, użycie znacznika <big> jest właściwym sposobem na zwiększenie rozmiaru tekstu, co w efekcie pozwala na wyróżnienie go w kontekście pozostałej treści. Znacznik ten jest jednak przestarzały i niezalecany w nowoczesnych praktykach, ponieważ CSS oferuje bardziej elastyczne i zaawansowane metody stylizacji. Przykładowo, zamiast stosować <big>, można wykorzystać stylizację CSS, aby uzyskać podobny efekt, co zwiększa kontrolę nad wyglądem elementów. Ponadto, zastosowanie znacznika <p> jako kontenera dla tekstu zapewnia semantyczną strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność. Przykładowo, użycie CSS może wyglądać tak: <p style='font-size: 1.5em;'>Duży tekst</p>zwykły tekst, co jest bardziej zalecane dla zachowania zgodności ze standardami. Warto pamiętać, że unikanie przestarzałych znaczników i stosowanie CSS zwiększa elastyczność i estetykę projektów HTML.