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: 27 kwietnia 2026 15:37
  • Data zakończenia: 27 kwietnia 2026 15:38

Egzamin niezdany

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

echo date"Y"); Po uruchomieniu tego kodu PHP na ekranie ukaże się bieżąca data, obejmująca wyłącznie

A. dzień
B. rok
C. miesiąc i rok
D. dzień i miesiąc
Odpowiedź 'rok' jest prawidłowa, ponieważ w podanym kodzie PHP echo date('Y') zwraca aktualny rok w czterocyfrowym formacie, np. 2023. Funkcja date w PHP jest używana do formatowania daty i czasu, a 'Y' jest stałą formatującą, która reprezentuje rok w pełnym formacie. Dzięki temu programista może łatwo uzyskać i wyświetlić rok w różnych kontekstach, na przykład w systemach zarządzania treścią, raportach czy aplikacjach webowych. Praktyczne zastosowanie tej funkcji jest szerokie, np. w generowaniu automatycznych stopki na stronach internetowych, gdzie często umieszcza się aktualny rok, aby informować użytkowników o bieżącym roku w kontekście praw autorskich. Znajomość różnych formatów daty i ich zastosowanie zgodnie z dobrymi praktykami programistycznymi z pewnością przyczyni się do poprawy jakości kodu.

Pytanie 2

Witryna internetowa powinna mieć zaprezentowaną strukturę bloków. Aby osiągnąć ten układ, należy przypisać sekcjom odpowiednie właściwości w następujący sposób:

Ilustracja do pytania
A. float tylko dla bloków: 3, 4; clear dla bloku 5
B. float wyłącznie dla bloku 5; clear dla bloku 2
C. float tylko dla bloków: 2, 3, 4; clear dla bloku 5
D. float tylko dla bloku 2; clear dla bloków: 3, 4
Błędy, jakie pojawiają się przy używaniu float i clear, zazwyczaj wynikają z niezrozumienia ich funkcji w kontekście układu stron. Przypisanie float tylko do bloku 5 oraz clear dla bloku 2 pokazuje, że blok 2 powinien być pod blokiem 5, co nie zgadza się z tym, co jest w diagramie, bo blok 2 jest nad blokami 3 i 4. Z kolei przypisanie float dla bloków 3 i 4 oraz clear dla bloku 5 sugeruje, że te dwa bloki powinny być w jednej linii, a blok 5 miałby być poniżej. To jest poprawne, ale nie naprawia całkowicie układu, bo blok 2 nie jest w tym ujęciu uwzględniony. Cała koncepcja przypisania float tylko dla bloku 2 i clear dla bloków 3 i 4 też ma swoje wady, bo blok 2 ma za zadanie otaczać bloki 3 i 4, ale nie może być przesunięty w taki sposób, żeby osiągnąć układ z diagramu. Często problem ze zrozumieniem float i clear bierze się z błędnego rozumienia relacji między elementami i ich wpływu na układ całościowy. Dlatego rozwiązaniem jest dokładne przypisanie float tym elementom, które trzeba przesunąć, oraz zastosowanie clear tam, gdzie ma się zakończyć efekt przesunięcia. W ten sposób elementy będą się wyświetlały według oczekiwanego układu. Myślę, że zrozumienie tych zasad jest kluczowe do tworzenia poprawnych i estetycznych układów na stronach www.

Pytanie 3

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

A. $a = str_replace('Kowalski', 'Nowak', $a);
B. $a = str_rep('Kowalski', 'Nowak', $a);
C. $a = str_replace('Nowak', 'Kowalski', $a);
D. $a = str_replace('Nowak', 'Kowalski');

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest jak najbardziej trafna. Funkcja str_replace w PHP działa tak, że zamienia wszystkie wystąpienia jednego ciągu znaków na inny w danym tekście. W tym przypadku zastępujemy 'Kowalski' słowem 'Nowak'. To działa tak, że jak masz tekst 'Jan Kowalski i Anna Kowalski' w zmiennej $a, po wykonaniu tego kodu $a zmieni się na 'Jan Nowak i Anna Nowak'. Tego typu operacje są naprawdę przydatne w PHP, zwłaszcza gdy zajmujemy się danymi, które musimy zmieniać lub aktualizować, na przykład w aplikacjach internetowych. Pamiętaj, żeby używać takich funkcji w odpowiednich miejscach, bo operacje na dużych zbiorach danych mogą być wymagające.

Pytanie 4

Aby przesłać informacje za pomocą funkcji mysqli_query) w skrypcie PHP, który dodaje do bazy danych dane uzyskane z formularza na stronie internetowej, jako jeden z argumentów trzeba użyć kwerendy

A. UPDATE
B. ALTER
C. SELECT
D. INSERT INTO

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór odpowiedzi 'INSERT INTO' jest poprawny, ponieważ służy do wstawiania nowych rekordów do bazy danych w systemie zarządzania bazą danych (DBMS). Kiedy chcemy przesłać dane z formularza w PHP, używamy tej kwerendy, aby określić, do której tabeli w bazie danych chcemy dodać nowe informacje oraz jakie wartości mają być wstawione w poszczególnych kolumnach. Przykładowo, jeśli mamy formularz rejestracji użytkownika, możemy użyć kwerendy: "INSERT INTO uzytkownicy (imie, email) VALUES ('Jan', '[email protected]')". Warto pamiętać o przygotowywaniu zapytań (prepared statements) w celu zabezpieczenia aplikacji przed atakami SQL Injection, co jest standardową dobrą praktyką w tworzeniu aplikacji webowych. Użycie kwerendy 'INSERT INTO' jest kluczowe, ponieważ pozwala na efektywne dodawanie nowych danych, co jest podstawową operacją w bazach danych.

Pytanie 5

Zgodnie z wytycznymi WCAG 2.x  na poziomie AA minimalny kontrast tekstu (o standardowym rozmiarze) do tła, spełniający wymogi dostępności serwisu WWW dla osób z ograniczoną percepcją wzrokową wynosi

A. 2,0 : 1
B. 4,5 : 1
C. 1,5 : 1
D. 2,5 : 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest wartość 4,5 : 1, bo dokładnie taki minimalny współczynnik kontrastu dla tekstu o standardowym rozmiarze określają wytyczne WCAG 2.0 i 2.1 na poziomie AA (kryterium sukcesu 1.4.3 „Contrast (Minimum)”). Chodzi tu o kontrast pomiędzy kolorem tekstu a kolorem tła, liczony jako stosunek jasności (luminancji względnej) tych dwóch kolorów. Im wyższy współczynnik, tym większa różnica i tym łatwiej odczytać treść osobom z osłabionym wzrokiem, np. z zaćmą, jaskrą czy po prostu osobom starszym. Moim zdaniem to jest jedna z najważniejszych zasad dostępności, bo dotyczy absolutnej podstawy – czy w ogóle da się tekst przeczytać bez wysiłku. W praktyce oznacza to, że np. jasnoszary tekst na białym tle, który „ładnie wygląda” w projekcie graficznym, bardzo często nie spełnia 4,5 : 1 i jest po prostu nieczytelny. Z kolei klasyczne połączenie #000000 (czarny) na #FFFFFF (biały) ma kontrast 21 : 1, czyli znacznie powyżej wymaganego minimum. Warto pamiętać, że dla większego tekstu (min. 18 px lub 14 px pogrubiony) próg jest niższy – 3 : 1, ale w pytaniu mowa wyraźnie o tekście standardowym. W codziennej pracy dobrze jest używać automatycznych narzędzi (np. WebAIM Contrast Checker, wtyczki do przeglądarek, funkcje w Figma/Adobe XD), które potrafią policzyć kontrast na podstawie kodów kolorów w formacie HEX lub RGB i od razu powiedzą, czy mamy poziom AA, czy nie. Z mojego doświadczenia przy tworzeniu serwisów WWW najlepiej od razu w fazie projektowania UI przyjąć zasadę: wszystkie podstawowe teksty (paragrafy, linki, etykiety formularzy) muszą mieć przynajmniej 4,5 : 1. To ułatwia życie front-endowcom i zmniejsza ryzyko, że podczas audytu dostępności trzeba będzie zmieniać całą paletę barw. Dobrą praktyką jest też zapisanie tych wymogów w design systemie lub w style guide, żeby każdy w zespole (grafik, front-end, product owner) rozumiał, że kontrast to nie „opcja estetyczna”, tylko wymóg dostępności i często także wymóg prawny.

Pytanie 6

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

<table>
    <tr>
        <td style="border: solid 1px;">Komórka 1</td>
        <td style="border: solid 1px;">Komórka 2</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 3</td>
        <td style="border: solid 1px;">Komórka 4</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 5</td>
        <td style="border: solid 1px;">Komórka 6</td>
    </tr>
</table>
/efekt jest na obrazie - nie dołączam - nie analizuj/
Ilustracja do pytania
A. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: table-cell"</span>&gt;</pre>
B. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"clear: none"</span>&gt;</pre>
C. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: none"</span>&gt;</pre>
D. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"visibility: hidden"</span>&gt;</pre>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ użycie stylu 'visibility: hidden' w wierszu tabeli skutkuje tym, że wiersz ten nie jest widoczny, ale nadal zajmuje miejsce w układzie tabeli. Oznacza to, że komórki poniżej nie przesuwają się w górę, a struktura tabeli pozostaje niezmieniona. To podejście jest zgodne z sytuacjami, w których chcemy ukryć zawartość bez zmiany rozmieszczenia innych elementów. Jest to przydatne w aplikacjach, gdzie układ strony musi pozostać stabilny dla zachowania spójności wizualnej lub funkcjonalnej. Przykładem może być ukrywanie tymczasowych informacji, które nie powinny wpływać na pozostały układ interfejsu użytkownika. Jest to zgodne z dobrymi praktykami projektowania front-endu, gdzie stylizacje powinny wspierać czytelność i przewidywalność układu strony. Alternatywnie, 'display: none' usunęłoby element z przepływu dokumentu, co zmienia układ, ale w tym przypadku zastosowanie 'visibility: hidden' jest właściwym wyborem dla zachowania struktury.

Pytanie 7

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; } section { float: right; }
B. nav { float: left; } aside { float: left; }
C. nav { float: right; }
D. aside {float: left; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 8

Gdzie powinien być umieszczony znacznik meta w języku HTML?

A. w dolnej części witryny internetowej.
B. w obrębie znaczników <body> ... </body>
C. w sekcji nagłówkowej strony.
D. w obrębie znaczników paragrafu.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znacznik meta języka HTML jest kluczowym elementem, który powinien znajdować się w sekcji nagłówkowej witryny, oznaczonej znacznikami <head> ... </head>. Znaczniki meta dostarczają przeglądarkom oraz wyszukiwarkom internetowym informacji o stronie, takich jak jej opis, słowa kluczowe, a także informacje dotyczące kodowania czy autorstwa. Przykładowo, znacznik <meta charset="UTF-8"> informuje przeglądarkę o używanym kodowaniu znaków, co jest istotne dla prawidłowego wyświetlania tekstu w różnych językach. Dodatkowo, metadane takie jak <meta name="description" content="Opis strony"> są często wykorzystywane przez wyszukiwarki do generowania opisów w wynikach wyszukiwania, co może wpłynąć na wskaźnik klikalności (CTR) w SERP. Warto również dodać, że znaczniki meta mogą być używane do definiowania polityki prywatności i zabezpieczeń, na przykład poprzez <meta http-equiv="X-UA-Compatible" content="IE=edge">. Użycie odpowiednich metadanych w nagłówku jest zatem kluczowe dla optymalizacji SEO oraz zapewnienia odpowiedniej interakcji użytkowników z witryną.

Pytanie 9

Polecenie DROP w języku SQL ma na celu

A. zmodyfikować parametry obiektu
B. zaktualizować dane obiektu
C. usunąć istniejący obiekt
D. wprowadzić nowy obiekt

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja DROP w języku SQL jest używana do usuwania istniejących obiektów z bazy danych, takich jak tabele, widoki, procedury składowane czy indeksy. Użycie tej komendy powoduje, że wszystkie dane przechowywane w danym obiekcie zostają trwale usunięte, co oznacza, że nie można ich odzyskać, chyba że wcześniej wykonano kopię zapasową. Przykładowa składnia polecenia DROP TABLE nazwa_tabeli usuwa całkowicie tabelę wraz z jej strukturą oraz danymi. W SQL standardowym oraz w jego implementacjach, takich jak MySQL, PostgreSQL czy SQL Server, instrukcja ta jest kluczowym narzędziem dla administratorów baz danych, pozwalającym na efektywne zarządzanie obiektami w bazach. Należy jednak stosować ją ostrożnie, ponieważ skutki wykonania tego polecenia są nieodwracalne. Rekomenduje się również, przed usunięciem obiektu, sprawdzenie, czy nie ma on powiązań z innymi obiektami, aby uniknąć błędów w aplikacjach korzystających z tych danych.

Pytanie 10

Który kod HTML zapewni identyczny efekt formatowania jak na przedstawionym obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML
A. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
B. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
D. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu. Znacznik <i> stosowany jest do oznaczania tekstu kursywą, a znacznik <b> do pogrubienia. W tym przypadku tekst 'paragrafie' i 'sposoby formatowania' są otoczone znacznikiem <i>, co zgodnie z HTML oznacza kursywę. Natomiast słowo 'zobaczysz' jest otoczone zarówno <b> jak i <i>, co skutkuje pogrubieniem i kursywą jednocześnie. Taka struktura jest zgodna z konwencją hierarchii znaczników, która mówi, że znaczniki mogą być zagnieżdżane, aby uzyskać różne efekty formatowania. HTML pozwala na takie zagnieżdżanie, co jest częścią elastyczności tego języka w prezentowaniu treści. Dobrą praktyką jest także zapewnienie dostępności, gdzie znaczniki semantyczne mają szczególne znaczenie. Wykorzystanie <b> i <i> zamiast odpowiednio <strong> i <em> jest bardziej stylistyczne niż semantyczne, co ma swoje uzasadnienie w kontekście projektowym, ale w nowoczesnych praktykach powinno się również rozważyć znaczenie semantyczne i używać <strong> i <em> dla lepszego zrozumienia przez czytniki ekranowe.

Pytanie 11

idnazwiskoimiedata_urubezpieczony
✏️ Edytuj📋 Kopiuj⛔ Usuń1KowalskiJan2005-12-181
✏️ Edytuj📋 Kopiuj⛔ Usuń2NowakAdam2005-10-101
✏️ Edytuj📋 Kopiuj⛔ Usuń3WisniewskiAntoni2005-06-140
✏️ Edytuj📋 Kopiuj⛔ Usuń4LipskaAnna2006-04-121
✏️ Edytuj📋 Kopiuj⛔ Usuń5TomaszewskiPawel2006-07-110
✏️ Edytuj📋 Kopiuj⛔ Usuń6KostarzJulia2006-03-201
✏️ Edytuj📋 Kopiuj⛔ Usuń7BorewiczPatryk2007-06-211
✏️ Edytuj📋 Kopiuj⛔ Usuń8KoperskiBartlomiej2001-09-100
Które zapytanie w języku MySQL usunie z tabeli uczniowie uczniów urodzonych w czerwcu?
A. DROP FROM `uczniowie` WHERE data_ur LIKE "06"
B. DELETE FROM `uczniowie` WHERE data_ur LIKE "%-06-%"
C. DROP FROM `uczniowie` WHERE data_ur == #-06-#
D. DELETE FROM `uczniowie` WHERE data_ur LIKE "?-06-?"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazane zapytanie korzysta z instrukcji DELETE oraz operatora LIKE z odpowiednim wzorcem: "%-06-%". W kolumnie data_ur mamy daty zapisane w standardowym formacie ISO: RRRR-MM-DD, np. 2005-06-14. W takim formacie miesiąc zawsze znajduje się na pozycjach 6–7 i jest zapisany jako dwucyfrowa liczba z wiodącym zerem. Wzorzec "%-06-%" oznacza: dowolny ciąg znaków przed, dokładnie „-06-” w środku, oraz dowolny ciąg znaków po. Dzięki temu trafiamy w wszystkie daty, gdzie miesiąc to 06, czyli czerwiec, niezależnie od roku i dnia. To jest bardzo praktyczne podejście, gdy przechowujemy datę w typie DATE i chcemy filtrować po miesiącu bez dodatkowych funkcji. W MySQL operator LIKE działa na wartościach tekstowych, ale typ DATE jest w takim kontekście automatycznie konwertowany do postaci tekstowej w formacie 'YYYY-MM-DD', więc wzorzec z myślnikami jest jak najbardziej poprawny. W realnych projektach częściej stosuje się funkcje DATE_FORMAT albo MONTH(data_ur) = 6, bo to jest czytelniejsze i mniej podatne na pomyłki w zapisie wzorca. Jednak w tym zadaniu celem jest zrozumienie, jak działa LIKE, wildcard „%” oraz jak wygląda rzeczywisty format przechowywania daty. Dobrą praktyką jest też zawsze używanie pojedynczych cudzysłowów w SQL (np. '%-06-%'), choć MySQL akceptuje też podwójne w pewnych konfiguracjach. Moim zdaniem warto zapamiętać ten sposób myślenia: patrzysz na rzeczywisty zapis danych w kolumnie i dopasowujesz wzorzec tak, żeby trafić dokładnie ten fragment, który Cię interesuje (tu: '-06-').

Pytanie 12

Jak można utworzyć kopię zapasową bazy danych MySQL?

A. importowaniem bazy
B. eksportowaniem bazy
C. agregowaniem danych
D. modyfikowaniem danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Eksport bazy danych MySQL to proces, który pozwala na tworzenie kopii zapasowych danych znajdujących się w bazie. Narzędzie do eksportu, takie jak mysqldump, umożliwia nie tylko zapisanie danych w formacie SQL, ale także w innych formatach, takich jak CSV czy JSON. Eksport jest kluczowy w przypadku migracji danych pomiędzy różnymi środowiskami baz danych lub w sytuacji, gdy zachodzi potrzeba odzyskania danych po awarii. Proces ten można zautomatyzować, korzystając z harmonogramów zadań (cron), co zapewnia regularne tworzenie kopii zapasowych. Zgodnie z najlepszymi praktykami, zaleca się, aby eksportować bazy danych regularnie oraz przechowywać kopie zapasowe w bezpiecznych lokalizacjach, aby zminimalizować ryzyko utraty danych. Standardy takie jak ISO 27001 podkreślają znaczenie odpowiednich procedur zarządzania danymi, w tym tworzenia kopii zapasowych, co czyni eksportu kluczowym elementem strategii ochrony danych w organizacjach.

Pytanie 13

Jaki jest cel zapisu w języku JavaScript?

var napis1 = new napisy();
A. wykonanie metody obiektu napisy
B. stworzenie obiektu napis1 z klasy napisy
C. zainicjowanie zmiennej napis1 oraz wywołanie funkcji, której argumentem jest napis1
D. założenie nowej klasy napis1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź dotyczy utworzenia obiektu napis1 klasy napisy. W języku JavaScript, aby stworzyć nowy obiekt na podstawie istniejącej klasy lub funkcji konstruktora, używamy słowa kluczowego new. Wyrażenie var napis1 = new napisy() inicjalizuje nowy obiekt napis1, który jest instancją klasy napisy. Taki zapis jest kluczowy w programowaniu obiektowym, które pozwala na tworzenie wielu instancji obiektów z podobnymi właściwościami i metodami. Praktyczne zastosowanie tego podejścia jest szerokie od modelowania danych po tworzenie modularnych i łatwych do zarządzania aplikacji. Dobra praktyka nakazuje, aby klasy były dobrze zdefiniowane z jasno określonymi właściwościami i metodami, co ułatwia ich ponowne wykorzystanie i rozszerzanie. W programowaniu funkcjonalnym JavaScript często wykorzystuje się prototypowe dziedziczenie, które pozwala na zmniejszenie liczby powtarzalnych kodów oraz efektywne zarządzanie pamięcią. Warto także pamiętać, że w nowoczesnych wersjach JavaScript stosowane są klasy ES6, które wprowadzają bardziej zrozumiałą składnię dla tworzenia klas i obiektów co poprawia czytelność i strukturę kodu.

Pytanie 14

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. podjęcia decyzji.
B. wyświetlenia danych.
C. wczytania danych.
D. zastosowania gotowej procedury lub funkcji.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten blok w kształcie rombu to klasyczny symbol decyzji w schemacie blokowym algorytmu. Zgodnie z przyjętymi standardami notacji (np. ANSI/ISO dla diagramów przepływu), romb oznacza miejsce, w którym program musi coś sprawdzić i na podstawie wyniku tej kontroli wybrać jedną z gałęzi dalszego działania. Innymi słowy: następuje podjęcie decyzji na podstawie warunku logicznego, który zwykle daje odpowiedź typu TAK/NIE (TRUE/FALSE). W praktyce, w kodzie programistycznym taki romb odpowiada instrukcjom warunkowym, takim jak if, if...else, switch, operator trójargumentowy itp. Przykład: „jeśli użytkownik jest zalogowany, pokaż panel administracyjny, w przeciwnym razie przekieruj do logowania”. W schemacie blokowym byłby to właśnie romb z pytaniem „Użytkownik zalogowany?”. Z rombu wychodziłyby dwie strzałki: jedna podpisana „tak”, druga „nie”, prowadzące do różnych bloków akcji. Moim zdaniem warto wyrobić sobie nawyk automatycznego kojarzenia: romb = warunek = rozgałęzienie przepływu. Dzięki temu łatwiej później projektować algorytmy, niezależnie od języka programowania. W praktyce webowej też ma to duże znaczenie: np. sprawdzenie, czy dane z formularza są poprawne, czy użytkownik ma odpowiednie uprawnienia, czy plik istnieje na serwerze. Za każdym razem, gdy w głowie pojawia Ci się „jeśli… to… w przeciwnym razie…”, w schemacie blokowym powinien pojawić się właśnie taki romb, czyli blok podjęcia decyzji. To jest fundament logicznej struktury programu i jedna z podstawowych konstrukcji algorytmicznych.

Pytanie 15

Aby cofnąć uprawnienia dostępu do serwera MySQL, należy wykorzystać polecenie

A. DELETE
B. REVOKE
C. USAGE
D. GRANT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby odebrać prawa dostępu do serwera MySQL, używa się polecenia REVOKE. To polecenie jest kluczowe w zarządzaniu uprawnieniami użytkowników w systemie zarządzania bazą danych MySQL. REVOKE pozwala na usunięcie wcześniej przydzielonych praw dostępu do określonych zasobów, takich jak tabele, bazy danych lub inne obiekty. Przykładowo, aby odebrać prawo SELECT dla użytkownika 'janek' na tabeli 'produkty', należy użyć komendy: REVOKE SELECT ON produkty FROM 'janek'@'localhost';. Dzięki temu użytkownik 'janek' nie będzie miał możliwości wykonywania zapytań SELECT na tej tabeli. Warto zaznaczyć, że REVOKE działa w oparciu o hierarchię uprawnień, co oznacza, że można je łączyć z innymi poleceniami, aby skutecznie zarządzać dostępem. Zgodnie z dokumentacją MySQL, REVOKE jest integralną częścią systemu autoryzacji, co czyni je niezbędnym dla zapewnienia bezpieczeństwa danych w bazach danych. Użycie REVOKE jest również istotne w kontekście audytów bezpieczeństwa, gdzie konieczne jest zarządzanie dostępem do danych.

Pytanie 16

Jaką wartość wyświetli standardowe wyjście dla podanego w ramce fragmentu kodu w języku C++?

Ilustracja do pytania
A. 0
B. 2
C. 32
D. 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W analizowanym fragmencie programu funkcja obliczenia modyfikuje swój argument x poprzez operację x %= 3 co oznacza że oblicza resztę z dzielenia x przez 3. W przypadku x równego 32 reszta z dzielenia przez 3 wynosi 2. Następnie instrukcja x++ zwiększa wartość x o 1 co daje wynik końcowy równy 3. Wiedza o operatorach arytmetycznych takich jak % oraz o inkrementacji ++ jest kluczowa przy programowaniu w C++. Operator % jest powszechnie używany do określania parzystości liczb lub cyklicznych wzorców w algorytmach. Zrozumienie jak te operacje wpływają na przepływ danych w programie pozwala unikać błędów logicznych i poprawiać wydajność kodu. Inkrementacja jest również istotna w wielu strukturach sterujących takich jak pętle co czyni ją niezbędnym elementem w rozwiązywaniu problemów algorytmicznych. Tego typu operacje są fundamentem w standardach programowania ponieważ pozwalają na precyzyjne kontrolowanie wartości zmiennych w trakcie wykonywania programów. Warto ćwiczyć te koncepcje aby w pełni wykorzystać potencjał języka C++ szczególnie w kontekście optymalizacji i wydajności aplikacji.

Pytanie 17

DOM oferuje funkcje i atrybuty, które w JavaScript umożliwiają

A. wykonywanie operacji na zmiennych przechowujących wartości liczbowe
B. manipulowanie łańcuchami zadeklarowanymi w kodzie
C. pobieranie i modyfikowanie elementów strony załadowanej w przeglądarce
D. przesyłanie danych formularza bezpośrednio do bazy danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
DOM (Document Object Model) to interfejs programistyczny, który umożliwia manipulację strukturą dokumentu HTML lub XML za pomocą języka JavaScript. Odpowiedź dotycząca pobierania i modyfikowania elementów strony jest poprawna, ponieważ DOM dostarcza zestaw metod, takich jak getElementById, getElementsByClassName, czy querySelector, które pozwalają programistom na selekcję, edytowanie, dodawanie lub usuwanie elementów w drzewie DOM. Na przykład, używając metody document.getElementById('example'), możemy uzyskać dostęp do konkretnego elementu na stronie oraz zmienić jego zawartość, styl czy atrybuty. Takie manipulacje są kluczowe w tworzeniu interaktywnych aplikacji webowych, które reagują na działania użytkownika, co jest zgodne z najlepszymi praktykami w zakresie programowania front-end. Zmiany w DOM mogą także wpływać na wydajność strony, dlatego stosowanie odpowiednich metod i technik, takich jak unikanie zbyt częstych reflowów czy repaints, jest niezbędne dla optymalizacji. Warto również zaznaczyć, że stosowanie bibliotek, takich jak jQuery, może uprościć proces manipulacji DOM.

Pytanie 18

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?

$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}
A. Informacja o pomyślnym nawiązaniu połączenia z bazą
B. Obsługa błędu przy nawiązywaniu połączenia
C. Zamknięcie połączenia z bazą danych
D. Przetwarzanie danych uzyskanych z bazy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Obsługa błędu połączenia jest kluczowym elementem przy nawiązywaniu połączenia z bazą danych w PHP. Gdy używamy funkcji mysqli_connect, istotne jest, aby sprawdzić, czy połączenie zostało nawiązane poprawnie. W przypadku, gdy połączenie nie powiedzie się, funkcja mysqli_connect zwraca fałsz. W takich sytuacjach warto zaimplementować odpowiednią obsługę błędów, aby zrozumieć, co poszło nie tak, oraz działania, które powinny być podjęte. Dobrą praktyką jest wykorzystanie funkcji mysqli_connect_errno oraz mysqli_connect_error, które dostarczają szczegółowych informacji o błędzie. Na przykład, można wyświetlić komunikat o błędzie lub zalogować go do pliku w celu dalszej analizy. W ten sposób programista może szybko zidentyfikować problem, czy to związany z błędnym loginem, hasłem, czy problemami z serwerem bazy danych. Implementacja takiej obsługi błędów zwiększa stabilność aplikacji oraz ułatwia późniejsze diagnozowanie problemów, co jest istotne w profesjonalnym środowisku programistycznym.

Pytanie 19

Atrybut value w elemencie formularza XHTML

 <input type="text" name="name" value="value">
A. ustawia pole jako tylko do odczytu
B. określa nazwę pola
C. definiuje maksymalną długość pola
D. określa domyślną wartość

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut 'value' w polu formularza XHTML ma kluczowe znaczenie, ponieważ określa wartość, która będzie domyślnie wyświetlana w polu tekstowym. Kiedy użytkownik otworzy formularz, będzie widział w polu tekstowym wpisaną wartość, co ułatwia interakcję, zwłaszcza w przypadkach, gdy potrzebne są przykłady lub domyślne odpowiedzi. Na przykład, w formularzu rejestracyjnym można ustawić atrybut 'value' na 'Jan Kowalski', co sugeruje użytkownikowi, jak powinien wypełnić swoje imię i nazwisko. Jest to zgodne z dobrymi praktykami projektowania formularzy, które dążą do poprawy użyteczności i zmniejszenia liczby błędów użytkowników. Warto również zauważyć, że w przypadku formularzy, jeśli użytkownik zdecyduje się nie zmieniać tej wartości, atrybut 'value' sprawia, że odpowiedź zostanie przesłana w formularzu po jego wysłaniu. To podkreśla znaczenie predefiniowania wartości w kontekście UX, ponieważ dobrze zaprojektowane formularze mogą znacznie poprawić doświadczenia użytkowników.

Pytanie 20

Wskaż polecenie do iteracji.

A. switch
B. else
C. throw
D. for

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja iteracyjna 'for' jest jednym z najczęściej używanych mechanizmów w programowaniu, umożliwiającym powtarzanie bloków kodu. Jej główną zaletą jest możliwość precyzyjnego określenia liczby powtórzeń, co czyni ją idealnym narzędziem do pracy z tablicami i kolekcjami danych. W skład składni instrukcji 'for' wchodzi inicjalizacja zmiennej, warunek kontynuacji oraz aktualizacja zmiennej, co pozwala na eleganckie i zrozumiałe pętle. Na przykład, w języku Python, zapis 'for i in range(5):' spowoduje wykonanie bloku kodu pięć razy, co jest przydatne przy iteracji przez indeksy tablicy. Standardy programowania, takie jak PEP 8 dla Pythona, podkreślają znaczenie czytelności kodu, a dobrze zorganizowane pętle 'for' przyczyniają się do utrzymania przejrzystości. Ponadto, instrukcje 'for' są również obecne w wielu innych językach, takich jak Java, C++ czy JavaScript, co czyni je uniwersalnym narzędziem w arsenale programisty.

Pytanie 21

Rozdzielczość obrazów cyfrowych wyświetlanych na ekranie monitora wyrażona w liczbie pikseli na cal określa jednostka

A. lpi
B. ppi
C. spi
D. dpi

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź to ppi, czyli pixels per inch. Ta jednostka opisuje, ile pikseli przypada na jeden cal długości ekranu i dotyczy konkretnie wyświetlaczy: monitorów, ekranów laptopów, smartfonów, tabletów. W praktyce ppi mówi o gęstości pikseli na ekranie, a więc o tym, jak „ostry” będzie obraz przy danej fizycznej wielkości wyświetlacza. Dwa monitory mogą mieć tę samą rozdzielczość w pikselach (np. 1920×1080), ale inne ppi, jeśli mają różne przekątne. Ten o mniejszej przekątnej będzie miał większe ppi, czyli obraz będzie wyglądał na bardziej szczegółowy. W projektowaniu grafiki na potrzeby WWW przyjmuje się, że kluczowa jest właśnie liczba pikseli w poziomie i pionie oraz fizyczne ppi ekranu użytkownika. Moim zdaniem warto pamiętać, że ppi dotyczy świata ekranów i interfejsów użytkownika, a nie druku. W wielu programach graficznych, gdy tworzysz layout strony, ikonę, element UI, ustawienie ppi pliku ma znaczenie głównie przy podglądzie na różnych urządzeniach, a nie dla samego kodu HTML/CSS. Przeglądarka i tak operuje na pikselach logicznych. Jednak przy projektowaniu responsywnym dobrze kojarzyć ppi z pojęciami takimi jak „retina” czy „HiDPI” – tam po prostu zwiększa się gęstość pikseli, dzięki czemu grafika wygląda ostrzej, ale wymaga to przygotowania obrazów w wyższej rozdzielczości. W branży przyjęło się mówić, że ppi to parametr urządzenia wyświetlającego, a nie pliku, i to jest bardzo zdrowe podejście przy pracy z grafiką na potrzeby stron WWW.

Pytanie 22

Które polecenie SQL zaktualizuje w tabeli tab wartość Ania na Zosia w kolumnie kol?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym przypadku, żeby zmienić 'Ania' na 'Zosia' w kolumnie 'kol' w tabeli 'tab', wykorzystujemy polecenie UPDATE. To umożliwia nam modyfikację danych, które już są w bazie. Składnia jest dosyć prosta: UPDATE nazwa_tabeli SET kolumna='nowa_wartość' WHERE warunek. Więc w tym naszym przykładzie, musimy ustalić, że w kolumnie 'kol' jest obecnie 'Ania', żeby wymienić ją na 'Zosia'. Jak to napiszesz, to będzie wyglądać tak: UPDATE tab SET kol='Zosia' WHERE kol='Ania';. Tego typu polecenia są naprawdę przydatne, zwłaszcza w systemach CRM, gdzie często aktualizujemy dane o klientach. Co ciekawe, stosując SQL, działamy zgodnie z zasadami ACID, co sprawia, że nasze dane zachowują spójność. Nie zapomnij też, że przed aktualizacją warto mieć kopię zapasową, żeby w razie czego nie stracić nic ważnego.

Pytanie 23

W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?

<div class="menu"></div>
A. div:menu { color: green; }
B. div.menu { background-color: green; }
C. menu { background-color: rgb(0,255,0); }
D. #menu { background-color: rgb(0,255,0); }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź div.menu { background-color: green; } jest prawidłowa, ponieważ odnosi się do selektora klasy w języku CSS. W HTML, atrybut class jest używany do przypisywania elementom jednej lub wielu klas, które mogą być następnie stylizowane w CSS. Selektor klasy jest definiowany przez poprzedzenie nazwy klasy kropką, co pozwala na stylizację wszystkich elementów używających tej klasy. W przypadku selektora div.menu, stylizacja dotyczy wszystkich elementów div z klasą menu. Użycie właściwości background-color z wartością green ustawia zielone tło dla zdefiniowanego elementu. Taki sposób definiowania stylów jest zgodny z dobrymi praktykami, które zalecają użycie klas do stylizacji wielokrotnego użytku w celu zwiększenia elastyczności i czytelności kodu. Ponadto używanie nazw klas i odpowiednich selektorów pozwala na łatwe zarządzanie stylistyką większych projektów, co jest kluczowe w rozwoju współczesnych stron internetowych. Warto zauważyć, że stosowanie klas zamiast identyfikatorów jest bardziej elastyczne, ponieważ jedna klasa może być przypisana do wielu elementów, podczas gdy identyfikator musi być unikalny w całym dokumencie.

Pytanie 24

W CSS właściwość font-size może przyjmować wartości według słów kluczowych

A. jedynie big i smali
B. z zestawu xx-small, x-small, smali, medium, large, x-large, xx-large
C. wyłącznie smali, medium, large
D. tylko smali, smaller, large, larger

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość font-size w CSS pozwala na określenie rozmiaru czcionki za pomocą zestawu wartości słownikowych, które obejmują xx-small, x-small, small, medium, large, x-large oraz xx-large. Użycie tych słów kluczowych jest zgodne z wytycznymi CSS i zapewnia spójne i zrozumiałe podejście do projektowania. Przykładowo, definiując klasę CSS dla nagłówka, możemy zastosować: h1 { font-size: large; } co skutkuje odpowiednim zwiększeniem rozmiaru czcionki, co jest zgodne z hierarchią typograficzną dokumentu. Zastosowanie wartości słownikowych zwiększa czytelność i dostępność treści, ponieważ są one zrozumiałe zarówno dla programistów, jak i dla przeglądarek. Ponadto, korzystając z tych wartości, projektanci mogą łatwiej dostosować wygląd strony do różnych urządzeń, co jest kluczowe w kontekście responsywnego web designu. Warto również wspomnieć, że wartości te są niezależne od jednostek miary, takich jak em czy px, co sprawia, że są bardziej elastyczne w użyciu.

Pytanie 25

W celu utworzenia różnicowej kopii zapasowej bazy danych na serwerze MSSQL, konieczne jest użycie klauzuli

A. WITH FORMAT
B. DIFFERENTIAL
C. RESTORE
D. FULL

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'DIFFERENTIAL' jest prawidłowa, ponieważ klauzula ta jest używana do tworzenia różnicowych kopii zapasowych bazy danych w systemie Microsoft SQL Server. Różnicowa kopia zapasowa zapisuje tylko te dane, które zmieniły się od ostatniej pełnej kopii zapasowej, co znacznie oszczędza czas i miejsca na dysku. W praktyce, aby wykonać różnicową kopię zapasową, stosuje się polecenie BACKUP z klauzulą DIFFERENTIAL. Na przykład: 'BACKUP DATABASE nazwa_bazy TO DISK = 'ścieżka_do_pliku.bak' WITH DIFFERENTIAL;'. Korzystanie z różnicowych kopii zapasowych jest zalecane w strategiach backupowych, gdyż zmniejsza czas potrzebny do przywrócenia systemu po awarii, a także przyspiesza proces tworzenia kopii. W dobrych praktykach branżowych, po zdefiniowaniu planu kopii zapasowych, rekomenduje się regularne testowanie procesu przywracania, aby upewnić się, że wszystkie kopie zapasowe są skuteczne i funkcjonalne.

Pytanie 26

Jakie są nazwy standardowych instrukcji w języku SQL, które dotyczą wykonywania operacji na danych w SQL DML (np.: dodawanie danych do bazy, usuwanie, wprowadzanie zmian w danych)?

A. DENY, GRANT, REVOKE
B. ALTER, CREATE, DROP
C. SELECT, SELECT INTO
D. DELETE, INSERT, UPDATE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź DELETE, INSERT, UPDATE jest całkiem trafna, bo te polecenia są częścią DML, czyli Data Manipulation Language, w SQL-u. DML to zestaw komend do zarządzania danymi w bazach danych. Moim zdaniem, DELETE jest kluczowe, bo pozwala na usuwanie zbędnych rekordów, co pomaga utrzymać bazę w dobrym stanie. Z kolei INSERT to coś, co używamy do dodawania nowych wpisów do tabeli, co jest mega ważne, jeśli chodzi o zbieranie danych potrzebnych aplikacji. A UPDATE? No to już absolutnie istotna sprawa, bo z jego pomocą zmieniamy dane, które już są w bazie, co przydaje się na przykład przy aktualizacji informacji o użytkownikach czy produktach. Przykłady? Można użyć INSERT, żeby dodać nowego użytkownika do tabeli 'Users', DELETE, żeby pozbyć się nieaktywnych kont, a UPDATE, żeby zmienić e-mail jakiegoś użytkownika. Dobrym pomysłem jest też korzystanie z transakcji, bo zapewnia to lepszą integralność danych podczas operacji DML.

Pytanie 27

W języku CSS, sformatowanie dowolnego elementu języka HTML w ten sposób, że po najechaniu na niego kursorem zmienia on kolor czcionki, wymaga zastosowania pseudoklasy

A. :active
B. :coursor
C. :hover
D. :visited

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to pseudoklasa :hover. W CSS służy ona dokładnie do tego, o co chodzi w pytaniu: do zmiany wyglądu elementu w momencie, gdy użytkownik najedzie na niego kursorem myszy (albo innym wskaźnikiem). Mechanizm jest prosty: przeglądarka śledzi pozycję kursora i kiedy znajduje się on nad danym elementem, do selektora z :hover zostają zastosowane zdefiniowane tam style. Przykładowo, żeby po najechaniu zmienić kolor tekstu linku, wystarczy napisać: a:hover { color: red; } Można tak samo stylować dowolny element HTML, nie tylko <a>: button:hover { color: white; background-color: #007bff; cursor: pointer; } W nowoczesnych interfejsach :hover jest podstawą efektów „podświetlenia” przycisków, kart, menu rozwijanych itp. Z mojego doświadczenia warto pamiętać o kolejności pseudoklas dla linków: a:link, a:visited, a:hover, a:active – to jest klasyczna dobra praktyka (czasem zapisywana jako LVHA), żeby style się nie nadpisywały w dziwny sposób. Trzeba też mieć w głowie, że na urządzeniach mobilnych :hover działa inaczej lub wcale, bo tam nie ma typowego kursora. Dlatego sensowne jest, żeby najważniejsze informacje nie były dostępne tylko po najechaniu, a :hover traktować bardziej jako poprawę wygody i estetyki, a nie jedyne źródło funkcjonalności. Mimo to w klasycznym desktopowym webie :hover jest absolutnym standardem do reakcji na najechanie kursorem.

Pytanie 28

Definicja obiektu została zapisana w języku JavaScript jako var osoba={imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985}; Jak można odwołać się do właściwości nazwisko?

A. osoba::nazwisko
B. osoba[2]
C. osoba.nazwisko
D. osoba[1]

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku JavaScript obiekty są kluczowymi strukturami danych, które pozwalają na grupowanie danych w formie par klucz-wartość. W omawianym przypadku mamy obiekt osoba, który zawiera trzy właściwości: imie, nazwisko oraz rok_urodzenia. Aby uzyskać dostęp do właściwości nazwisko, należy użyć notacji kropkowej, co jest standardową metodą w JavaScript. Notacja kropkowa jest czytelna i intuicyjna, co czyni ją preferowanym sposobem odwołania się do właściwości obiektu. Przykładowo, aby wyświetlić nazwisko, możemy użyć polecenia console.log(osoba.nazwisko), co zwróci wartość 'Kowalska'. Inna metoda dostępu do właściwości obiektu to notacja z nawiasami kwadratowymi, na przykład osoba['nazwisko'], która również zadziała, ale jest mniej czytelna, zwłaszcza w przypadku kluczy, które zawierają znaki specjalne. Warto podkreślić, że zgodnie z ECMAScript, standardem, na którym bazuje JavaScript, obiekty są fundamentalnym elementem języka, a umiejętność ich wykorzystania jest kluczowa dla każdego programisty.

Pytanie 29

Aby zapewnić integralność danych w bazie programu Microsoft Access, należy zastosować

A. kwerendę aktualizującą
B. więzy integralności
C. archiwizację bazy
D. defragmentację bazy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W celu zapewnienia spójności danych w bazie programu Microsoft Access kluczowe jest zastosowanie więzów integralności. Więzy integralności to zasady, które definiują warunki, jakie muszą być spełnione, aby dane w bazie były spójne i zgodne z określonymi regułami. Przykładowo, więzy te mogą obejmować ograniczenia unikalności, które zapobiegają wprowadzaniu zduplikowanych wartości w kolumnie, oraz więzy klucza obcego, które zapewniają, że wartości w jednej tabeli muszą odpowiadać wartościom w innej tabeli. Zastosowanie więzów integralności jest zgodne z zasadami normalizacji baz danych, które mają na celu minimalizowanie redundancji danych oraz eliminowanie niezgodności. Z perspektywy praktycznej, gdy tworzymy aplikacje bazodanowe, ustanowienie odpowiednich więzów integralności od samego początku pozwala uniknąć wielu problemów związanych z błędnymi danymi, co przynosi korzyści w kontekście analizy danych i raportowania. W związku z tym, więzy integralności są kluczowym elementem w projektowaniu baz danych, który znacząco wpływa na jakość i trwałość przechowywanych informacji.

Pytanie 30

Zapisano kod HTML wstawiający grafikę na stronę internetową: ```pejzaż``` Jeżeli rysunek.png nie zostanie odnaleziony, przeglądarka:

A. w miejscu grafiki wypisze tekst "rysunek.png".
B. w miejscu grafiki wypisze błąd wyświetlania strony.
C. nie wyświetli strony internetowej.
D. w miejscu grafiki wypisze tekst "pejzaż".

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Brawo! Wybrałeś prawidłową odpowiedź. Element <img> w kodzie HTML może mieć atrybut alt, który określa tekst alternatywny, który ma być wyświetlony, gdy obrazek nie może zostać załadowany. W tym przypadku, atrybut alt ma wartość 'pejzaż', co oznacza, że jeśli obraz 'rysunek.png' nie może zostać załadowany, przeglądarka wyświetli tekst 'pejzaż' w miejscu, gdzie powinien być obraz. Ta funkcja jest przydatna z kilku powodów. Po pierwsze, pozwala użytkownikowi zrozumieć kontekst strony, nawet jeśli nie może zobaczyć obrazu. Po drugie, jest to zgodne ze standardami dostępności, ponieważ czytniki ekranu dla osób niewidomych mogą odczytywać ten tekst. To jest ważne dla tworzenia stron internetowych, które są dostępne dla wszystkich.

Pytanie 31

Spośród wymienionych formatów, który charakteryzuje się najszerszą rozpiętością tonalną?

A. RAW
B. JPEG
C. BMP
D. PNG

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Format RAW jest uważany za format o najwyższej rozpiętości tonalnej, co oznacza, że może przechowywać znacznie więcej informacji tonalnych niż inne formaty plików graficznych. W przeciwieństwie do formatów skompresowanych, takich jak JPEG, RAW zachowuje wszystkie dane z matrycy aparatu fotograficznego, co pozwala na bardziej precyzyjną obróbkę kolorów i ekspozycji. Dzięki temu, w formacie RAW można uzyskać większą elastyczność podczas edytowania zdjęć, co jest szczególnie ważne dla profesjonalnych fotografów. Przykładem może być sytuacja, gdy zdjęcie zostało zrobione w trudnych warunkach oświetleniowych; w formacie RAW można z łatwością odzyskać szczegóły zarówno w cieniach, jak i w jasnych partiach obrazu. Ponadto, format RAW nie stosuje stratnej kompresji, co oznacza, że nie tracimy żadnych informacji przy zapisywaniu pliku. W standardach fotograficznych, takich jak TIFF czy DNG, również występuje wysoka jakość obrazu, ale RAW zapewnia bardziej bezpośredni dostęp do oryginalnych danych matrycy. Umożliwia to twórcom pełną kontrolę nad procesem edycji i finalnym wyglądem fotografii.

Pytanie 32

Poniżej zamieszczony fragment skryptu w JavaScript zwróci

Ilustracja do pytania
A. wo
B. ze
C. wodzenia
D. owodzeni

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten skrypt w JavaScript zaczyna od zadeklarowania zmiennej x, której przypisywana jest fraza 'Powodzenia na egzaminie'. Potem korzysta z metody substring na tej zmiennej z parametrami (3, 9). To znaczy, że wyciąga kawałek tekstu od indeksu 3 do 9. Pamiętaj, w JavaScript liczymy od zera, więc indeks 3 to czwarty znak, czyli 'o'. Dlatego z.substring(3, 9) zwraca 'odzeni'. Następnie, robimy kolejne wywołanie substring na tym wyniku, z parametrami (2, 4), co daje nam fragment od indeksu 2 do 4 w 'odzeni', czyli 'ze'. Na końcu, funkcja document.write(y) pokaże ten wynik na stronie. To świetny przykład na to, jak manipulować tekstem, co jest naprawdę przydatne w pracy z danymi. Z mojej perspektywy, zrozumienie operacji na tekstach to klucz do skutecznego przetwarzania i prezentacji informacji. Użycie takich metod w JavaScript do pracy z tekstem to absolutna podstawa, z którą warto się zapoznać.

Pytanie 33

Jakie z poniższych stwierdzeń właściwie opisuje tabelę utworzoną przez: CREATE TABLE dane (kolumna INTEGER(3));

A. Kolumny w tabeli dane nazywają się: kolumna1, kolumna2, kolumna3
B. Tabela o nazwie dane ma jedną kolumnę typu liczb całkowitych
C. Tabela zawiera jedną kolumnę, która składa się z trzyelementowych tablic
D. Tabela o nazwie dane zawiera trzy kolumny typu liczb całkowitych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że tabela o nazwie dane posiada jedną kolumnę liczb całkowitych, jest prawidłowa, ponieważ w definicji tabeli użyto składni CREATE TABLE, wskazując, że w tabeli znajduje się tylko jedna kolumna o nazwie 'kolumna'. Typ danych dla tej kolumny to INTEGER, co oznacza, że przechowuje ona liczby całkowite. Parametr (3) w INTEGER nie oznacza, że kolumna ta zawiera trzy elementowe tablice; w rzeczywistości jest to specyfikacja dotycząca maksymalnej liczby cyfr, które ta kolumna może przechowywać, co powoduje, że rozmiar wartości będzie ograniczony do 3 cyfr. W praktyce, przy projektowaniu baz danych, kluczowe jest zrozumienie typów danych oraz ich ograniczeń, aby zapewnić integralność danych. Dobrą praktyką jest używać odpowiednich typów danych i odpowiednio je definiować, by optymalizować wydajność zapytań oraz zużycie miejsca w bazie danych. W tym przypadku, zrozumienie, że kolumna 'kolumna' jest jedyną kolumną w tabeli o typie INTEGER, jest podstawą efektywnego projektowania struktury bazy danych.

Pytanie 34

Które z poniższych poleceń przyznaje użytkownikowi uczen najniższy poziom uprawnień w zakresie zmiany danych i struktury tabel?

A. GRANT SELECT ON szkola.przedmioty TO uczen;
B. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
C. GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
D. GRANT DROP ON szkola.przedmioty TO uczen;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź GRANT SELECT ON szkola.przedmioty TO uczen jest poprawna, ponieważ przyznaje użytkownikowi 'uczen' jedynie uprawnienia do odczytu danych w tabeli 'przedmioty' w bazie danych 'szkola'. Uprawnienia SELECT pozwalają na przeglądanie danych, co jest istotne w kontekście nauki czy oceny przedmiotów, ale nie zezwalają na modyfikację danych ani na zmiany w strukturze tabeli. To podejście jest zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są niezbędne do wykonania swoich zadań. W praktyce, przyznawanie tylko uprawnień SELECT jest szczególnie ważne w środowiskach edukacyjnych, gdzie chcemy zapewnić uczniom dostęp do informacji, ale jednocześnie chronić integralność danych. W kontekście dobrych praktyk, ograniczenie dostępu do danych wrażliwych jest kluczowe, a nadawanie zbyt szerokich uprawnień może prowadzić do nieautoryzowanych zmian lub utraty danych.

Pytanie 35

Jak można usunąć ciasteczko o nazwie ciastko, korzystając z języka PHP?

A. setcookie("$ciastko", "", 0);
B. deletecookie("ciastko");
C. setcookie("ciastko", "", time()-3600);
D. unsetcookie("$ciastko");

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź setcookie("ciastko", "", time()-3600) jest prawidłowa, ponieważ do usunięcia ciasteczka w PHP należy ustawić jego wartość na pusty ciąg oraz datę ważności w przeszłości. Funkcja setcookie() jest standardowym sposobem zarządzania ciasteczkami w PHP. Argumenty przekazywane do tej funkcji obejmują nazwę ciasteczka, wartość oraz czas, kiedy ciasteczko wygasa. Ustawiając czas na time()-3600, informujemy przeglądarkę, że ciasteczko jest nieaktualne, co skutkuje jego usunięciem. Dobrą praktyką jest również uzupełnienie argumentów o ścieżkę i domenę, aby upewnić się, że wszystkie instancje ciasteczka są usuwane. Przykładowo, setcookie("ciastko", "", time()-3600, "/", "example.com"); usuwa ciasteczko w kontekście całej witryny. Pamiętaj, aby wywołać tę funkcję przed jakimkolwiek wyjściem HTML, ponieważ nagłówki HTTP muszą być wysyłane przed jakimikolwiek danymi wyjściowymi.

Pytanie 36

Wskaż system do zarządzania treściami.

A. phpMyAdmin
B. Joomla!
C. Apache
D. MariaDB

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Joomla! to system zarządzania treścią (CMS), który umożliwia użytkownikom tworzenie i edytowanie stron internetowych bez potrzeby zaawansowanej wiedzy programistycznej. Jest to jeden z najpopularniejszych CMS na świecie, używany przez miliony witryn, od prostych blogów po skomplikowane portale e-commerce. Jego zalety obejmują elastyczność, możliwość łatwego dostosowywania za pomocą rozbudowanych wtyczek i szablonów oraz aktywną społeczność, która wspiera rozwój i aktualizacje. Joomla! umożliwia zarządzanie użytkownikami, co pozwala na tworzenie złożonych struktur dostępu do treści, co jest istotne w kontekście dużych organizacji. Dobre praktyki przy korzystaniu z Joomla! obejmują regularne aktualizacje, aby zapobiegać lukom bezpieczeństwa, oraz optymalizację treści pod kątem SEO, co zwiększa widoczność witryn w wynikach wyszukiwania. System ten jest zgodny z wieloma standardami webowymi, co czyni go solidnym wyborem dla profesjonalnych projektów webowych.

Pytanie 37

W formularzu HTML użyto znacznika <input>. Pole to będzie służyło do wprowadzania maksymalnie

<input type="password" size="30" maxlength="20">
A. 20 znaków, które nie są widoczne w polu tekstowym
B. 30 znaków, które nie są widoczne w polu tekstowym
C. 20 znaków, które są widoczne w trakcie wprowadzania
D. 30 znaków, które są widoczne w trakcie wprowadzania

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 20 znaków, które nie są widoczne w polu tekstowym. Znacznik <input type="password"> w HTML jest używany do tworzenia pól wprowadzania, w których hasła lub inne wrażliwe dane są maskowane, co oznacza, że wpisywane znaki są pokazywane jako symbole, zwykle kropki. W atrybucie 'maxlength' określa się maksymalną liczbę znaków, które użytkownik może wprowadzić. W tym przypadku, atrybut 'maxlength="20"' oznacza, że użytkownik może wprowadzić maksymalnie 20 znaków, ale nie będą one widoczne w polu tekstowym, co zwiększa bezpieczeństwo. Dobrym przykładem zastosowania tego typu pola jest logowanie do systemów, gdzie ochrona danych użytkownika jest kluczowa. Stosowanie pól typu 'password' jest zgodne z zasadami ochrony prywatności i dobrymi praktykami w zakresie projektowania interfejsów użytkownika, które wymagają maskowania danych w celu minimalizacji ryzyka ich ujawnienia.

Pytanie 38

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z zagadnieniami dotyczącymi zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z atrybutami
B. Z przywilejami obiektowymi
C. Z przywilejami systemowymi
D. Z regułami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przywileje systemowe odnoszą się do uprawnień, które są nadawane użytkownikom w kontekście zarządzania kontami i dostępem do zasobów w systemach baz danych. Te mechanizmy są kluczowe dla zapewnienia bezpieczeństwa oraz integralności danych. Przykładem przywilejów systemowych mogą być uprawnienia do tworzenia i usuwania innych kont użytkowników, a także do modyfikacji struktur danych, co jest fundamentalne w operacjach administracyjnych. W praktyce, administratorzy baz danych wykorzystują te przywileje do określenia, które konta mają dostęp do określonych funkcji systemu. W standardach takich jak SQL standard, zarządzanie uprawnieniami jest ściśle zdefiniowane, co pozwala na audyt i kontrolę dostępu. Aby stosować dobre praktyki, warto wdrożyć zasadę najmniejszych uprawnień, co oznacza, że użytkownicy powinni otrzymywać tylko te uprawnienia, które są niezbędne do wykonywania ich zadań. Dzięki temu minimalizujemy ryzyko nieautoryzowanego dostępu oraz potencjalnych naruszeń bezpieczeństwa.

Pytanie 39

Aby zwiększyć wydajność operacji w bazie danych, należy skupić się na polach, które są często wyszukiwane lub sortowane

A. stworzyć oddzielną tabelę przechowującą wyłącznie te pola
B. dodać więzy integralności
C. utworzyć indeks
D. dodać klucz obcy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Utworzenie indeksu w bazie danych jest kluczowym krokiem w optymalizacji operacji wyszukiwania i sortowania. Indeksy działają jak spis treści w książce, umożliwiając szybsze odnajdywanie danych bez konieczności przeszukiwania całej tabeli. Gdy zapytania często wykorzystują konkretne kolumny do filtracji lub sortowania, indeksowanie tych kolumn znacznie przyspiesza wydajność. Na przykład, jeśli często wyszukujesz klientów według ich nazwisk, utworzenie indeksu na kolumnie nazwiska pozwoli bazie danych szybko zlokalizować odpowiednie rekordy. Standardy branżowe, takie jak SQL Server czy MySQL, zalecają stosowanie indeksów zwłaszcza na dużych tabelach, gdzie operacje skanowania mogą być czasochłonne. Dobrą praktyką jest również monitorowanie wydajności i regularne dostosowywanie indeksów w zależności od zmieniających się wzorców zapytań. Należy jednak pamiętać, że nadmierna liczba indeksów może wpłynąć negatywnie na operacje zapisu, dlatego kluczowe jest znalezienie odpowiedniej równowagi.

Pytanie 40

Jaki rezultat uzyskamy po uruchomieniu załączonego skryptu?

<?php
class Owoc {
  function __construct() {     echo "test1";     }
  function __destruct() {     echo "test2";     }
}
$gruszka = new Owoc();
?>
A. Na ekranie pojawią się oba komunikaty: "test1" oraz "test2"
B. Nie zostanie wyświetlony żaden komunikat
C. Pojawi się jedynie komunikat "test2"
D. Pojawi się tylko komunikat "test1"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Skrypt w PHP definiuje klasę Owoc z dwoma metodami specjalnymi __construct() i __destruct(). Metoda __construct() jest automatycznie wywoływana podczas tworzenia instancji klasy. W tym wypadku, w momencie utworzenia obiektu $gruszka, zostanie wykonana metoda __construct(), która wyświetli napis test1. Następnie, gdy skrypt kończy działanie lub obiekt jest usuwany z pamięci, wywoływana jest metoda __destruct(). W tym przypadku, po zakończeniu skryptu, wywołana zostanie metoda __destruct(), która wyświetli napis test2. Metody konstruktorów i destruktorów są podstawą zarządzania cyklem życia obiektu w PHP, pozwalając na inicjalizację ustawień, jak również zwalnianie zasobów. Użycie ich jest kluczowe w projektowaniu obiektowo-zorientowanym, gdzie każda klasa może definiować własne sposoby obsługi zasobów. Praktyka ta wspiera modularność i utrzymanie kodu, co jest standardem w profesjonalnym programowaniu.