Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 13 czerwca 2026 14:20
  • Data zakończenia: 13 czerwca 2026 14:29

Egzamin niezdany

Wynik: 13/40 punktów (32,5%)

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

Na co wpływa częstotliwość próbkowania?

A. na jakość cyfrowego dźwięku
B. na jakość dźwięku analogowego
C. na skalę głośności utworu
D. na amplitudę fali dźwiękowej
Częstotliwość próbkowania (liczba próbek na sekundę, np. 44,1 kHz dla CD) decyduje o tym, jak wiernie sygnał analogowy zostanie odwzorowany w postaci CYFROWEJ. Im wyższa, tym dokładniejszy zapis i lepsze odwzorowanie wyższych tonów. Dlatego częstotliwość próbkowania wpływa na jakość cyfrowego dźwięku.

Pytanie 2

Zakładając, że żadne style CSS nie zostały zdefiniowane, przedstawiony efekt zostanie uzyskany przy pomocy

Tytuł
    Znaczniki języka HTML
Autor
    Ewa Konieczna
Słowa kluczowe
    witryny internetowe, HTML

Kod 1.
<ul>
  <li>Tytuł</li>
  <li>Znaczniki języka HTML</li>
  <li>Autor</li>
  <li>Ewa Konieczna</li>
  <li>Słowa kluczowe</li>
  <li>witryny internetowe, HTML</li>
</ul>

Kod 2.
<dl>
  <dt>Tytuł</dt>
  <dd>Znaczniki języka HTML</dd>
  <dt>Autor</dt>
  <dd>Ewa Konieczna</dd>
  <dt>Słowa kluczowe</dt>
  <dd>witryny internetowe, HTML</dd>
</dl>

Kod 3.
<ol>
  <li>Tytuł</li>
  <dl>Znaczniki języka HTML</dl>
  <li>Autor</li>
  <dl>Ewa Konieczna</dl>
  <li>Słowa kluczowe</li>
  <dl>witryny internetowe, HTML</dl>
</ol>

Kod 4.
<table>
  <tr>Tytuł</tr>
  <td>Znaczniki języka HTML</td>
  <tr>Autor</tr>
  <td>Ewa Konieczna</td>
  <tr>Słowa kluczowe</tr>
  <td>witryny internetowe, HTML</td>
</table>
A. Kodu 1.
B. Kodu 3.
C. Kodu 4.
D. Kodu 2.
Niestety, Twoja odpowiedź nie jest poprawna. Na podstawie analizy załączonego obrazka można stwierdzić, że efekt przedstawiony na zdjęciu zostanie uzyskany przy użyciu 'Kodu 2', który jest kodem HTML definiującym tabelę. Wybierając inne opcje, pomijasz ważną rolę, jaką tabele odgrywają w prezentowaniu informacji w strukturze danych. Tabele HTML są przydatne do prezentowania zestawów danych, które mają związek ze sobą. Za pomocą tabeli można łatwo zorganizować takie dane w czytelny sposób. Zwróć uwagę, że wybór nieodpowiedniego kodu do osiągnięcia określonego efektu może prowadzić do niepotrzebnych komplikacji, takich jak trudności w utrzymaniu kodu, problemów z dostępnością i nieprawidłowego wyświetlania na różnych urządzeniach czy przeglądarkach. Pamiętaj, że ważne jest zrozumienie podstawowych koncepcji HTML i CSS, aby być w stanie tworzyć efektywne i dostępne strony internetowe.

Pytanie 3

W której z technologii NIE da się przetwarzać danych wprowadzonych przez użytkownika na stronie WWW?

A. AJAX
B. PHP
C. CSS
D. JavaScript
CSS to język opisu WYGLĄDU strony (kolory, układ, czcionki) - nie jest językiem programowania i nie potrafi przetwarzać danych wprowadzonych przez użytkownika (np. z formularza). Dlatego to w CSS nie da się przetwarzać danych.

Pytanie 4

Aby przygotować układ strony z trzema kolumnami ustawionymi obok siebie, można posłużyć się stylem CSS:

A.
.kolumny {
  float: left;
  width: 40%;
}
B.
.kolumny {
  float: left;
  width: 33%;
}
C.
.kolumny {
  clear: both;
  height: 33%;
}
D.
.kolumny {
  float: right;
  height: 33%;
}
Pozostałe style nie dadzą trzech równych kolumn obok siebie. Wariant z float: right i height: 33% steruje wysokością, a nie szerokością elementów - a to szerokość decyduje o tym, ile kolumn zmieści się w rzędzie. Styl z clear: both wręcz wyłącza opływanie, więc elementy zostaną ustawione jeden pod drugim, zamiast obok siebie. Ostatni jest bliski poprawnemu (ma float: left), ale width: 40% jest za duże - trzy kolumny po 40% przekraczają 100% szerokości i ostatnia spadnie do następnego rzędu. Trzy równe kolumny daje float: left z width: 33%.

Pytanie 5

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 6

W HTML-u utworzono formularz. Jaki efekt działania poniższego kodu zostanie pokazany przez przeglądarkę, jeśli w drugie pole użytkownik wprowadził tekst "ala ma kota"?

<form>
    <select>
        <option value="v1">Kraków</option>
        <option value="v2">Poznań</option>
        <option value="v3">Szczecin</option>
    </select><br>
    <input type="password" />
</form>
Ilustracja do pytania
A. D
B. C
C. A
D. B
Pozostałe odpowiedzi są niepoprawne z kilku powodów związanych z różnym renderowaniem elementów formularza HTML. Odpowiedź A pokazuje zastosowanie checkboxów, które są używane do wyboru wielu opcji z zestawu, ale nie są obecne w podanym kodzie HTML. Kod formularza zawiera element select, co sugeruje użycie rozwijanego menu, a nie checkboxów. Tym samym, A jest niepoprawna, ponieważ nie odzwierciedla struktury kodu. W odpowiedzi C widoczny jest poprawny element select, jednak pole hasła nie jest zamaskowane co nie jest zgodne z typowym zachowaniem pola input typu password w przeglądarkach. Hasła wprowadzane do formularzy są z reguły maskowane w celu ochrony danych użytkownika. Odpowiedź D przedstawia przyciski radiowe, które są stosowane, gdy użytkownik może wybrać tylko jedną opcję z grupy, co również nie odpowiada strukturze kodu HTML gdzie użyto rozwijanego menu poprzez element select. W HTMLu nie ma przycisków radiowych, co czyni tę odpowiedź niepoprawną. Typowe błędy myślowe prowadzące do wyboru nieprawidłowych odpowiedzi obejmują nieznajomość standardowego odwzorowania elementów HTML w przeglądarkach oraz brak zrozumienia różnicy między rodzajami pól wyboru i ich zastosowaniami. Znajomość tych podstawowych zasad pozwala na prawidłowe zrozumienie działania kodu HTML i jego reprezentacji w interfejsie użytkownika.

Pytanie 7

Na podstawie przedstawionego kodu w języku JavaScript można powiedzieć, że alert nie zostanie wyświetlony, ponieważ

var x = 10;
switch(x) {
    case "10": alert("Test instrukcji switch");
}
A. Nie zastosowano instrukcji break.
B. W instrukcji switch w wyrażeniu case nie dostosowano zapisu wartości do typu zmiennej x.
C. Wartość zmiennej x nie została zdefiniowana przed instrukcją switch.
D. Nie zastosowano wyrażenia default.
Prawda jest taka, że zastosowanie wyrażenia default, definicja zmiennej x przed instrukcją switch oraz użycie instrukcji break nie wpływają na wyświetlenie alertu w omawianym kodzie JavaScript. Wyrażenie default w instrukcji switch służy jako gwarancja wykonania bloku kodu, gdy żaden z przypadków nie pasuje do wyrażenia switch, ale jego brak nie jest przyczyną niepojawienia się alertu. Co więcej, zmienna x jest zdefiniowana przed instrukcją switch, co jest zgodne z zasadami JavaScript. Instrukcja break służy do zakończenia pętli lub instrukcji switch i przeniesienia wykonania do następnej instrukcji po instrukcji switch lub pętli, ale nie ma ona wpływu na porównanie typów danych w instrukcji case. Rzeczywistym powodem, dla którego alert nie jest wyświetlany, jest fakt, że JavaScript używa tzw. 'strict comparison' w instrukcji case, porównując zarówno wartość, jak i typ danych, a typy danych liczby 10 i ciągu znaków '10' są różne. Dlatego jest istotne, ażeby zawsze zwracać uwagę na typy danych podczas korzystania z instrukcji switch i case w JavaScript.

Pytanie 8

Aby obraz na stronie automatycznie dopasowywał się do rozmiaru ekranu, na którym strona jest wyświetlana, należy:

A. jeden z wymiarów ustawić w pikselach
B. nie zmieniać jego wymiarów stylami CSS
C. jego szerokość ustawić w wartościach procentowych
D. oba jego wymiary ustawić w pikselach
Responsywny obraz skaluje się razem z układem strony. Uzyskuje się to, ustawiając jego szerokość w jednostce względnej - w procentach, na przykład img { width: 100%; max-width: 100%; }. Obraz dopasowuje się wtedy do szerokości kontenera, a wysokość zwykle pozostawia się jako auto, by zachować proporcje. Dlatego szerokość obrazu ustawia się w wartościach procentowych.

Pytanie 9

W aplikacji internetowej komunikat powinien pojawiać się tylko wtedy, gdy dany użytkownik jest na stronie po raz pierwszy. Którą funkcję PHP należy w tym celu zastosować?

A. setcookie
B. mysqli_change_user
C. define
D. session_destroy
W tym zadaniu kluczowe jest zrozumienie, jaki mechanizm w PHP pozwala rozpoznać użytkownika pomiędzy kolejnymi wizytami. Chodzi o sytuację, gdy przeglądarka zamyka się, mija trochę czasu, a my nadal chcemy wiedzieć, czy dana osoba już kiedyś była na stronie. Do tego nie wystarczą zwykłe zmienne czy nawet sama sesja, bo sesja zazwyczaj wygasa po pewnym czasie bezczynności i jest przechowywana po stronie serwera. Mechanizm, który naturalnie pasuje do takiego scenariusza, to właśnie cookies, ustawiane funkcją setcookie(). Propozycja define jest związana z definiowaniem stałych w kodzie PHP. To działa tylko w czasie wykonywania skryptu po stronie serwera i nie ma żadnego związku z konkretnym użytkownikiem czy jego przeglądarką. Stała zdefiniowana przez define() istnieje tylko w jednym przebiegu skryptu i znika po zakończeniu wykonania. Nie pozwala więc zapamiętać, że konkretny użytkownik był już kiedyś na stronie. To raczej narzędzie konfiguracyjne, np. do zdefiniowania ścieżek, wersji aplikacji, stałych liczbowych. Często pojawia się też mylne przekonanie, że skoro są sesje, to wystarczy coś zrobić z session_destroy. Ta funkcja służy do niszczenia całej sesji użytkownika (wylogowania, czyszczenia danych sesyjnych), a nie do wykrywania pierwszej wizyty. Co więcej, sesja jest mechanizmem krótkotrwałym i zależnym od identyfikatora sesji, więc do trwałego rozpoznawania „pierwszy raz / kolejny raz” bez logowania to średni pomysł. W standardowych projektach sesja jest używana do przechowywania aktualnego stanu użytkownika, a nie do długotrwałego śledzenia wizyt. mysqli_change_user natomiast dotyczy zupełnie innego obszaru – zmiany użytkownika połączenia z bazą danych MySQL. To operacja na poziomie serwera bazy, kompletnie oderwana od pojęcia „pierwsza wizyta użytkownika na stronie”. Moim zdaniem typowy błąd przy takich pytaniach polega na mieszaniu mechanizmów: programista widzi słowo „user” i od razu myśli o logowaniu do bazy albo sesji, zamiast pomyśleć o tym, jak HTTP i przeglądarka identyfikują użytkownika między wizytami. Według dobrych praktyk webowych, jeśli chcemy prostego rozróżnienia, czy ktoś był już na stronie, to używamy ciasteczek ustawianych setcookie(), a pozostałe wymienione funkcje pełnią zupełnie inne, bardziej lokalne lub serwerowe role.

Pytanie 10

Selektor CSS a:link {color:red} w arkuszach stylów nazywanych kaskadowymi określa

A. klasę.
B. pseudoelement.
C. pseudoklasę.
D. identyfikator.
Pseudoklasa CSS to specjalny rodzaj selektora, który pozwala na stylizację elementów na podstawie ich stanu lub kontekstu w dokumencie HTML. Zapis 'a:link' wskazuje, że stylizacja dotyczy linków, które jeszcze nie zostały odwiedzone przez użytkownika. Przykładowo, w tym przypadku 'color:red' ustawia kolor tekstu linku na czerwony. Użycie pseudoklas jest zgodne z dobrymi praktykami, ponieważ pozwala na tworzenie bardziej dynamicznych i responsywnych interfejsów użytkownika, poprawiając jednocześnie doświadczenia użytkowników. Warto również zaznaczyć, że w CSS istnieją inne pseudoklasy, takie jak ':hover' czy ':active', które umożliwiają stylizację elementów w różnych interakcjach z użytkownikiem. Dzięki nim możemy na przykład zmieniać kolor linku, gdy użytkownik na niego najedzie myszką, co zwiększa przejrzystość i użyteczność strony. Używanie pseudoklas jest nie tylko praktyczne, ale także zalecane w dokumentacji CSS, co przyczynia się do lepszego zarządzania i organizacji kodu.

Pytanie 11

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez jeden dzień.
B. zostanie usunięty po jednej godzinie od jego utworzenia.
C. zostanie usunięty po jednym dniu od jego utworzenia.
D. będzie przechowywany na serwerze przez jedną godzinę.
Widzę, że pomyślałeś, że plik cookie będzie trzymany na serwerze. To nie tak, bo wszystkie pliki cookie są przechowywane na komputerze użytkownika, a nie na serwerze. Serwer tylko korzysta z tych cookies, żeby wiedzieć, kto jest użytkownikiem i jak zarządzać sesjami. Kolejna sprawa – niektórzy myślą, że cookie wygasa po godzinie. Ale to nieprawda, bo w PHP argument wygaszenia to 3600 * 24, czyli 86400 sekund, co daje jeden dzień, a nie tylko godzinę. Te nieporozumienia mogą wynikać z braku zrozumienia funkcji setcookie() i tego, jak działają pliki cookie w webowych aplikacjach. Dobrze jest to wiedzieć, by tworzyć lepsze i bezpieczniejsze aplikacje.

Pytanie 12

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. description
B. keywords
C. viewport
D. generator
Poprawnie wskazana została wartość „viewport”. W praktyce właśnie meta name="viewport" służy do kontrolowania tzw. obszaru widzialnego (ang. viewport) na urządzeniach mobilnych i desktopowych. Przeglądarka mobilna domyślnie zakłada szeroką stronę i sztucznie ją pomniejsza, żeby „zmieściła się” na ekranie telefonu. Dopiero meta viewport mówi jej: potraktuj szerokość ekranu urządzenia jako bazową szerokość strony.
Najczęściej spotykana, zgodna z dobrymi praktykami konstrukcja to: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Parametr width=device-width ustawia szerokość obszaru widzialnego na szerokość ekranu urządzenia, a initial-scale=1.0 definiuje początkowe powiększenie. Dzięki temu layout responsywny oparty na media queries w CSS działa poprawnie, bez dziwnych przeskalowań i zbyt małej czcionki.
W nowoczesnym front-endzie przyjmuje się, że każda strona, która ma być używalna na telefonach, tabletach i laptopach, powinna mieć prawidłowo ustawiony meta viewport. Moim zdaniem to jest absolutna podstawa RWD, zaraz obok poprawnego użycia jednostek względnych (np. %, vw, em) i zaprojektowania siatki w CSS. Warto też pamiętać, żeby nie przesadzać z blokowaniem powiększania (np. user-scalable=no), bo to pogarsza dostępność strony dla osób słabiej widzących i jest uznawane za złą praktykę. Podsumowując: jeśli chcesz mieć stronę, która naprawdę „żyje” na różnych ekranach, meta name="viewport" to obowiązkowy element w sekcji <head>.

Pytanie 13

Wskaż nieprawidłowy opis optymalizacji kodu generowanego przez program.

A. Jej celem jest zwiększenie efektywności działania programu
B. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
C. Może być realizowana na różnych etapach działania w celu przyspieszenia wykonania kodu przez procesor
D. Powinna skutkować modyfikacją kodu źródłowego, aby działał on szybciej
Wszystkie niepoprawne odpowiedzi odnoszą się do różnych aspektów, które nie są zgodne z rzeczywistym celem optymalizacji kodu wynikowego. Poprawa wydajności programu i zwiększenie szybkości wykonywania kodu przez procesor są kluczowymi elementami optymalizacji; niezbędne jest dążenie do maksymalizacji efektywności działania aplikacji. Proces optymalizacji nie może być związany jedynie z zgodnością z wymogami formalnymi, ponieważ to bardziej dotyczy analizy jakości kodu i jego zgodności z zasadami programowania, a nie jego wydajności. Dodatkowo, modyfikacje kodu źródłowego w kontekście optymalizacji powinny koncentrować się na przyspieszeniu działania, a nie tylko na poprawie formalnych aspektów, które mogą nie wpływać na wydajność. W praktyce, jeśli kod źródłowy nie jest zoptymalizowany pod kątem wydajności, może prowadzić do znacznych opóźnień, co jest niezgodne z celem optymalizacji. Dlatego istotne jest, aby w procesie tym skupić się na zwiększaniu szybkości i wydajności, a nie na spełnianiu jedynie formalnych wymogów, które mogą być mniej istotne w kontekście ogólnej funkcjonalności i szybkości działania programów.

Pytanie 14

Który z wymienionych programów służy do tworzenia i edycji grafiki wektorowej?

A. Audacity
B. Corel Draw
C. Paint
D. WordPad
Pozostałe programy nie służą do grafiki wektorowej. Paint to prosty edytor grafiki rastrowej - pracuje na pikselach, więc powiększanie obrazu pogarsza jakość, a krzywych wektorowych nie tworzy. Audacity to w ogóle inna dziedzina: edytor i rejestrator dźwięku, nie ma związku z grafiką. WordPad to podstawowy edytor tekstu sformatowanego, służący do dokumentów, a nie rysunków. Grafikę wektorową tworzy i edytuje Corel Draw, dlatego to on jest poprawną odpowiedzią.

Pytanie 15

Głównym celem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wizualnej formy. Ten efekt osiągany jest przez generowanie zawartości

A. z plików HTML o stałej zawartości oraz wizualizacji z użyciem ustalonego szablonu
B. z plików HTML o stałej zawartości oraz wizualizacji przy pomocy technologii FLASH
C. z bazy danych oraz wizualizacji poprzez atrybuty HTML
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Wybór odpowiedzi, która sugeruje wykorzystanie ze statycznych plików HTML, jest w istocie niezgodny z ideą systemów CMS. stosowanie statycznych plików HTML oznacza, że każda zmiana treści serwisu wymagałaby ręcznej edycji plików, co jest czasochłonne i podatne na błędy. Takie podejście ogranicza elastyczność i możliwość szybkiej aktualizacji treści. Z kolei odpowiedzi wskazujące na wykorzystanie technologii FLASH są przestarzałe, ponieważ Flash nie jest już wspierany przez większość nowoczesnych przeglądarek i nie spełnia wymogów dostępności, co stawia pod znakiem zapytania jego użyteczność w kontekście nowoczesnych stron internetowych. Ponadto, odpowiedzi sugerujące wykorzystanie atrybutów HTML do definiowania wyglądu również są niewłaściwe, ponieważ atrybuty HTML nie są wystarczające do efektywnego kształtowania i zarządzania stylem aplikacji. W praktyce do definiowania wyglądu stosuje się arkusze stylów CSS, a nie tylko atrybuty. W konsekwencji, błędne koncepcje opierające się na statycznych plikach czy przestarzałych technologiach prowadzą do sytuacji, w której serwis staje się trudny w utrzymaniu i mało elastyczny, co jest sprzeczne z głównymi zaletami systemów zarządzania treścią.

Pytanie 16

Jakie środowisko jest wymagane do uruchomienia systemu CMS Joomla! (domyślna konfiguracja)?

A. IIS, Perl i MySQL
B. C++ i MySQL
C. Apache, PHP i MySQL
D. Python i MySQL
Pozostałe zestawy nie pasują do Joomli. C++ to język kompilowany do aplikacji - Joomla w nim nie działa. Python i Perl to inne języki serwerowe, podczas gdy Joomla wymaga PHP (sama jest w nim napisana). Choć Joomla może działać też na serwerze IIS, kluczowy jest PHP, którego w wariancie „IIS, Perl, MySQL” brakuje. Właściwe środowisko to Apache, PHP i MySQL, dlatego czwarta odpowiedź jest poprawna.

Pytanie 17

Jakim rodzajem instrukcji jest w PHP konstrukcja foreach?

A. wyboru, dla elementów tablicy
B. pętli, niezależnie od typu zmiennej
C. warunkową, niezależnie od typu zmiennej
D. pętli, wyłącznie dla elementów tablicy
Pozostałe odpowiedzi błędnie określają foreach. Nie jest to instrukcja WYBORU (jak switch) ani WARUNKOWA (jak if) - to pętla. Nie działa też „niezależnie od typu zmiennej”: foreach wymaga tablicy lub obiektu iterowalnego (dla zwykłej liczby się nie nadaje). To pętla wyłącznie dla elementów tablicy, dlatego trzecia odpowiedź jest poprawna.

Pytanie 18

Tabela programy ma kolumny nazwa, producent, rokWydania. Która kwerenda zwróci producentów BEZ powtórzeń?

A.
SELECT producent FROM programy WHERE producent NOT DUPLICATE;
B.
SELECT producent FROM programy WHERE UNIQUE;
C.
SELECT UNIQUE producent FROM programy;
D.
SELECT DISTINCT producent FROM programy;
Pozostałe zapisy są błędne składniowo. SELECT UNIQUE nie jest poprawnym sposobem usuwania duplikatów w wyniku - UNIQUE to ograniczenie kolumny przy projektowaniu tabeli, a nie słowo do SELECT. WHERE UNIQUE oraz WHERE producent NOT DUPLICATE używają konstrukcji, które w SQL NIE ISTNIEJĄ. Powtórzenia usuwa DISTINCT, dlatego druga odpowiedź jest poprawna.

Pytanie 19

Który z wymienionych to rozproszony system kontroli wersji projektu programistycznego?

A. Total Commander
B. Git
C. FileZilla
D. Eclipse
Pozostałe programy pełnią inne funkcje. Eclipse to zintegrowane środowisko programistyczne (IDE) do pisania i uruchamiania kodu, a nie system wersjonowania. FileZilla to klient FTP - służy do przesyłania plików na serwer, nie do śledzenia zmian w kodzie. Total Commander to menedżer plików ułatwiający operacje na plikach i folderach. Rozproszonym systemem kontroli wersji jest Git, dlatego pierwsza odpowiedź jest poprawna.

Pytanie 20

W bazie danych MYSQL znajduje się tabela z programami komputerowymi, która ma pola: nazwa, producent, rokWydania. Jak należy sformułować kwerendę SELECT, aby uzyskać wszystkie nazwy producentów bez powtórzeń?

A. SELECT UNIQUE producent FROM programy;
B. SELECT DISTINCT producent FROM programy;
C. SELECT producent FROM programy WHERE UNIQUE;
D. SELECT producent FROM programy WHERE producent NOT DUPLICATE;
Odpowiedź 'SELECT DISTINCT producent FROM programy;' jest w porządku. To dlatego, że kluczowe słowo DISTINCT działa tak, że zwraca tylko unikalne wartości z kolumny 'producent' w tabeli 'programy'. Jak są duże zbiory danych, to użycie DISTINCT naprawdę się przydaje, bo pozwala pozbyć się duplikatów i to później ułatwia analizę danych. Na przykład, kiedy w tabeli jest mnóstwo rekordów dla tego samego producenta, to DISTINCT zwróci tylko jeden wpis dla każdego z nich. Wiesz, to taka dobra praktyka w SQL, bo im mniej danych musisz przetwarzać, tym lepsza wydajność. I, co ciekawe, użycie DISTINCT nie obniża wydajności zapytania tak bardzo, jak niektórzy mogą myśleć, szczególnie w dobrze zindeksowanych tabelach. Warto to mieć na uwadze.

Pytanie 21

Aby właściwie skomentować poniższą linię kodu JavaScript, po znakach // należy opisać, że powoduje ona:

document.getElementById("napis").innerHTML = Date(); //
A. zmianę stylu (CSS) elementu o id „napis”
B. wyświetlenie tekstu „Date()” w elemencie o id „napis”
C. wstawienie nieprawidłowych danych
D. wyświetlenie aktualnej daty i czasu w elemencie o id „napis”
Pozostałe opisy błędnie tłumaczą działanie linii. Kod nie wstawia „nieprawidłowych danych” - jest poprawny i pokazuje datę z czasem. Nie wyświetla też dosłownego tekstu „Date()”: nawiasy po Date oznaczają WYWOŁANIE funkcji, więc do elementu trafia jej wynik (data), a nie nazwa. Nie zmienia również stylu elementu - za wygląd odpowiada CSS lub właściwość style, podczas gdy innerHTML podmienia ZAWARTOŚĆ. Linia wyświetla aktualną datę i czas w elemencie o id „napis”, dlatego ten opis jest poprawny.

Pytanie 22

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
B. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
C. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
D. Funkcje anonimowe oraz ustawienie hasła do bazy danych
Zabezpieczenie bazy danych Microsoft Access jest kluczowym procesem, który ma na celu ochronę danych przed nieautoryzowanym dostępem oraz zapewnienie ich integralności. Ustalenie hasła do otwarcia bazy danych to pierwszy krok w kierunku zabezpieczenia. Pozwala to na ograniczenie dostępu tylko do osób, które znają hasło, co jest fundamentalnym środkiem ochrony informacji w systemach informatycznych. Dodatkowo, zabezpieczenia na poziomie użytkownika umożliwiają różnicowanie uprawnień dla poszczególnych użytkowników. Można przydzielać różne poziomy dostępu, co minimalizuje ryzyko, że niepowołane osoby będą mogły wprowadzać zmiany w bazie danych. Ważne jest również, aby stosować najlepsze praktyki związane z bezpieczeństwem, takie jak regularna aktualizacja haseł oraz audyty dostępu. Utrzymanie zgodności z międzynarodowymi standardami, takimi jak ISO/IEC 27001, może również pomóc w identyfikacji luk w zabezpieczeniach oraz w implementacji odpowiednich procedur ochrony danych. W codziennym użytkowaniu, skuteczne wdrożenie tych zabezpieczeń pozytywnie wpływa na bezpieczeństwo danych oraz ochronę prywatności użytkowników.

Pytanie 23

Które stwierdzenie dotyczy grafiki wektorowej?

A. służy do zapisu cyfrowych fotografii
B. obraz jest opisany figurami geometrycznymi w układzie współrzędnych
C. to obraz w postaci siatki kolorowanych pikseli na ekranie
D. może być zapisana w formacie JPG lub PNG
Grafika wektorowa opisuje obraz matematycznie - za pomocą figur geometrycznych (punktów, linii, krzywych, wielokątów) określonych współrzędnymi i właściwościami. Dzięki temu można ją dowolnie skalować BEZ utraty jakości, a pliki są zwykle mniejsze. Stosuje się ją do logo, ikon, czcionek i ilustracji (formaty SVG, AI, EPS, CDR). Dlatego grafikę wektorową opisuje zdanie o figurach geometrycznych w układzie współrzędnych.

Pytanie 24

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. wszystkich elementów tablicy
B. dodatnich elementów tablicy
C. parzystych elementów tablicy
D. nieparzystych elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 25

W przedstawionym kodzie PHP w miejscu kropek powinno zostać umieszczone polecenie:

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = ....................................;
  echo "$wiersz[0] $wiersz[1]";
}
A. mysqli_num_fields($zapytanie);
B. mysqli_fetch_row($zapytanie);
C. mysqli_query($zapytanie);
D. mysqli_free_result($zapytanie);
W analizowanym kodzie PHP, nieprawidłowe opcje wskazują na brak zrozumienia mechanizmu działania zestawów wyników w kontekście interakcji z bazą danych. Użycie mysqli_free_result($zapytanie) nie jest właściwe w tym miejscu, ponieważ ta funkcja służy do zwolnienia pamięci zajmowanej przez zestaw wyników. Powinna być wywoływana po zakończeniu wszystkich operacji na pobranych danych, a nie podczas ich odczytu. Jeśli chodzi o mysqli_num_fields($zapytanie), jest to funkcja, która zwraca liczbę kolumn w zestawie wyników, ale nie dostarcza danych wierszy, co czyni ją nieprzydatną w kontekście iteracji przez wyniki. Z kolei mysqli_query($zapytanie) jest błędne, ponieważ ta funkcja służy do wykonywania zapytań, a nie do pobierania ich wyników. W odpowiedzi na to, kluczowym błędem myślowym jest pomylenie funkcji służących do wykonywania zapytań z tymi, które służą do odczytu danych. Właściwe zrozumienie różnic między tymi funkcjami jest niezbędne do efektywnego zarządzania bazami danych w PHP. Zaleca się, aby programiści dokładnie zapoznali się z dokumentacją funkcji mysqli i ich zastosowaniami, aby unikać podobnych nieporozumień w przyszłości.

Pytanie 26

Który zapis służy do zdefiniowania klucza obcego w MySQL?

A.
AUTO_INCREMENT(ID)
B.
PRIMARY KEY(ID)
C.
FOREIGN KEY(ID)
D.
UNIQUE KEY(ID)
Pozostałe zapisy pełnią inne funkcje. AUTO_INCREMENT sprawia, że kolumna sama zwiększa wartość przy każdym nowym wierszu - służy do automatycznych identyfikatorów, a nie powiązań. UNIQUE KEY wymusza, by wartości w kolumnie się nie powtarzały, ale nie łączy tabel. PRIMARY KEY definiuje klucz GŁÓWNY, jednoznacznie identyfikujący wiersz w tej samej tabeli. Powiązanie z inną tabelą tworzy FOREIGN KEY, dlatego czwarta odpowiedź jest poprawna.

Pytanie 27

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej w MS SQL Server?

A. administratora systemu
B. użytkownika lokalnego
C. zwykłego użytkownika (Users)
D. użytkownika zabezpieczeń
Tworzenie i przywracanie kopii zapasowej bazy danych to operacje wymagające WYSOKICH uprawnień - uprawnień ADMINISTRATORA systemu (np. roli sysadmin w MS SQL Server). Dlatego czwarta odpowiedź jest poprawna.

Pytanie 28

Komunikat błędu wygenerowany przez walidator HTML może wskazywać na:

A. zbyt wolne ładowanie strony
B. użycie zbyt wielu kolorów na stronie
C. brak zamknięcia znacznika <p>
D. zbyt długą treść akapitu <p>
Pozostałe odpowiedzi nie są błędami składni, więc walidator ich nie zgłasza. Długość treści akapitu nie ma znaczenia dla poprawności kodu - akapit może być dowolnie długi. Liczba użytych kolorów to decyzja projektowa dotycząca wyglądu, a nie zgodności ze standardem HTML. Czas ładowania strony zależy od wagi zasobów i serwera; bada się go innymi narzędziami, a nie walidatorem składni. Walidator wykrywa usterki w budowie kodu, takie jak brak zamknięcia <p>, dlatego to ta odpowiedź jest poprawna.

Pytanie 29

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr:active { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 30

W formularzu wartość z pola input o typie number została przypisana do zmiennej a i następnie przetworzona w skrypcie JavaScript w poniższy sposób. Jaki typ będzie miała zmienna z?

var z = parseFloat(a);
A. liczbowego, całkowitego
B. NaN
C. zmiennoprzecinkowego
D. napisowego
W kontekście działania funkcji parseFloat() ważne jest zrozumienie, dlaczego niektóre odpowiedzi mogą być błędne. Funkcja ta przetwarza dane tekstowe na liczby zmiennoprzecinkowe, więc oczekiwanie, że wynik będzie typu liczbowego całkowitego, jest nieprawidłowe. Bardzo często pojawia się błędne założenie, że skoro do funkcji przekazano liczbę całkowitą, to wynik również powinien być typu całkowitego. W rzeczywistości parseFloat() zawsze zwraca typ zmiennoprzecinkowy, co ma na celu zapewnienie elastyczności w przetwarzaniu zarówno liczb całkowitych, jak i dziesiętnych. Kolejnym nieporozumieniem jest oczekiwanie, że funkcja zwróci NaN. Taka sytuacja miałaby miejsce tylko wtedy, gdyby łańcuch zaczynał się od znaków niemożliwych do zinterpretowania jako liczba. Błędne jest również przypuszczenie, że wynik będzie typu tekstowego czy napisowego, ponieważ głównym celem parseFloat() jest konwersja tekstu do liczby, a nie odwrotnie. Zrozumienie tych subtelności pozwala uniknąć typowych błędów myślowych, takich jak zakładanie, że wszystkie wartości pochodzące z pól input zawsze mają poprawny typ przed interpretacją. Warto przy tym pamiętać o dobrych praktykach w programowaniu, które nakazują świadome zarządzanie typami danych, zwłaszcza w językach dynamicznie typowanych, jakim jest JavaScript. Dzięki temu programy stają się bardziej odporne na błędy wynikające z nieoczekiwanych typów danych.

Pytanie 31

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nadchodzącym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Zmiana ta w bazie danych będzie miała formę

A. UPDATE pracownicy SET pensja = 100;
B. UPDATE pracownicy SET pensja = pensja +100;
C. UPDATE pensja SET 100;
D. UPDATE pensja SET +100;
Pierwsza z niepoprawnych odpowiedzi nie jest właściwa, ponieważ instrukcja 'UPDATE pracownicy SET pensja = 100;' całkowicie nadpisuje dotychczasowe wartości pensji wszystkich pracowników, ustawiając je na stałą kwotę 100 zł. Takie podejście prowadziłoby do utraty dotychczasowych danych o wynagrodzeniach, co jest niezgodne z zamierzonym celem podwyżki. Kolejna błędna odpowiedź, 'UPDATE pensja SET +100;', jest syntaktycznie niepoprawna. W SQL nie możemy aktualizować wartości bez określenia, która tabela ma zostać zmodyfikowana. 'pensja' nie jest nazwą tabeli, więc system baz danych zgłosi błąd. Dodatkowo, brak odniesienia do bieżącej wartości pensji sprawia, że instrukcja nie wykonuje zamierzonej operacji. Ostatnia z nieprawidłowych odpowiedzi, 'UPDATE pensja SET 100;', również jest błędna, ponieważ nie definiuje, jaką wartość ma przyjąć pensja. Brakuje operatora i konkretnej kolumny, co skutkuje błędną składnią. W SQL każda aktualizacja musi być precyzyjna i jasno określać, które kolumny i tabele są modyfikowane, aby uniknąć błędów i osiągnąć zamierzony rezultat.

Pytanie 32

<?php  
$pi = 3.14;
var_dump($pi);
?>
Jakie będzie wyjście po wykonaniu przedstawionego kodu PHP?
A. int(314)
B. string(3)
C. object(3.14)
D. float(3.14)
Wynikiem działania kodu PHP nie mogą być wartości wskazane w pozostałych odpowiedziach, ponieważ każda z nich odnosi się do innego typu danych, co jest sprzeczne z zachowaniem PHP w kontekście definicji zmiennych. Odpowiedź sugerująca 'int(314)' myli pojęcie liczby całkowitej z liczbą zmiennoprzecinkową. Wartości zmiennoprzecinkowe w PHP są przechowywane z określoną precyzją, a próba konwersji wartości 3.14 do typu całkowitego skutkuje obcięciem wartości do 3, co w tym przypadku nie ma miejsca, ponieważ $pi jest zdefiniowane jako float. Z kolei odpowiedź 'string(3)' sugeruje, że zmienna \$pi jest traktowana jako ciąg znaków, co również jest błędne; float 3.14 nie jest konwertowane na string bezpośrednio, a var_dump() wskazuje typ zmiennej. Innym błędnym podejściem jest opcja 'object(3.14)', co wprowadza w błąd poprzez sugerowanie, że liczba zmiennoprzecinkowa może być reprezentowana jako obiekt. W PHP, chociaż można tworzyć obiekty, typy danych takie jak float nie są obiektami. Często programiści mylą typy zmiennych, co prowadzi do nieporozumień i błędów w kodzie, zwłaszcza w kontekście konwersji typów. Kluczowe jest, aby zrozumieć, jak PHP operuje na typach danych oraz jakie są różnice pomiędzy nimi, co znacznie poprawia jakość i efektywność kodu.

Pytanie 33

W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. style="margin-bottom: 0cm;">rect, triangle, circle
B. rect, sąuare, circle
C. rect, poły, circle
D. style="margin-bottom: 0cm;">poły, square, circle
W przypadku odpowiedzi, które nie są poprawne, należy zwrócić uwagę na kilka kluczowych aspektów. Po pierwsze, wartości 'triangle' oraz 'square' nie są uznawane w atrybucie shape znacznika area w HTML. Zamiast tego, 'triangle' nie ma odpowiedniego wsparcia w standardach, a więc nie może być używane do definiowania obszarów na mapach obrazów. Również 'square', chociaż może przypominać prostokąt, nie ma odrębnej definicji i nie jest akceptowany w specyfikacji. Mapa obrazów ogranicza się do określonych kształtów, takich jak 'rect', 'circle' oraz 'poly', co czyni te odpowiedzi niepoprawnymi. Dodatkowo, wspomnienie o 'sąuare' wskazuje na literówkę, co również podważa poprawność tej opcji. Termin 'poły' nie tylko nie istnieje w kontekście atrybutu shape, ale także nie odnosi się do żadnego znanego kształtu w HTML. Zrozumienie właściwych terminów oraz ich zastosowania w HTML jest kluczowe dla tworzenia funkcjonalnych stron internetowych, a każda niepoprawna odpowiedź może prowadzić do mylących implementacji.

Pytanie 34

char str1[30] = 'Ala ma kota';
printf("%s", str1);
Wskaż, gdzie tkwi błąd w powyższym kodzie napisanym w języku C++?
A. Tekst powinien mieć dokładnie 30 znaków.
B. W funkcji printf nie można używać formatowania %s.
C. Tekst powinien być zawarty w cudzysłowie.
D. Do funkcji printf przekazano za mało argumentów.
Odpowiedź jest poprawna, ponieważ w języku C i C++, napisy muszą być ujęte w podwójne cudzysłowy, aby kompilator mógł je rozpoznać jako literały znakowe. W kodzie, który przedstawiono, użyto pojedynczych cudzysłowów, co jest niezgodne z regułami składniowymi tych języków. Poprawna definicja napisu powinna wyglądać następująco: char str1[30] = \"Ala ma kota\"; Ujęcie napisu w cudzysłowy pozwala na poprawne zainicjowanie tablicy typu char, co jest standardową praktyką w programowaniu w C/C++. Dzięki temu kompilator wie, że wszystkie znaki zawarte w cudzysłowie stanowią część jednego ciągu. Warto również zauważyć, że przy pracy z napisami w C, często używa się funkcji standardowych, takich jak strlen do obliczania długości napisu czy strcpy do kopiowania ciągów. Te funkcje są szeroko stosowane w praktyce i znajomość ich działania jest kluczowa dla efektywnego programowania. "

Pytanie 35

Funkcja zapisana w języku PHP wygląda tak patrz ramka): Jej celem jest

Ilustracja do pytania
A. zwrócenie wartości 1, gdy liczba jest parzysta
B. wypisanie liczby parzystej
C. wypisanie liczby nieparzystej
D. zwrócenie wartości 0, gdy liczba jest parzysta
Funkcja w języku PHP opisana na egzaminie służy do sprawdzania czy podana liczba jest parzysta. Wybór zwracanych wartości 1 i 0 jest klasycznym przykładem użycia binarnych wartości logicznych w programowaniu. Niektóre niepoprawne odpowiedzi mogą wynikać z błędnego zrozumienia działania operatora modulo %. Operator ten oblicza resztę z dzielenia i w przypadku operacji liczb całkowitych przydaje się do określania parzystości. Jeśli liczba jest podzielna przez 2 bez reszty czyli modulo zwraca 0 funkcja zwraca 1 co oznacza że liczba jest parzysta. Niektóre odpowiedzi sugerują że funkcja zwraca lub wypisuje liczby parzyste bądź nieparzyste co jest błędnym rozumieniem działania funkcji zwracającej wartości w kontekście operacji logicznych. Kluczowe jest zrozumienie że funkcje zwracają wartości a nie wypisują ich w przypadku takich jak ten gdzie celem jest jedynie sprawdzenie a nie wyświetlenie wartości. Wybór wartości zwracanych 1 i 0 jest także zgodny z konwencjami logicznymi stosowanymi w warunkowych instrukcjach programistycznych co może być mylnie postrzegane jako konieczność wyświetlenia wyniku. Ważne jest aby pamiętać że w programowaniu logiczne zwracanie wartości jest często używane do późniejszego wykorzystania przez inne części aplikacji w celu podejmowania decyzji lub sterowania przepływem programu. Zrozumienie tych podstawowych zasad pozwala uniknąć błędnych interpretacji i wykorzystać pełnię możliwości jakie daje programowanie w językach takich jak PHP.

Pytanie 36

Zapis tagu HTML w formie <a href="#hobby">przejdź</a>?

A. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o adresie "hobby"
B. jest błędny, niepoprawnie użyto znaku "#" w atrybucie href
C. jest błędny, w atrybucie href trzeba wpisać adres URL
D. jest poprawny, po kliknięciu w odnośnik aktualna strona zostanie przewinięta do elementu o nazwie "hobby"
Myślenie, że znacznik <a href="#hobby">przejdź</a> jest błędny, bo używasz znaku '#' w href, jest trochę mylące. Ten znak '#' to normalny sposób, żeby wskazać lokalne odnośniki na tej samej stronie, co jest zgodne z regułami HTML. Nie jest prawdą, że musi być cały adres URL, bo lokalne identyfikatory są jak najbardziej w porządku. Często spotykam się z przekonaniem, że href zawsze powinien prowadzić do zewnętrznego linku, a to nieprawda. Wiele stron korzysta z lokalnych linków, co naprawdę sprawdza się w długich treściach, pozwalając użytkownikom szybko przechodzić do tych sekcji, które ich interesują. Nie można też myśleć, że tylko absolutne identyfikatory w href są jedynym słusznym rozwiązaniem, bo to podejście z lokalnymi odnośnikami jest powszechnie akceptowane i sprawdza się w praktyce.

Pytanie 37

Którego typu danych w MySQL należy użyć, aby w jednym polu zapisać datę i czas?

A.
BOOLEAN
B.
DATE
C.
YEAR
D.
TIMESTAMP
Pozostałe typy przechowują tylko fragment informacji lub coś innego. DATE zapisuje samą datę (bez godziny) - nie da się w nim zapamiętać czasu. YEAR przechowuje wyłącznie rok, więc to jeszcze mniej danych. BOOLEAN to typ logiczny przyjmujący prawda/fałsz, zupełnie niezwiązany z datą. Datę razem z czasem przechowuje TIMESTAMP (lub DATETIME), dlatego ta odpowiedź jest poprawna.

Pytanie 38

Jakie jest właściwe określenie stylu CSS dla przycisku typu submit z czarnym tłem, bez ramki oraz z marginesami wewnętrznymi równymi 5 px?

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D
A. A
B. D
C. B
D. C
Niepoprawne odpowiedzi wynikają głównie z błędnego użycia właściwości CSS lub z nieprawidłowej struktury selektora. W odpowiedzi B mamy kolor tła #ffffff, a to nie spełnia wymogu czarnego tła. To może być spowodowane nieuwagą albo brakiem zrozumienia wymagań. Odpowiedzi C i D z kolei używają margin zamiast padding, co zdecydowanie jest błędem w kontekście tego pytania. Margin dotyczy zewnętrznych odstępów między elementami i nie ma wpływu na wewnętrzne wymiary przycisku, co może efektem być brzydki wygląd przycisku w interfejsie. Ponadto w odpowiedziach C i D widzimy niepoprawny format selektora input=submit; co jest syntaktycznie złe. Poprawna składnia to input[type=submit], bo to wskazuje na element formularza o typie submit. Nie zrozumienie różnicy miedzy padding a margin oraz selektorami CSS może prowadzić do zamieszania i problemów w stylizacji. Ważne jest, żeby każda właściwość CSS była używana z pełnym zrozumieniem, jak wpływa na elementy interfejsu, by osiągnąć zamierzony efekt wizualny i funkcjonalny. Dobrą praktyką jest też sprawdzenie styli w różnych przeglądarkach, żeby upewnić się, że wszystko działa jak należy w różnych środowiskach. Rozumienie i stosowanie CSS jest kluczowe, by tworzyć profesjonalne i funkcjonalne strony.

Pytanie 39

W zakresie ochrony serwera bazy danych przed atakami hakerównie wlicza się

A. aktywacja zapory
B. defragmentacja dysków
C. używanie skomplikowanych haseł do bazy
D. blokada portów powiązanych z bazą danych
Wybór odpowiedzi związanej z blokowaniem portów, włączeniem zapory oraz stosowaniem złożonych haseł jest zgodny z najlepszymi praktykami w zakresie zabezpieczeń serwera bazy danych. Blokowanie portów to kluczowy krok, który ogranicza dostęp do usług bazodanowych tylko dla autoryzowanych użytkowników. Wiele ataków z zewnątrz wykorzystuje otwarte porty, dlatego ich zablokowanie jest podstawowym zabezpieczeniem. Zapory sieciowe, zarówno sprzętowe, jak i programowe, są niezbędne do filtrowania ruchu i ochrony przed nieautoryzowanym dostępem. Z kolei stosowanie złożonych haseł jest fundamentalnym elementem ochrony danych - hasła powinny być długie, zawierać znaki specjalne, cyfry oraz różne przypadki liter, aby znacznie utrudnić ich złamanie. Praktyczne przykłady pokazują, że organizacje, które nie implementują tych zabezpieczeń, stają się łatwym celem dla cyberprzestępców. Warto również wspomnieć o dodatkowych środkach, takich jak szyfrowanie danych w bazach, co dodatkowo podnosi poziom ochrony informacji. Brak znajomości tych zasad może prowadzić do niedostatecznej ochrony przed zagrożeniami, co w dzisiejszym, złożonym środowisku IT, jest nieakceptowalne.

Pytanie 40

W języku CSS wprowadzono poniższe formatowanie:

p > i { color: blue; }
Oznacza to, że tekst w kolorze niebieskim będzie zapisany:
A. pogrubiony tekst akapitu
B. cały tekst nagłówków, bez względu na ich formatowanie
C. cały tekst akapitu, bez względu na jego formatowanie
D. pochylony tekst akapitu
W języku CSS selektor > jest używany do stylizowania bezpośrednich potomków danego elementu. W podanym przykładzie p > i oznacza, że reguła CSS będzie zastosowana do elementu i będącego bezpośrednim dzieckiem elementu p. To oznacza, że tylko tekst zapisany w tagu i wewnątrz paragrafu p będzie miał kolor niebieski. Jest to powszechnie stosowane podejście do precyzyjnego stylizowania elementów na stronach internetowych, z zachowaniem struktury dokumentu HTML. Takie rozwiązanie pozwala na lepszą kontrolę nad wyglądem i prezentacją dokumentu, co jest istotne przy tworzeniu responsywnych i estetycznych stron. Praktyczne zastosowanie tego stylu można zobaczyć w przypadku, gdy chcemy wyróżnić pewne frazy w paragrafie, na przykład cytaty lub terminy. Warto pamiętać, że używanie selektorów potomstwa poprawia czytelność i efektywność kodu CSS, co jest dobrą praktyką w profesjonalnym kodowaniu frontendowym. Zachowanie spójności i przejrzystości stylów jest kluczowe w większych projektach, gdzie wiele osób pracuje nad kodem.