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: 14 lipca 2026 13:15
  • Data zakończenia: 14 lipca 2026 13:15

Egzamin niezdany

Wynik: 0/40 punktów (0,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 z języków służy do STYLIZACJI stron WWW?

A. Python
B. SQL
C. HTML
D. CSS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do stylizacji stron WWW służy CSS (Cascading Style Sheets) - opisuje wygląd elementów: kolory, czcionki, układ, marginesy, oddzielając prezentację od treści zapisanej w HTML. Dlatego językiem stylizacji jest CSS.

Pytanie 2

Strona internetowa została napisana w języku XHTML. Który z poniższych kodów przedstawia implementację zamieszczonego fragmentu strony, przy założeniu, że nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
B. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<i>prototyp hipertekstowego systemu informacyjnego - <b>ENQUIRE</b></i></p>
C. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
D. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź druga jest prawidłowa, ponieważ w XHTML stosowanie znaczników zgodnych z HTML jest kluczowe. Nagłówek <h1> wskazuje na najbardziej wyróżniający się element na stronie, co jest zgodne z prezentowanym obrazem, gdzie 'Początki HTML' jest nagłówkiem. XHTML wymaga, by wszystkie elementy były poprawnie zagnieżdżone i zamknięte, a tag <br /> jest poprawnie użyty jako samo zamykający się, co jest wymagane w XHTML. Ponadto, struktura dokumentu XHTML musi być bardziej restrykcyjna, co oznacza, że używanie semantycznych znaczników jak <h1> dla nagłówków sprzyja lepszej interpretacji struktury dokumentu przez przeglądarki i narzędzia dostępności. Poprawne użycie <b> i <i> do wyróżniania tekstu jest zgodne ze standardami, chociaż w nowoczesnym HTML5 zaleca się używanie <strong> i <em> dla semantycznego formatowania. Takie podejście wspomaga dostępność oraz ułatwia zrozumienie kodu przez inne osoby. Dobór tagów w tej odpowiedzi pokazuje zrozumienie zasad semantyki oraz poprawnej struktury dokumentów w XHTML co jest zgodne z dobrymi praktykami web developmentu.

Pytanie 3

Które kolory tła zostały przypisane odpowiednio do akapitów o identyfikatorach 1, 2, 3, 4?

<p id="1" style="background-color:rgb(128,128,128);"> Akapit 1</p>
<p id="2" style="background-color:rgb(255,255,0);"> Akapit 2</p>
<p id="3" style="background-color:rgb(0,128,0);"> Akapit 3</p>
<p id="4" style="background-color:rgb(0,0,255);"> Akapit 4</p>
A. Żółty, zielony, czerwony, szary.
B. Szary, żółty, zielony, niebieski.
C. Żółty, czerwony, zielony, szary.
D. Szary, niebieski, czerwony, żółty.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie powiązałeś zapis w notacji RGB z nazwami kolorów. W kodzie CSS zapis rgb(128,128,128) oznacza kolor, w którym wartości składowych czerwonej, zielonej i niebieskiej są równe, a dość niskie, co daje odcień szarości – stąd tło akapitu o id="1" jest szare. W rgb(255,255,0) maksymalna jest czerwień i zieleń, a niebieski ma wartość 0, co w modelu barw RGB daje kolor żółty – taki kolor ma akapit o id="2". Z kolei rgb(0,128,0) to tylko składowa zielona o średniej intensywności, więc wychodzi ciemniejsza zieleń i to jest tło akapitu o id="3". Ostatni zapis rgb(0,0,255) to maksymalna składowa niebieska, więc mamy wyraźny niebieski kolor tła dla akapitu o id="4". W praktyce webowej takie bezpośrednie użycie rgb() w atrybucie style jest poprawne, ale z mojego doświadczenia lepiej jest przenosić te style do arkusza CSS i używać klas, np. .bg-gray, .bg-yellow itp. Ułatwia to późniejszą modyfikację wyglądu strony i trzymanie się zasady rozdzielenia struktury (HTML) od prezentacji (CSS), co jest zgodne z dobrymi praktykami i rekomendacjami W3C. Warto też kojarzyć liczby z odpowiadającymi im nazwami kolorów: 255 to maksimum, 0 to brak danej składowej, a wartości pośrednie (np. 128) dają ciemniejsze odcienie. W projektach komercyjnych często używa się też zapisu heksadecymalnego (#808080 dla szarego, #FFFF00 dla żółtego, #008000 dla zielonego, #0000FF dla niebieskiego), ale mechanizm jest dokładnie ten sam – opisujemy intensywność kanałów R, G i B.

Pytanie 4

Który z zapisów znacznika <div> może pojawić się w dokumencie HTML tylko raz, a ponowne jego użycie spowoduje błędy podczas walidacji tego dokumentu?

A. <div class="klasa">
B. <div class="klasa1 klasa2">
C. <div>
D. <div id="identyfkator">

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <div id="identyfkator"> jest poprawna, ponieważ znacznik <div> z atrybutem id musi być unikalny w obrębie całego dokumentu HTML. Zgodnie z standardami W3C, atrybut id powinien być przypisany tylko do jednego elementu na stronie, co umożliwia jednoznaczne identyfikowanie tego elementu, na przykład w CSS lub JavaScript. Przykładowo, jeśli mamy <div id="header">, to nie możemy użyć tego samego identyfikatora dla innego <div> w tym samym dokumencie, aby uniknąć konfliktów. W praktyce, unikalność id jest kluczowa w kontekście manipulacji DOM, gdyż wiele bibliotek JavaScript polega na tej unikalności, aby prawidłowo odnajdywać i modyfikować elementy. Warto również pamiętać, że użycie unikalnych id sprzyja lepszej dostępności i ułatwia nawigację w dokumentach, co jest zgodne z dobrą praktyką projektowania stron internetowych.

Pytanie 5

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

Ilustracja do pytania
A. pusty ciąg znaków
B. wartość, która nie jest liczbą
C. dowolną całkowitą wartość liczbową
D. dowolną dodatnią wartość liczbową

Brak odpowiedzi na to pytanie.

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

Pytanie 6

Używając komendy BACKUP LOG w MS SQL Server, można

A. wykonać kopię zapasową dziennika transakcyjnego
B. odczytać komunikaty generowane podczas tworzenia kopii
C. zrealizować pełną kopię zapasową
D. zalogować się do kopii zapasowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie BACKUP LOG w MS SQL Server służy do wykonywania kopii zapasowej dziennika transakcyjnego, co jest kluczowe dla zapewnienia integralności danych w bazach danych transakcyjnych. Dziennik transakcyjny rejestruje wszystkie zmiany dokonane w bazie, co pozwala na odtworzenie stanu bazy na dany moment oraz na przywrócenie bazy do stanu sprzed awarii. Wykonując kopię zapasową dziennika transakcyjnego, użytkownicy mogą minimalizować ryzyko utraty danych, ponieważ pozwala to na przywrócenie bazy do najnowszego stanu przed wystąpieniem awarii. W praktyce, regularne tworzenie takich kopii jest częścią polityki backupu, która powinna być dostosowana do potrzeb organizacji oraz do intensywności operacji na bazie danych. Ustalając harmonogram kopii zapasowych, należy także brać pod uwagę obciążenie bazy danych oraz wymagania dotyczące RPO (Recovery Point Objective) i RTO (Recovery Time Objective). Według najlepszych praktyk, zaleca się wykonywanie kopii zapasowych dziennika transakcyjnego przynajmniej co kilka godzin, a w środowisku o wysokiej dostępności – nawet co kilka minut.

Pytanie 7

CAPTCHA to technika zabezpieczeń stosowana na stronach WWW, która pozwala:

A. potwierdzić, że dane z formularza wysyła człowiek, a nie program
B. pominąć proces uwierzytelniania w aplikacji
C. automatycznie wypełnić formularz danymi użytkownika
D. przyspieszyć logowanie do aplikacji internetowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CAPTCHA to test, który ma odróżnić człowieka od programu (bota) - np. przepisanie zniekształconego tekstu, wskazanie obrazków czy proste zadanie. Stosuje się ją w formularzach (rejestracja, komentarze, logowanie), by utrudnić masowe, automatyczne wysyłanie danych przez boty i spam. Dlatego CAPTCHA potwierdza, że dane z formularza wysyła człowiek.

Pytanie 8

Aby uzyskać dane z tabeli pracownicy wyłącznie dla osób, które osiągnęły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy WHERE wiek > '25'
B. SELECT * FROM pracownicy AND wiek > '25'
C. SELECT * FROM pracownicy OR wiek > '25'
D. SELECT * FROM wiek WHERE pracownicy > '25'

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > '25';'. To zapytanie jest zgodne z zasadami SQL i pozwala na wyświetlenie wszystkich rekordów z tabeli 'pracownicy', które spełniają określony warunek dotyczący wieku. Używając klauzuli WHERE, precyzyjnie filtrujemy wyniki i zwracamy tylko tych pracowników, którzy mają więcej niż 25 lat. Warto pamiętać, że w SQL operator '>' jest wykorzystywany do porównywania wartości, a w tym przypadku pozwala nam na wybranie pracowników, którzy ukończyli 26 lat. Przy projektowaniu zapytań SQL, kluczowe jest stosowanie odpowiednich warunków filtrujących, aby ograniczyć zwracane dane do tych istotnych dla analiz. Przykładowo, analiza wieku pracowników w kontekście przyznawania dodatków lub przeprowadzania szkoleń może opierać się na takich zapytaniach. W praktyce, ważne jest także wykorzystanie indeksów w bazach danych, aby zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 9

Który z przedstawionych rysunków ilustruje efekt działania zamieszczonego fragmentu kodu HTML?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź rys. C jest prawidłowa, ponieważ kod HTML przedstawia tabelę z dwiema komórkami w pierwszym wierszu, gdzie pierwsza komórka ma atrybut rowspan o wartości 2. Oznacza to, że komórka ta rozciąga się na dwa wiersze. Efektem tego jest układ, w którym pierwszy element znajduje się w jednej kolumnie ale zajmuje miejsce w dwóch wierszach. Pozostałe komórki są umieszczone zgodnie z kolejnością ich definicji w kodzie. W praktyce rowspan jest często używany do tworzenia bardziej złożonych układów tabeli, gdzie potrzebne jest łączenie komórek w pionie. Jest to ważne w kontekście dostępności i czytelności danych, szczególnie przy prezentacji skomplikowanych zestawień. Stosowanie rowspan powinno być dobrze przemyślane i zgodne z semantyką HTML ułatwiając interpretację danych przez przeglądarki i technologie wspomagające. Ważne jest także, aby używać tabel zgodnie z ich przeznaczeniem czyli do prezentacji danych tabelarycznych a nie do tworzenia layoutu strony co jest uznawane za złą praktykę od czasu wprowadzenia CSS

Pytanie 10

Aby zmienić wartość atrybutu elementu opisanego w CSS przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).innerHTML = <nowa wartość>
B. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
C. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
D. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>;" jest poprawna, ponieważ umożliwia bezpośrednią modyfikację stylu CSS elementu HTML o określonym identyfikatorze. Przy użyciu metody getElementById() uzyskujemy dostęp do konkretnego elementu w DOM (Document Object Model), a następnie poprzez właściwość style, możemy zmieniać różne atrybuty CSS. Na przykład, aby zmienić kolor tła elementu, możemy napisać: document.getElementById('myElement').style.backgroundColor = 'red';. Wartością, którą przypisujemy, jest odpowiednia właściwość CSS, co czyni ten sposób zgodnym z dobrymi praktykami w programowaniu JavaScript. Dodatkowo, korzystając z tej metody, możemy dynamicznie dostosowywać styl elementów na stronie w odpowiedzi na interakcje użytkownika, co jest kluczowe w nowoczesnych aplikacjach webowych. Warto też zauważyć, że zmiany dokonane w ten sposób są natychmiast widoczne na stronie, co przyczynia się do lepszego doświadczenia użytkownika.

Pytanie 11

Który zapis wyświetli obraz kotek.jpg z tekstem alternatywnym „obrazek kotka”?

A.
<img href="/kotek.jpg" title="obrazek kotka">
B.
<img src="/kotek.jpg" title="obrazek kotka">
C.
<img href="/kotek.jpg" alt="obrazek kotka">
D.
<img src="/kotek.jpg" alt="obrazek kotka">

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Obraz wstawia się znacznikiem <code><span class="code-text">&lt;</span><span class="code-keyword">img</span><span class="code-text">&gt;</span></code>, podając źródło w <code><span class="code-variable">src</span></code> i tekst alternatywny w <code><span class="code-variable">alt</span></code>: <code><span class="code-text">&lt;</span><span class="code-keyword">img</span> <span class="code-variable">src</span><span class="code-text">=</span><span class="code-string">"/kotek.jpg"</span> <span class="code-variable">alt</span><span class="code-text">=</span><span class="code-string">"obrazek kotka"</span><span class="code-text">&gt;</span></code>. Dlatego poprawny jest ten zapis.

Pytanie 12

Która z poniższych instrukcji jest równoważna z poleceniem switch w języku PHP?

switch ($liczba) {
    case 10:
    case 20: $liczba++; break;
    default: $liczba = 0;
}

Instrukcja 1.
if ($liczba==10)
    $liczba++;
else
    $liczba = 0;

Instrukcja 2.
if ($liczba==10 or $liczba==20)
    $liczba++;
else
    $liczba = 0;

Instrukcja 3.
if ($liczba==10 or $liczba==20)
    $liczba++;

Instrukcja 4.
if ($liczba==10 and $liczba==20)
    $liczba++;
else
    $liczba = 0;
A. Polecenie 3
B. Polecenie 4
C. Polecenie 1
D. Polecenie 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja switch w języku PHP pozwala na wykonywanie różnych bloków kodu w zależności od wartości wyrażenia. W przykładzie, instrukcja switch sprawdza zmienną $liczba. Jeśli $liczba wynosi 10 lub 20, zostaje zwiększona o 1, natomiast w każdym innym przypadku przypisana jest wartość 0. Instrukcja 2 jest równoważna, ponieważ używa operatora or, co oznacza, że warunek zostanie spełniony, jeśli $liczba wynosi 10 lub 20, co dokładnie odwzorowuje logikę switch. Kluczowe jest zrozumienie, że operator or jest zgodny z wymaganiami logicznymi dla tego problemu, umożliwiając zwiększenie wartości zmiennej w obu przypadkach. Takie podejście jest zgodne z dobrymi praktykami programistycznymi, pozwalając na przejrzystość i efektywność kodu. Zrozumienie różnicy między operatorami and, or oraz or pozwala na bardziej elastyczne i zrozumiałe konstrukcje logiczne w programowaniu komercyjnym. Praktyka ta jest szczególnie ważna w optymalizowaniu warunkowych bloków kodu w dużych projektach.

Pytanie 13

Ustalenie klucza obcego jest konieczne do skonstruowania

A. relacji 1..1
B. relacji 1..n
C. transakcji
D. klucza podstawowego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz obcy jest kluczowym elementem w modelowaniu relacji w bazach danych, szczególnie w kontekście relacji 1..n. Definiuje on powiązania pomiędzy dwiema tabelami, gdzie jedna tabela (tabela główna) może mieć wiele powiązanych rekordów w drugiej tabeli (tabela szczegółowa). Na przykład, w bazie danych dotyczącej studentów i ich zapisów na przedmioty, tabela studentów może mieć klucz obcy odnoszący się do tabeli przedmiotów. Dzięki temu, dla każdego studenta można przechowywać wiele zapisów na różne przedmioty, co jest istotne w kontekście analizy danych. Z perspektywy standardów, takie podejście jest zgodne z zasadami normalizacji, które mają na celu eliminację redundancji danych oraz zapewnienie integralności referencyjnej. Dobre praktyki w projektowaniu baz danych sugerują stosowanie kluczy obcych do zarządzania relacjami pomiędzy danymi, co ułatwia ich późniejsze przetwarzanie i analizy.

Pytanie 14

Którą właściwość CSS należy zastosować, aby ustawić rozmiar (wielkość) tekstu?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Rozmiar tekstu ustawia w CSS właściwość <code><span class="code-variable">font-size</span></code>, w której podaje się wartość z jednostką, np. <code><span class="code-keyword">font-size</span><span class="code-text">:</span> <span class="code-number">16</span><span class="code-variable">px</span></code> albo <code><span class="code-keyword">font-size</span><span class="code-text">:</span> <span class="code-number">1.2</span><span class="code-variable">em</span></code>. Im większa wartość, tym większe litery. Dla responsywności często używa się jednostek względnych (em, rem, %). Dlatego do ustawienia wielkości tekstu służy <code><span class="code-variable">font-size</span></code>.

Pytanie 15

W języku JavaScript zdefiniowano funkcję potega. Funkcja ta

function potega(a, b = 2) { ... return wynik; }
A. wymaga podania dwóch argumentów przy wywołaniu
B. może być wywołana z jedną wartością
C. nie zwraca wartości
D. nie przyjmuje żadnych argumentów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 3 jest poprawna, ponieważ funkcja potega w JavaScript została zdefiniowana z jednym parametrem obowiązkowym (a) oraz jednym parametrem opcjonalnym (b) z domyślną wartością wynoszącą 2. Oznacza to, że można ją wywołać z jednym argumentem, a wtedy drugi argument przyjmie wartość domyślną. Taka konstrukcja jest użyteczna w przypadku, gdy chcemy zapewnić elastyczność wywołania funkcji bez konieczności podawania wszystkich argumentów. W praktyce, użycie wartości domyślnych pozwala na tworzenie bardziej zwięzłego kodu i łatwiejsze utrzymywanie funkcji. Standard ECMAScript 2015 (ES6) wprowadził możliwość definiowania wartości domyślnych dla parametrów funkcji, co jest obecnie powszechną praktyką w JavaScript. Dzięki temu programiści mogą lepiej zarządzać przypadkami, w których nie wszystkie dane wejściowe są dostępne, co pozwala na unikanie błędów związanych z nieokreślonymi wartościami i zwiększa efektywność kodu.

Pytanie 16

Który modyfikator dostępu sprawia, że pole klasy jest dostępne z dowolnego miejsca programu?

A.
published
B.
public
C.
private
D.
protected

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Modyfikator <code><span class="code-keyword">public</span></code> oznacza, że pole lub metoda są dostępne z każdego miejsca programu - z wnętrza klasy, z klas dziedziczących i z kodu zewnętrznego. To najszerszy poziom dostępu. Stosuje się go do elementów, które mają stanowić publiczny interfejs obiektu. Dlatego dostęp zewsząd zapewnia <code><span class="code-keyword">public</span></code>.

Pytanie 17

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "#r2"
B. href = "#sekcja2"
C. href = "sekcja2"
D. href = "r2"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś 'href="#r2"', co jest poprawne, ponieważ w HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. W tym przypadku, miejsce docelowe to identyfikator (id) elementu na tej samej stronie. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. W tym konkretnym przypadku, 'r2' jest identyfikatorem rozdziału 2 na stronie, dlatego 'href="#r2"' skieruje odnośnik do tego rozdziału. W praktyce, używanie identyfikatorów pozwala na tworzenie skomplikowanych stron z wieloma sekcjami, gdzie odsyłacze umożliwiają łatwe i szybkie nawigowanie. To jest zgodne ze standardami i dobrymi praktykami dla tworzenia stron internetowych.

Pytanie 18

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

A. Funkcja zdefiniowana
B. Trigger
C. Procedura składowa
D. Zasada

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja zdefiniowana przez użytkownika (UDF) w języku SQL jest obiektem bazy danych, który może być wykorzystywany w zapytaniach, w tym w zapytaniach modyfikujących kolumny danych. UDF mogą przyjmować argumenty, wykonywać operacje na tych danych i zwracać wynik, co czyni je wszechstronnym narzędziem w programowaniu baz danych. Użycie funkcji zdefiniowanej zwiększa modularność kodu oraz umożliwia ponowne wykorzystanie logiki biznesowej, co jest zgodne z zasadami DRY (Don't Repeat Yourself). Przykładem zastosowania może być funkcja, która oblicza rabat na podstawie ceny i procentu rabatu, co można wywołać w zapytaniach aktualizujących ceny produktów. Warto również zauważyć, że UDF mogą być używane w kontekście różnych zapytań, a ich wyniki mogą być przetwarzane jak każda inna kolumna w wynikach zapytań. Dzięki temu programiści mogą łatwo implementować bardziej złożoną logikę bezpośrednio w zapytaniach SQL, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi.

Pytanie 19

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. sumy.
B. części wspólnej.
C. grupowania.
D. wykluczenia.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 20

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
B. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
C. Połączyć relacją pola ID z obu tych tabel
D. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja jeden do wielu polega na tym że jedna wartość z jednej tabeli może być związana z wieloma wartościami w innej tabeli W tym przypadku jeden klient może mieć wiele zamówień co oznacza że musimy dodać pole klucza obcego w tabeli Zamowienia które będzie odnosiło się do Klientów Klucz obcy w bazach danych to pole które odwołuje się do klucza głównego w innej tabeli Dobre praktyki projektowania baz danych sugerują aby takie połączenia realizować za pomocą kluczy obcych co pozwala na utrzymanie integralności danych oraz łatwiejsze ich przetwarzanie W praktyce oznacza to że w tabeli Zamowienia dodajemy pole które przechowuje ID z tabeli Klienci Standardy branżowe jak SQL ANSI określają sposób tworzenia takich relacji co zapewnia kompatybilność z większością systemów zarządzania bazami danych Dzięki temu możemy łatwo uzyskać wszystkie zamówienia przypisane do konkretnego klienta co jest funkcjonalnością często wymaganą w aplikacjach biznesowych

Pytanie 21

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. :visited
B. :active
C. :hover
D. :coursor

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 22

Kiedy zostanie wywołane w JavaScript zdarzenie onKeydown?

A. gdy klawisz klawiatury zostanie wciśnięty
B. gdy klawisz klawiatury zostanie zwolniony
C. gdy klawisz myszy zostanie wciśnięty
D. gdy klawisz myszy zostanie zwolniony

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zdarzenie <code><span class="code-variable">onkeydown</span></code> jest wywoływane w chwili, gdy użytkownik WCIŚNIE klawisz KLAWIATURY (zanim go puści). Para zdarzeń to <code><span class="code-variable">onkeydown</span></code> (wciśnięcie) i <code><span class="code-variable">onkeyup</span></code> (zwolnienie), a <code><span class="code-variable">onkeypress</span></code> było używane dla znaków drukowalnych. Dzięki <code><span class="code-variable">onkeydown</span></code> można np. reagować na klawisze sterujące (strzałki, Enter, Esc). Zapamiętaj: „down” = w dół = wciśnięcie.

Pytanie 23

Który z formatów plików graficznych używa kompresji stratnej?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
JPEG stosuje kompresję STRATNĄ - usuwa część informacji o obrazie, by mocno zmniejszyć plik, co sprawdza się przy zdjęciach. Dlatego stratnej kompresji używa JPEG.

Pytanie 24

Jaką funkcją agregującą można uzyskać ilość rekordów?

A. NUMBER
B. AVG
C. SUM
D. COUNT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja COUNT jest naprawdę ważna w SQL, bo pozwala nam zliczać rekordy w naszych zbiorach danych. Używa się jej w różnych sytuacjach, na przykład przy robieniu raportów czy analizie danych. Możesz na przykład napisać zapytanie: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska'. Dzięki temu dowiesz się, ilu klientów jest z Polski. To bardzo przydaje się do analizy demograficznej czy oceniania rynku. Co też warto wiedzieć, COUNT działa na wszystkich rekordach, bez względu na to, co jest w kolumnach. Takie wszechstronne narzędzie z pewnością ułatwia pracę z danymi. A jeśli dodasz klauzulę GROUP BY do COUNT, to możesz zliczać rekordy w różnych kategoriach, co jest mega pomocne przy skomplikowanych raportach. Ogólnie rzecz biorąc, używanie funkcji agregujących jak COUNT to dobra praktyka w SQL, bo sprawia, że kod jest bardziej efektywny i czytelny.

Pytanie 25

Aby uruchomić kod JavaScript w przeglądarce, potrzebne jest

A. przetwarzanie na kod maszynowy
B. kompilowanie
C. debugowanie
D. interpretowanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wykonanie kodu JavaScript w przeglądarce wymaga jego interpretowania, co oznacza, że kod jest analizowany i wykonywany linia po linii bezpośrednio przez silnik JavaScript wbudowany w przeglądarkę, taki jak V8 w Google Chrome czy SpiderMonkey w Firefoxie. W odróżnieniu od kompilacji, gdzie cały kod źródłowy jest przekształcany w kod maszynowy przed jego uruchomieniem, interpretacja pozwala na bardziej elastyczne i interaktywne programowanie. Dzięki temu programiści mogą dynamicznie modyfikować i testować skrypty bez potrzeby każdorazowego kompilowania. Przykładem zastosowania jest wbudowana konsola w przeglądarkach, gdzie można na bieżąco wprowadzać i testować fragmenty kodu JavaScript. Interpretacja jest zgodna z zasadami dobrych praktyk programowania webowego, takim jak szybka iteracja i prototypowanie, co czyni ją kluczowym elementem w tworzeniu aplikacji internetowych. Dodatkowo, dzięki interpretacji, JavaScript może być łatwo integrowany z HTML i CSS, co przyczynia się do rozwoju bogatych interfejsów użytkownika w aplikacjach webowych.

Pytanie 26

Kiedy dane z formularza są przesyłane w sposób jawny jako parametry w adresie URL, w skrypcie PHP można je odczytać za pomocą tablicy

A. $_SESSION
B. $_COOKIE
C. $_POST
D. $_GET

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 1 jest poprawna, ponieważ dane przesyłane w postaci jawnej jako parametry w adresie URL są dostępne w PHP poprzez tablicę superglobalną $_GET. Ta tablica przechowuje dane, które zostały przesłane metodą GET. Przykład użycia: jeśli mamy adres URL w formie 'example.com/page.php?name=Jan&age=25', to w skrypcie PHP możemy uzyskać te wartości poprzez $_GET['name'] i $_GET['age']. Wartością $_GET['name'] będzie 'Jan', a $_GET['age'] to '25'. Jest to standardowa praktyka w PHP, umożliwiająca łatwe pozyskiwanie danych w różnych aplikacjach webowych, szczególnie w kontekście wyszukiwania i filtracji wyników. Ważne jest jednak pamiętanie o bezpieczeństwie i sanitizacji danych wejściowych, ponieważ wartości te mogą być modyfikowane przez użytkowników. Użycie funkcji takich jak htmlspecialchars() może pomóc w zapobieganiu atakom XSS, a filter_input() w walidacji danych. Dobrą praktyką jest także unikanie przesyłania wrażliwych informacji w adresie URL, ponieważ mogą być one widoczne w historii przeglądarki oraz serwerowych logach.

Pytanie 27

W hurtowni utworzono tabelę sprzedaż, która zawiera pola: id, kontrahent, grupa_cenowa oraz obrot. Jakie polecenie należy wykorzystać, aby znaleźć tylko kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000
B. SELECT sprzedaz FROM kontrahent WHERE obrot>4000
C. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 OR obrot>4000

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby skutecznie wyszukać kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł, należy zastosować odpowiednie zapytanie SQL. W tym przypadku, kluczowe jest zrozumienie użycia klauzul WHERE, które filtrują wyniki na podstawie określonych warunków. Poprawne zapytanie to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000;'. W tym zapytaniu wybieramy kolumnę kontrahent z tabeli sprzedaz, filtrując wyniki na podstawie dwóch warunków: przynależności do drugiej grupy cenowej oraz obrotu większego niż 4000 zł. Operator AND jest istotny, ponieważ oba warunki muszą być spełnione, aby dany rekord został zwrócony. Takie podejście jest zgodne z zasadami normalizacji baz danych, co pozwala na zachowanie integralności danych i efektywność zapytań. Przykładem może być sytuacja, w której w tabeli znajdują się kontrahenci o różnych grupach cenowych i obrotach; zastosowanie powyższego zapytania pozwoli nam na wyselekcjonowanie tylko tych kontrahentów, którzy spełniają oba kryteria, co jest niezwykle przydatne w analizie sprzedaży i podejmowaniu decyzji biznesowych.

Pytanie 28

Która kwerenda ustawi wartość 0 w kolumnie przebieg tabeli samochody?

A.
UPDATE przebieg SET 0 FROM samochody;
B.
UPDATE samochody SET przebieg VALUE 0;
C.
UPDATE przebieg SET 0 TABLE samochody;
D.
UPDATE samochody SET przebieg = 0;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmianę wartości w kolumnie wykonuje <code><span class="code-keyword">UPDATE</span> <span class="code-variable">tabela</span> <span class="code-keyword">SET</span> <span class="code-variable">kolumna</span> <span class="code-text">=</span> <span class="code-variable">wartość</span></code>, więc wyzerowanie przebiegu to <code><span class="code-keyword">UPDATE</span> <span class="code-variable">samochody</span> <span class="code-keyword">SET</span> <span class="code-variable">przebieg</span> <span class="code-text">=</span> <span class="code-number">0</span><span class="code-text">;</span></code> (bez <code><span class="code-keyword">WHERE</span></code> obejmie wszystkie wiersze). Dlatego ta kwerenda jest poprawna.

Pytanie 29

Aby tworzyć strony internetowe w sposób graficzny, należy skorzystać z

A. przeglądarki internetowej
B. programu typu WYSIWYG
C. programu MS Office Picture Manager
D. edytora CSS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Programy typu WYSIWYG (What You See Is What You Get) są narzędziami umożliwiającymi tworzenie stron internetowych w sposób wizualny, co znacznie ułatwia proces projektowania. Użytkownik może edytować strony bez konieczności znajomości języków programowania, takich jak HTML czy CSS, ponieważ te programy generują kod automatycznie na podstawie działań użytkownika. Przykładami takich aplikacji są Adobe Dreamweaver, Wix czy WordPress, które pozwalają na łatwe dodawanie treści, stylów i multimediów. Dzięki zastosowaniu programów WYSIWYG, projektanci mogą skupić się na estetyce i funkcjonalności stron, co jest zgodne z dobrymi praktykami branżowymi, które promują użyteczność i dostępność. Warto również zauważyć, że wiele z tych narzędzi oferuje szereg szablonów i komponentów, które przyspieszają proces tworzenia i zapewniają zgodność z aktualnymi standardami webowymi (np. W3C).

Pytanie 30

W języku SQL podczas używania polecenia CREATE TABLE atrybut, który wskazuje na to, która kolumna jest kluczem podstawowym, to

A. UNIQUE
B. PRIMARY KEY
C. GŁÓWNY KLUCZ
D. IDENTITY FIELD

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "PRIMARY KEY" jest prawidłowa, ponieważ w języku SQL klucz podstawowy (ang. primary key) to unikalny identyfikator dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa rekordy nie mają tej samej wartości w kolumnie, co jest kluczowe dla integralności danych. Zwyczajowo klucz podstawowy definiuje się podczas tworzenia tabeli za pomocą polecenia CREATE TABLE, co zwiększa wydajność operacji wyszukiwania oraz modyfikacji danych. Przykład wykorzystania: tworząc tabelę pracowników, można zdefiniować kolumnę "id_pracownika" jako klucz podstawowy, co zapewni, że każdy pracownik będzie miał unikalny identyfikator. W standardach SQL zgodnych z ANSI, klucz podstawowy może składać się z jednej lub więcej kolumn, co pozwala na tworzenie bardziej skomplikowanych struktur danych. Dobrą praktyką jest również oznaczanie klucza podstawowego jako NOT NULL, co uniemożliwia wprowadzenie pustych wartości, co dodatkowo zwiększa integralność bazy danych.

Pytanie 31

Jaką funkcję pełni funkcja CONCAT() w SQL?

A. łącznienie tekstu wyświetlanego
B. wyodrębnianie podłańcucha znaków z tekstu wejściowego
C. usuwanie określonego tekstu
D. przycinanie tekstu wyświetlanego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja CONCAT() w SQL to naprawdę super opcja, bo pozwala na łączenie różnych ciągów tekstowych. To jest mega przydatne, zwłaszcza przy pracy z bazami danych, kiedy potrzebujemy stworzyć np. pełne imię i nazwisko z osobnych pól. Jak mamy tabelę z imionami i nazwiskami, to możemy użyć CONCAT(), żeby to wszystko połączyć w jedną całość: CONCAT(imie, ' ', nazwisko). Takie operacje są dość popularne w raportach i przy tworzeniu dynamicznych zapytań, gdzie często łączymy różne dane. Fajnie też pamiętać, żeby uważać na wartości NULL, bo mogą nam namieszać w wynikach. Poza tym, w różnych systemach bazodanowych są też inne metody łączenia tekstów, jak operator || w PostgreSQL, co może być przydatne, jeśli przenosisz zapytania między systemami.

Pytanie 32

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
B. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
C. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
D. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcje JavaScript w pytaniu wykorzystują metodę getElementsByClassName aby pobrać kolekcję wszystkich elementów na stronie które posiadają przypisaną klasę styl1. Metoda ta zwraca obiekt typu HTMLCollection który przypomina tablicę i zawiera odniesienia do elementów DOM posiadających określoną klasę. Następnie za pomocą pętli for przechodzimy przez każdy z tych elementów i zmieniamy ich styl na bolder przypisując nową wartość do właściwości style.fontWeight. Dzięki temu każdy element w kolekcji zostaje zmodyfikowany i wyświetlany z pogrubioną czcionką. Takie podejście jest zgodne z dobrymi praktykami w zakresie manipulacji DOM w JavaScript gdyż jest to sposób efektywny i bezpośredni. Użycie klas do grupowania elementów HTML pozwala na jednoczesne stosowanie stylów i operacji na grupach elementów co jest kluczowe w dynamicznym modelu tworzenia stron internetowych. Warto zwrócić uwagę na fakt że nazwy klas są czułe na wielkość liter co oznacza że styl1 i Styl1 byłyby traktowane jako różne klasy.

Pytanie 33

Który zapis CSS ustawi punktor listy NUMEROWANEJ na wielkie cyfry rzymskie, a PUNKTOWANEJ na kwadraty?

A.
ol { list-style-type: upper-roman; } ul { list-style-type: square; }
B.
ol { list-style-type: square; } ul { list-style-type: upper-roman; }
C.
ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
D.
ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Rodzaj punktora ustawia <code><span class="code-variable">list-style-type</span></code>. Dla listy numerowanej <code><span class="code-text">&lt;</span><span class="code-keyword">ol</span><span class="code-text">&gt;</span></code> wielkie cyfry rzymskie to <code><span class="code-variable">upper-roman</span></code>, a dla punktowanej <code><span class="code-text">&lt;</span><span class="code-keyword">ul</span><span class="code-text">&gt;</span></code> kwadraty to <code><span class="code-variable">square</span></code>. Dlatego poprawny jest <code><span class="code-variable">ol</span> <span class="code-text">{</span> <span class="code-keyword">list-style-type</span><span class="code-text">:</span> <span class="code-variable">upper-roman</span><span class="code-text">;</span> <span class="code-text">}</span> <span class="code-variable">ul</span> <span class="code-text">{</span> <span class="code-keyword">list-style-type</span><span class="code-text">:</span> <span class="code-variable">square</span><span class="code-text">;</span> <span class="code-text">}</span></code>.

Pytanie 34

Która z poniższych funkcji zdefiniowanych w języku PHP oblicza sumę połowy wartości a i połowy wartości b?

A. function licz($a, $b) {return $a/2 + $b;}
B. function licz($a, $b) {return 2/$a + 2/$b;}
C. function licz($a, $b) {return $a/2 + $b/2;}
D. function licz($a, $b) {return ($a/2 + $b)/2;}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest poprawna, ponieważ funkcja 'licz' w tej formie prawidłowo oblicza sumę połowy wartości a oraz połowy wartości b. W języku PHP, operator '/' dzieli wartość po lewej stronie przez wartość po prawej, więc w tym przypadku a/2 i b/2 zwracają odpowiednio połowę a oraz połowę b. Następnie te dwie wartości są sumowane, co jest zgodne z wymaganym wynikiem. Przykład zastosowania tej funkcji może być użyty w sytuacji, gdy chcemy obliczyć średnią wartość dwóch parametrów, co jest często spotykane w obliczeniach statystycznych i analitycznych. Dobrą praktyką jest również zapewnienie, że wartości a i b są liczbami, co można osiągnąć za pomocą walidacji danych wejściowych. Zastosowanie tej funkcji w większym kontekście, na przykład w aplikacjach webowych czy systemach obliczeniowych, pokazuje jej uniwersalność i efektywność w pracy z danymi.

Pytanie 35

Określ na podstawie diagramu, jaką liczebność należy zdefiniować przy związku pomiędzy encjami Podręcznik i Wydawnictwo zakładając, że dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu.

Ilustracja do pytania
A. 1-1 (1 przy encji Podręcznik, 1 przy encji Wydawnictwo)
B. 1-N (1 przy encji Podręcznik, N przy encji Wydawnictwo)
C. N-1 (N przy encji Podręcznik, 1 przy encji Wydawnictwo)
D. M-N (M przy encji Podręcznik, N przy encji Wydawnictwo)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie wskazana krotność N–1 oznacza, że wiele podręczników może być powiązanych z jednym wydawnictwem, natomiast każdy pojedynczy podręcznik ma dokładnie jedno wydawnictwo. Dokładnie to wynika z treści: „dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu”. W notacji związków encji mówimy więc o relacji wiele‑do‑jednego z punktu widzenia encji Podręcznik. W praktycznym modelu relacyjnej bazy danych przekłada się to na klucz obcy w tabeli PODRĘCZNIK, który wskazuje na klucz główny (np. id_wydawnictwa) w tabeli WYDAWNICTWO. Dzięki temu nie powielamy danych o wydawnictwie przy każdym rekordzie, tylko przechowujemy je w jednym miejscu, zgodnie z zasadą normalizacji (co najmniej 2. i 3. postać normalna). Moim zdaniem to jest jedno z podstawowych i najczęściej wykorzystywanych powiązań: podobny schemat mamy przy relacji Produkt–Producent, Samochód–Marka, Student–Grupa itp. W takich przypadkach w tabeli „wiele” zawsze ląduje kolumna z kluczem obcym do tabeli „jeden”. Dodatkowo warto zauważyć, że gdybyśmy kiedyś chcieli pozwolić na zmianę nazwy wydawnictwa, to dzięki takiemu modelowi robimy to tylko w jednym wierszu tabeli WYDAWNICTWO, a wszystkie powiązane podręczniki automatycznie „widzą” zaktualizowaną wartość. To jest dokładnie ta dobra praktyka projektowania: minimalizacja redundancji i łatwiejsze utrzymanie spójności danych (integralność referencyjna, klucze obce z ON UPDATE/DELETE). W dobrze zaprojektowanych systemach bibliotecznych czy księgarni internetowych ta relacja N–1 między książką/podręcznikiem a wydawnictwem jest standardem branżowym i praktycznie normą w modelach ER.

Pytanie 36

Język JavaScript wspiera

A. funkcje wirtualne
B. obiekty DOM
C. klasy abstrakcyjne
D. wysyłanie ciasteczek z identycznymi informacjami do wielu klientów witryny

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
JavaScript to język skryptowy, który ma wbudowaną obsługę obiektowego modelu dokumentu (DOM), co umożliwia dynamiczne manipulowanie strukturą HTML oraz CSS stron internetowych. Dzięki DOM programiści mogą dodawać, usuwać lub modyfikować elementy na stronie w czasie rzeczywistym, co czyni aplikacje bardziej interaktywnymi. Przykładem może być zmiana tekstu przycisku po jego kliknięciu, co można osiągnąć dzięki metodom takim jak `getElementById` oraz `innerHTML`. JavaScript jest nieodłącznym elementem nowoczesnego podejścia do tworzenia aplikacji webowych, a jego kompatybilność z DOM sprawia, że jest to kluczowa umiejętność dla programistów. Wiedza na temat manipulacji DOM jest fundamentem dla technologii takich jak React czy Angular, które opierają się na zasadach wydajnego zarządzania interfejsem użytkownika przez wirtualny DOM. Współczesne standardy, takie jak ECMAScript, rozwijają możliwości JavaScript, a znajomość DOM jest niezwykle cenna na rynku pracy.

Pytanie 37

Co należy zrobić przed rozpoczęciem pętli, by zapewnić poprawne działanie przedstawionego kodu JavaScript?

var text;
for( var i = 0; i < tab.length; i++){
    text += tab[i] + "<br>";
}
A. Zadeklarować zmienną i
B. Zweryfikować, czy text ma typ string
C. Sprawdzić rozmiar tabeli tab
D. Zainicjować zmienną text

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zainicjowanie zmiennej text przed użyciem jej w kodzie JavaScript jest kluczowe dla uniknięcia błędów runtime. W analizowanym kodzie zmienna text jest używana do przechowywania i modyfikacji danych stringowych w pętli. Bez wcześniejszej inicjalizacji, np. text = '', próba konkatenacji wartości do zmiennej text prowadziłaby do błędu, gdyż zmienna ta nie miałaby początkowej wartości. Zainicjowanie zmiennej jako pustego stringa jest dobrym przykładem praktyki programistycznej, która zapobiega nieoczekiwanym błędom i zapewnia, że zmienna ma przewidywalny stan początkowy przed rozpoczęciem operacji na niej. Taka inicjalizacja jest również zgodna z zasadą defensywnego programowania gdzie staramy się zminimalizować ryzyko wystąpienia błędów poprzez odpowiednie przygotowanie danych przed ich użyciem. W praktyce, inicjalizacja zmiennych jest częścią dobrych standardów programistycznych i pomaga w utrzymywaniu czytelności i niezawodności kodu, co jest szczególnie istotne w projektach zespołowych oraz dużych aplikacjach.

Pytanie 38

Jak nazywa się składnik bazy danych, który umożliwia jedynie przeglądanie informacji z bazy, prezentując je w formie tekstowej lub graficznej?

A. Tabela
B. Formularz
C. Zapytanie
D. Raport

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Raport to taka fajna część bazy danych, która pozwala ludziom spojrzeć na dane w czytelny sposób. Można je tworzyć, żeby analizować wyniki finansowe czy sprawdzać, jak firma sobie radzi. Przygotowywanie raportów na podstawie zapytań do bazy danych jest super, bo wszystko jest potem poukładane i przemyślane. W praktyce, raporty biorą dane z tabel i pokazują je w ładny sposób, wybierając odpowiednie kolumny i wiersze. Są też takie narzędzia jak SQL Server Reporting Services czy Crystal Reports, które oferują mnóstwo opcji do generowania raportów. To wszystko sprawia, że analiza danych jest lepsza i bardziej wizualna. Dobrze jest regularnie aktualizować raporty i dostosowywać je do potrzeb firmy, bo to pomaga w podejmowaniu decyzji na podstawie faktów.

Pytanie 39

Którą instrukcję pętli stosuje się do wykonania określonej (znanej z góry) liczby powtórzeń?

A.
foreach
B.
if
C.
switch
D.
for

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pętla <code><span class="code-keyword">for</span></code> najlepiej nadaje się, gdy z góry znamy liczbę powtórzeń. Składa się z trzech części: inicjalizacji licznika, warunku kontynuacji i kroku, np. <code><span class="code-keyword">for</span> <span class="code-text">(</span><span class="code-text">$</span><span class="code-variable">i</span> <span class="code-text">=</span> <span class="code-number">0</span><span class="code-text">;</span> <span class="code-text">$</span><span class="code-variable">i</span> <span class="code-text">&lt;</span> <span class="code-number">10</span><span class="code-text">;</span> <span class="code-text">$</span><span class="code-variable">i</span><span class="code-text">+</span><span class="code-text">+</span><span class="code-text">)</span> <span class="code-text">{</span> <span class="code-text">.</span><span class="code-text">.</span><span class="code-text">.</span> <span class="code-text">}</span></code> wykona kod dokładnie 10 razy. Licznik automatycznie rośnie (lub maleje) w każdym obrocie, co czyni <code><span class="code-keyword">for</span></code> wygodnym do pracy na zakresach liczb. Dla nieznanej z góry liczby powtórzeń (do spełnienia warunku) lepsza jest <code><span class="code-keyword">while</span></code>, a do przejścia po tablicy - <code><span class="code-keyword">foreach</span></code>. Dlatego do określonej liczby powtórzeń służy <code><span class="code-keyword">for</span></code>.

Pytanie 40

Zaprezentowano poniżej obsługę

if (!isset($_COOKIE[$nazwa]))
  echo "nie ustawiono!";
else
  echo "ustawiono: " . $_COOKIE[$nazwa];
A. sesji
B. zmiennych tekstowych
C. bazy danych
D. ciasteczek

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.