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: 8 lipca 2026 12:11
  • Data zakończenia: 8 lipca 2026 12:13

Egzamin niezdany

Wynik: 2/40 punktów (5,0%)

Wymagane minimum: 20 punktów (50%)

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

Który format zapisze obraz rastrowy BEZ utraty jakości (bezstratnie) i nadaje się na stronę WWW?

A. PNG
B. BMP
C. CDR
D. JPG
Pozostałe formaty nie spełniają obu warunków. JPG kompresuje STRATNIE (gubi detale, daje artefakty przy ostrych krawędziach). BMP jest praktycznie nieskompresowany, więc daje ogromne pliki nieprzyjazne webowi. CDR to format programu CorelDRAW (wektorowy), nieobsługiwany przez przeglądarki. Bezstratny obraz dla WWW to PNG.

Pytanie 2

Jakie ustawienia dotyczące czcionki będą miały zastosowanie w przypadku kodu CSS?

* {
    font-family: Tahoma;
    color: Teal;
}
A. znaczników o identyfikatorze równym *.
B. wszystkiego kodu HTML, jako domyślne formatowanie dla wszystkich elementów strony.
C. znaczników z klasą przypisaną jako *.
D. wszystkiego kodu HTML, niezależnie od kolejnych ustawień CSS.
Wybór opcji dotyczącej całego kodu HTML jako formatowania domyślnego dla wszystkich elementów strony jest poprawny, ponieważ użycie selektora uniwersalnego * w CSS oznacza, że wszystkie dostępne elementy na stronie będą dziedziczyć określone style. W tym przypadku, zarówno font-family ustawiony na Tahoma, jak i kolor tekstu zmieniony na Teal, będą dotyczyły każdego elementu HTML, bez względu na jego typ. To podejście jest zgodne z zasadami stosowania stylów kaskadowych, gdzie style są aplikowane do elementów w sposób hierarchiczny, a selektor uniwersalny jest najogólniejszym z dostępnych. Przykładem zastosowania może być sytuacja, gdy chcemy ustawić jednolite formatowanie dla całej strony, co upraszcza proces projektowania i zapewnia spójność wizualną. Dobrą praktyką jest jednak używanie selektora uniwersalnego z umiarem, aby uniknąć nadmiernego obciążenia wydajności, szczególnie w większych dokumentach, gdzie precyzyjniejsze selektory mogą przynieść lepsze rezultaty.

Pytanie 3

Przedstawiona w języku C++ definicja typu wyliczeniowego sprawi, że enumerator CZWARTEK będzie równy

enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};
A. liczbie 4
B. napisowi "CZWARTEK"
C. liczbie 1
D. napisowi 'CZWARTEK'
Definicja typu wyliczeniowego (enum) w języku C++ jest używana do tworzenia zestawu nazwanych stałych, co zwiększa czytelność i organizację kodu. W przypadku podanej definicji enum dni {PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA, NIEDZIELA};, każdy element enumeracji automatycznie przyjmuje wartość całkowitą, zaczynając od podanej wartości dla pierwszego elementu, czyli PONIEDZIALEK = 1. Kolejne elementy, WTOREK, SRODA i CZWARTEK, przyjmują wartości 2, 3 i 4 odpowiednio. Tak więc CZWARTEK, będący czwartym elementem listy, ma przypisaną wartość 4. W praktyce, takie zdefiniowanie dni tygodnia jako enum pozwala na łatwe i zrozumiałe odwoływanie się do dni w kodzie, co ułatwia jego konserwację oraz eliminację błędów. Przy implementacji programów, w których operuje się na dniach tygodnia, korzystanie z typów wyliczeniowych jest powszechną praktyką i jest zgodne ze standardami kodowania, które promują użycie czytelnych i zrozumiałych nazw dla wartości.

Pytanie 4

W CSS zastosowano poniższe formatowanie. Kolorem czerwonym będzie wyświetlony

h1 i {
   color: red;
}
A. cały tekst nagłówka pierwszego stopnia oraz tekst italic akapitu
B. cały tekst nagłówka pierwszego stopnia oraz wszelki tekst italic, niezależnie od lokalizacji na stronie
C. jedynie tekst italic we wszystkich poziomach nagłówków
D. tylko tekst italic nagłówka pierwszego stopnia

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W stylach CSS selektor złożony h1 i oznacza, że formatowanie będzie stosowane tylko do elementów pochylonych i znajdujących się wewnątrz nagłówka pierwszego poziomu h1. W praktyce oznacza to, że taki zapis CSS zmienia kolor na czerwony tylko dla tekstu wewnątrz tagu <i> znajdującego się w <h1>. Selekcja złożona umożliwia precyzyjne określanie, które elementy są formatowane, co jest kluczowe w przypadku dużych i złożonych stron internetowych. Zrozumienie działania selektorów jest fundamentem efektywnego stylizowania dokumentów HTML. Pozwala to na zachowanie spójności wizualnej oraz lepszą kontrolę nad wyglądem strony. Dobór odpowiednich selektorów w CSS to również jedna z dobrych praktyk, które sprzyjają czytelności kodu oraz jego łatwiejszej konserwacji w przyszłości. Taki zapis pozwala na minimalizację konfliktów stylów, które mogą się pojawić przy bardziej ogólnych selektorach. Praktyczne użycie selektorów złożonych jest więc zalecane w celu uzyskania bardziej kontrolowanego i przewidywalnego wyglądu strony internetowej, co jest zgodne ze standardami webowymi promującymi semantyczne i uporządkowane kodowanie.

Pytanie 5

Co oznacza ustawienie background-attachment: scroll?

A. że tło pojawi się w prawym górnym rogu
B. że tło będzie przewijać się razem z treścią strony
C. że tło pozostanie nieruchome przy przewijaniu
D. że tło będzie powtarzane jak kafelki

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wartość <code><span class="code-variable">scroll</span></code> właściwości <code><span class="code-variable">background-attachment</span></code> (domyślna) wiąże tło z treścią strony - podczas przewijania obraz tła przesuwa się razem z zawartością. Dlatego <code><span class="code-variable">scroll</span></code> oznacza, że tło przewija się razem z treścią.

Pytanie 6

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

Ilustracja do pytania
A. wypisanie liczby parzystej
B. zwrócenie wartości 1, gdy liczba jest parzysta
C. zwrócenie wartości 0, gdy liczba jest parzysta
D. wypisanie liczby nieparzystej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja w języku PHP jest zapisana w taki sposób że przyjmuje jeden argument liczba i sprawdza czy jest on parzysty. Używa operatora modulo % który zwraca resztę z dzielenia. Jeśli liczba podzielona przez 2 daje resztę równą 0 oznacza to że jest parzysta. W takim przypadku funkcja zwraca wartość 1. W przeciwnym razie czyli gdy liczba jest nieparzysta funkcja zwraca 0. Takie podejście jest częstym wzorcem w programowaniu gdyż pozwala na szybkie i efektywne sprawdzenie parzystości liczby. Stosowanie operatora modulo jest standardem w wielu językach programowania dzięki czemu kod jest zrozumiały i łatwo go przenieść między różnymi platformami. W praktyce takie funkcje mogą być używane w algorytmach gdzie konieczne jest filtrowanie danych na podstawie parzystości lub innych podobnych kryteriów. Dobre praktyki w kodowaniu w PHP obejmują również jasne nazywanie funkcji i zmiennych co poprawia czytelność i utrzymanie kodu. Można także zastanowić się nad rozszerzeniem funkcji o dodatkowe sprawdzania lub logikę w zależności od potrzeb projektu.

Pytanie 7

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTP
B. Metoda GET, za pomocą protokołu HTTPS
C. Metoda GET, za pomocą protokołu HTTP
D. Metoda POST, za pomocą protokołu HTTPS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 8

Aby zadeklarować pole klasy, do którego dostęp mają jedynie metody tej klasy, a które nie jest dostępne dla klas pochodnych, należy użyć kwalifikatora dostępu

A. prywatny
B. publikowany
C. publiczny
D. chroniony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pole, które ma być widoczne tylko dla metod własnej klasy i niedostępne dla klas pochodnych, deklarujemy z modyfikatorem <code><span class="code-keyword">private</span></code>. To najsilniejsze ograniczenie dostępu: pole prywatne istnieje w obiekcie, ale odwołać się do niego może wyłącznie kod tej samej klasy. Realizuje to zasadę hermetyzacji (enkapsulacji) - ukrywamy wewnętrzny stan obiektu i wystawiamy go na zewnątrz przez kontrolowane metody (gettery i settery). Dzięki temu nikt z zewnątrz, ani nawet klasa dziedzicząca, nie zmieni pola w sposób łamiący jego poprawność. Przykładowo pole z saldem konta zadeklarowane jako prywatne można modyfikować jedynie przez metody klasy, które pilnują reguł biznesowych.

Pytanie 9

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

A. mysql_field_len
B. mysql_list_fields
C. mysql_fetch_lengths
D. mysql_fetch_row

Brak odpowiedzi na to pytanie.

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

Pytanie 10

Która właściwość CSS przyjmuje wartości underline, overline, line-through?

A.
text-decoration
B.
font-style
C.
font-weight
D.
text-style

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Właściwość <code><span class="code-variable">text-decoration</span></code> steruje ozdobą tekstu liniami: <code><span class="code-variable">underline</span></code> (podkreślenie), <code><span class="code-variable">overline</span></code> (nadkreślenie), <code><span class="code-variable">line-through</span></code> (przekreślenie) oraz <code><span class="code-variable">none</span></code>. Dlatego te wartości przyjmuje <code><span class="code-variable">text-decoration</span></code>.

Pytanie 11

Weryfikację kompletności formularza, działającą po stronie przeglądarki, należy zrealizować w języku

A. CSS
B. Ruby on Rails
C. PHP
D. JavaScript

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to JavaScript, bo właśnie ten język działa bezpośrednio w przeglądarce użytkownika i pozwala na dynamiczną weryfikację formularzy jeszcze przed wysłaniem danych na serwer. JavaScript ma dostęp do drzewa DOM, więc może odczytać wartości pól, sprawdzić, czy nie są puste, czy e‑mail ma poprawny format, czy hasło ma odpowiednią długość, a nawet czy dwa pola hasła są identyczne. Z mojego doświadczenia to jest absolutny standard w nowoczesnych aplikacjach webowych: najpierw lekka walidacja po stronie klienta w JS, a dopiero potem solidna walidacja po stronie serwera. Dobrym przykładem jest formularz rejestracji: po wpisaniu zbyt krótkiego hasła JavaScript może od razu wyświetlić komunikat pod polem, bez przeładowania strony. Można też blokować przycisk „Wyślij”, dopóki wszystkie wymagane pola nie są poprawnie wypełnione. W praktyce często używa się zdarzeń takich jak onsubmit na formularzu albo input/blur na polach, żeby na bieżąco sprawdzać dane. Można też korzystać z gotowych bibliotek walidacyjnych, ale pod spodem i tak pracuje JavaScript. W dobrych praktykach przyjmuje się zasadę: walidacja po stronie klienta poprawia wygodę i szybkość obsługi (user experience), ale nie zastępuje walidacji po stronie serwera. JavaScript służy więc do „pierwszej linii obrony” i podpowiedzi użytkownikowi, a serwer (np. w PHP czy innym języku backendowym) musi i tak wszystko jeszcze raz sprawdzić ze względów bezpieczeństwa. Warto też pamiętać o wykorzystaniu wbudowanych mechanizmów HTML5 (atrybuty required, type="email" itd.), ale to JavaScript daje pełną kontrolę nad logiką i komunikatami błędów, bo pozwala tworzyć własne reguły i reagować na konkretne zachowania użytkownika.

Pytanie 12

Element

<meta charset="utf-8">
definiuje metadane dotyczące strony internetowej, odnosząc się do
A. słów kluczowych
B. opisu witryny
C. języka witryny
D. kodowania znaków

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten element <meta charset="utf-8"> jest naprawdę ważny w nagłówku stron HTML, bo to on mówi przeglądarkom, jak odczytywać znaki w Twoim dokumencie. Dzięki temu tekst wyświetla się poprawnie na różnych urządzeniach. UTF-8 jest najbardziej popularnym kodowaniem, bo obsługuje niemal wszystkie znaki z różnych języków, co sprawia, że Twoja strona może być bardziej uniwersalna. Na przykład, jeśli masz tekst po polsku, to użycie UTF-8 upewnia się, że takie znaki jak ą czy ć będą prawidłowo pokazane. Właśnie dlatego warto stosować UTF-8, bo to, co zaleca W3C, jest bardzo sensowne - chodzi przecież o to, żeby strona była dostępna dla każdego, niezależnie od tego, z jakiego języka korzysta.

Pytanie 13

W języku JavaScript zapisano kod, którego wynikiem działania jest

var osoba = prompt("Podaj imię", "Adam");
A. bezpośrednie wpisanie do zmiennej osoba wartości "Adam".
B. wyświetlenie okna z polem edycyjnym, w którym jest wpisany domyślny tekst "Adam".
C. wyświetlenie okna z pustym polem edycyjnym.
D. pobranie z formularza wyświetlonego na stronie HTML imienia "Adam".

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. W JavaScript metoda prompt() służy do wyświetlenia okna dialogowego z polem tekstowym dla użytkownika. Pierwszy argument metody to wiadomość, która jest wyświetlana w oknie dialogowym, natomiast drugi argument to domyślna wartość, jaka jest wpisana w polu tekstowym. W przypadku podanego kodu, drugi argument to 'Adam', co oznacza, że w polu edycyjnym domyślnie będzie wpisany tekst 'Adam'. Metoda ta jest często stosowana do zbierania od użytkownika informacji w prosty i szybki sposób. Pamiętaj jednak, że nie jest to bezpieczny sposób przekazywania danych, ponieważ informacje wpisane przez użytkownika mogą być łatwo przechwycone przez nieautoryzowane osoby.

Pytanie 14

Aby strona internetowa była bardziej dostępna dla osób niewidomych, obrazom wstawianym znacznikiem img należy nadać atrybut:

A.
style
B.
src
C.
alt
D.
text

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut <code><span class="code-variable">alt</span></code> znacznika <code><span class="code-text">&lt;</span><span class="code-keyword">img</span><span class="code-text">&gt;</span></code> zawiera tekst alternatywny - krótki opis tego, co przedstawia obraz. Czytnik ekranu, z którego korzystają osoby niewidome, odczytuje tę treść na głos, dzięki czemu użytkownik wie, co jest na obrazku. Tekst alternatywny pokazuje się też, gdy obraz się nie wczyta. Dlatego dla dostępności obrazom nadaje się atrybut <code><span class="code-variable">alt</span></code>.

Pytanie 15

W PHP tablice asocjacyjne to struktury, w których

A. elementy tablicy są zawsze numerowane od zera
B. są co najmniej dwa wymiary
C. w każdej pozycji tablicy znajduje się inna tablica
D. indeks może być dowolnym ciągiem znaków

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tablice asocjacyjne w języku PHP są strukturami danych, które łączą unikalne klucze (indeksy) z wartościami. Klucze mogą być dowolnymi napisami, co oznacza, że programista ma dużą swobodę w definiowaniu, jak będą wyglądały indeksy. Na przykład, można używać nazw użytkowników jako kluczy, co pozwala na łatwe odwoływanie się do powiązanych danych. Przykład zastosowania tablic asocjacyjnych to przechowywanie informacji o użytkownikach w formacie: $użytkownicy = array('jan' => 'Jan Kowalski', 'ania' => 'Anna Nowak'). W praktyce, tablice asocjacyjne są niezwykle użyteczne, gdyż pozwalają na bardziej intuicyjny dostęp do danych, a także umożliwiają organizowanie danych w sposób, który jest zrozumiały dla programisty oraz osób współpracujących z kodem. Dobrą praktyką jest stosowanie nazw kluczy, które jednoznacznie opisują przechowywane dane, co zwiększa czytelność i ułatwia późniejsze modyfikacje w kodzie. Warto również dodać, że tablice asocjacyjne w PHP są implementowane jako hashe, co zapewnia szybki dostęp do wartości na podstawie kluczy. To czyni je efektywnym narzędziem w codziennej pracy programisty, szczególnie przy pracy z dużymi zbiorami danych.

Pytanie 16

<source src="plik.mp4" type="video/mp4">
Aby osadzić plik wideo na stronie WWW, przedstawiony kod HTML5 należy umieścić wewnątrz znaczników:
A. <section> </section>
B. <div> </div>
C. <video> </video>
D. <embed> </embed>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to umieszczenie znacznika `<source>` wewnątrz `<video>...</video>`. W HTML5 to właśnie element `<video>` jest kontenerem odpowiedzialnym za osadzanie plików wideo na stronie WWW. Atrybuty takie jak `controls`, `autoplay`, `loop`, `muted`, `width` czy `height` przypisujemy właśnie do `<video>`, a nie do `<source>`. Znacznik `<source>` służy głównie do wskazania konkretnego pliku multimedialnego i jego typu MIME, np.: `<video controls width="640" height="360"><source src="film.mp4" type="video/mp4"><source src="film.webm" type="video/webm">Twoja przeglądarka nie obsługuje elementu video.</video>`. Przeglądarka przechodzi po kolei po elementach `<source>` i wybiera pierwszy format, który potrafi odtworzyć. To jest zgodne ze specyfikacją HTML Living Standard (WHATWG) oraz zaleceniami W3C dotyczącymi multimediów w sieci. W praktyce, w projektach komercyjnych, często dodaje się kilka formatów (np. MP4, WebM), właśnie po to, by zapewnić maksymalną kompatybilność między różnymi przeglądarkami i systemami. Moim zdaniem warto od razu wyrabiać sobie nawyk pisania pełnej, semantycznie poprawnej struktury: `<video>` jako główny element odtwarzacza, w środku jeden lub więcej `<source>` i ewentualnie tekst alternatywny. Dzięki temu kod jest czytelny, łatwiej go stylować w CSS, a także lepiej zachowuje się w kontekście dostępności (np. czytniki ekranu widzą, że to element wideo). Dodatkowo, `<video>` można łatwo obsługiwać z poziomu JavaScript, korzystając z jego API (play, pause, currentTime, volume itd.), co w praktyce daje sporą kontrolę nad odtwarzaniem multimediów na stronie.

Pytanie 17

Instrukcja przypisania elementu do tablicy w języku JavaScript dotyczy tablicy:

Tablica['technik'] = 'informatyk';
A. numerycznej.
B. asocjacyjnej.
C. wielowymiarowej.
D. statycznej.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 'asocjacyjna'. W języku JavaScript, tablice asocjacyjne są strukturami danych, które używają kluczy zamiast indeksów numerycznych. Kluczem może być dowolny ciąg znaków, co oznacza, że elementy tablicy są identyfikowane za pomocą unikalnych kluczy. W praktyce, gdy używamy tablicy asocjacyjnej, przypisujemy wartość do określonego klucza, jak w przedstawionym przykładzie, gdzie wartość 'informatyk' przypisana jest do klucza 'technik'. Jest to często stosowane w praktyce, ponieważ pozwala na bardziej intuicyjne i zrozumiałe indeksowanie danych. Ważne jest jednak, aby pamiętać, że mimo iż tablice asocjacyjne są bardzo użyteczne, nie są one oficjalnie uznawane przez specyfikację języka JavaScript, co oznacza, że różne środowiska mogą je obsługiwać w różny sposób.

Pytanie 18

Które wywołanie is_int() zwróci true?

A.
is_int(135)
B.
is_int(NULL)
C.
is_int("135")
D.
is_int(13.5)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja <code><span class="code-function">is_int</span><span class="code-text">(</span><span class="code-text">)</span></code> zwraca <code><span class="code-variable">true</span></code> tylko dla liczby CAŁKOWITEJ - dlatego <code><span class="code-function">is_int</span><span class="code-text">(</span><span class="code-number">135</span><span class="code-text">)</span></code> da <code><span class="code-variable">true</span></code>.

Pytanie 19

Tabela filmy ma klucz główny id i klucz obcy rezyserID. Tabela rezyserzy ma klucz główny id. Jak poprawnie połączyć je w SELECT (relacja jeden reżyser → wiele filmów)?

A.
... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...
B.
... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...
C.
... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
D.
... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tabele łączy się tam, gdzie pasują klucze: klucz OBCY <code><span class="code-variable">rezyserID</span></code> z tabeli filmy wskazuje klucz GŁÓWNY <code><span class="code-variable">id</span></code> tabeli rezyserzy. Dlatego poprawny warunek to <code><span class="code-keyword">ON</span> <span class="code-variable">filmy</span><span class="code-text">.</span><span class="code-variable">rezyserID</span> <span class="code-text">=</span> <span class="code-variable">rezyserzy</span><span class="code-text">.</span><span class="code-variable">id</span></code>.

Pytanie 20

Co wchodzi w skład standardowego frameworka?

A. system uruchamiania i przetwarzania akcji oraz certyfikat http
B. przetwarzanie formularzy oraz wbudowany serwer
C. domena oraz obsługa błędów
D. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Frameworki aplikacji webowych dostarczają zestawu narzędzi i standardów, które ułatwiają tworzenie oprogramowania. W kontekście tego pytania, zarządzanie komunikacją z bazą danych oraz mechanizm uruchamiania i przetwarzania akcji stanowią kluczowe komponenty każdego frameworka. Zarządzanie komunikacją z bazą danych odnosi się do sposobów, w jakie aplikacja łączy się z bazą danych, wykonuje zapytania i przetwarza wyniki. Przykładowo, w frameworkach takich jak Django czy Ruby on Rails, stosuje się ORM (Object-Relational Mapping), co ułatwia interakcję z bazą danych poprzez obiektowe podejście zamiast pisania surowych zapytań SQL. Mechanizm uruchamiania i przetwarzania akcji opisuje, jak framework interpretuje i obsługuje żądania użytkowników, co obejmuje routing, middleware i obsługę logiki biznesowej. Takie podejście jest zgodne z zasadą DRY (Don't Repeat Yourself), co zwiększa efektywność i jakość kodu w projektach programistycznych.

Pytanie 21

Poniżej zaprezentowano fragment kodu w języku HTML:
<ol>
<li>punkt 1</li>
<li>punkt 2</li>
<ul>
<li>podpunkt1</li>
<li>podpunkt2</li>
<li>podpunkt3</li>
</ul>
<li>punkt3</li>
</ol>

A. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt1 3. punkt3
B. 1. punkt 1 2. punkt 2 3. punkt3 podpunkt1 podpunkt2 podpunkt1
C. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
D. punkt 1 punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fajnie, że wybrałeś poprawną odpowiedź! To pokazuje, że rozumiesz, jak działa struktura list w HTML. W Twoim kodzie mamy uporządkowaną listę z trzema głównymi punktami, co jest świetne. Te pierwsze dwa są dobrze zdefiniowane jako elementy <li>, tak jak powinny być. A w punkcie 2 masz zagnieżdżoną listę nieuporządkowaną, co dodaje trochę ekstra informacji – super sprawa! Pamiętaj, że to zagnieżdżenie ma znaczenie, bo pomaga to w organizacji treści. Każdy podpunkt też jest elementem <li>, więc wszystko się zgadza. Tego typu struktury są mega przydatne, zwłaszcza w spisach treści czy menu nawigacyjnych. Pamiętaj, że dobrze zbudowany HTML jest ważny dla czytelności, a także dla osób, które korzystają z różnych technologii do przeglądania stron. Trzymaj tak dalej!

Pytanie 22

W tabeli produkt znajdują się artykuły wyprodukowane po roku 2000, posiadające pola nazwa oraz rok_produkcji. Jakie zapytanie SQL pokaże listę artykułów wyprodukowanych?

Ilustracja do pytania
A. w roku 2017
B. w latach innych niż 2017
C. przed rokiem 2017
D. po roku 2017

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klauzula SQL wykorzystuje funkcję SUBSTR aby wyekstrahować dwie cyfry z roku produkcji zaczynając od trzeciej pozycji. To oznacza że bierze dwie cyfry odpowiadające końcówce roku. W ten sposób SELECT * FROM produkt WHERE SUBSTR(rok_produkcji3 2)=17; wyszukuje przedmioty których rok produkcji kończy się na 17 co wskazuje że zostały wyprodukowane w 2017 roku. Jest to efektywna metoda pod warunkiem że dane w kolumnie rok_produkcji są przechowywane jako ciągi znaków i spełniają wymagany format YYYY. Praktyczne zastosowanie tego podejścia jest szczególnie przydatne w bazach danych gdzie mogą występować różne formaty zapisu dat. Ważne jest aby zawsze upewnić się że dane są odpowiednio ujednolicone. Korzystanie z funkcji jak SUBSTR jest standardową praktyką w SQL umożliwiającą dynamiczne manipulowanie tekstem co czyni zapytania bardziej elastycznymi. Zrozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania bazami danych w kontekście filtrowania danych na podstawie ich struktur tekstowych.

Pytanie 23

Który składnik nie jest wymagany do instalacji i uruchomienia systemu CMS Joomla!?

A. platforma .NET
B. serwer WWW
C. baza danych
D. parser PHP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazana została platforma .NET jako element, który nie jest wymagany do instalacji i działania Joomla!. Ten CMS jest napisany w PHP i z założenia działa w klasycznym stosie LAMP/LEMP, czyli Linux/Windows + serwer WWW (najczęściej Apache lub Nginx) + PHP + baza danych (MySQL/MariaDB, czasem PostgreSQL). Joomla! korzysta z interpretera PHP do wykonywania całej logiki aplikacji: obsługi logowania, generowania szablonów, pracy z bazą danych, modułów, komponentów itd. Serwer WWW (HTTP) odpowiada za przyjmowanie żądań z przeglądarki i przekazywanie ich do PHP, a baza danych przechowuje treści, użytkowników, konfigurację, menu, artykuły i całą resztę danych dynamicznych. Platforma .NET to zupełnie inny ekosystem technologiczny, typowy dla aplikacji pisanych w C#, ASP.NET, .NET Core, działających np. na IIS. Joomla! nie jest aplikacją .NET, więc nie potrzebuje środowiska uruchomieniowego .NET ani serwera IIS, żeby działać. W praktyce, w typowej firmie hostingowej, gdy chcesz uruchomić Joomla!, patrzysz czy jest obsługa PHP w odpowiedniej wersji, dostęp do bazy MySQL/MariaDB oraz czy serwer WWW pozwala na friendly URLs (mod_rewrite lub odpowiednik). To są realne wymagania. Można oczywiście postawić Joomla! także na Windowsie, ale dalej korzystasz z PHP i serwera WWW, a nie z ASP.NET. Moim zdaniem warto zapamiętać prostą zasadę: jeśli CMS jest napisany w PHP, to kluczowe są PHP, serwer HTTP i baza danych, a nie platformy typowe dla innych języków, jak .NET czy Java.

Pytanie 24

W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x

<script>
var x = 10;
x++;
console.log(x);
</script>
A. będzie równa 10 i zostanie wypisana w dokumencie HTML.
B. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
C. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
D. będzie równa 11 i zostanie wypisana w oknie popup.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, twoja odpowiedź jest poprawna! Odpowiedź 'będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej' jest prawidłowa, ponieważ po zainicjalizowaniu zmiennej x wartością 10 następuje inkrementacja, która zwiększa wartość zmiennej o 1, dając w wyniku 11. Następnie wartość zmiennej x jest wypisywana w konsoli przeglądarki internetowej za pomocą metody console.log(). Jest to standardowa metoda w języku JavaScript do debugowania i śledzenia wartości zmiennych podczas wykonywania kodu. W praktyce, zrozumienie pracy z konsolą przeglądarki jest kluczowe dla efektywnego programowania JavaScript. To umiejętność, która pozwala na szybkie zlokalizowanie i rozwiązanie problemów z kodem. Dobrą praktyką jest również umiejętne korzystanie z operacji inkrementacji, które są podstawą sterowania przepływem i manipulowania danymi w JavaScript.

Pytanie 25

Podano tabelę ksiazki z kolumnami: tytul, autor (w formacie tekstowym), cena (w formacie liczbowym). Aby zapytanie SELECT zwracało jedynie tytuły, dla których cena jest niższa niż 50zł, należy użyć:

A. SELECT ksiazki FROM tytul WHERE cena < '50 zł'
B. SELECT * FROM ksiazki WHERE cena < 50
C. SELECT tytul FROM ksiazki WHERE cena > '50 zł'
D. SELECT tytul FROM ksiazki WHERE cena < 50

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'SELECT tytul FROM ksiazki WHERE cena < 50;' jest poprawna, ponieważ precyzyjnie formułuje zapytanie w języku SQL, które ma na celu wyodrębnienie z tabeli 'ksiazki' tylko tych tytułów, których cena jest niższa niż 50. W tym przypadku użycie operatora porównania '<' skutkuje filtracją danych według określonego kryterium. Jest to zgodne z dobrą praktyką w programowaniu baz danych, ponieważ pozwala uzyskać potrzebne informacje w sposób efektywny i zrozumiały. Przykładem praktycznego zastosowania może być stworzenie raportu dla księgarni, która chce zobaczyć, które książki są w sprzedaży w przystępnej cenie. Zwracając tylko potrzebne kolumny (tytuł), minimalizujesz ilość przesyłanych danych, co jest ważne w kontekście wydajności i szybkości działania aplikacji korzystających z bazy danych. Dodatkowo, unikanie podawania ceny w formacie tekstowym (np. '50 zł') jest zgodne z zasadami dobrego projektowania baz danych, które zalecają stosowanie odpowiednich typów danych, co w tym przypadku oznacza liczbę bez jednostki walutowej.

Pytanie 26

Określ rezultat wykonania skryptu stworzonego w języku PHP

Ilustracja do pytania
A. D
B. B
C. A
D. C

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź A jest prawidłowa, ponieważ funkcja asort() w PHP sortuje tablicę asocjacyjną według wartości w porządku rosnącym, ale zachowuje oryginalne klucze. W tym przypadku mamy tablicę z wartościami tekstowymi. Funkcja asort() posortuje te wartości alfabetycznie, co oznacza, że najpierw pojawi się 'Perl', następnie 'PHP', 'Pike' i na końcu 'Python'. Klucze zostaną przypisane do odpowiednich wartości, co jest widoczne w odpowiedzi A. Użycie asort() jest bardzo przydatne, gdy chcemy zachować związki między kluczami i wartościami w tablicach asocjacyjnych, jednocześnie sortując je według wartości. Dobrą praktyką jest używanie tej funkcji w sytuacjach, gdzie klucze mają znaczenie, takie jak przetwarzanie danych konfiguracyjnych lub wyników ankiet. Dodatkowo, rozumienie różnic między funkcjami sortującymi w PHP jak sort(), asort(), ksort(), usort(), uasort() i uksort() jest kluczowe w efektywnym manipulowaniu danymi w skryptach PHP, pozwalając na precyzyjną kontrolę nad strukturami danych i ich porządkowaniem.

Pytanie 27

Na podstawie kodu widocznego na ilustracji można stwierdzić, że

Ilustracja do pytania
A. podano nieprawidłowy argument do funkcji alert.
B. nie przypisano wartości do zmiennej nazwisko.
C. funkcja wyswietlNazwisko(nazwisko) musi być wywołana wewnątrz innej funkcji.
D. nie zadeklarowano funkcji wyswietlNazwisko.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym kodzie funkcja wyswietlNazwisko(nazwisko) jest poprawnie zadeklarowana, a komunikat przekazywany do alert() też jest w porządku. Problem wcale nie leży w samej funkcji, tylko w tym, że wywołujemy ją z argumentem nazwisko, który nigdzie wcześniej nie został zdefiniowany ani nie ma do niego przypisanej żadnej wartości. Silnik JavaScript widzi wywołanie wyswietlNazwisko(nazwisko); i szuka zmiennej o nazwie nazwisko w aktualnym zasięgu (scope). Ponieważ jej nie znajduje, zgłasza błąd ReferenceError: nazwisko is not defined. To jest klasyczny przypadek braku inicjalizacji zmiennej przed użyciem. W praktyce, żeby to naprawić, trzeba najpierw zadeklarować zmienną, np.: var nazwisko = "Kowalski"; albo let nazwisko = prompt("Podaj swoje nazwisko:"); i dopiero potem wywołać funkcję: wyswietlNazwisko(nazwisko);. Dobra praktyka w JavaScript to zawsze jawne deklarowanie zmiennych przy użyciu let lub const (ewentualnie var w starszym kodzie) oraz nadawanie im czytelnych, przewidywalnych wartości początkowych. W aplikacjach webowych takie zmienne często pochodzą z pól formularza, np. z document.getElementById("nazwisko").value, i dopiero ta wartość jest przekazywana jako argument funkcji. Moim zdaniem warto wyrobić sobie nawyk, że zanim użyjesz jakiejś nazwy w wywołaniu funkcji, sprawdzasz, czy na pewno istnieje jej deklaracja w odpowiednim zasięgu i czy ma sensowną wartość. Dzięki temu unikniesz wielu irytujących błędów w konsoli i łatwiej będzie debugować kod.

Pytanie 28

Kod

SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)
wybiera
A. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
B. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
C. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat
D. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb.

Pytanie 29

W CSS określono styl paragrafu, który nada mu następujące właściwości:

background-color: red;
color: blue;
margin: 40px;
A. tło czerwone, kolor tekstu niebieski, marginesy wewnętrzne na poziomie 40 px
B. tło niebieskie, kolor tekstu czerwony, marginesy wewnętrzne na poziomie 40 px
C. tło czerwone, kolor tekstu niebieski, marginesy zewnętrzne na poziomie 40 px
D. tło niebieskie, kolor tekstu czerwony, marginesy zewnętrzne na poziomie 40 px

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź wskazuje na tło czerwone, kolor tekstu niebieski oraz marginesy zewnętrzne ustawione na 40 px. W deklaracji CSS, przypisanie 'background-color: red;' skutkuje czerwonym tłem dla elementu, co jest zgodne z zasadami oznaczania kolorów w CSS, które pozwalają na zastosowanie nazw kolorów, kodów hex czy rgb. 'color: blue;' ustawia kolor tekstu na niebieski, co pozwala na lepszą czytelność tekstu na czerwonym tle. Z kolei 'margin: 40px;' definiuje marginesy zewnętrzne, co oznacza, że odległość od innych elementów na stronie wynosi 40 px. Takie praktyki są zgodne z dobrymi standardami projektowania, które sugerują stosowanie kontrastujących kolorów dla poprawy dostępności oraz przestrzeni między elementami dla lepszej struktury layoutu. Warto pamiętać, że marginesy zewnętrzne różnią się od marginesów wewnętrznych (padding), co często jest źródłem nieporozumień.

Pytanie 30

Funkcję o nazwie policz, napisaną w PHP, wywołano z argumentem $Z = 1. Jaki wynik zostanie zwrócony?

function policz($Z) { while($Z < 5) { $Z += 2 * $Z + 1; } return $Z; }
A. 13
B. 7
C. 4
D. 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja 'policz' przyjmuje argument $Z, który w tym przypadku wynosi 1. Wewnątrz funkcji znajduje się pętla while, która wykonuje się tak długo, jak $Z jest mniejsze od 5. W każdym kroku pętli wartość $Z jest aktualizowana zgodnie z równaniem $Z += 2 * $Z + 1. Przy pierwszym wywołaniu pętli, $Z = 1, co daje nam $Z = 1 + 2 * 1 + 1 = 4. Wartość $Z jest teraz równa 4, co wciąż spełnia warunek pętli, więc pętla wykonuje się jeszcze raz. W drugiej iteracji, $Z = 4, więc $Z = 4 + 2 * 4 + 1 = 13. Teraz $Z jest większe od 5, co kończy działanie pętli. Funkcja zwraca wartość 13. Użycie pętli while w tym przypadku ilustruje, jak można implementować iteracyjne obliczenia w PHP, co jest kluczowe w programowaniu i pozwala na efektywne wykonywanie powtarzających się zadań. Praktyczne zastosowanie tej techniki obejmuje obliczenia, które wymagają wielokrotnego aktualizowania wartości, takie jak obliczenia statystyczne czy algorytmy przeszukiwania.

Pytanie 31

W języku JavaScript rezultat działania instrukcji zmienna1 –= 1; będzie identyczny jak wynik instrukcji

A. zmienia1 = zmienna1 - 0;
B. zmienna1 === zmienna1 - 1;
C. zmienna1––;
D. zmienna1++;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja 'zmienna1 -= 1;' w języku JavaScript jest skróconą formą zapisu, która oblicza nową wartość zmiennej 'zmienna1', odejmując od niej 1. Działa to na zasadzie równania, gdzie zmienna zostaje zaktualizowana do nowej wartości. Z kolei zapis 'zmienna1--;' również dokonuje dekrementacji zmiennej 'zmienna1' o 1, ale w formie operatora post-dekrementacji. W praktyce oznacza to, że obie instrukcje mają ten sam efekt końcowy, czyli zmiana wartości 'zmienna1' o 1 w dół. Przykładowo, jeżeli 'zmienna1' wynosi 5 przed wykonaniem powyższych operacji, to po ich wykonaniu jej wartość wyniesie 4. Takie skrócone formy zapisu są powszechną praktyką w programowaniu, ponieważ umożliwiają bardziej zwięzłe i czytelne przedstawienie operacji na zmiennych, co jest zgodne z zasadami czystego kodu. Używanie operatorów skróconych, takich jak '+=' i '-=', jest zalecane, ponieważ poprawia czytelność i zrozumiałość kodu.

Pytanie 32

Którym znacznikiem wstawić listę NUMEROWANĄ (uporządkowaną)?

A.
<li>
B.
<ol>
C.
<dl>
D.
<ul>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Listę numerowaną (uporządkowaną) tworzy <code><span class="code-text">&lt;</span><span class="code-keyword">ol</span><span class="code-text">&gt;</span></code> (ordered list), a każdą pozycję wpisujesz w <code><span class="code-text">&lt;</span><span class="code-keyword">li</span><span class="code-text">&gt;</span></code>: <code><span class="code-text">&lt;</span><span class="code-variable">ol</span><span class="code-text">&gt;</span><span class="code-text">&lt;</span><span class="code-variable">li</span><span class="code-text">&gt;</span><span class="code-variable">Pierwszy</span><span class="code-text">&lt;</span><span class="code-text">/</span><span class="code-variable">li</span><span class="code-text">&gt;</span><span class="code-text">&lt;</span><span class="code-variable">li</span><span class="code-text">&gt;</span><span class="code-variable">Drugi</span><span class="code-text">&lt;</span><span class="code-text">/</span><span class="code-variable">li</span><span class="code-text">&gt;</span><span class="code-text">&lt;</span><span class="code-text">/</span><span class="code-variable">ol</span><span class="code-text">&gt;</span></code> wyświetli kolejne punkty z numerami 1, 2... Numerację można zmienić atrybutem <code><span class="code-variable">type</span></code> lub CSS-em <code><span class="code-variable">list-style-type</span></code>. Zapamiętaj: „ol” = ordered (uporządkowana), „ul” = unordered (punktowana).

Pytanie 33

Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?

Ilustracja do pytania
A. Zmiana koloru tekstu "i skrypt" na niebieski
B. Zmiana koloru przycisku na niebieski
C. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod JavaScript przedstawiony w pytaniu korzysta z funkcji changeColor, która zmienia kolor tekstu elementu HTML. Funkcja ta przyjmuje parametr newColor, który w tym przypadku wynosi 'blue'. W momencie kliknięcia przycisku z atrybutem onClick, funkcja changeColor jest wywoływana z argumentem 'blue'. Kod wewnątrz funkcji używa metody document.getElementById aby uzyskać dostęp do elementu HTML o identyfikatorze 'para1'. Następnie zmienia kolor tekstu tego elementu, korzystając z właściwości style.color, na wartość przekazaną jako parametr, czyli 'blue'. Takie podejście jest zgodne z dobrymi praktykami w JavaScript, gdzie oddziela się logikę skryptu od treści HTML. W efekcie, po kliknięciu przycisku, zmieniony zostanie kolor tekstu zawartego w elemencie o id 'para1', co w tym przypadku odnosi się do tekstu 'Przykładowy tekst'. Takie rozwiązania są powszechnie stosowane w dynamicznych aplikacjach webowych, umożliwiając dynamiczną interakcję użytkownika z zawartością strony.

Pytanie 34

Która z zasad walidacji strony internetowej jest nieprawidłowa?

A. Tagi, poza samozamykającymi się, funkcjonują do momentu ich wyłączenia znakiem "/", np. ```<p> ..</p>```
B. Jeżeli w poleceniu występuje kilka atrybutów, ich kolejność powinna być uporządkowana alfabetycznie np. ```<img alt="..." src="/.."/>```
C. Wyłączanie tagów musi następować w odwrotnej sekwencji do ich włączenia, np. ```<p> ... <big>...</big></p>```
D. W tagach nie jest brana pod uwagę różnica między dużymi a małymi literami, np. ```<p>``` i ```<P>``` to ten sam tag.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca kolejności atrybutów w znacznikach HTML jest poprawna, ponieważ nie ma wymogu, aby atrybuty w znacznikach były uporządkowane alfabetycznie. W rzeczywistości, HTML pozwala na dowolną kolejność atrybutów, co czyni tę regułę błędną. Przykładowo, znacznik <img src="/path/to/image.jpg" alt="Opis obrazu" /> jest poprawny niezależnie od kolejności atrybutów. Ważne jest, aby atrybuty były odpowiednio używane w kontekście ich przeznaczenia, a nie w kontekście kolejności alfabetycznej. Dobrą praktyką jest również stosowanie atrybutów w sposób, który zwiększa czytelność kodu, jednak nie jest to wymóg techniczny. Zgodnie z zaleceniami W3C, kluczowym aspektem jest poprawność semantyczna i zgodność ze standardami, a nie kolejność atrybutów.

Pytanie 35

W języku C++ utworzono zmienną: char zml;. Jak można przypisać jej wartość, zgodnie ze składnią tego języka?

A. zml = "wiadro";
B. zml[2] = 32;
C. zml = ' w ' ;
D. zml == 0x35;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź zml = ' w '; jest poprawna, ponieważ w języku C++ przypisywanie wartości do zmiennej typu char może być wykonane za pomocą pojedynczych cudzysłowów. Zmienna char przechowuje pojedynczy znak, a użycie podwójnych cudzysłowów sugeruje, że zamierzamy przypisać łańcuch znaków (string), co jest niezgodne z deklarowanym typem zmiennej. Przykład zastosowania to sytuacja, w której chcemy przechować literę, na przykład: char zml = 'A'; co jest prawidłowym przypisaniem. Dzięki temu, wywołując zmienną zml, otrzymamy przechowywaną wartość, co jest kluczowe w programowaniu, gdyż pozwala na manipulację danymi na poziomie znaków. Warto również pamiętać, że w C++ możemy używać zmiennych typu char w kontekście kodowania ASCII, gdzie każdemu znakowi przypisany jest unikalny numer, co czyni je niezwykle użytecznymi w operacjach na tekstach i danych.

Pytanie 36

W przedstawionym stylu CSS w ramce zdefiniowano klasę uzytkownik. Tekst na stronie będzie wyświetlany czcionką w kolorze niebieskim dla

p.uzytkownik { color: blue; }
A. akapitów, którym przypisano klasę uzytkownik
B. wszystkich akapitów
C. wyłącznie znaczników tekstowych takich jak <p>, <h1>
D. dowolnych znaczników w sekcji <body>, które mają przypisaną klasę uzytkownik

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Styl CSS przedstawiony w ramce definiuje regułę, która stosuje kolor tekstu niebieski do wszystkich elementów <p> posiadających klasę uzytkownik. W CSS selektory klasowe są reprezentowane przez kropkę (.), co oznacza, że tylko te elementy, które mają przypisaną daną klasę, zostaną sformatowane zgodnie z regułami stylu. W tym przypadku, ponieważ selektor to p.uzytkownik, dotyczy on tylko paragrafów oznaczonych klasą uzytkownik. To precyzyjne zastosowanie selektorów umożliwia projektantom stron internetowych dokładne dostosowanie wyglądu poszczególnych elementów. Takie podejście zapewnia większą elastyczność w projektowaniu i ułatwia zarządzanie wyglądem strony. Praktyką jest stosowanie klas, aby stylować specyficzne elementy w różny sposób, co zwiększa użyteczność i przejrzystość kodu CSS. Warto zaznaczyć, że używanie selektorów klasowych w ten sposób jest zgodne z zasadą separacji treści od prezentacji, co jest kluczowym aspektem w tworzeniu nowoczesnych i responsywnych stron internetowych.

Pytanie 37

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. aside {float: left; }
D. nav { float: right; }

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 38

Implementując przedstawiony fragment algorytmu należy posłużyć się instrukcją

Ilustracja do pytania
A. while
B. if
C. for
D. break

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Trafiłeś z odpowiedzią - to 'if'. To, co analizowałeś, to struktura warunkowa. Używamy jej, żeby sprawdzić, czy coś się zgadza. W tym przypadku algorytm sprawdza, czy 'a' jest większe niż 'b'. Jeśli tak, to robi jedną rzecz, a jeśli nie, to robi coś innego. To klasyczne wykorzystanie 'if'. Takie instrukcje warunkowe są naprawdę ważne w programowaniu, bo umożliwiają tworzenie elastycznych algorytmów, które reagują na różne sytuacje. Dzięki nim nasze programy stają się bardziej dynamiczne i inteligentne.

Pytanie 39

Która zasada dotycząca sekcji <head> w HTML jest POPRAWNA?

A. w sekcji <head> mogą wystąpić <meta>, <title>, <link>
B. w sekcji <head> zawiera się sekcja <body>
C. w sekcji <head> nie wolno umieszczać kodu CSS, tylko odwołanie do pliku
D. w sekcji <head> buduje się szablon strony znacznikami <div>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Sekcja <code><span class="code-text">&lt;</span><span class="code-keyword">head</span><span class="code-text">&gt;</span></code> zawiera metadane i powiązania dokumentu - typowo <code><span class="code-text">&lt;</span><span class="code-keyword">meta</span><span class="code-text">&gt;</span></code> (kodowanie, opis), <code><span class="code-text">&lt;</span><span class="code-keyword">title</span><span class="code-text">&gt;</span></code> (tytuł karty) i <code><span class="code-text">&lt;</span><span class="code-keyword">link</span><span class="code-text">&gt;</span></code> (np. arkusz CSS). Dlatego poprawne jest stwierdzenie o <code><span class="code-text">&lt;</span><span class="code-keyword">meta</span><span class="code-text">&gt;</span></code>, <code><span class="code-text">&lt;</span><span class="code-keyword">title</span><span class="code-text">&gt;</span></code> i <code><span class="code-text">&lt;</span><span class="code-keyword">link</span><span class="code-text">&gt;</span></code>.

Pytanie 40

Jakie zadanie wykonuje funkcja napisana w JavaScript?

function fun1(a,b)
{
    if ( a % 2 != 0 ) a++;
    for(n=a; n<=b; n+=2)
        document.write(n);
}
A. wypisanie wszystkich liczb w zakresie od a do b
B. wypisanie liczb parzystych w przedziale od a do b
C. zwrócenie parzystych wartości liczb od a do b
D. sprawdzenie, czy liczba a jest liczbą nieparzystą; jeśli tak, to jej wypisanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja fun1 napisana w języku JavaScript ma za zadanie wypisanie liczb parzystych z przedziału od a do b. Na początku funkcja sprawdza, czy liczba a jest nieparzysta, wykorzystując operator modulo %. Jeśli a jest nieparzysta, zwiększana jest o jeden, aby stać się liczbą parzystą. Następnie pętla for iteruje od tej nowej wartości a do b, zwiększając a o 2 w każdej iteracji, co zapewnia, że wszystkie generowane liczby są parzyste. Wykorzystanie document.write(n) w każdej iteracji powoduje wypisanie bieżącej liczby. Taki sposób iteracji jest efektywny w kontekście wydajności, ponieważ omija nieparzyste liczby bez potrzeby sprawdzania ich w każdej iteracji. Ta technika jest powszechnie stosowana w programowaniu, gdy chcemy iterować tylko po określonym typie liczb, w tym przypadku parzystych. Dbałość o sprawność kodu i unikanie zbędnych operacji to kluczowe aspekty profesjonalnego programowania, które wpływają na szybkość działania i zasobożerność aplikacji. Implementacja ta jest zgodna z dobrymi praktykami, gdyż unika zbędnych operacji i wykonuje zadanie w sposób możliwie najbardziej efektywny.