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: 8 czerwca 2026 07:09
  • Data zakończenia: 8 czerwca 2026 07:16

Egzamin niezdany

Wynik: 10/40 punktów (25,0%)

Wymagane minimum: 20 punktów (50%)

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

Jak w PHP przypisać wartość 4 do zmiennej sesyjnej o nazwie wyborID?

A.
session.wyborID = {4};
B.
$_SESSION["wyborID"] = 4;
C.
session.wyborID = 4;
D.
$_SESSION[4] = wyborID;
Zmienną sesyjną ustawia się, przypisując wartość do tablicy $_SESSION pod kluczem o danej nazwie: $_SESSION["wyborID"] = 4;. Klucz to nazwa zmiennej, a po prawej jej wartość. Dlatego ten zapis jest poprawny.

Pytanie 2

Jakie oznaczenie wykorzystuje się do jednoliniowego komentarza w skryptowym języku PHP?

A. /*
B. $
C. #
D. --
Oznaczenie jednoliniowego komentarza w języku PHP realizuje się za pomocą znaku '#'. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie wyjaśnień, notatek lub przypomnień dotyczących implementacji. Umożliwiają one innym programistom (lub nawet samym sobie w przyszłości) zrozumienie kontekstu i logiki stosowanych rozwiązań. Przykładowo, można umieścić komentarz w kodzie w taki sposób: '# To jest komentarz, który wyjaśnia, co robi poniższy kod'. Warto pamiętać, że stosowanie komentarzy zgodnie z najlepszymi praktykami programowania zwiększa czytelność kodu oraz ułatwia jego utrzymanie. PHP pozwala również na stosowanie komentarzy wieloliniowych z użyciem znaków '/* ... */', jednak w przypadku komentarzy jednoliniowych preferowanym podejściem jest użycie znaku '#', szczególnie w kontekście prostych, krótkich notatek. Przykład: echo 'Hello World!'; # Ta linia wyświetla powitanie.

Pytanie 3

Co w bazach danych oznacza termin „atrybut”?

A. rekord tabeli z danymi jednego egzemplarza
B. nazwaną kolumnę tabeli opisującą określoną cechę
C. obiekt złożony z cech opisanych kolumnami
D. powiązanie dwóch lub więcej danych związkiem
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 4

Instrukcja

REVOKE SELECT ON nazwa1 FROM nazwa2
w SQL pozwala na
A. przyznawanie uprawnień zgodnie z określonym schematem
B. przyznawanie dostępu do tabeli
C. usunięcie użytkownika z bazy danych
D. odbieranie przyznanych uprawnień użytkownikowi
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.

Pytanie 5

W języku PHP zapis

// 
pozwala na:
A. dodanie komentarza wieloliniowego
B. użycie tablicy superglobalnej
C. dodanie komentarza jednoliniowego
D. użycie operatora dzielenia bez reszty
W języku PHP zapis <pre>//</pre> służy do wstawiania komentarzy jednoliniowych. Komentarze są istotnym elementem kodu, ponieważ pozwalają programistom na dokumentowanie i wyjaśnianie fragmentów kodu, co ułatwia jego zrozumienie i utrzymanie. W PHP, komentarze jednoliniowe zaczynają się od dwóch ukośników i rozciągają się do końca danej linii. Przykładowo, zapis <pre>// To jest komentarz jednoliniowy</pre> informuje innych programistów, że dany tekst jest komentarzem, który nie zostanie wykonany przez interpreter PHP. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programowania, ponieważ poprawia czytelność kodu oraz pozwala na szybszą analizę struktury i logiki aplikacji. Dobrą praktyką jest dokumentowanie nie tylko skomplikowanych fragmentów, ale również takich, które mogą wydawać się oczywiste, aby zminimalizować ryzyko nieporozumień w przyszłości. Komentarze pomagają także w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem.

Pytanie 6

W zamieszczonym kodzie PHP, zamiast znaków zapytania powinien być wyświetlony komunikat:

$x = mysql_query('SELECT * FROM mieszkancy');
if (!$x)
    echo '??????????????????????';
A. Zapytanie zostało poprawnie przetworzone
B. Niepoprawne hasło do bazy danych
C. Niepoprawna nazwa bazy danych
D. Błąd w trakcie przetwarzania zapytania
W przedstawionym kodzie PHP, komunikat "??????????????????????" powinien wskazywać na błąd przetwarzania zapytania SQL. Kiedy wynik funkcji mysql_query() jest równy fałszowi (false), oznacza to, że zapytanie nie mogło zostać poprawnie wykonane. Może to być spowodowane różnymi czynnikami, takimi jak błędy w składni zapytania, problemy z połączeniem z bazą danych, lub nieprawidłowe tabele. W tym przypadku, dobrym podejściem jest użycie funkcji mysql_error() w celu uzyskania bardziej szczegółowych informacji na temat natury błędu. Przykład poprawnego kodu mógłby wyglądać tak: <p>$x = mysql_query('SELECT * FROM mieszkancy');<br>If (!$x) {<br>echo mysql_error();<br>}</p> Używanie tej metody pomaga w diagnostyce problemu i pozwala na szybsze jego rozwiązanie. Znalezienie i naprawienie błędów w zapytaniach SQL jest kluczowe w pracy z bazami danych, szczególnie w kontekście aplikacji internetowych, które muszą być niezawodne i efektywne.

Pytanie 7

Wynikiem realizacji kwerendy

SELECT sezon, SUM(liczba_dn) FROM rezerwacje GROUP BY sezon;
na podstawie poniższej tabeli rezerwacje jest:
A. lato 10, 5, 5; zima 4, 6, 9, 8
B. lato 20, zima 27
C. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
D. lato 3, zima 4
Wykonana kwerenda SQL agreguje dane z tabeli rezerwacje, grupując je według sezonu i sumując liczbę dni (liczba_dn) dla każdego sezonu. W tabeli znajdują się rekordy związane z sezonami letnim i zimowym. Analizując dane, dla sezonu letniego mamy trzy wpisy: 10 dni, 5 dni oraz 5 dni, co łącznie daje 20 dni. Dla sezonu zimowego mamy cztery wpisy: 4 dni, 6 dni, 9 dni oraz 8 dni, co po zsumowaniu daje 27 dni. Odpowiedź numer 2 jest zatem poprawna, ponieważ przedstawia poprawne sumy dla sezonów. Praktyczne zastosowanie takiej kwerendy może obejmować analizowanie sezonowości rezerwacji w hotelach, co wspiera procesy decyzyjne w zakresie zarządzania zasobami i planowania promocji. Zgodność z dobrymi praktykami w SQL wymaga znajomości funkcji agregujących, takich jak SUM, oraz umiejętności grupowania danych, co jest kluczowe w analizie danych w różnych dziedzinach biznesowych.

Pytanie 8

Jakie efekt osiągnie się za pomocą przedstawionego formatowania CSS dla nagłówka trzeciego poziomu?

Ilustracja do pytania
A. kolor tekstu będzie szary
B. tło będzie pomarańczowe
C. kolor tekstu będzie pomarańczowy
D. tło będzie w odcieniu szarym
Poprawna odpowiedź dotycząca tła pomarańczowego wynika z zasady specyficzności CSS W przedstawionym przykładzie stylu dla elementu h3 zastosowano właściwość background-color przypisując jej wartość orange bezpośrednio w znaczniku HTML co zwiększa specyficzność takiego stylu nad stylem zdefiniowanym w sekcji style w nagłówku strony Specyficzność w CSS to mechanizm określający który styl ma pierwszeństwo w przypadku konfliktu stylów dla tego samego elementu Styl wbudowany inline ma wyższą specyficzność niż style określone w sekcjach style co oznacza że definiując background-color inline jako orange nadpisuje on wcześniej zdefiniowane style Dzięki temu można precyzyjnie kontrolować wygląd poszczególnych elementów na stronie co jest dobrą praktyką w przypadku gdy konieczne są jednorazowe zmiany stylu dla konkretnego elementu Warto jednak pamiętać że nadmierne wykorzystywanie stylów inline może prowadzić do trudności w zarządzaniu wyglądem całej strony dlatego dobrą praktyką jest używanie ich oszczędnie oraz stosowanie zewnętrznych arkuszy stylów CSS tam gdzie to możliwe

Pytanie 9

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Przenikanie zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Zmiana jasności 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 10

W języku JavaScript rezultat wykonania polecenia zmienna++; będzie identyczny jak polecenia

A. zmienna+=1;
B. zmienna=zmienna+10;
C. zmienna===zmienna+1;
D. zmienna --;
W języku JavaScript operator inkrementacji '++' zwiększa wartość zmiennej o 1. Zapis 'zmienna++' jest równoważny z 'zmienna += 1', ponieważ obydwa polecenia prowadzą do tej samej końcowej wartości zmiennej. Operator '+=' to skrót, który dodaje wartość po prawej stronie operatora do aktualnej wartości zmiennej. Warto nadmienić, że 'zmienna++' działa w trybie post-inkrementacji, co oznacza, że zwraca pierwotną wartość przed inkrementacją, podczas gdy '++zmienna' działa w trybie pre-inkrementacji, zwracając wartość po inkrementacji. Przykładowo, jeśli zmienna wynosi 5, to po zastosowaniu 'zmienna++' jej nowa wartość stanie się 6, a jej wartość zwracana to 5. Zastosowanie operatora '+=' jest zgodne z ECMAScript, standardem, na którym oparty jest JavaScript. Użycie tych operatorów jest powszechne w programowaniu, zwłaszcza w iteracjach i obliczeniach. Przykładając to do praktyki, w kodzie można zobaczyć takie zastosowanie: let x = 5; x++; console.log(x); // wypisze 6, a let y = 5; y += 1; console.log(y); // również wypisze 6.

Pytanie 11

Funkcję Clean Project środowiska IDE stosuje się do

A. kompilowania projektu, gdy pliki źródłowe zostały zmienione.
B. usuwania wyników kompilacji projektu.
C. usuwania całego projektu.
D. debugowania skompilowanego i uruchomionego projektu.
Funkcja „Clean Project” w środowisku IDE bywa mylona z kilkoma zupełnie innymi operacjami i stąd często biorą się błędne skojarzenia. Warto to sobie dobrze poukładać, bo w pracy z większymi projektami, szczególnie webowymi, znajomość tych różnic mocno ułatwia życie. Po pierwsze, Clean nie służy do usuwania całego projektu. IDE nie kasuje Twoich plików źródłowych, katalogów z kodem, konfiguracji, zasobów graficznych czy plików HTML, CSS, PHP, JS. Gdyby tak było, byłoby to po prostu niebezpieczne i kompletnie sprzeczne z dobrymi praktykami. Usuwanie projektu to zupełnie inna, osobna akcja, zwykle nazwana wprost „Delete project”, „Remove from workspace” itp. Clean ingeruje tylko w to, co zostało wygenerowane automatycznie podczas kompilacji lub procesu buildowania, czyli w artefakty, które w razie czego można bezpiecznie odtworzyć z kodu. Drugi częsty błąd to traktowanie funkcji Clean jako mechanizmu kompilowania projektu po zmianie plików źródłowych. W większości IDE kompilacją zajmują się polecenia typu „Build”, „Rebuild”, „Run”, ewentualnie system automatycznego builda po zapisaniu pliku. Clean sam z siebie nie kompiluje – on przygotowuje pole do ponownego, pełnego builda, usuwając stare binaria. Można to porównać do posprzątania warsztatu przed rozpoczęciem nowej pracy, a nie do samego naprawiania. Trzecie nieporozumienie to łączenie Clean z debugowaniem. Debugowanie polega na uruchamianiu skompilowanego programu z podpiętym debuggerem, stawianiu breakpointów, podglądaniu zmiennych, stosu wywołań itd. Funkcja Clean nie uruchamia aplikacji ani nie wchodzi w tryb debugowania, tylko czyści katalogi z wynikami wcześniejszych kompilacji. Typowy błąd myślowy polega na mieszaniu tych trzech etapów: porządkowania artefaktów (Clean), kompilacji/builda (Build/Run) i analizy działania programu (Debug). W praktyce, poprawna sekwencja przy dziwnych błędach to: Clean, potem pełny Build, a dopiero później ewentualne Debug. Takie rozdzielenie ról narzędzi jest standardem w większości popularnych IDE i systemów buildowania i dobrze jest się do niego przyzwyczaić, bo potem łatwiej przenosić się między różnymi technologiami i środowiskami.

Pytanie 12

Według którego pola tabeli zostały pogrupowane dane w przedstawionym raporcie?

Ilustracja do pytania
A. rok
B. nazwa
C. wynik
D. id_uczestnika
Poprawnie wskazano, że dane w raporcie zostały pogrupowane według pola „rok”. Widać to po tym, że poszczególne rekordy są zebrane w bloki oznaczone nagłówkami 2009, 2010, 2011, 2012, 2020, a dopiero pod każdym z tych lat pojawiają się konkretne konkursy, id_uczestnika i wynik. To jest właśnie klasyczny przykład grupowania danych w raporcie po jednym z pól tabeli – w tym przypadku po kolumnie roku.
W praktyce, czy to w SQL, czy w kreatorach raportów (np. w MS Access, LibreOffice Base, Crystal Reports, narzędziach BI), gdy projektujemy raport, często definiujemy tzw. sekcję grupującą (group header) opartą na wybranym polu. Tutaj takim polem jest rok, więc każda zmiana wartości roku powoduje rozpoczęcie nowej grupy i wyświetlenie nagłówka z tą wartością. To poprawia czytelność i pozwala łatwo analizować dane w podziale na lata.
Moim zdaniem warto zapamiętać, że grupowanie po dacie lub roku to jedna z najczęściej stosowanych praktyk raportowych: używa się tego do raportów sprzedaży w latach, statystyk odwiedzin strony WWW, wyników egzaminów itd. W SQL można by to od strony danych poprzedzić np. zapytaniem sortującym: SELECT * FROM konkursy ORDER BY rok, nazwa; a samo faktyczne grupowanie wizualne realizuje już mechanizm raportów. Dobrą praktyką jest też, żeby pole, po którym grupujemy, było najpierw użyte do sortowania – inaczej grupy mogą się „rozsypać” i raport stanie się nieczytelny.

Pytanie 13

Która definicja tablicy asocjacyjnej w PHP jest składniowo poprawna?

A.
$wiek = array("Anna"=35, "Ewa"=37);
B.
$wiek = array({"Anna", "35"});
C.
$wiek = array([Anna, 35], [Ewa, 37]);
D.
$wiek = array("Anna"=>"35", "Ewa"=>"37");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tablica asocjacyjna w PHP przechowuje pary klucz-wartość, a do ich powiązania używa się operatora „strzałki” <code><span class="code-text">=</span><span class="code-text">&gt;</span></code>, np. <code><span class="code-text">$</span><span class="code-variable">wiek</span> <span class="code-text">=</span> <span class="code-function">array</span><span class="code-text">(</span><span class="code-string">"Anna"</span> <span class="code-text">=</span><span class="code-text">&gt;</span> <span class="code-number">35</span><span class="code-text">,</span> <span class="code-string">"Ewa"</span> <span class="code-text">=</span><span class="code-text">&gt;</span> <span class="code-number">37</span><span class="code-text">)</span><span class="code-text">;</span></code> (lub w krótszym zapisie <code><span class="code-text">[</span><span class="code-string">"Anna"</span> <span class="code-text">=</span><span class="code-text">&gt;</span> <span class="code-number">35</span><span class="code-text">]</span></code>). Do wartości sięga się przez klucz: <code><span class="code-text">$</span><span class="code-variable">wiek</span><span class="code-text">[</span><span class="code-string">"Anna"</span><span class="code-text">]</span></code>. Dlatego poprawna jest definicja z parami łączonymi <code><span class="code-text">=</span><span class="code-text">&gt;</span></code>.

Pytanie 14

Co stanie się po wykonaniu

ALTER TABLE osoba DROP COLUMN grupa;
?
A. nazwa kolumny zmieni się na grupa
B. kolumna grupa zostanie USUNIĘTA
C. kolumna grupa zostanie dodana
D. nazwa tabeli zmieni się na grupa

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span> <span class="code-variable">osoba</span> <span class="code-keyword">DROP</span> <span class="code-variable">COLUMN</span> <span class="code-variable">grupa</span><span class="code-text">;</span></code> modyfikuje strukturę tabeli osoba i USUWA z niej kolumnę grupa wraz z zapisanymi w niej danymi. <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span></code> zmienia definicję tabeli, a klauzula <code><span class="code-keyword">DROP</span> <span class="code-variable">COLUMN</span></code> wskazuje, że chodzi o skasowanie kolumny. Dlatego kolumna grupa zostanie usunięta.

Pytanie 15

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać wynik działania metody nazwa.
B. nazwa to właściwość obiektu przedmiot.
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
D. nazwa to pole klasy przedmiot.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ wyrażenie w języku JavaScript x = przedmiot.nazwa(); oznacza, że zmienna x zostanie przypisana do wyniku działania metody nazwa, która jest wywoływana na obiekcie przedmiot. W JavaScript metody są funkcjami zdefiniowanymi jako właściwości obiektów. Kiedy wywołujemy metodę, dodajemy nawiasy okrągłe do jej nazwy, co powoduje jej wykonanie. W przypadku poprawnego zdefiniowania metody nazwa w obiekcie przedmiot, wykonanie tej metody zwróci wartość, która zostanie przypisana do zmiennej x. Taki sposób przypisywania wartości jest powszechnie stosowany w programowaniu obiektowym, co umożliwia dynamiczne uzyskiwanie danych z obiektów. Przykładem zastosowania może być np. obiekt Uzytkownik z metodą pobierzImie(), która zwraca imię użytkownika. Dzięki temu można elastycznie zarządzać danymi obiektów i tworzyć złożone aplikacje. Dobre praktyki programistyczne zalecają czytelne nazywanie metod i korzystanie z nich wtedy, gdy logicznie grupują funkcjonalność, co ułatwia utrzymanie i rozwijanie kodu.

Pytanie 16

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x = 5;
var y = 3;
if (x = y)     document.getElementById("demo").innerHTML = 'zmienne są równe';
else         document.getElementById("demo").innerHTML = 'zmienne się różnią';
A. W klauzuli if występuje przypisanie zamiast porównania.
B. Nieprawidłowo zadeklarowano zmienne.
C. Instrukcje wewnątrz sekcji if oraz else powinny być zamienione miejscami.
D. Przed klauzulą else nie powinno być średnika.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje! Poprawnie zauważyłeś, że w klauzuli if występuje przypisanie zamiast porównania. W JavaScript, operatorem przypisania jest pojedynczy znak równości (=), natomiast operatorem porównania jest podwójny (==) lub potrójny znak równości (===). W przypadku prezentowanego kodu, zamiast porównać wartości zmiennych x i y, wartość zmiennej y jest przypisywana do zmiennej x, co prowadzi do błędu logicznego. Jest to typowy błąd, który często występuje, szczególnie u początkujących programistów. W praktyce, aby nie pomylić operatorów, warto zawsze umieszczać wartość stałą po lewej stronie operatora porównania - wtedy próba przypisania wartości stałej zwróci błąd kompilacji. Dodatkowo, niektóre narzędzia do analizy statycznej kodu, takie jak ESLint, mogą pomóc w wykrywaniu tego typu błędów.

Pytanie 17

Które polecenie SQL zmieni w tabeli tab, w kolumnie kol, wartość „Ania” na „Zosia”?

A.
ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania';
B.
UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia';
C.
UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania';
D.
ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Modyfikację wartości w wierszach wykonuje <code><span class="code-keyword">UPDATE</span></code>: ustawiamy nową wartość klauzulą <code><span class="code-keyword">SET</span></code>, a warunkiem <code><span class="code-keyword">WHERE</span></code> wskazujemy, których rekordów dotyczy. Zamiana „Ania” na „Zosia” to <code><span class="code-keyword">UPDATE</span> <span class="code-variable">tab</span> <span class="code-keyword">SET</span> <span class="code-variable">kol</span> <span class="code-text">=</span> <span class="code-string">'Zosia'</span> <span class="code-keyword">WHERE</span> <span class="code-variable">kol</span> <span class="code-text">=</span> <span class="code-string">'Ania'</span><span class="code-text">;</span></code>. Dlatego ta kwerenda jest poprawna.

Pytanie 18

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. napisowego.
B. zmiennoprzecinkowego.
C. NaN
D. liczbowe, całkowite.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity.

Pytanie 19

W kodzie HTML5 znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
<p>Druga linia</p>
A. Znaczniki powinny być zapisane wielkimi literami.
B. Nagłówek szóstego poziomu nie istnieje.
C. Pierwszy znacznik <p> nie został zamknięty.
D. Znacznik <br> musi być zamknięty.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym zadaniu chodziło o rozpoznanie typowego błędu związanego z poprawnym zamykaniem znaczników HTML, a dokładniej – ze znacznikiem <p>. W przedstawionym kodzie rzeczywiście pierwszy znacznik <p> nie został zamknięty przed pojawieniem się kolejnego bloku <p>, co powoduje naruszenie struktury dokumentu. Według specyfikacji HTML5, element <p> nie powinien być zagnieżdżany ani przerwany przez inny blokowy element (w tym przypadku przez drugi <p>). Przeglądarki zwykle próbują automatycznie domykać taki znacznik, ale nie jest to dobra praktyka – takie poleganie na mechanizmach autokorekty może później prowadzić do trudnych do wykrycia błędów wizualnych albo nieprzewidywalnych efektów w stylach CSS. Z mojego doświadczenia wynika, że konsekwentne zamykanie znaczników nie tylko poprawia czytelność kodu, ale i ułatwia pracę zespołową oraz skalowanie projektu. Przykład: jeśli piszesz większy artykuł i zapomnisz zamknąć <p>, cała dalsza część tekstu może zostać potraktowana jako jeden paragraf. To potrafi solidnie namieszać, nawet w prostych stronach! Branża webowa od lat promuje zasadę – pisz zgodnie ze specyfikacją, a będziesz miał mniej problemów później. Zawsze lepiej przejrzeć strukturę dokumentu dwa razy, niż potem szukać błędów na produkcji. Przy pracy z edytorami kodu warto korzystać z funkcji podświetlania składni lub walidatorów HTML, które od razu wyłapują takie potknięcia.

Pytanie 20

Wskaż pętlę w języku JavaScript, która wypisze sześć kolejnych liczb parzystych.

A. for(i=2;i<=12;i+=2) {document.write(i);}
B. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
C. for(i=2;i<12;i+=2) {document.write(i);}
D. for(i=2;i<12;i++) {i++; document.write(i);}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to pętla for(i=2;i<=12;i+=2) {document.write(i);}, ponieważ jest ona skonstruowana w sposób, który pozwala na wyświetlenie sześciu kolejnych liczb parzystych, zaczynając od 2 do 12 włącznie. Pętla for składa się z trzech głównych części: inicjalizacji (i=2), warunku (i<=12) oraz inkrementacji (i+=2). Inicjalizacja ustawia zmienną i na 2, co jest pierwszą liczbą parzystą. Warunek i<=12 zapewnia, że pętla będzie kontynuowana do momentu, gdy i osiągnie wartość większą niż 12, co oznacza, że ostatnią liczbą, która zostanie wyświetlona, będzie 12. Inkrementacja i+=2 powoduje, że przy każdej iteracji wartość i zwiększa się o 2, co pozwala na przechodzenie pomiędzy kolejnymi liczbami parzystymi (2, 4, 6, 8, 10, 12). Taki sposób konstrukcji pętli jest zgodny z zasadami programowania w JavaScript oraz pozwala na efektywne i kontrolowane wyświetlanie danych na stronie. Istotne jest również, że wykorzystanie metody document.write() jest jedną z prostszych form wyświetlania danych w JavaScript, aczkolwiek w praktyce jest zalecane korzystanie z bardziej nowoczesnych metod, takich jak manipulacja DOM, aby uniknąć nadpisywania całej zawartości strony.

Pytanie 21

Kolor zielony w skróconej notacji szesnastkowej można w CSS zapisać jako:

A.
#0F0
B.
#FFF
C.
#F00
D.
#00F

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CSS dopuszcza skrócony zapis koloru <code><span class="code-text">#</span><span class="code-variable">RGB</span></code>, w którym każda cyfra jest powielana - <code><span class="code-text">#</span><span class="code-number">0</span><span class="code-variable">F0</span></code> odpowiada <code><span class="code-text">#</span><span class="code-number">00</span><span class="code-variable">FF00</span></code>. To pełna składowa zielona przy zerowych pozostałych, czyli czysty zielony. Skrót działa tylko, gdy obie cyfry pary są takie same (np. <code><span class="code-text">#</span><span class="code-variable">FF8800</span></code> → <code><span class="code-text">#</span><span class="code-variable">F80</span></code>). Dlatego zielony w skróconej notacji to <code><span class="code-text">#</span><span class="code-number">0</span><span class="code-variable">F0</span></code>.

Pytanie 22

W instrukcjach, których celem jest odtwarzanie dźwięku na stronie internetowej jako tła muzycznego, nie stosuje się atrybutu

A. href="c:/100.wav"
B. volume="-100"
C. balance="10"
D. loop="10"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut href w kontekście dźwięku na stronie internetowej jest używany w tagu <audio> lub <source>, aby wskazać lokalizację pliku audio. Pliki dźwiękowe, które mają być odtwarzane w przeglądarkach, powinny być dostępne pod adresem URL, a nie w lokalnym systemie plików, jak w przypadku href='c:/100.wav'. Standardy W3C oraz HTML5 określają, że pliki audio powinny być dostępne przez HTTP lub HTTPS, co pozwala na ich odtwarzanie zdalnie. Jeśli plik audio znajduje się na lokalnym dysku, nie będzie on dostępny dla użytkowników odwiedzających stronę poprzez Internet. Przykładem poprawnego użycia atrybutu href jest wskazanie pliku dźwiękowego, który jest hostowany na serwerze, na przykład href='http://example.com/audio/track1.mp3'. Ponadto, do kontrolowania odtwarzania dźwięku można wykorzystać inne atrybuty jak autoplay, loop, czy controls, które pozwalają na lepsze zarządzanie interakcją użytkownika z muzyką na stronie.

Pytanie 23

Który operator w języku SQL zwraca resztę z dzielenia (modulo)?

A.
&
B.
%
C.
/
D.
||

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Operator <code><span class="code-text">%</span></code> w SQL (m.in. w MySQL) oblicza resztę z dzielenia całkowitego - modulo. Na przykład <code><span class="code-keyword">SELECT</span> <span class="code-number">7</span> <span class="code-text">%</span> <span class="code-number">3</span></code> zwróci 1, bo 7 podzielone przez 3 daje 2 i resztę 1. Bywa wykorzystywany np. do sprawdzenia parzystości (<code><span class="code-variable">liczba</span> <span class="code-text">%</span> <span class="code-number">2</span> <span class="code-text">=</span> <span class="code-number">0</span></code>) czy cykliczności. W niektórych systemach dostępna jest też funkcja <code><span class="code-function">MOD</span><span class="code-text">(</span><span class="code-variable">a</span><span class="code-text">,</span> <span class="code-variable">b</span><span class="code-text">)</span></code>. Dlatego resztę z dzielenia zwraca operator <code><span class="code-text">%</span></code>.

Pytanie 24

Które zapytanie posortuje listę uczniów według roku urodzenia?

A.
SELECT imie, nazwisko, klasa FROM uczniowie ORDER BY nazwisko
B.
SELECT imie, nazwisko, klasa FROM uczniowie GROUP BY rok_urodzenia
C.
SELECT imie, nazwisko, klasa FROM uczniowie WHERE rok_urodzenia = 1994
D.
SELECT imie, nazwisko, klasa FROM uczniowie ORDER BY rok_urodzenia

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Sortowanie wyniku zapewnia klauzula <code><span class="code-keyword">ORDER</span> <span class="code-keyword">BY</span></code>, więc listę uczniów wg roku urodzenia da <code><span class="code-keyword">SELECT</span> <span class="code-variable">imie</span><span class="code-text">,</span> <span class="code-variable">nazwisko</span><span class="code-text">,</span> <span class="code-variable">klasa</span> <span class="code-keyword">FROM</span> <span class="code-variable">uczniowie</span> <span class="code-keyword">ORDER</span> <span class="code-keyword">BY</span> <span class="code-variable">rok_urodzenia</span></code> (domyślnie rosnąco; <code><span class="code-variable">DESC</span></code> odwraca kolejność). To <code><span class="code-keyword">ORDER</span> <span class="code-keyword">BY</span></code> decyduje o KOLEJNOŚCI wierszy w wyniku. Zapamiętaj: chcesz uporządkować wynik - użyj <code><span class="code-keyword">ORDER</span> <span class="code-keyword">BY</span></code> z nazwą kolumny.

Pytanie 25

Który zapis CSS ustawi wcięcie PIERWSZEJ linii akapitu na 30 pikseli?

A.
p { line-indent: 30px; }
B.
p { line-height: 30px; }
C.
p { text-indent: 30px; }
D.
p { text-spacing: 30px; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wcięcie PIERWSZEJ linii akapitu ustawia właściwość <code><span class="code-variable">text-indent</span></code>, więc <code><span class="code-variable">p</span> <span class="code-text">{</span> <span class="code-keyword">text-indent</span><span class="code-text">:</span> <span class="code-number">30</span><span class="code-variable">px</span><span class="code-text">;</span> <span class="code-text">}</span></code> przesunie początek pierwszego wiersza o 30 pikseli. Dlatego ten zapis jest poprawny.

Pytanie 26

Dla dowolnego a z przedziału (0, 99) zadaniem funkcji zapisanej w języku JavaScript jest

function fun1(a)
{
    for (n = a; n <= 100; n++)
        document.write(n);
    return n;
}
A. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
B. zwrócenie liczb z przedziału a .. 99
C. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Funkcja fun1(a) w języku JavaScript przyjmuje argument a i za pomocą pętli for wypisuje liczby od a do 100 włącznie - a więc pętla jest iterowana tyle razy, ile wynosi różnica między 100 a wartością argumentu a. Po każdej iteracji pętli, wartość zmiennej n jest zwiększana o 1, co jest typowym zachowaniem dla pętli for w JavaScript. Funkcja zwraca wartość zmiennej n po zakończeniu pętli. Tak więc funkcja zwraca 101, ponieważ to właśnie wartość o 1 większa niż warunek kończący pętlę (100) spowoduje jej zakończenie. Ta funkcja to przykładowe zastosowanie pętli for w JavaScript, pokazujące praktyczne zastosowanie tego elementu składni. Pętla for jest standardem w branży i jest powszechnie stosowana do iterowania przez elementy tablicy, obiekty, liczby i inne struktury danych.

Pytanie 27

Jeden klient może mieć wiele zamówień, a każde zamówienie należy do jednego klienta. Jaka to relacja?

A.
1 .. 1
B.
n .. 1
C.
1 .. n
D.
n .. n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Jeden klient i wiele jego zamówień, przy czym każde zamówienie należy do JEDNEGO klienta - to klasyczna relacja jeden-do-wielu, zapisywana 1..n. W bazie realizuje ją klucz obcy <code><span class="code-variable">klient_id</span></code> w tabeli zamówień. Zapamiętaj: „jeden ma wiele, każde z wielu wraca do jednego” = 1..n.

Pytanie 28

Zgodnie z zasadami ACID dotyczącymi transakcji, wymóg izolacji (ang. isolation) wskazuje, że

A. jeśli dwie transakcje są wykonywane równolegle, to zazwyczaj nie zauważają wprowadzanych przez siebie zmian
B. pod określonymi warunkami dane modyfikowane przez transakcję mogą zostać anulowane
C. po zrealizowaniu transakcji system baz danych będzie w stanie spójności
D. gdy wystąpi konflikt z inną transakcją, obie mogą modyfikować te same dane równocześnie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Izolacja, jako jedno z kluczowych wymagań standardu ACID w kontekście transakcji baz danych, oznacza, że transakcje wykonywane współbieżnie nie wpływają na siebie nawzajem w sposób widoczny. Gdy dwie transakcje są uruchamiane jednocześnie, każda z nich operuje na swoim zestawie danych, nie widząc zmian dokonanych przez drugą do momentu zakończenia transakcji. Dzięki temu, nawet w środowisku o dużym natężeniu operacji, możliwe jest zapewnienie spójności danych. Na przykład, w systemie bankowym, jeśli jeden użytkownik wykonuje przelew, a inny jednocześnie sprawdza stan konta, to proces sprawdzania nie powinien ujawniać niepotwierdzonych jeszcze operacji przelewu. W praktyce, mechanizmy takie jak blokady, czasowe znaczniki (timestamps) oraz protokoły kontroli współbieżności (np. MVCC - Multi-Version Concurrency Control) są wykorzystywane do zapewnienia tej izolacji, co jest fundamentalne dla zachowania integralności danych i poprawności operacji w wielu aplikacjach bazodanowych.

Pytanie 29

Jaki typ danych w PHP oznacza float?

A. zmiennoprzecinkowy
B. łańcuchowy
C. całkowity
D. logiczny

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ <code><span class="code-variable">float</span></code> w PHP oznacza liczbę ZMIENNOPRZECINKOWĄ (rzeczywistą), czyli z częścią ułamkową, np. <code><span class="code-number">3.14</span></code>. Część dziesiętną zapisuje się kropką. Dlatego <code><span class="code-variable">float</span></code> to typ zmiennoprzecinkowy.

Pytanie 30

W CSS, aby zastosować efekt przekreślenia, a także podkreślenia dolnego lub górnego w tekście, należy użyć

A. text-decoration
B. text-transform
C. text-align
D. text-indent

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'text-decoration' jest prawidłowa, ponieważ ta właściwość CSS umożliwia dodawanie różnych efektów dekoracyjnych do tekstu, takich jak przekreślenie, podkreślenie oraz nadkreślenie. Przykładowo, aby przekreślić tekst, możesz użyć następującego kodu: 'text-decoration: line-through;'. Z kolei dla podkreślenia tekstu zastosujesz 'text-decoration: underline;'. W kontekście standardów CSS3, 'text-decoration' ma na celu nie tylko estetykę, ale także poprawę czytelności, co jest kluczowe w projektowaniu responsywnych i dostępnych stron internetowych. Warto również pamiętać o dobrych praktykach, takich jak unikanie nadmiernego stosowania dekoracji, które mogą odwracać uwagę od treści. W praktyce, kontrolowanie wyglądu tekstu za pomocą 'text-decoration' pozwala na tworzenie bardziej zróżnicowanych i atrakcyjnych interfejsów użytkownika, co w efekcie może zwiększyć zaangażowanie odwiedzających stronę.

Pytanie 31

UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);
W tabeli klient o polach: id, imie, nazwisko, miejscowosc znajduje się 5 rekordów o id od 1 do 5. Dla których wartości kolumny id przedstawiona kwerenda zaktualizuje zawartość pola miejscowosc na Warszawa?
A. 2, 4
B. 1, 5
C. 3
D. 2, 3, 4

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie UPDATE, które widzisz w treści pytania, działa bardzo precyzyjnie: `UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);` oznacza wprost „zmień wartość kolumny miejscowosc na 'Warszawa' tylko w tych wierszach, w których kolumna id ma wartość 2 albo 4”. Klauzula `WHERE id IN (2,4)` to po prostu skrócony zapis warunku: `WHERE id = 2 OR id = 4`. Skoro w tabeli są rekordy o id 1, 2, 3, 4, 5, to modyfikacji podlegają tylko te dwa wiersze, które spełniają warunek logiczny, czyli id równe 2 i id równe 4. Pozostałe rekordy nie są w żaden sposób dotykane przez to polecenie – ich miejscowość zostaje bez zmian. Z mojego doświadczenia to bardzo często używany wzorzec w praktyce, np. gdy trzeba szybko poprawić dane tylko wybranych klientów, zamówień czy produktów. Warto pamiętać, że polecenie UPDATE bez klauzuli WHERE zaktualizuje wszystkie rekordy w tabeli, co zwykle jest niebezpieczne i w realnych projektach uznawane za błąd, jeśli nie jest to w pełni świadome działanie. W profesjonalnych systemach bazodanowych dobrą praktyką jest zawsze dokładne sprawdzanie warunku WHERE, czasem nawet poprzedzonego zapytaniem SELECT z takim samym warunkiem, żeby zobaczyć, które wiersze zostaną zmienione przed wykonaniem UPDATE. W tym przykładzie można by najpierw zrobić: `SELECT * FROM klient WHERE id IN (2,4);`, a dopiero potem uruchomić UPDATE. W codziennej pracy z SQL konstrukcja `IN` jest też wygodna, gdy lista identyfikatorów jest dłuższa, np. `IN (2,4,7,10,15)`, zamiast pisać długie wyrażenie z wieloma OR. To poprawia czytelność i zmniejsza ryzyko pomyłki przy edycji kodu, co jest po prostu zdrową praktyką w zespole programistów i administratorów baz danych.

Pytanie 32

Podczas definiowania pola id w tabeli MySQL użyto AUTO_INCREMENT. Co to oznacza?

id int NOT NULL AUTO_INCREMENT
A. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
B. możliwe jest dodanie rekordu z dowolną wartością pola id
C. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
D. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pole z definicją AUTO_INCREMENT w MySQL oznacza że podczas dodawania nowego rekordu do tabeli wartość tego pola jest automatycznie zwiększana najczęściej o jeden począwszy od wartości startowej. To zachowanie jest szczególnie przydatne w przypadku kluczy głównych gdzie unikalność jest wymagana. Jeśli mamy tabelę użytkowników i chcemy przypisać każdemu unikalny identyfikator możemy użyć AUTO_INCREMENT na kolumnie id. W ten sposób baza danych sama zadba o to by każda nowa wartość id była większa od poprzedniej co zapewnia automatyczne nadawanie kolejnych niepowtarzalnych wartości. Taka funkcjonalność jest zgodna z praktykami tworzenia baz danych i ułatwia zarządzanie danymi oraz ich integralność. Jest to również optymalizacja pod kątem wydajności ponieważ pozwala na szybkie dodawanie rekordów bez potrzeby ręcznego określania wartości klucza głównego. Dodatkowo zapewnia uporządkowane numerowanie rekordów co jest korzystne przy analizach i raportowaniu

Pytanie 33

Która pętla w PHP wykona swoje instrukcje CO NAJMNIEJ RAZ, bo warunek sprawdzany jest dopiero na końcu?

A.
for
B.
do...while
C.
while
D.
foreach

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pętla <code><span class="code-variable">do</span><span class="code-text">.</span><span class="code-text">.</span><span class="code-text">.</span><span class="code-keyword">while</span></code> najpierw WYKONUJE blok instrukcji, a dopiero potem sprawdza warunek - dlatego jej ciało wykona się przynajmniej raz, nawet gdy warunek od początku jest fałszywy. Stosuje się ją, gdy coś trzeba zrobić co najmniej raz, np. wyświetlić menu, a potem pytać o powtórzenie. Zapamiętaj: warunek na KOŃCU = minimum jedno wykonanie.

Pytanie 34

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. odnośników, które otwierają się w tej samej karcie
B. tekstu akapitu
C. każdego linku
D. odnośników, które otwierają się w nowej karcie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź wskazuje na zastosowanie selektora a[target="_blank"] w języku CSS. Ten selektor odnosi się do wszystkich odnośników HTML, które otwierają się w nowej karcie przeglądarki dzięki użyciu atrybutu target z wartością "_blank". Stylizacja tych odnośników na kolor żółty jest możliwa przez przypisanie właściwości color z odpowiednią wartością. Jest to praktyczne podejście, które pozwala na wizualne wyróżnienie linków otwierających się w osobnych zakładkach. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych, gdzie wskazane jest, aby użytkownicy mieli wyraźne sygnały o nietypowych działaniach linków. W kontekście dostępności webowej, takie stylizowanie wspiera użytkowników w szybszym orientowaniu się w sposobie działania poszczególnych elementów interfejsu. Separacja stylu i treści zgodnie z zasadami CSS umożliwia bardziej elastyczne zarządzanie wyglądem strony i ułatwia utrzymanie spójności wizualnej na całej witrynie. Przykład ten ilustruje, jak CSS może wpływać na interakcję użytkownika z elementami strony, co jest kluczowe w procesie tworzenia przyjaznych i intuicyjnych interfejsów użytkownika.

Pytanie 35

Jakie formaty wideo są obsługiwane przez standard HTML5?

A. MP4, Ogg, WebM
B. Ogg, QuickTime
C. Ogg, AVI, MPEG
D. MP4, AVI

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź MP4, Ogg, WebM jest prawidłowa, ponieważ wszystkie te formaty są zgodne ze standardem HTML5 i są powszechnie stosowane w aplikacjach internetowych. MP4, z wykorzystaniem kodeka H.264, zapewnia wysoką jakość obrazu i dźwięku przy stosunkowo małych rozmiarach plików, co czyni go jednym z najpopularniejszych formatów w sieci. Ogg, szczególnie w wersji Vorbis dla audio i Theora dla wideo, jest otwartym formatem, co oznacza, że nie wymaga licencji na użycie, co sprzyja jego zastosowaniu w projektach, które preferują otwarte technologie. WebM, stworzony przez Google, również korzysta z otwartych kodeków, takich jak VP8/VP9 dla wideo oraz Vorbis/Opus dla audio, co czyni go idealnym do zastosowań w środowisku internetowym. W praktyce, korzystając z tych formatów, deweloperzy mogą zapewnić szeroką kompatybilność z różnymi przeglądarkami oraz urządzeniami, co jest kluczowe w kontekście dostępności treści multimedialnych dla użytkowników. Warto również zwrócić uwagę na dobór formatów w kontekście SEO oraz szybkości ładowania stron, gdyż odpowiednia konfiguracja może wpływać na wyniki w wyszukiwarkach oraz doświadczenie użytkownika.

Pytanie 36

Jaki jest domyślny port serwera HTTP?

A. 8080
B. 443
C. 21
D. 80

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Domyślnym portem usługi HTTP jest 80 - przeglądarka łączy się z nim automatycznie, gdy w adresie nie podano innego, dlatego adresów typu http://strona.pl nie trzeba uzupełniać o numer portu. Port to liczbowy „adres” usługi na serwerze; znajomość domyślnych portów ułatwia konfigurację i diagnozę sieci. Dla bezpiecznego HTTPS używa się portu 443. Dlatego domyślny port serwera HTTP to 80.

Pytanie 37

Podczas zapisywania hasła użytkownika w serwisie internetowym (np. w bankowości online), w celu zabezpieczenia go przed ujawnieniem, zazwyczaj stosuje się funkcję

A. abstrakcyjnych
B. mieszających
C. klucza
D. cyklometrycznych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zastosowanie klucza do zabezpieczenia haseł użytkowników jest kluczowym elementem w praktykach zarządzania bezpieczeństwem informacji. Klucz, często w połączeniu z techniką haszowania, umożliwia stworzenie bezpiecznego mechanizmu przechowywania haseł. Gdy użytkownik tworzy hasło, używa się funkcji haszującej, która przyjmuje hasło oraz unikalny klucz i generuje z nich wynikowy hash. Taki hash jest następnie przechowywany w bazie danych zamiast samego hasła. Aby zweryfikować, czy hasło podane przez użytkownika jest poprawne, system ponownie haszuje wprowadzone hasło z tym samym kluczem i porównuje wynik z tym przechowywanym w bazie. Dzięki temu, nawet w przypadku wycieku danych, napastnik nie uzyskuje dostępu do rzeczywistych haseł. Dobre praktyki branżowe, takie jak stosowanie soli (random salt) oraz iteracyjnych algorytmów haszujących (np. PBKDF2, bcrypt), dodatkowo wzmacniają proces bezpieczeństwa haseł, czyniąc je bardziej odpornymi na ataki typu brute-force.

Pytanie 38

Podstawowym celem korzystania z edytora WYSIWYG jest

A. wykrywanie błędów w bazie danych
B. automatyzacja odtwarzania plików multimedialnych
C. ściąganie z Internetu pełnych portali WWW
D. szybka wizualizacja tworzonej strony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Edytory WYSIWYG (What You See Is What You Get) są narzędziami, które umożliwiają tworzenie i edytowanie treści internetowych w sposób wizualny, co oznacza, że użytkownik widzi na ekranie dokładnie to, co otrzyma po zapisaniu dokumentu. Głównym celem ich stosowania jest przyspieszenie procesu projektowania stron internetowych poprzez natychmiastowe wizualizowanie zmian. Dzięki temu, osoby nieposiadające zaawansowanej wiedzy programistycznej mogą łatwo tworzyć atrakcyjne wizualnie strony, co ma ogromne znaczenie w kontekście szybkiego rozwoju branży webowej. Przykłady zastosowania edytorów WYSIWYG to platformy takie jak WordPress, Wix czy Squarespace, które umożliwiają użytkownikom dodawanie treści, obrazów i multimediów bez potrzeby pisania kodu. Warto również zauważyć, że edytory te wspierają standardy webowe, takie jak HTML5 i CSS3, co pozwala na optymalizację stron pod kątem SEO oraz responsywności. W związku z rosnącą popularnością edytorów WYSIWYG, znajomość ich działania staje się kluczowa dla każdego, kto pragnie efektywnie zarządzać treściami w sieci.

Pytanie 39

Na czym polega walidacja strony internetowej?

A. na działaniach zwiększających liczbę odwiedzin
B. na reklamie strony
C. na udostępnieniu jej w Internecie
D. na sprawdzeniu jej w celu wykrycia i usunięcia błędów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Walidacja strony internetowej to sprawdzenie jej kodu (np. HTML, CSS) pod kątem zgodności ze standardami W3C, w celu wykrycia i usunięcia błędów. Poprawny kod lepiej wyświetla się w różnych przeglądarkach. Dlatego walidacja to wykrywanie i usuwanie błędów.

Pytanie 40

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
B. zliczanie liczby wizyt na stronie
C. pokazanie ciasteczka z zapisanym parametrem
D. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Program w PHP pokazany w pytaniu wykorzystuje mechanizm ciasteczek do zliczania liczby odwiedzin strony przez użytkownika. Mechanizm ten opiera się na zmiennej 'ciastko', która jest przechowywana w ciasteczku w przeglądarce użytkownika. Przy pierwszym uruchomieniu strony, jeśli ciasteczko nie istnieje, ustawiana jest jego wartość na 1. W kolejnych odwiedzinach wartość ta jest odczytywana i zwiększana o 1, a następnie ponownie zapisywana do ciasteczka. Dzięki temu użytkownik, odświeżając stronę, widzi aktualizowaną liczbę odwiedzin. Takie rozwiązanie jest skuteczne w śledzeniu aktywności użytkownika na stronie, ale ma swoje ograniczenia. Na przykład, jeśli użytkownik wyczyści ciasteczka w swojej przeglądarce, licznik zostanie zresetowany, co może być niepożądane w niektórych aplikacjach. Zliczanie odwiedzin z wykorzystaniem ciasteczek jest jednak popularnym podejściem ze względu na prostotę implementacji i brak potrzeby skomplikowanej infrastruktury serwerowej. W praktyce, dla bardziej zaawansowanej analizy odwiedzin, często korzysta się również z narzędzi analitycznych, jak Google Analytics, które pozwalają na śledzenie użytkowników bez wpływu na ich lokalne ustawienia przeglądarki