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: 23 lipca 2026 22:17
  • Data zakończenia: 23 lipca 2026 22:39

Egzamin niezdany

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

W JavaScript wynik operacji przyjmie wartość NaN, gdy skrypt próbował wykonać:

A. operację arytmetyczną, gdy zmienna była napisem (nieliczbowym)
B. funkcję parseFloat zamiast parseInt na liczbie
C. sprawdzenie długości napisu, gdy zmienna była liczbą
D. operację arytmetyczną na dwóch dodatnich liczbach
Wartość NaN (Not a Number) to specjalny wynik oznaczający „to nie jest liczba”. Pojawia się, gdy JavaScript próbuje wykonać DZIAŁANIE ARYTMETYCZNE na czymś, czego nie da się zamienić na liczbę - np. "abc" * 2 albo parseInt("kot"). Co ważne, NaN jest „zaraźliwy”: każde kolejne działanie z jego udziałem też da NaN. Stąd nawyk sprawdzania danych z formularzy funkcją isNaN() przed liczeniem. Zapamiętaj: arytmetyka na nieliczbowym napisie = NaN.

Pytanie 2

W JavaScript utworzono obiekt. Jak zmienić wartość właściwości x tego obiektu w dalszej części kodu?

var obiekt1 = {
  x: 0,
  y: 0,
  wsp: function() { … }
}
A. x = …
B. obiekt1.x = …
C. wsp.x = …
D. obiekt1::x = …
W JavaScript dostęp do właściwości obiektów można uzyskać przy pomocy notacji kropkowej lub nawiasowej. Ale użycie tych notacji musi być właściwe, bo w przeciwnym razie mogą się pojawić błędy. Na przykład zapis obiekt1::x = … nie zadziała, bo JavaScript nie rozumie podwójnego dwukropka do dostępu do właściwości. Może się to mylić, bo niektóre inne języki tak robią, ale nie w JavaScript. Kolejna kwestia z wsp.x = … jest taka, że wsp powinien być obiektem z właściwością x, ale w tym przypadku wsp to właściwość obiektu obiekt1, a nie niezależny obiekt. Próba użycia wsp do dostępu do x byłaby błędna. Ostatnia opcja x = … jest poprawna w kontekście zmiennej, ale nie odnosi się do zmiany właściwości x w obiekcie. Taki zapis zmienia tylko wartość zmiennej x, a nie właściwości obiektu. Więc, mimo że inne odpowiedzi mogą wydawać się sensowne w różnych kontekstach, tylko obiekt1.x = … jest właściwym sposobem na modyfikację właściwości obiektu w JavaScript.

Pytanie 3

Jaką wartość zwróci w PHP funkcja empty($a), gdy zmienna $a ma wartość liczbową 0?

A.
0
B.
TRUE
C.
NULL
D.
FALSE
Pozostałe odpowiedzi błędnie określają wynik. empty() zawsze zwraca wartość logiczną (prawda/fałsz), więc nie odda samej liczby 0 ani NULL. FALSE byłoby poprawne tylko, gdyby zmienna NIE była pusta - tymczasem zero PHP zalicza do wartości pustych, więc funkcja zwraca TRUE. Dla wartości liczbowej 0 wynikiem empty($a) jest TRUE, dlatego ta odpowiedź jest poprawna.

Pytanie 4

Do czego wykorzystuje się certyfikat SSL?

A. do odszyfrowywania przesyłanych danych przez osoby trzecie
B. do zapisywania danych o sesjach na stronie
C. do blokowania złośliwego oprogramowania
D. do potwierdzenia tożsamości (właściciela) domeny i szyfrowania połączenia
Pozostałe opisy są błędne. Certyfikat nie przechowuje danych sesji (od tego są ciasteczka i sesje serwera). Nie służy też osobom trzecim do ODSZYFROWANIA danych - przeciwnie, ma im to uniemożliwić. Blokowanie złośliwego oprogramowania to zadanie antywirusa. SSL potwierdza tożsamość domeny i szyfruje połączenie.

Pytanie 5

Klucz obcy w bazie danych jest tworzony w celu

A. łączenia go z innymi kluczami obcymi w tabeli
B. określenia relacji 1..n łączącej go z kluczem głównym innej tabeli
C. stworzenia formularza do wprowadzania danych do tabeli
D. umożliwienia jednoznacznej identyfikacji rekordu w bazie danych
Zrozumienie roli klucza obcego w tabeli wymaga głębszego spojrzenia na struktury relacyjnych baz danych. Klucz obcy definiuje relacje pomiędzy tabelami, co jest niezwiązane z jednoznaczną identyfikacją rekordu w tabeli. Ta koncepcja jest często mylona, ponieważ klucz główny, a nie klucz obcy, jest odpowiedzialny za zapewnienie unikalności każdego rekordu. Klucz obcy jest używany do wskazywania na klucz główny w innej tabeli, co tworzy powiązania, ale nie ma on na celu identyfikacji rekordu w swojej tabeli. Dodatkowo, klucz obcy nie ma związku z tworzeniem formularzy do wprowadzania danych. Formularze są narzędziem interfejsu użytkownika, które mogą wykorzystywać dane z tabel bazodanowych, ale nie są bezpośrednio związane z pojęciami klucza obcego i klucza głównego. Tworzenie formularzy nie zmienia struktury danych czy relacji między nimi. W kontekście łączenia kluczy obcych z innymi kluczami obcymi, również jest to niepoprawne, gdyż klucz obcy nie jest używany do tworzenia połączeń z innymi kluczami obcymi w tej samej tabeli. Klucz obcy ma na celu jedynie odniesienie do klucza głównego z innej tabeli, co ilustruje podstawowe zasady projektowania baz danych, w tym zapewnienie integralności referencyjnej i unikanie cyklicznych odniesień, które mogą prowadzić do błędów i niepoprawnych danych. Zrozumienie tych różnic jest kluczowe dla skutecznego projektowania relacyjnych baz danych.

Pytanie 6

Który sposób utworzenia tablicy w JavaScript jest składniowo NIEPOPRAWNY?

A.
var liczby = [3];
B.
var liczby = new Array[1, 2, 3];
C.
var liczby = [1, 2, 3];
D.
var liczby = new Array(1, 2, 3);
Trzy pozostałe zapisy są prawidłowe, więc nie są odpowiedzią na pytanie o błąd. [1, 2, 3] oraz [3] to literały tablicy w nawiasach kwadratowych – najprostszy i najczęstszy sposób. new Array(1, 2, 3) używa konstruktora Array z nawiasami okrągłymi, co również jest poprawne. Błędem składniowym jest new Array[1, 2, 3] – wywołanie konstruktora nie może mieć nawiasów kwadratowych, dlatego to ta odpowiedź jest poprawna.

Pytanie 7

Aby pobrać dane z formularza HTML tak, aby nie były widoczne w adresie URL, należy zastosować:

A. metodę GET
B. wyłącznie funkcje z biblioteki PDO
C. same kontrolki, bez formularza
D. metodę POST
Kluczem jest tu sposób, w jaki formularz wysyła dane. Metoda GET dopisuje je bezpośrednio do adresu URL w postaci par nazwa=wartość, więc są od razu widoczne w pasku adresu, w historii i logach serwera - dokładnie tego mieliśmy uniknąć. Wybranie samych kontrolek bez formularza w ogóle nie zadziała: to formularz odpowiada za zebranie i wysłanie danych na serwer. Biblioteka PDO dotyczy zupełnie innego etapu - służy do komunikacji PHP z bazą danych, a nie do decydowania, jak dane opuszczają przeglądarkę. Aby ukryć je przed adresem URL, formularz musi korzystać z metody POST, która przenosi dane w treści żądania.

Pytanie 8

Pole kolor w tabeli samochody może mieć wartości tylko ze słownika lakier. Która kwerenda ustanowi tę relację?

A.
ALTER TABLE samochody
ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
B.
ALTER TABLE samochody
ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
C.
ALTER TABLE samochody
ADD FOREIGN KEY kolor REFERENCES lakier;
D.
ALTER TABLE samochody
ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
Pozostałe zapisy są błędne. Brak nawiasu wokół kolumny (FOREIGN KEY kolor) jest niepoprawny składniowo. Warianty z barwa wskazują nieistniejącą kolumnę, a odwołania samochody.lakier czy samochody(kolor) kierują do złej tabeli. Poprawne jest ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId).

Pytanie 9

Jaka forma zabezpieczenia dostępu do tabel i kwerend działa w MS Access?

A. limity przestrzeni dyskowej
B. stosowanie makr
C. określanie przestrzeni tabel
D. przypisanie uprawnień użytkownikom
Pozostałe odpowiedzi nie dotyczą ochrony dostępu. Makra automatyzują czynności (np. otwarcie formularza), ale nie bronią danych przed niepowołanymi osobami. Określanie przestrzeni tabel oraz limity przestrzeni dyskowej to kwestie zarządzania miejscem i wydajnością. Bezpieczeństwo obiektów zapewnia przypisanie uprawnień użytkownikom.

Pytanie 10

tr:nth-child(even) {background-color: #F2F2F2;}
Zastosowane formatowanie selektora tr:nth-child(even) spowoduje:
A. wypełnienie wszystkich wierszy tabeli szarym tłem.
B. wypełnienie szarym tłem nieparzystych wierszy tabeli.
C. oddzielenie wierszy nieparzystych od parzystych wierszem z szarym tłem.
D. wypełnienie szarym tłem parzystych wierszy tabeli.
W tym zadaniu kluczowe jest zrozumienie, jak dokładnie działa funkcja nth-child() w CSS oraz co oznaczają słowa kluczowe even i odd. Wiele osób intuicyjnie myli te pojęcia i zakłada, że selektor zadziała trochę „magicznie”, np. tylko na wybrane elementy, albo że numeracja zaczyna się od zera. Tymczasem przeglądarka liczy dzieci danego elementu rodzica od 1 w górę, w kolejności ich występowania w drzewie DOM. Słowo kluczowe even oznacza wszystkie elementy o indeksach parzystych: 2, 4, 6, 8 itd. Dlatego tr:nth-child(even) nie może oznaczać wypełnienia nieparzystych wierszy tabeli – do tego służyłby selektor tr:nth-child(odd). Pomylenie even z odd to bardzo typowy błąd, zwłaszcza na początku nauki CSS, bo nazwy są krótkie i łatwo je skojarzyć odwrotnie, niż trzeba. Kolejne nieporozumienie to przekonanie, że nth-child(even) obejmuje wszystkie wiersze tabeli. Gdyby chodziło o wszystkie wiersze <tr>, wystarczyłby prosty selektor tr bez nth-child. Funkcja nth-child() zawsze wybiera tylko pewien podzbiór dzieci, zgodnie z podanym wzorem, więc mówienie, że styl z taką funkcją dotyczy wszystkich elementów, jest po prostu sprzeczne z definicją tej konstrukcji w specyfikacji CSS. Pojawia się też czasem myśl, że taka reguła ma jakiś „separujący” charakter, czyli że wstawia wizualny wiersz oddzielający nieparzyste i parzyste rekordy. CSS nie dodaje nowych elementów do DOM, on tylko styluje te, które już istnieją. tr:nth-child(even) nie tworzy żadnego dodatkowego wiersza, nie wstawia separatorów, po prostu zmienia tło wybranych istniejących wierszy, zgodnie z parzystością ich indeksu. W praktyce, jeśli chcemy mieć efekt wyraźnego rozdzielenia wierszy, używa się obramowań (border), cieni lub właśnie naprzemiennego kolorowania, ale zawsze w ramach istniejących <tr>. Dobrym nawykiem jest też pamiętanie, że nth-child() liczy wszystkie dzieci danego rodzica, więc jeśli w tabeli mamy thead, tbody i tfoot, to często stosuje się selektor tbody tr:nth-child(even), żeby uniknąć nieoczekiwanych przesunięć numeracji przez nagłówki. Zrozumienie tej zasady bardzo ułatwia późniejsze korzystanie z bardziej złożonych wzorów nth-child, jak np. 2n+1 czy 3n.

Pytanie 11

W języku PHP znajduje się poniższa instrukcja pętli. Ile iteracji wykona ta pętla, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu i nie zastosowano instrukcji przerywającej pętlę typu break?

for ($i = 10; $i <= 100; $i += 10)
A. 9 iteracji
B. 10 iteracji
C. 100 iteracji
D. 11 iteracji
Podana pętla w języku PHP jest zdefiniowana jako: for ($i = 10; $i <= 100; $i += 10). W tym przypadku, zmienna sterująca $i jest inicjalizowana na wartość 10 i jest inkrementowana o 10 w każdej iteracji, aż osiągnie wartość 100 włącznie. Zatem, możliwe wartości zmiennej $i podczas powtórzeń pętli będą: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. W sumie daje to 10 powtórzeń, ponieważ pętla wykonuje się także dla wartości 100. W praktyce, znajomość struktur pętli w PHP jest kluczowa, szczególnie podczas przetwarzania dużych zbiorów danych, gdzie efektywność i precyzyjne kontrolowanie liczby iteracji mogą znacznie wpłynąć na wydajność skryptów. Przy implementacji pętli, warto również pamiętać o standardach czystości kodu oraz zasadach DRY (Don't Repeat Yourself), co pozwala na utrzymanie czytelności i ułatwia przyszłe modyfikacje kodu.

Pytanie 12

Warunek zapisany w JavaScript będzie prawdziwy, gdy zmienna x posiada

Ilustracja do pytania
A. dowolną dodatnią wartość liczbową
B. wartość, która nie jest liczbą
C. pusty ciąg znaków
D. dowolną całkowitą wartość liczbową
W JavaScript warunek zapisany jako if (!isNaN(x) && x > 0) sprawdza dwie rzeczy jednocześnie. Po pierwsze, użycie funkcji isNaN(x) w negacji oznacza, że zmienna x musi być wartością liczbową. Funkcja isNaN() zwraca true, jeśli wartość nie jest liczbą, więc jego negacja wymaga, aby x było liczbą. Po drugie, x > 0 wymaga, aby liczba była większa od zera, czyli dodatnia. To sprawia, że warunek jest prawdziwy tylko wtedy, gdy x jest dowolną dodatnią wartością liczbową. W praktyce takie sprawdzenie jest używane na przykład w walidacji danych wejściowych, kiedy chcemy upewnić się, że użytkownik podał poprawną wartość liczbową, która ma znaczenie w kontekście aplikacji, na przykład w przypadku formularzy zamówień, gdzie cena produktu musi być dodatnia. Użycie takich warunków odzwierciedla dobre praktyki programistyczne, gdzie walidacja i sprawdzanie poprawności danych są kluczowe dla stabilności i bezpieczeństwa aplikacji. Podsumowując, poprawne rozumienie i implementacja takiego warunku pomaga unikać błędów logicznych i zapewnia, że aplikacja działa zgodnie z oczekiwaniami.

Pytanie 13

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);
A. mysqli_use_result()
B. mysqli_num_rows()
C. mysqli_field_count()
D. mysqli_affected_rows()
Wybór innych funkcji zamiast mysqli_affected_rows() prowadzi do nieporozumień dotyczących ich przeznaczenia i zastosowania. Przykładowo, funkcja mysqli_num_rows() jest używana w kontekście kwerend SELECT, gdzie zwraca liczbę wierszy w zestawie wyników. Nie może być zastosowana po operacjach modyfikujących bazę danych, takich jak UPDATE, ponieważ nie dostarcza informacji o efektach tych operacji. Z kolei mysqli_use_result() jest przeznaczona do przetwarzania zestawów wyników z zapytań, co znowu nie odnosi się do sytuacji, w której chcemy znać liczbę zmienionych wierszy. Funkcja mysqli_field_count() zwraca liczbę kolumn w ostatnim zapytaniu, które zwróciło rezultat, co również nie ma zastosowania w kontekście zapytań modyfikujących. Typowym błędem myślowym jest mieszanie funkcji związanych z różnymi rodzajami zapytań. Ważne jest, aby rozumieć, jak różne funkcje w PHP dotyczące MySQL są ze sobą powiązane i jakie mają specyficzne zastosowania. Nieprawidłowe użycie tych funkcji może prowadzić do błędnych wniosków o stanie bazy danych i utrudniać debugowanie aplikacji. W związku z tym kluczowym elementem efektywnego zarządzania bazami danych jest znajomość odpowiednich funkcji oraz ich funkcji i ograniczeń.

Pytanie 14

W języku PHP zmienna typu float może przyjmować wartości

A. jedynie liczby całkowite
B. wartości zmiennoprzecinkowe
C. wartości logiczne
D. wartości nieliczbowe
Wybór odpowiedzi dotyczącej całkowitych wartości jest nieprawidłowy, ponieważ zmienne typu float w języku PHP są definiowane do przechowywania liczb zmiennoprzecinkowych, a nie tylko całkowitych. Dla wielu programistów może być mylące, że wartości całkowite i zmiennoprzecinkowe są traktowane jako odrębne typy danych, a tymczasem float jest bardziej uniwersalny, pozwalając na reprezentację obu. Wybór nieliczbowych wartości także jest błędny, ponieważ zmienne float są właśnie typem numerycznym, co oznacza, że przechowują wartości liczbowe, a nie literowe czy inne typy danych. To prowadzi do mylnego przekonania, że float może przechowywać dane w postaci tekstu, co jest technicznie niemożliwe. Również odpowiedź o wartościach logicznych wykazuje zrozumienie pomiędzy różnymi typami zmiennych w PHP, gdzie typ logiczny (boolean) przyjmuje wartości true lub false, co całkowicie różni się od wartości numerycznych. Często pojawia się błąd myślowy polegający na mieszaniu pojęć numerycznych oraz logicznych, co prowadzi do zafałszowania zrozumienia działania typów danych w programowaniu. Kluczowe jest dostrzeganie różnic między tymi typami oraz ich zastosowaniem, co jest fundamentalne dla efektywnego programowania w PHP. Wreszcie, świadomość typów danych oraz ich zastosowań jest ważnym elementem w procesie pisania poprawnego kodu, co może zapobiegać błędom i ułatwiać zrozumienie działania aplikacji.

Pytanie 15

Która instrukcja służy do iteracji (powtarzania)?

A.
throw
B.
for
C.
else
D.
switch
Instrukcja for to pętla - powtarza blok kodu określoną liczbę razy, ze zmienną licznikową, warunkiem i krokiem. Dlatego do iteracji służy for.

Pytanie 16

Z tabeli mieszkancy trzeba wydobyć unikalne nazwy miast, w tym celu należy użyć wyrażenia SQL zawierającego klauzulę

A. HAVING
B. CHECK
C. UNIQUE
D. DISTINCT
Odpowiedź 'DISTINCT' jest prawidłowa, ponieważ klauzula ta w SQL służy do eliminacji duplikatów z wyników zapytania. Gdy chcemy uzyskać unikalne wartości z określonej kolumny, stosujemy 'SELECT DISTINCT nazwa_kolumny FROM nazwa_tabeli'. Na przykład, używając zapytania 'SELECT DISTINCT miasto FROM mieszkancy', otrzymamy jedynie unikalne nazwy miast bez powtórzeń. To podejście jest szczególnie przydatne w analizach, gdzie kluczowe jest posiadanie jedynie jednorazowych wartości, na przykład w raportach marketingowych czy badaniach demograficznych. W praktyce 'DISTINCT' powinno być używane z rozwagą, gdyż jego użycie może wpływać na wydajność zapytania, zwłaszcza w przypadku dużych zbiorów danych. Należy również pamiętać, że 'DISTINCT' dotyczy wszystkich kolumn w zapytaniu – jeśli wybierzemy więcej niż jedną kolumnę, to zduplikowane wiersze będą usuwane tylko wtedy, gdy wszystkie kolumny są identyczne. To sprawia, że 'DISTINCT' jest elastycznym narzędziem w SQL, pozwalającym na efektywne zarządzanie i przetwarzanie danych.

Pytanie 17

Który efekt został zaprezentowany na filmie?

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

W języku CSS zapis

p::first-line {font-size: 150%;}
zastosowany na stronie z wieloma paragrafami, z których każdy zawiera kilka linii, spowoduje, że
A. cały tekst paragrafu zostanie powiększony o 150%
B. pierwsza linia każdego paragrafu będzie miała mniejszą czcionkę niż pozostałe linie
C. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
D. pierwszy paragraf na stronie w całości będzie miał powiększoną czcionkę
Nieprawidłowe odpowiedzi opierają się na błędnym rozumieniu tego, jak działa selektor 'p::first-line'. Pierwsza odpowiedź sugeruje, że pierwsza linia paragrafu będzie miała mniejszą czcionkę, co to bzdura, bo ten selektor właśnie definiuje styl tylko tej linii, a nie reszty. Z kolei, kiedy mówimy o 'font-size: 150%', to tylko oznacza zwiększenie rozmiaru czcionki, a nie coś innego. W drugiej odpowiedzi jest napisane, że cały tekst będzie większy, co jest błędne, bo '::first-line' odnosi się tylko do tej pierwszej linii. Ostatnia myśl, która dotyczy tylko jednego paragrafu, też mijam się z prawdą, bo stylizacja dotyczy wyłącznie pierwszej linii, a nie wszystkich. Takie nieporozumienia mogą wynikać z niewłaściwego zrozumienia selektorów CSS i ich właściwego użycia. Zawsze warto pamiętać o kontekście i zasadach ich działania przy stylizacji tekstu w CSS.

Pytanie 19

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. rysunku umieszczonego w tle strony w poziomie.
B. rysunku umieszczonego w tle strony w pionie.
C. rysunku umieszczonego znacznikiem img.
D. tła każdego ze znaczników akapitu.
Twoja odpowiedź jest na miejscu. To, co mówi 'background-repeat: repeat-y;' w CSS, oznacza, że tło będzie się powtarzać w pionie. Super sprawa, jeśli chcesz, by obraz w tle pokrywał całą wysokość elementu, niezależnie od tego, jak duży on jest. Używa się tego często w projektowaniu stron, żeby stworzyć fajne efekty wizualne, jak na przykład tło, które działa w pasku nawigacyjnym. Warto pamiętać, że powtarzanie tła to zaledwie jedna z wielu opcji, jakie mamy w CSS. Możesz również ustawiać pozycję tła czy jego rozmiar, żeby wszystko wyglądało tak, jak chcesz.

Pytanie 20

W języku działającym po stronie serwera tworzysz ankietę, której wynik ma być zapamiętany w postaci małego pliku po stronie użytkownika. Jaki mechanizm wykorzystasz?

A. tablicę globalną $_FILES
B. sesję
C. ciasteczka (cookies)
D. bazę danych SQL
Ciasteczko (cookie) to niewielki plik zapisywany przez serwer w przeglądarce użytkownika i odsyłany przy kolejnych żądaniach. Idealnie nadaje się do zapamiętania drobnej informacji po stronie klienta, np. że ktoś wziął już udział w ankiecie. W PHP ustawia się je funkcją setcookie(). Dlatego dane zapisywane w małym pliku u użytkownika to ciasteczka.

Pytanie 21

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. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
C. zwrócenie liczb z przedziału a .. 99
D. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
Wybrane przez Ciebie odpowiedzi są niepoprawne, gdyż nie odzwierciedlają w pełni działania pętli for w JavaScript. Pętla for jest używana do iterowania tyle razy, ile wynosi różnica między 100 a wartością argumentu a, wypisując każdą iterację. Następnie funkcja zwraca wartość o 1 większą niż warunek kończący pętlę (100), co wynosi 101. Błędem było zakładanie, że funkcja zwraca wartości w inny sposób. Przykładowo, jedna z nieprawidłowych odpowiedzi sugerowała, że funkcja zwraca liczby z przedziału a do 99 - jednakże zwracana jest liczba 101. Inna błędna odpowiedź sugerowała, że funkcja wypisuje wartość zmiennej a i zwraca wartość zmiennej n - jednakże wypisywane są liczby od a do 100, a zwracana jest wartość 101. Kolejnym błędem było zakładanie, że funkcja zwraca wartość 100 - co jest nieprawdą, gdyż funkcja zwraca wartość 101. Zrozumienie działania pętli for i funkcji zwracających wartości jest kluczowe dla programowania w JavaScript, dlatego warto poświęcić więcej czasu na praktykę i naukę tych konceptów.

Pytanie 22

W podanym kodzie JavaScript ponumerowano linie dla ułatwienia. W programie występuje błąd, ponieważ po wykonaniu żadna wiadomość nie jest wyświetlana. Aby usunąć ten błąd, należy

1. if (a < b)
2. document.write(a);
3. document.write(" jest mniejsze");
4. else
5. document.write(b);
6. document.write(" jest mniejsze");
A. umieścić znaki $ przed nazwami zmiennych
B. dodać nawiasy klamrowe w sekcjach if oraz else
C. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'
D. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
Wstawienie znaków $ przed zmiennymi a i b jest podejściem, które nie ma zastosowania w standardowym JavaScript, gdyż nie jest to sposób na wskazywanie zmiennych w tym języku. W rzeczywistości, znaki $ są używane w niektórych bibliotekach, takich jak jQuery, ale nie wpływają na samą składnię JavaScript. Użycie apostrofów zamiast cudzysłowów również nie rozwiązuje problemu, gdyż JavaScript zezwala na użycie zarówno cudzysłowów, jak i apostrofów do definiowania ciągów tekstowych, jednak nie wpływa to na wykonanie bloków kodu. Zmiana zmiennych na ciągi znakowe w liniach 2 i 5 wprowadza błąd, ponieważ zamiast wartości zmiennych a i b, kod wyświetli dosłownie tekst 'a' oraz 'b', co nie jest zamierzonym celem. W programowaniu, ważne jest nie tylko zrozumienie składni, ale także logiki, jaką ona za sobą niesie. Regularne stosowanie dobrych praktyk, takich jak wstawianie nawiasów klamrowych, pozwala uniknąć takich typowych błędów, które mogą prowadzić do niewłaściwego działania kodu. Ponadto, poznanie i przestrzeganie standardów programistycznych znacznie zwiększa jakość i niezawodność tworzonych aplikacji.

Pytanie 23

Do czego odnosi się termin „front-end” w kontekście tworzenia stron internetowych?

A. do interfejsu strony i technologii działających w przeglądarce
B. do działania skryptów wykonywanych po stronie serwera
C. do bazy danych z informacjami prezentowanymi na stronie
D. do organizacji danych na serwerze WWW
Pozostałe opisy dotyczą back-endu (strony serwerowej): organizacja danych na serwerze, baza danych i skrypty wykonywane po stronie serwera to zaplecze niewidoczne dla użytkownika. Front-end to interfejs i technologie działające w przeglądarce.

Pytanie 24

Jakie prawa będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł dodawać rekordy do tabeli klienci
B. Będzie mógł zmieniać strukturę tabeli klienci
C. Będzie mógł usuwać rekordy z tabeli klienci
D. Będzie mógł przeszukiwać dane w tabeli klienci
Rozważając inne opcje dostępne w pytaniu warto zwrócić uwagę na zakres uprawnień jakie są zazwyczaj przyznawane użytkownikom baz danych. Uprawnienia takie jak INSERT pozwalają na dodawanie nowych rekordów do tabeli co jest istotne w aplikacjach wymagających częstego aktualizowania danych użytkowników. Jednak w przedstawionym scenariuszu uprawnienia te zostały usunięte poleceniem REVOKE co oznacza że jan nie może wstawiać nowych rekordów do tabeli klienci co zdaje się być częstym nieporozumieniem w interpretacji uprawnień. Podobnie DELETE pozwala na usuwanie rekordów co jest kluczowe w zarządzaniu przestrzenią i utrzymywaniu danych aktualnymi. Jednakże po ponownym rozważeniu zaproponowanego scenariusza widzimy że jan nie ma już tych uprawnień. SELECT z kolei służy do przeszukiwania i wyświetlania danych co jest podstawowym działaniem w analizie danych. Brak tego uprawnienia oznacza brak możliwości przeglądania danych co może być ograniczeniem w pracy z bazą danych. Często mylnie zakłada się że użytkownik posiada wszystkie podstawowe uprawnienia co wynika z niewłaściwego zrozumienia poleceń GRANT i REVOKE. W praktyce administratorzy baz danych muszą precyzyjnie zarządzać uprawnieniami aby zapewnić bezpieczeństwo integralność i wydajność danych co oznacza dokładne zrozumienie i stosowanie poleceń DCL (Data Control Language).

Pytanie 25

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. arytmetycznych
B. logicznymi
C. przypisania
D. bitowych
Odpowiedzi przypisania, bitowe oraz arytmetyczne są błędne z kilku powodów, które dotyczą ich definicji i zastosowania w kontekście języka JavaScript. Operatory przypisania, takie jak '=', służą do przypisywania wartości do zmiennych, co jest fundamentalnym aspektem zarządzania danymi w programowaniu. Nie mają one jednak związku z operacjami logicznymi, które koncentrują się na manipulacji wartościami prawda/fałsz. Z kolei operatory bitowe, takie jak '&' i '|', operują na bitach liczby i są używane do wykonywania operacji na poziomie binarnym. Chociaż operatorzy bitowi mogą wydawać się podobni do operatorów logicznych, ich zastosowanie i efekty są zupełnie inne. Operatorzy arytmetyczni, natomiast, obejmują takie operacje jak dodawanie, odejmowanie, mnożenie i dzielenie, które są stosowane do wartości liczbowych. Ostatecznie, mylenie operatorów logicznych z tymi trzema kategoriami może prowadzić do poważnych błędów w kodzie, takich jak nieprawidłowe warunki w instrukcjach warunkowych, co może skutkować nieoczekiwanym zachowaniem aplikacji. Zrozumienie różnic pomiędzy tymi operatorami jest kluczowe dla każdego programisty, aby uniknąć typowych pułapek związanych z logiką programowania.

Pytanie 26

W języku HTML, aby uzyskać efekt podobny do tego w przykładzie, trzeba użyć konstrukcji

Ilustracja do pytania
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</strike> zwykły tekst</p>
D. <p><strike>Duży tekst zwykły tekst</p>
Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia funkcji i zastosowania znaczników HTML. Znacznik <strike> jest używany do przekreślania tekstu, co nie odpowiada zadaniu zwiększenia rozmiaru tekstu. Stosowanie <strike> w kontekście zmiany rozmiaru tekstu jest błędem, ponieważ jego przeznaczeniem jest wizualne oznaczenie tekstu jako nieważnego lub usuniętego. Jest to powszechny błąd, gdzie mylone są znaczniki służące do różnych celów. Z kolei <big> powinno być stosowane wewnątrz znacznika zamykającego, aby poprawnie wpływać na rozmiar tekstu. Każdy znacznik HTML, który otwiera sekcję tekstową, powinien być odpowiednio zamknięty, co zapewnia poprawną strukturę dokumentu HTML. Niedomknięcie znacznika <big> wpływa na strukturę dokumentu i może prowadzić do nieprzewidywalnych wyników w przeglądarkach. Znajomość zasad zamykania znaczników jest fundamentalna dla zapewnienia zgodności z przeglądarkami i utrzymania czytelności kodu. Warto również podkreślić, że współczesne standardy HTML i CSS zalecają ograniczenie stosowania znaczników o przestarzałych funkcjach na rzecz nowoczesnych metod formatowania za pomocą stylów CSS, co zapewnia większą elastyczność i lepsze praktyki kodowania.

Pytanie 27

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. solid
B. double
C. dashed
D. dotted
Wybór właściwości takich jak solid double czy dotted dla stylu obramowania często wynika z niepełnego zrozumienia ich zastosowań Solid jest używane do tworzenia ciągłej linii co może być mylące gdy celem jest uzyskanie efektu linii przerywanej W kontekście projektowania stron internetowych solid jest bardziej dominujące i może przesuwać punkt ciężkości z treści na formatowanie co nie zawsze jest pożądane Double tworzy podwójną linię i choć może być stosowane w celu uzyskania bardziej wyrazistego efektu jego użycie w sytuacji gdy potrzebna jest subtelność jest nieodpowiednie Dotyczy to sytuacji gdzie wizualna przejrzystość i prostota są kluczowe Dotted tworzy linię z kropkami która różni się od dashed strukturą i wyglądem podczas gdy dashed używa kresek dotted sprawia wrażenie bardziej delikatnej i lekko chaotycznej linii co nie zawsze jest zgodne z zamierzonym stylem estetycznym Struktura dotted może być stosowana tam gdzie wymagana jest bardziej dekoracyjna linia Wybór właściwej właściwości jest kluczowy dla osiągnięcia zamierzonego efektu wizualnego i powinien być oparty na standardach projektowania stron internetowych które uwzględniają zarówno estetykę jak i funkcjonalność Zapewnienie spójności w użyciu stylów w całej witrynie jest również istotne dla zachowania profesjonalnego wyglądu i łatwości użytkowania takich jak rozpoznawalność interakcji i intuicyjność nawigacji poprzez odpowiednie oznaczenia CSS pozwala na szeroką personalizację co wymaga zrozumienia subtelnych różnic między różnymi wartościami stylów i ich odpowiednimi zastosowaniami w kontekście projektu

Pytanie 28

Który z podanych formatów plików jest formatem rastrowym?

A. SVG
B. CDR
C. TIFF
D. SWF
Pozostałe formaty nie są rastrowe. SVG to grafika wektorowa - opisuje obraz krzywymi i kształtami, więc skaluje się bez utraty jakości. CDR to format projektów wektorowych programu CorelDRAW. SWF to format animacji i aplikacji technologii Flash, a nie pojedynczego, pikselowego obrazu. Obraz złożony z pikseli (raster) przechowuje TIFF, dlatego ta odpowiedź jest poprawna.

Pytanie 29

Który z poniższych typów plików NIE JEST używany do publikacji grafiki lub animacji na stronach www?

A. SWF
B. PNG
C. SVG
D. AIFF
AIFF (Audio Interchange File Format) to format plików dźwiękowych, który nie jest wykorzystywany do publikacji grafiki ani animacji na stronach internetowych. Jego głównym zastosowaniem jest przechowywanie wysokiej jakości dźwięku, dlatego znajdujemy go często w produkcjach audio i nagraniach muzycznych. W przeciwieństwie do formatów jak SVG (Scalable Vector Graphics), SWF (Shockwave Flash) czy PNG (Portable Network Graphics), które są przeznaczone do grafiki i animacji, AIFF nie jest odpowiedni do wizualizacji treści w sieci. Przykładowo, SVG jest często wykorzystywany do tworzenia skalowalnych grafik wektorowych, które są popularne w projektowaniu stron internetowych, a PNG jest formatem rastrowym, który świetnie sprawdza się w przypadku obrazów z przezroczystością. W kontekście publikacji internetowych, kluczowe jest stosowanie odpowiednich formatów, które zapewniają optymalizację i zgodność z różnymi przeglądarkami, a AIFF nie spełnia tych wymagań.

Pytanie 30

Jakiej funkcji w języku PHP należy użyć, aby nawiązać połączenie z bazą danych pod nazwą zwierzaki?

A. $polacz = db_connect('localhost', 'root', '', 'zwierzaki')
B. $polacz = server_connect('localhost', 'root', '', 'zwierzaki')
C. $polacz = mysqli_connect('localhost', 'root', '', 'zwierzaki')
D. $polacz = sql_connect('localhost', 'root', '', 'zwierzaki')
Funkcje zaproponowane w odpowiedziach 1, 2 i 3 nie są poprawne, ponieważ nie istnieją w standardowej bibliotece PHP do obsługi baz danych MySQL. Przykład $polacz = db_connect('localhost', 'root', '', 'zwierzaki'); sugeruje, że istnieje funkcja o nazwie db_connect, co jest mylnym przekonaniem. Tego typu nazewnictwo może powstać z pomyłki lub z nieznajomości dokumentacji PHP, a także z prób tworzenia własnych abstrakcji, które jednak wymagają dodatkowej implementacji. W przypadku drugiej odpowiedzi, $polacz = sql_connect('localhost', 'root', '', 'zwierzaki'); również nie jest poprawne, ponieważ nie istnieje funkcja sql_connect w żadnej wersji PHP. Może to wynikać z mylenia terminologii, ponieważ wielu programistów używa terminów SQL i MySQL zamiennie, nie zdając sobie sprawy, że MySQL jest specyficzną implementacją obsługi SQL. Ostatnia sugestia, $polacz = server_connect('localhost', 'root', '', 'zwierzaki'); jest także nieprawidłowa, ponieważ taka funkcja nie istnieje w kontekście PHP i jest przykładem błędnego wnioskowania, które może prowadzić do dezorientacji wśród programistów. W programowaniu niezwykle istotne jest trzymanie się udokumentowanych funkcji i standardów, aby uniknąć problemów z kompatybilnością, wydajnością oraz bezpieczeństwem aplikacji. Dlatego kluczowe jest zapoznanie się z dokumentacją PHP oraz zrozumienie, jak poprawnie łączyć się z bazami danych, aby móc efektywnie korzystać z ich możliwości.

Pytanie 31

Do czego służy polecenie GRANT w SQL?

A. do nadawania użytkownikom praw do obiektów
B. do odbierania użytkownikom praw
C. do aktualizacji istniejących danych
D. do wstawiania nowych danych do bazy
Polecenie GRANT należy do DCL i służy do NADAWANIA użytkownikom praw do obiektów bazy (np. SELECT, INSERT na tabeli). Dlatego GRANT nadaje użytkownikom uprawnienia.

Pytanie 32

Który atrybut HTML wyświetla podpowiedź (dymek) pokazywaną po najechaniu kursorem na element?

A.
alt
B.
src
C.
id
D.
title
Pozostałe atrybuty pełnią inne funkcje. alt niesie tekst alternatywny obrazu - pokazuje się, gdy obraz się nie wczyta, i odczytuje go czytnik ekranu, ale nie jest dymkiem po najechaniu. src wskazuje ścieżkę do pliku (np. obrazu lub skryptu). id nadaje elementowi unikalny identyfikator używany w CSS i JavaScript. Podpowiedź w postaci dymka wyświetla atrybut title, dlatego to on jest poprawny.

Pytanie 33

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Funkcja zdefiniowana
B. Trigger
C. Procedura składowa
D. Zasada
Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.

Pytanie 34

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

A. liczby rekordów w danej tabeli
B. wierszy tabeli, z wyjątkiem wiersza nagłówkowego, w którym znajdują się nazwy kolumn
C. wszystkich kolumn tabeli, które zawierają atrybuty danego obiektu
D. wszystkich wierszy tabeli łącznie z wierszem nagłówkowym
Pierwsza z niepoprawnych odpowiedzi sugeruje, że krotki to liczba rekordów tabeli. Jednak w rzeczywistości krotki są pojedynczymi wierszami zawierającymi zbiory atrybutów, a nie ich ilość. Liczba rekordów, czyli krotek, jest zmienną miarą, która jest istotna dla analizy danych, ale sama w sobie nie definiuje krotek. Kolejna odpowiedź zakłada, że krotki obejmują wszystkie wiersze tabeli wraz z wierszem nagłówkowym. Wiersz nagłówkowy, który zawiera nazwy kolumn, nie jest częścią krotek, ponieważ krotki reprezentują tylko dane użytkownika. W związku z tym, takie ujęcie błędnie interpretuje strukturę danych w tabeli. Ostatnia niepoprawna odpowiedź sugeruje, że krotki to wszystkie kolumny tabeli zawierające atrybuty obiektu. Kolumny definiują atrybuty i zapewniają strukturę dla danych, ale same w sobie nie są krotkami. Krotka odnosi się do konkretnego zestawu wartości atrybutów w jednym wierszu, a nie do ich zbioru jako całości. Te nieścisłości odzwierciedlają fundamentalne różnice między strukturą relacyjnych baz danych a ich interpretacją w kontekście pojedynczych rekordów.

Pytanie 35

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. specyfikator dostępu
B. konstruktor
C. obiekt
D. destruktor
Konstruktor to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia nowego obiektu danej klasy. Jego głównym celem jest zainicjowanie pól obiektu oraz, w razie potrzeby, wykonanie dodatkowych działań konfiguracyjnych. W praktyce konstruktor umożliwia przygotowanie obiektu do dalszego użytkowania. Na przykład, w języku Java, konstruktor o nazwie klasy pozwala na tworzenie instancji tej klasy z określonymi wartościami dla pól. Dobre praktyki wskazują, że konstruktor powinien być używany do przekazywania parametrów, które są niezbędne do prawidłowego działania obiektu. Warto również wspomnieć o koncepcji konstruktorów przeciążonych, która pozwala na definiowanie wielu konstruktorów w jednej klasie, umożliwiając różne sposoby inicjalizacji obiektów. To sprawia, że kod jest bardziej elastyczny i czytelny, co jest zgodne z zasadami programowania obiektowego i dobrymi praktykami inżynierii oprogramowania.

Pytanie 36

Jakie polecenie pozwala na dodanie kolumny zadaniekompletne do tabeli zadania?

A. CREATEINDEX zadania ADD COLUMN zadaniekompletne int
B. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
C. ADD COLUMN zadaniekompletne WITH zadania
D. INSERT INTO zadania VALUES zadaniakompletne
Odpowiedź 'ALTER TABLE zadania ADD COLUMN zadaniekompletne int' jest rzeczywiście na miejscu. To polecenie ALTER TABLE to standardowy sposób na zmiany w tabelach w SQL. Dzięki niemu możemy dodawać, usuwać czy zmieniać kolumny, a także wprowadzać różne ograniczenia. W tym przypadku dodajemy nową kolumnę 'zadaniekompletne', która będzie przyjmować wartości całkowite (int). Fajnym przykładem zastosowania tego polecenia może być śledzenie postępu zadań w projekcie. Kolumna 'zadaniekompletne' mogłaby oznaczać, czy zadanie jest skończone (np. 0 dla nieukończonego, 1 dla ukończonego). Zawsze warto pomyśleć o tym, jak takie zmiany mogą wpłynąć na istniejące dane oraz aplikacje korzystające z tej tabeli, żeby nie narazić się na różne problemy z danymi.

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. cyklometrycznych
D. klucza
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

W skrypcie napisanym w języku PHP należy przeprowadzić operacje, gdy spełniony jest warunek, że adresy są parzystymi numerami na ulicach: Bratkowej oraz Nasturcjowej. Jakie wyrażenie logiczne to określa?

A. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer / 2 == 0
B. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0
C. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer / 2 == 0
D. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer % 2 == 0
Pojęcia zastosowane w odpowiedziach, które nie są poprawne, zawierają błędne założenia dotyczące użycia operatorów logicznych i arytmetycznych. W przypadku pierwszej odpowiedzi, użycie operatora && (i) do sprawdzania, czy zmienna $ulica jest jednocześnie równa "Bratkowa" i "Nasturcjowa" jest technicznie niemożliwe, ponieważ zmienna nie może przyjąć dwóch różnych wartości jednocześnie. Druga odpowiedź, która używa operatora / (dzielenie) w kontekście sprawdzania parzystości, wprowadza w błąd; reszta z dzielenia przez 2 jest właściwym sposobem sprawdzania parzystości, a nie dzielenie, które może prowadzić do nieprawidłowego wyniku - liczba będzie parzysta tylko wtedy, gdy reszta z dzielenia wynosi zero. W czwartej odpowiedzi, użycie operatora / również nie jest odpowiednie. Kluczowym błędem, który można zauważyć, jest nieprawidłowe myślenie o logice warunkowej i operatorach matematycznych. W praktyce, stosowanie reszty z dzielenia jako metody określenia parzystości jest powszechną praktyką w wielu językach programowania, w tym PHP. Dlatego konieczne jest zrozumienie, jak poprawnie formułować warunki logiczne oraz jakich operatorów używać, aby osiągnąć zamierzony efekt.

Pytanie 39

W CSS określono styl dla pola do edycji, które będzie miało tło w kolorze jasnozielonym po aktywacji.

input:focus { background-color: LightGreen; }
A. po kliknięciu myszką w celu wprowadzenia tekstu
B. gdy jest to pierwsze użycie tego elementu w dokumencie
C. jeśli zostanie na nie najechane kursorem bez kliknięcia
D. w każdej sytuacji
Odpowiedź "po kliknięciu myszą w celu zapisania w nim tekstu" jest poprawna, ponieważ reguła CSS `input:focus { background-color: LightGreen; }` definiuje styl, który ma zastosowanie, gdy pole edycyjne (input) jest w stanie "focus". Stan ten jest aktywowany, gdy użytkownik klika na pole, co pozwala na wpisywanie tekstu. To podejście jest zgodne z zasadami dostępności i użyteczności interfejsów, ułatwiając użytkownikom interakcję z formularzami. Przykładowo, w formularzach online, takie wizualne wskazanie na aktywne pole poprawia doświadczenie użytkownika, zwiększa czytelność oraz umożliwia łatwiejsze wprowadzanie danych. Warto również pamiętać, że dobrym standardem jest stosowanie kolorów tła, które są kontrastowe w stosunku do kolorów tekstu, aby zapewnić ich czytelność. Ponadto, w praktyce developerskiej, często wykorzystuje się dodatkowe efekty, takie jak animacje, które mogą poprawić interaktywność i wyrazistość reakcji na działania użytkownika. Właściwe stosowanie stylów CSS w kontekście stanu focus jest więc kluczowe dla tworzenia przyjaznych dla użytkownika interfejsów.

Pytanie 40

W CSS zdefiniowano styl dla pola edycji. Taki obszar będzie miał jasnozielone tło

input:focus { background-color: LightGreen; }
A. po kliknięciu myszą w celu wprowadzenia tekstu
B. jeśli jest to pierwsze wystąpienie tego elementu w dokumencie
C. gdy zostanie na niego najechane kursorem myszy bez kliknięcia
D. w każdej sytuacji
Pozostałe odpowiedzi opierają się na błędnym zrozumieniu zastosowania pseudoklas w języku CSS. Pseudoklasa :first-of-type, która mogłaby sugerować pierwsze wystąpienie znacznika w dokumencie, nie odnosi się do stanu aktywności pola edycyjnego. Stylizowanie pierwszego wystąpienia nie ma związku z interakcją użytkownika, a jedynie z pozycją elementu w strukturze dokumentu HTML. Kolejny błąd pojawia się przy założeniu, że zmiana koloru tła nastąpi gdy element zostanie wskazany kursorem myszy. W CSS taka interakcja jest obsługiwana przez pseudoklasę :hover, która stosuje się do elementów, nad którymi znajduje się wskaźnik myszy, ale nie obejmuje stanu aktywnego fokusu potrzebnego do edycji. Ostatnia błędna koncepcja dotyczy twierdzenia, że styl jest stosowany w każdym przypadku. To stwierdzenie ignoruje specyfikę selektorów CSS, które wymagają określonych warunków - w tym przypadku aktywnego fokusu elementu. Zrozumienie różnic między pseudoklasami :focus i :hover oraz znajomość ich zastosowań w projektowaniu interaktywnych interfejsów webowych jest kluczowe dla skutecznego stosowania CSS w praktyce. Poprawna wiedza na temat specyficznych zastosowań tych pseudoklas wpływa na jakość doświadczenia użytkownika i integrację funkcjonalności z estetyką projektu.