Wyniki egzaminu

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

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. CHECK
B. HAVING
C. UNIQUE
D. DISTINCT
Odpowiedź 'DISTINCT' jest poprawna, ponieważ w SQL służy do eliminowania powtórzeń w wynikach zapytań. Użycie klauzuli DISTINCT pozwala na zwrócenie jedynie unikalnych wartości z danej kolumny, co jest idealne w sytuacjach, gdy chcemy uzyskać listę miast, w których mieszkają osoby z tabeli 'mieszkańcy'. Na przykład, zapytanie 'SELECT DISTINCT miasto FROM mieszkańcy;' zwróci wszystkie różne miasta, w których zamieszkują mieszkańcy, eliminując duplikaty. W praktyce, klauzula DISTINCT jest często stosowana w raportach oraz analityce danych, gdzie istotne jest zrozumienie rozkładu unikalnych wartości. Warto również zauważyć, że DISTINCT może być używane w połączeniu z innymi klauzulami SQL, takimi jak WHERE, aby jeszcze bardziej zawęzić wyniki. Przykład użycia: 'SELECT DISTINCT miasto FROM mieszkańcy WHERE kraj = 'Polska';'. Dobrą praktyką jest stosowanie DISTINCT w sytuacjach, gdy zarządzamy dużymi zbiorami danych, aby zapewnić ich przejrzystość i uniknąć nadmiarowych informacji.

Pytanie 2

W języku JavaScript, funkcja Math.pow() wykorzystuje się do obliczenia

A. pierwiastka kwadratowego liczby
B. wartości przybliżonej liczby
C. wartości bezwzględnej liczby
D. potęgi liczby
Funkcja Math.pow() w JavaScript służy do obliczania potęgi liczby, co oznacza, że można jej użyć do podnoszenia liczby do wybranej potęgi. Poprawna składnia tej funkcji to Math.pow(base, exponent), gdzie 'base' to liczba, którą chcemy podnieść do potęgi, a 'exponent' to wykładnik. Na przykład, aby obliczyć 2 do potęgi 3, używamy Math.pow(2, 3), co zwraca 8. Ta funkcja jest niezwykle przydatna w różnych kontekstach programistycznych, takich jak obliczenia matematyczne, grafika komputerowa, czy modelowanie rzeczywistych zjawisk. W praktyce, korzystając z Math.pow(), można zrealizować wiele bardziej zaawansowanych obliczeń, takich jak obliczanie wartości funkcji wygładzających, symulacji fizycznych czy operacji na danych statystycznych. Kluczowe jest, aby pamiętać, że w JavaScript dostępne są również operator potęgowania (**), wprowadzony w ECMAScript 2016, co czyni kod bardziej czytelnym, na przykład 2 ** 3 również zwraca 8. Warto być świadomym tych narzędzi, aby optymalizować i upraszczać kod w swoich projektach.

Pytanie 3

Projektant stworzył logo dla witryny internetowej. Jest to czarny symbol na przezroczystym tle. Aby zachować wszystkie cechy obrazu i umieścić go na stronie, projektant powinien zapisać plik w formacie

A. PNG
B. JPG
C. BMP
D. CDR
Wybór BMP dla logo to nie najlepszy pomysł, bo nie ma tam przezroczystości, a pliki są sporo większe niż te z PNG. BMP to format surowych danych graficznych, więc do internetu się nie nadaje – tam liczy się szybkość ładowania i rozmiar. Trochę inaczej jest z CDR, bo to format głównie w programach graficznych, np. CorelDRAW, ale w przeglądarkach nie jest to coś standardowego. A co z JPG? To lossy format, więc niestety traci się na jakości przy kompresji, a przezroczystość też nie jest jego mocną stroną. Kiedy robimy logo, które musi być ostre i wyraźne, to takie zniekształcenia mogą wyjść na niekorzyść. Wiele osób myli te formaty, bo są znane, ale fajnie by było zrozumieć, że nie wszystko pasuje do wszystkiego. Zły wybór formatu może zepsuć wizualną jakość i funkcjonalność grafik w sieci.

Pytanie 4

Funkcja
fun1(a,b) {
  if(a % 2 != 0) a++;
  for(let n = a; n <= b; n+=2) document.write(n);
}
ma na celu

A. zwrócenie parzystych wartości liczb od a do b
B. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
C. wypisanie wszystkich liczb w przedziale od a do b
D. wypisanie liczb parzystych w zakresie od a do b
W przypadku pierwszej błędnej odpowiedzi, najważniejszy błąd to myślenie, że funkcja zwraca wartości parzyste jak zwykły wynik. W rzeczywistości funkcja wypisuje te liczby na stronie za pomocą document.write(), więc to jest kluczowy szczegół. Druga niepoprawna odpowiedź jest na dobrej drodze, ale myli się w interpretacji 'wypisania liczb parzystych z przedziału od a do b'. Funkcja nie tylko wypisuje liczby parzyste, ale też sprawdza, czy a jest nieparzyste, i wtedy zmienia tę wartość. Co do trzeciej błędnej odpowiedzi, sugeruje ona, że funkcja wypisuje wszystkie liczby między a a b, co jest zupełnie błędne, bo pętla for zwiększa n o 2, więc tylko parzyste liczby się pojawią. Rozumienie jak działa pętla for oraz operator modulo jest kluczowe, żeby dobrze zrozumieć tę funkcję. Jeśli nie ogarniasz tych podstaw, ciężko będzie analizować kod w JavaScript i pisać lepsze programy.

Pytanie 5

Wskaż polecenie SQL, które dodaje kolumnę miesiacSiewu do już istniejącej tabeli rośliny

A. UPDATE rosliny ADD miesiacSiewu int
B. INSERT INTO rosliny Values (miesiacSiewu int)
C. CREATE TABLE rosliny {miesiacSiewu int}
D. ALTER TABLE rosliny ADD miesiacSiewu int
Polecenie SQL 'ALTER TABLE rosliny ADD miesiacSiewu int;' to całkiem sensowny sposób na dodanie nowej kolumny do tabeli w bazie danych. Gdy chcemy coś zmieniać w tabeli, to 'ALTER TABLE' jest tym, czego szukamy, bo pozwala nam modyfikować tabelę bez jej usuwania. Dodając kolumnę 'miesiacSiewu', przechowamy dane typu całkowitego (int), co idealnie pasuje do wartości miesięcy. Dzięki temu poleceniu możemy łatwo dostosować strukturę bazy do potrzeb aplikacji. Po jego wykonaniu, w każdej chwili można już wrzucać dane do nowej kolumny. To by się na pewno przydało przy analizie danych dotyczących upraw. W SQL to w sumie standard, więc działa w większości systemów jak MySQL czy PostgreSQL.

Pytanie 6

Do grupowania elementów w blok, można użyć znacznika

A. <p>
B. <div>
C. <span>
D. <param>
Poprawnie wskazany znacznik to <div>, bo właśnie on w HTML służy do ogólnego grupowania elementów w blok. <div> jest elementem blokowym (block-level), co oznacza, że domyślnie zajmuje całą dostępną szerokość i zaczyna się od nowej linii. Z punktu widzenia przeglądarki i CSS jest to taki „kontener”, do którego wrzucasz inne elementy, żeby sensownie ułożyć strukturę strony. Bardzo często używa się <div> do tworzenia sekcji layoutu: nagłówka strony, głównej zawartości, bocznego panelu, stopki. Przykładowo: <div class="container"> ... </div> pozwala Ci potem w CSS ostylować całą tę grupę jednym zestawem reguł, np. ustawić szerokość, marginesy, tło czy ramkę. W nowocześniejszych projektach <div> często łączy się z flexboxem albo gridem, np. <div class="grid"> jako główny kontener siatki. Z mojego doświadczenia <div> jest jednym z najczęściej używanych znaczników, ale warto pamiętać o semantyce: tam gdzie to możliwe, lepiej użyć <header>, <main>, <section>, <article>, <footer>. One też są blokowe, ale niosą dodatkowe znaczenie dla czytników ekranu i SEO. Gdy jednak potrzebujesz po prostu neutralnego kontenera blokowego, bez konkretnej semantyki, <div> jest dokładnie tym, czego szukasz i jest to zgodne z dobrymi praktykami opisanymi w specyfikacji HTML Living Standard.

Pytanie 7

Co uzyskujemy po wykonaniu zapytania SQL?

Ilustracja do pytania
A. suma ocen uczniów, których średnia ocen wynosi 5
B. całkowitą liczbę uczniów
C. średnią wszystkich ocen uczniów
D. liczbę uczniów, których średnia ocen wynosi 5
Analizując błędne koncepcje w tym pytaniu warto zwrócić uwagę na mechanizmy działania zapytań SQL które często są mylnie interpretowane. Zapytanie SELECT count(*) nie zwraca liczby wszystkich uczniów lecz tylko tych którzy spełniają określone warunki tutaj średnia ocen wynosi 5. Wybór SELECT count(*) jest kluczowy ponieważ w odróżnieniu od funkcji takich jak AVG() czy SUM() nastawiony jest na zliczanie wierszy a nie na obliczanie wartości średnich czy sum. Mylnym przekonaniem może być że tak skonstruowane zapytanie zwraca średnią ocen wszystkich uczniów; do tego celu służyłaby funkcja AVG(). Podobnie błędne byłoby oczekiwanie że zwróci sumę ocen studentów z daną średnią. Suma wymagałaby użycia funkcji SUM() i odpowiednich modyfikacji zapytania. Często popełnianym błędem jest także niedostrzeżenie że zapytanie z klauzulą WHERE ogranicza wyniki do podzbioru danych co jest kluczowe dla jego poprawnej interpretacji. Zrozumienie tych różnic jest istotne dla efektywnego wykorzystania SQL w praktyce zawodowej i unikania błędów analitycznych.

Pytanie 8

W tabeli produkt znajdują się przedmioty wyprodukowane po roku 2000, z kolumnami nazwa i rok_produkcji. Klauzula SQL pokaże listę przedmiotów wyprodukowanych

SELECT * FROM `produkt` WHERE SUBSTR(rok_produkcji,3,2)=17;
A. przed rokiem 2017
B. w roku 2017
C. po roku 2017
D. w latach innych niż 2017
Wybranie odpowiedzi, że przedmioty zostały wyprodukowane po roku 2017 jest niewłaściwe, ponieważ funkcja SUBSTR użyta w zapytaniu SQL jednoznacznie identyfikuje tylko przedmioty wyprodukowane w roku 2017. Użycie wartości '17' jako kryterium wyszukiwania nie pozwala na objęcie przedmiotów wyprodukowanych w późniejszych latach, jak 2018 czy 2019. Podobnie, odpowiedzi sugerujące, że przedmioty są wyprodukowane w latach innych niż 2017 lub przed rokiem 2017, są błędne z tych samych powodów. W kontekście SQL, ważne jest zrozumienie, jak funkcje manipulacji łańcuchami wpływają na wyniki zapytań. Typowym błędem jest zakładanie, że wynik z SUBSTR będzie obejmował więcej niż jedną wartość, co wprowadza w błąd i prowadzi do niepoprawnych wniosków. Zamiast tego, analiza danych powinna opierać się na jasnym zrozumieniu struktury danych i tego, jak operacje na nich wpływają na wyniki. Zawsze warto testować zapytania na próbkach danych, aby upewnić się, że wyniki są zgodne z oczekiwaniami oraz stosować dobre praktyki w zakresie formatowania danych. To pozwala uniknąć błędów podczas przetwarzania informacji.

Pytanie 9

Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy OR wiek > 25
B. SELECT * FROM pracownicy WHERE wiek > 25
C. SELECT * FROM pracownicy AND wiek > 25
D. SELECT * FROM wiek WHERE pracownicy > 25
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.

Pytanie 10

W HTML, aby uzyskać rezultat jak w podanym przykładzie, należy użyć struktury `

Duży tekst zwykły tekst

A. <p><big>Duży tekst</big> zwykły tekst</p>
B. <p><strike>Duży tekst</strike> zwykły tekst</p>
C. <p><big>Duży tekst</p> zwykły tekst
D. <p><strike>Duży tekst zwykły tekst</p>
Odpowiedź <p><big>Duży tekst</big> zwykły tekst</p> jest poprawna, ponieważ wykorzystuje znacznik <big>, który jest zgodny z semantyką HTML i odpowiednio formatuje tekst, zwiększając jego rozmiar. Warto zauważyć, że użycie znacznika <big> jest zgodne z praktykami, które rekomendują wykorzystanie odpowiednich znaczników do modelowania treści w dokumentach HTML. Taki zabieg nie tylko pozwala na lepszą prezentację tekstu, ale także ułatwia dostępność strony, co jest istotne w kontekście WCAG (Web Content Accessibility Guidelines). Przykładem zastosowania może być sytuacja, w której chcemy wyróżnić istotne informacje w tekście, np. nagłówki sekcji lub kluczowe dane. Zastosowanie <big> w tym kontekście zwiększa czytelność oraz zwraca uwagę użytkowników, co jest szczególnie ważne w długich dokumentach. Warto również pamiętać, że stosowanie znaczników odpowiadających ich przeznaczeniu wspiera SEO, gdyż wyszukiwarki lepiej interpretują strukturę treści. Z tego powodu, używanie semantycznych i odpowiednich znaczników, takich jak <big>, jest kluczowe dla tworzenia poprawnych i funkcjonalnych stron internetowych.

Pytanie 11

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. raport
B. zestawienie
C. zapytanie
D. formularz
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 12

W kontekście PGP zmienna $_GET jest zmienną

A. predefiniowaną, stosowaną do przesyłania informacji do skryptów PHP poprzez adres URL
B. predefiniowaną, służącą do zbierania wartości z formularzy po nagłówkach zapytań HTTP (dane z formularzy nie są widoczne w URL)
C. zdefiniowaną przez autora strony, wykorzystywaną do przesyłania danych z formularzy przez adres URL
D. zwykłą, stworzoną przez autora strony
Zmienna $_GET w języku PHP jest predefiniowaną superglobalną tablicą, która umożliwia dostęp do danych przesyłanych metodą GET za pomocą adresu URL. Oznacza to, że można przekazywać dane do skryptu PHP poprzez dodanie parametrów do adresu strony, co jest powszechnie stosowane w aplikacjach webowych. Na przykład, w adresie URL 'example.com/page.php?name=John&age=30', zmienna $_GET będzie zawierać tablicę z danymi ['name' => 'John', 'age' => '30']. Dzięki temu programista może łatwo odczytać i wykorzystać te dane w skrypcie, co jest kluczowe dla dynamicznych stron internetowych. Zgodnie z dokumentacją PHP, zmienna $_GET jest jedną z kilku superglobalnych tablic, obok takich jak $_POST, $_SESSION, i $_COOKIE, które ułatwiają zarządzanie danymi użytkownika. Ważne jest, aby pamiętać o zabezpieczeniach, takich jak walidacja i sanitizacja danych wejściowych, aby uniknąć ataków typu SQL Injection czy XSS (Cross-Site Scripting).

Pytanie 13

Jakim poleceniem można zobaczyć konfigurację serwera PHP, zawierającą między innymi: wersję PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpcredits();
B. echo phpversion();
C. phpinfo();
D. print_r(ini_get_all());
Funkcja phpinfo() jest najczęściej używaną metodą do wyświetlania szczegółowych informacji o konfiguracji serwera PHP. Umożliwia ona dostarczenie danych na temat wersji PHP, zainstalowanych modułów, wartości konfiguracyjnych oraz informacji o systemie operacyjnym, na którym działa serwer. W kontekście dostosowywania aplikacji webowych, phpinfo() jest nieocenionym narzędziem diagnostycznym. Na przykład, gdy programista potrzebuje zweryfikować, czy określony moduł PHP, taki jak cURL czy GD, jest aktywowany, wystarczy umieścić w skrypcie polecenie `<?php phpinfo(); ?>`. Efektem jest pełna tabela z danymi, która zawiera wszystkie istotne informacje. Dobre praktyki wskazują, aby nie publikować wyników phpinfo() na stronach dostępnych publicznie, ponieważ ujawniają one wrażliwe informacje o konfiguracji serwera, co może prowadzić do potencjalnych luk w bezpieczeństwie.

Pytanie 14

W języku PHP użyto funkcji is_int). Które z wymienionych wywołań tej funkcji zwróci wartość TRUE?

A. is_int(NULL)
B. is_int(13.5)
C. is_int(135)
D. is_int("135")
Wybór is_int(135) jako poprawnej odpowiedzi jest uzasadniony, ponieważ funkcja is_int w języku PHP służy do sprawdzania, czy zmienna jest typu całkowitego (integer). W tym przypadku 135 jest liczbą całkowitą, co oznacza, że funkcja zwróci wartość TRUE. Użycie is_int w praktyce jest przydatne, gdy chcemy upewnić się, że nasze dane wejściowe są odpowiedniego typu, co jest szczególnie ważne w aplikacjach, gdzie typ danych ma kluczowe znaczenie, na przykład w operacjach matematycznych czy przy interakcji z bazą danych. Dobrą praktyką jest zawsze walidowanie danych, aby uniknąć potencjalnych błędów i zapewnić stabilność aplikacji. Ponadto, w PHP typy są dynamiczne, co sprawia, że błędne typy danych mogą prowadzić do trudnych do zdiagnozowania błędów, dlatego stosowanie is_int może znacząco poprawić jakość kodu i jego bezpieczeństwo. Przykładowo, przed wykonaniem operacji arytmetycznych na wartościach przekazanych z formularza, warto sprawdzić, czy są one typu integer, aby zapobiec niepożądanym zachowaniom programu.

Pytanie 15

W JavaScript funkcja document.getElementById(id) ma na celu

A. zwrócić referencję do pierwszego elementu HTML o wskazanym id
B. zweryfikować poprawność formularza o identyfikatorze id
C. umieścić tekst o treści ’id’ na stronie internetowej
D. pobrać wartości z formularza i przypisać je do zmiennej id
Niektóre twoje odpowiedzi trochę mylą rolę metody document.getElementById(id). Myślenie, że ta metoda pobiera dane z formularza i wkłada je do zmiennej id to zły trop. W rzeczywistości, ona służy do uzyskiwania dostępu do elementów, a jeśli chcesz odczytać wartości z pól formularzy, powinieneś użyć właściwości value. Mówienie o tym, że ta metoda sprawdza poprawność formularza, też nie jest na miejscu - do walidacji używa się innych funkcji, jak addEventListener() na zdarzenie 'submit' albo atrybutów HTML5, jak required. No i jeśli chodzi o wstawianie tekstu 'id' na stronę, to też nie tak to działa - document.getElementById(id) daje ci odnośnik do elementu, ale nie modyfikuje go w jakiś bezpośredni sposób. To błędy, które mogą wynikać z nie do końca jasnego zrozumienia, jak działają metody manipulacyjne w JavaScript.

Pytanie 16

Na przedstawionym obrazie widać wynik formatowania przy użyciu styli CSS oraz kod HTML, który go generuje. Przy założeniu, że marginesy wewnętrzne wynoszą 50 px, a zewnętrzne 20 px, jak wygląda styl CSS dla tego obrazu?

Ilustracja do pytania
A. Rys. B
B. Rys. D
C. Rys. A
D. Rys. C
Błędne odpowiedzi wynikają głównie z nieprawidłowego przypisania wartości marginesów i marginesów wewnętrznych w stylach CSS. W przypadku niepoprawnych stylów, takich jak w Rys. A i D, zastosowano linię przerywaną, co nie spełnia warunków pytania, które wymaga zastosowania linii ciągłej. Solidna linia graniczna jest bardziej preferowana w projektach profesjonalnych, ponieważ dodaje wyrazistości i estetyki. Warianty, gdzie nie zachowano odpowiednich wartości marginesów i marginesów wewnętrznych, mogą prowadzić do niezamierzonego zachowania w układzie strony, takich jak zły odstęp między elementami, co negatywnie wpływa na użyteczność i estetykę interfejsu użytkownika. Niewłaściwe ustawienie tych wartości często wynika z niedostatecznego zrozumienia modelu pudełkowego w CSS, który jest fundamentem w projektowaniu rozmieszczenia elementów na stronie. Model pudełkowy umożliwia dokładne określenie, jak elementy są wyświetlane, co jest niezbędne do tworzenia responsywnych i estetycznie przyjemnych stron internetowych. Zrozumienie i prawidłowe zastosowanie marginesów i marginesów wewnętrznych jest kluczowe dla osiągnięcia profesjonalnych wyników w projekcie.

Pytanie 17

Który z zaprezentowanych kodów HTML sformatuje tekst zgodnie z podanym wzorem?
Uwaga: słowo "stacji" jest napisane większą czcionką niż pozostałe wyrazy w tej linijce)

Lokomotywa

Stoi na stacji lokomotywa ...

A. <h1>Lokomotywa</h1> <p>Stoi na <big>stacji</big> lokomotywa ...</p>
B. <h1>Lokomotywa</h1> <p>Stoi na <big>stacji lokomotywa ...</p>
C. <p><small>Lokomotywa</small></p> <p>Stoi na <big>stacji<big> lokomotywa ...</p>
D. <h1>Lokomotywa</h1> <p>Stoi na <big>stacji</big> lokomotywa ...</p>
Poprawny kod dokładnie odtwarza wzór: nagłówek poziomu pierwszego <h1> z tekstem „Lokomotywa” oraz akapit <p>, w którym tylko słowo „stacji” jest wyróżnione większym rozmiarem za pomocą znacznika <big>. Dzięki temu przeglądarka powiększa wyłącznie ten jeden wyraz, a reszta zdania zachowuje standardowy rozmiar czcionki wynikający z kaskady CSS lub domyślnych ustawień. Struktura dokumentu jest też logiczna: tytuł w <h1>, treść w akapicie, bez zbędnego mieszania poziomów nagłówków. W praktyce taki zapis dobrze pokazuje, jak selektywnie formatować tekst wewnątrz akapitu – możemy objąć znacznikiem <big> tylko fragment, podobnie jak używa się <strong> albo <em> do wyróżniania pojedynczych słów. W nowoczesnych projektach zamiast <big> zaleca się raczej stosowanie CSS, np. <span class="wiekszy">stacji</span> i w CSS: .wiekszy { font-size: 1.2em; }. Daje to większą kontrolę nad wyglądem i jest zgodne z aktualnymi standardami W3C, bo <big> jest znacznikiem przestarzałym (deprecated). Mimo to, z punktu widzenia tego zadania, kluczowe jest zrozumienie, że tag musi dokładnie obejmować tylko słowo, które ma być powiększone, oraz że znacznik musi być poprawnie zamknięty. Taka precyzyjna selekcja fragmentu tekstu to podstawa przy formatowaniu treści w HTML i późniejszym stylowaniu w CSS.

Pytanie 18

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

function potega(a, b = 2) { ... return wynik; }
A. nie zwraca wartości
B. może być wywołana z jedną wartością
C. wymaga podania dwóch argumentów przy wywołaniu
D. nie przyjmuje żadnych argumentów
W JavaScript funkcja może przyjmować parametry, zwracać wartości i być wywoływana z różną liczbą argumentów. Odpowiedź, że funkcja potega nie przyjmuje parametrów, jest nieprawidłowa. W kodzie widzimy, że przyjmuje dwa parametry (a, b), z czego drugi ma wartość domyślną. Funkcja w JavaScript może zwracać wartość poprzez instrukcję return, co jest standardową praktyką w celu uzyskania wyniku operacji. Zatem stwierdzenie, że nie zwraca żadnej wartości, jest błędne. W kodzie widoczna jest instrukcja return, co oznacza, że funkcja zwraca wynik. Koncepcja, że funkcja wymaga podania dwóch parametrów przy wywołaniu, również jest błędna, ponieważ jeden z parametrów ma przypisaną wartość domyślną i może być pominięty podczas wywołania funkcji. Wartości domyślne w JavaScript pozwalają na bardziej elastyczne użycie funkcji, co jest ugruntowaną praktyką od czasu wprowadzenia standardu ES6, umożliwiając łatwe zarządzanie brakującymi argumentami bez komplikowania kodu.

Pytanie 19

Która z podanych funkcji napisanych w PHP oblicza sumę połowy a oraz połowy 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; }
Funkcja 'function licz($a, $b) { return $a/2 + $b/2; }' jest naprawdę w porządku. Dokładnie wykonuje to, co pytanie wymaga: sumuje połowy zmiennych a i b. W PHP dzielenie robimy przez operator '/', a tu obie liczby są dzielone przez 2, więc dostajemy ich połówki. Potem te połówki dodajemy, co się zgadza z tym, o co chodzi w zadaniu. Na przykład, jak a = 6 i b = 4, to funkcja zwraca (6/2) + (4/2) = 3 + 2 = 5. Takie podejście jest super, bo kod jest czytelny i prosty. W ekipach programistycznych, gdzie różni ludzie mogą pracować nad tym samym kodem, to ma duże znaczenie. Nazwa 'licz' też jest całkiem zrozumiała i dobrze pasuje do tego, co ta funkcja robi, więc później można łatwo z niej korzystać czy zmieniać ją, jak będzie potrzeba.

Pytanie 20

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Dane 4, 3, 4, 3
B. Liczba wierszy równa 4
C. Wartość 3.5
D. Suma ocen równa 14
Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.

Pytanie 21

W systemie baz danych MySQL komenda CREATE USER pozwala na

A. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
B. zmianę hasła dla już istniejącego użytkownika
C. stworzenie nowego użytkownika
D. zobaczenie danych o aktualnym użytkowniku
Polecenie CREATE USER w bazie danych MySQL jest kluczowym narzędziem do zarządzania użytkownikami w systemie zarządzania bazami danych. Jego podstawowym celem jest utworzenie nowego konta użytkownika, które pozwala na autoryzowany dostęp do różnych zasobów bazy danych. Użycie tego polecenia wiąże się z określeniem nazwy użytkownika oraz hasła, a także opcjonalnymi parametrami, takimi jak host, który określa, z jakiego adresu IP użytkownik może uzyskać dostęp do serwera. Przykładowe polecenie CREATE USER wygląda następująco: CREATE USER 'nazwa_użytkownika'@'host' IDENTIFIED BY 'hasło'; Po utworzeniu użytkownika można przypisać mu odpowiednie uprawnienia za pomocą polecenia GRANT, co pozwala na kontrolowanie, jakie operacje użytkownik może wykonywać na bazie danych. Dobrą praktyką jest regularne przeglądanie i aktualizacja uprawnień użytkowników, aby zapewnić bezpieczeństwo danych. Zgodnie z najlepszymi standardami bezpieczeństwa należy unikać nadawania zbyt szerokich uprawnień, co jest zgodne z zasadą najmniejszych uprawnień (principle of least privilege).

Pytanie 22

W języku JavaScript funkcja matematyczna Math.pow() jest wykorzystywana do obliczania

A. przybliżonej wartości liczby
B. bezwzględnej wartości liczby
C. pierwiastka kwadratowego z liczby
D. potęgi liczby
Funkcja Math.pow() w języku JavaScript służy do obliczania potęgi liczby, co oznacza, że zwraca wynik mnożenia danej liczby przez siebie określoną liczbę razy. Jej składnia to Math.pow(base, exponent), gdzie 'base' to liczba, którą chcemy podnieść do potęgi, a 'exponent' to wykładnik potęgi. Przykładowo, Math.pow(2, 3) zwróci 8, ponieważ 2^3=2*2*2=8. Użycie tej funkcji jest niezwykle powszechne w programowaniu, zwłaszcza w obliczeniach matematycznych, grafice komputerowej oraz w algorytmach naukowych. Zastosowanie Math.pow() jest zgodne z najlepszymi praktykami, ponieważ pozwala na klarowność i czytelność kodu. Warto dodać, że w ES6 możemy również używać operatora potęgowania **, co jest syntaktycznie prostsze i bardziej intuicyjne, np. 2 ** 3 również da nam 8.

Pytanie 23

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. zwrócenie wartości odwrotnej do f
B. wypisanie wartości bezwzględnej z f
C. wypisanie wartości odwrotnej do f
D. zwrócenie wartości bezwzględnej z f
Patrząc na błędne odpowiedzi, trzeba zauważyć, że funkcja w ogóle nie zajmuje się wypisywaniem wartości ani obliczaniem odwrotności liczby. W JavaScript do wypisywania danych używamy polecenia console.log(), a tutaj go nie ma. Ta funkcja tylko zwraca wynik, co w programowaniu jest super ważne, bo później można wykorzystać tę wartość w dalszym kodzie. Kolejna pomyłka to myślenie, że funkcja zwraca odwrotność liczby. Odwrotność to zupełnie co innego i związane z tym, że musimy znaleźć liczbę, która pomnożona przez pierwotną daje 1. W tym wypadku funkcja tylko zmienia znak liczby, gdy jest ona ujemna, co jest typowe dla obliczania wartości bezwzględnej. Zrozumienie tych różnic jest naprawdę kluczowe, jeśli chcesz uniknąć typowych błędów w programowaniu i lepiej pisać kod.

Pytanie 24

W SQL warunek ten odpowiada warunkowi liczba >= 10 AND liczba <= 100?

A. NOT (liczba < 10 AND liczba > 100)
B. liczba IN (10, 100)
C. liczba LIKE '10%'
D. liczba BETWEEN 10 AND 100
Odpowiedź 'liczba BETWEEN 10 AND 100' jest prawidłowa, ponieważ odpowiada warunkowi, który sprawdza, czy wartość zmiennej 'liczba' mieści się w przedziale od 10 do 100, włączając oba końce. W SQL konstrukcja 'BETWEEN' jest preferowana, ponieważ jest bardziej czytelna i zrozumiała dla programistów, co sprzyja utrzymaniu kodu. Przykładowe zapytanie SQL używające tego warunku mogłoby wyglądać tak: 'SELECT * FROM tabela WHERE liczba BETWEEN 10 AND 100;'. Zastosowanie 'BETWEEN' unika potencjalnych błędów związanych z używaniem operatorów porównawczych i zapewnia, że obie granice przedziału są respektowane. W praktyce, korzystanie z 'BETWEEN' w zapytaniach SQL jest zgodne z dobrymi praktykami programowania, gdyż poprawia czytelność i ułatwia analizę kodu. Dodatkowo, warto zauważyć, że 'BETWEEN' działa również z datami, co czyni go uniwersalnym narzędziem w SQL.

Pytanie 25

Która funkcja edytora grafiki wektorowej spowoduje przekształcenie z przedstawionych po lewej stronie figur koła i prostokąta do figury półkola widocznej po prawej stronie?

Ilustracja do pytania
A. Wykluczenie.
B. Podział.
C. Część wspólna.
D. Różnica.
W grafice wektorowej operacje na kształtach, takie jak Różnica, Podział, Wykluczenie czy Część wspólna, to tzw. operacje boole’owskie. One nie są losowe – każda z nich ma bardzo konkretne, matematyczne znaczenie. Typowy błąd polega na tym, że patrzymy tylko na „intuicyjną” nazwę funkcji, a nie na to, co faktycznie dzieje się z obszarami wypełnienia. Różnica (ang. Subtract / Difference) polega na tym, że jedna figura „wycina” fragment z drugiej. Gdyby w naszym przykładzie użyć różnicy, to z jednej figury zostałby usunięty fragment zajmowany przez drugą. W efekcie dostalibyśmy kształt przypominający np. prostokąt z zaokrąglonym wycięciem, a nie pełne półkole. To przydaje się np. do robienia otworów, ramek, ikon z „dziurą”, ale nie do budowy półkola. Podział (ang. Divide / Fragment) dzieli obszar wszędzie tam, gdzie kształty się przecinają, na kilka osobnych obiektów. Wizualnie może to chwilowo wyglądać podobnie, ale końcowy efekt to kilka fragmentów, które trzeba ręcznie usuwać lub scalać. W testowym zadaniu chodzi o jedną, gotową figurę półkola, bez dodatkowego sprzątania, więc to nie jest optymalna operacja. Wykluczenie (ang. Exclude / XOR) działa odwrotnie do części wspólnej – usuwa obszar nakładania się, a zostawia tylko to, co jest „na zewnątrz” przecięcia. Gdyby użyć wykluczenia na kole i prostokącie, środek, czyli miejsce ich wspólnego nakładania, zniknie, a zostaną dwa osobne dziwne kształty po bokach. To dobra funkcja do tworzenia bardziej dekoracyjnych, ażurowych form, ale kompletnie nie nadaje się do uzyskania klasycznego półkola. W tym zadaniu kluczowe jest zrozumienie, że półkole jest dokładnie tym obszarem, gdzie koło i prostokąt się pokrywają. Stąd jedynie „Część wspólna” daje czysty, poprawny efekt bez dodatkowej obróbki. Warto przy takich pytaniach wyobrażać sobie, które fragmenty zostaną, a które zostaną usunięte, zamiast sugerować się tylko nazwą funkcji w menu programu.

Pytanie 26

Kolor wyrażony w modelu RGB(255, 0, 0) to

A. zielony.
B. żółty.
C. czerwony.
D. niebieski.
Barwa zapisana w modelu RGB(255, 0, 0) oznacza maksymalne natężenie kanału czerwonego, co wskazuje, że jest to czysta czerwień. Model RGB, czyli Red, Green, Blue, jest powszechnie stosowany w technologii cyfrowej, w tym w monitorach, telewizorach i urządzeniach mobilnych. W praktyce, wartości w zakresie od 0 do 255 określają intensywność poszczególnych kolorów, gdzie 0 oznacza brak koloru, a 255 jego maksymalną intensywność. Wartości dla zielonego i niebieskiego są zerowe, co oznacza, że nie wpływają na ostateczny kolor. Czerwień (RGB(255, 0, 0)) jest często wykorzystywana w projektowaniu graficznym, na przykład w tworzeniu logo, gdzie symbolizuje energię i pasję. W standardzie sRGB, który jest najczęściej stosowanym profilem kolorów w Internecie, barwy są definiowane w ten sposób, co gwarantuje ich spójność na różnych urządzeniach. Zrozumienie tego modelu kolorów jest kluczowe dla każdej osoby pracującej w dziedzinie grafiki komputerowej, projektowania UI/UX czy programowania webowego.

Pytanie 27

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 28

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zmienić format grafiki na CDR
B. zwiększyć rozdzielczość
C. zmniejszyć wymiary rysunku
D. zmienić proporcje szerokości do wysokości
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 29

Wynikiem działania pętli będzie wypisanie liczb

for ($i = 0; $i <= 20; $i += 4)
echo $i . ', ';
A. 0, 4, 8, 12, 16, 20,
B. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
C. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
D. 0, 4, 8, 12, 16,
Twoja odpowiedź jest prawidłowa. Pętla for w języku PHP jest strukturą kontrolną, która pozwala na wielokrotne wykonanie określonej sekwencji instrukcji. W tym konkretnym przypadku, pętla zaczyna od wartości 0 i zwiększa wartość $i o 4 przy każdej iteracji, aż osiągnie lub przekroczy wartość 20. W wyniku tego, wartości, które otrzymujemy i zostają wypisane, to 0, 4, 8, 12, 16, 20. Pętle są niezwykle użyteczne i wszechstronne w programowaniu, pozwalając na automatyzację i usprawnienie wielu zadań. Pętla for, którą tu widzimy, jest przykładem zastosowania tej struktury do generowania sekwencji liczb, co ma wiele zastosowań, na przykład w tworzeniu tablic, sterowaniu kolejnością wykonywania operacji lub generowaniu dynamicznych treści na stronach internetowych.

Pytanie 30

W języku PHP chcąc wyświetlić ciąg n znaków @, należy użyć funkcji

A. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki(@, $n);

B. function znaki($i){
   for($i = 0; $i < $n; $i++)
     print("@");
}
znaki($i);

C. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki($n);

D. function znaki($znak, $n){
   for($i = 0; $i < $n; $i++)
     print($znak);
}
znaki("@", $n);
A. C.
B. D.
C. A.
D. B.
Wybór odpowiedzi A, B lub C sugeruje pewne nieporozumienia dotyczące działania funkcji w PHP. W PHP, aby wyświetlić ciąg n znaków, musimy użyć funkcji, która przyjmuje dwa argumenty: znak do wyświetlenia i liczbę n określającą, ile razy znak powinien zostać wyświetlony. Żadne z podejść zaproponowanych w odpowiedziach A, B lub C nie spełniają tych kryteriów. Wszystkie one wydają się pomijać istotne aspekty tworzenia funkcji, takie jak użycie odpowiednich argumentów lub prawidłowe użycie pętli. Zrozumienie, jak działa ta konkretna funkcja w PHP, może pomóc Ci zrozumieć, jak działa ten język programowania i jak używać jego funkcji do tworzenia skutecznych programów. Warto poświęcić więcej czasu na naukę tych podstaw, ponieważ są one kluczowe dla pisanie skutecznego kodu w PHP.

Pytanie 31

Podany fragment dokumentu HTML zawierający kod JavaScript sprawi, że po naciśnięciu przycisku

Ilustracja do pytania
A. obraz2.png zostanie zniknięty
B. obraz1.png zostanie wymieniony na obraz2.png
C. obraz2.png zostanie wymieniony na obraz1.png
D. obraz1.png zostanie zniknięty
Załączony fragment kodu HTML pokazuje dwa elementy img oraz przycisk. Obrazek obraz2.png ma przypisany atrybut id o wartości id1. W kodzie JavaScript przypisanym do zdarzenia onclick przycisku wykorzystywana jest metoda document.getElementById('id1').style.display='none'. Ta metoda odwołuje się bezpośrednio do elementu o identyfikatorze id1 czyli obrazka obraz2.png i zmienia jego styl CSS display na none. W praktyce oznacza to że element ten zostanie ukryty na stronie po naciśnięciu przycisku. Praktyczne zastosowanie tej techniki to dynamiczne zarządzanie widocznością elementów na stronie bez konieczności jej przeładowania co poprawia doświadczenie użytkownika. Tego typu manipulacje DOM (Document Object Model) są podstawą interaktywnych aplikacji webowych i są powszechnie używane w nowoczesnym programowaniu JavaScript. Dobrym standardem jest jednak unikanie bezpośredniego pisania skryptów JavaScript w HTML co poprawia czytelność kodu i jego utrzymywalność

Pytanie 32

Aby zaktualizować maksymalną długość kolumny imie w tabeli klienci do 30 znaków, należy zastosować w języku SQL poniższy kod

A. CHANGE TABLE klienci MODIFY imie CHAR(30);
B. ALTER TABLE klienci CHANGE imie TEXT;
C. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
D. CHANGE TABLE klienci TO COLUMN imie SET CHAR(30);
Odpowiedź ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30) jest poprawna, ponieważ w SQL polecenie ALTER TABLE służy do modyfikacji struktury istniejącej tabeli. W tym przypadku zmieniamy długość pola 'imie' w tabeli 'klienci'. Typ danych VARCHAR (zmienna długość) jest odpowiedni dla pól, które mogą przechowywać tekst o różnej długości, a określenie 30 oznacza, że maksymalna długość tego pola będzie wynosić 30 znaków. Używanie VARCHAR zamiast CHAR jest dobrą praktyką w przypadku, gdy długość danych jest zmienna, co pozwala na oszczędność miejsca w bazie danych. Przykładowo, jeśli tabela przechowuje imiona, które w większości będą krótsze niż 30 znaków, zastosowanie VARCHAR skutkuje mniejszym zużyciem miejsca w porównaniu do CHAR, który zawsze rezerwuje tę samą ilość miejsca. Warto również pamiętać, że przy modyfikowaniu tabeli w SQL należy zachować ostrożność, aby uniknąć utraty danych, szczególnie jeśli zmieniamy typ danych lub długość pola już zawierającego dane.

Pytanie 33

Z którego z pól klasy ```Dane``` można będzie uzyskać dostęp z zewnątrz, korzystając z obiektu stworzonego jako instancja tej klasy? ```class Dane { public $a; private $b; protected $c; }```

A. Do pola $c.
B. Do pola $b.
C. Do wszystkich pól.
D. Do pola $a.
Odpowiedź jest prawidłowa, ponieważ pole $a jest zadeklarowane jako publiczne, co oznacza, że jest dostępne z zewnątrz klasy i może być modyfikowane oraz odczytywane przez instancje tej klasy oraz inne klasy. Publiczne modyfikatory dostępu są standardową praktyką w programowaniu obiektowym, umożliwiającą swobodny dostęp do danych, co jest szczególnie przydatne w przypadku, gdy chcemy, aby dane były łatwo dostępne dla innych komponentów systemu. Na przykład, jeśli klasa Dane jest używana w aplikacji, możemy tworzyć obiekty tej klasy i bezpośrednio operować na polu $a, co sprzyja elastyczności i prostocie w zarządzaniu danymi. W dobrych praktykach programistycznych często wykorzystuje się publiczne pola w prostych strukturach danych, gdzie dostęp do danych musi być łatwy i szybki. Warto także pamiętać, że dostępność publicznych pól może być użyteczna w kontekście serializacji obiektów, gdzie prosto jest zmapować dane obiektu na format JSON lub XML.

Pytanie 34

Z bazy danych trzeba uzyskać zapytaniem SQL nazwiska pracowników, którzy sprawują funkcję kierownika, a ich wynagrodzenie mieści się w jednostronnie domkniętym przedziale (3000, 4000>. Która klauzula weryfikuje ten warunek?

A. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
B. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
C. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
D. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
Poprawna odpowiedź to 'WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000;'. Ta klauzula w SQL jest zgodna z wymaganiami, ponieważ precyzyjnie określa, że zwracane będą tylko te rekordy, gdzie pracownik jest kierownikiem oraz jego pensja jest większa niż 3000 i jednocześnie mniejsza lub równa 4000. Zastosowanie operatorów logicznych AND w tym kontekście jest kluczowe, ponieważ pozwala na jednoczesne spełnienie obu warunków. W praktyce, aby uzyskać wyniki zgodne z tymi kryteriami, ważne jest, aby zrozumieć różnicę między operatorami porównawczymi, a także ich zastosowanie w kontekście warunków. Przykładowo, jeśli dla dużej bazy danych chcemy filtrować pracowników w oparciu o ich pozycje oraz wynagrodzenie, stosowanie precyzyjnych klauzul WHERE pozwala na optymalizację zapytań i lepsze zarządzanie danymi. Dobre praktyki w SQL podkreślają znaczenie klarowności i dokładności w definiowaniu warunków, co bezpośrednio przekłada się na efektywność operacji na bazach danych.

Pytanie 35

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
B. wszystkie operacje na tabelach bazy dane.
C. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
D. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
Prawidłowo zauważyłeś, że użytkownikowi Jan przypisano wszystkie uprawnienia (GRANT ALL PRIVILEGES) na bazie danych o nazwie 'dane.*'. Przyznanie pełnych uprawnień obejmuje możliwość tworzenia, modyfikowania, usuwania tabel, jak również manipulowania danymi w tych tabelach. W praktyce oznacza to, że Jan ma pełną kontrolę nad bazą danych. Jest to możliwe dzięki konstrukcji GRANT, która jest standardem w zarządzaniu uprawnieniami w relacyjnych bazach danych. Pozwala ona na precyzyjne definiowanie, jakie operacje może wykonywać dany użytkownik. Taka granularna kontrola jest kluczowa dla bezpieczeństwa systemów bazodanowych. Pamiętaj, że nadawanie pełnych uprawnień jest odpowiednie jedynie w sytuacjach, gdy użytkownik jest całkowicie zaufany - w innym przypadku, powinno się ograniczyć uprawnienia do tych, które są niezbędne do wykonania pewnych zadań.

Pytanie 36

Deklaracja typu dokumentu HTML: wskazuje, że kod został stworzony w wersji

A. 6
B. 7
C. 4
D. 5
Deklaracja typu dokumentu HTML, znana jako <!DOCTYPE HTML>, jest kluczowym elementem każdej strony internetowej, który informuje przeglądarkę, w jakiej wersji HTML została napisana strona. W przypadku <!DOCTYPE HTML> mówimy o wersji HTML5, która jest najnowszym standardem języka znaczników. HTML5 wprowadza wiele usprawnień i nowych funkcji w porównaniu do wcześniejszych wersji, takich jak semantyczne znaczniki, wsparcie dla multimediów (audio i wideo) oraz API do złożonych aplikacji internetowych. Przykładem zastosowania HTML5 mogą być formularze z nowymi typami inputów, które ułatwiają interakcję z użytkownikiem, takie jak 'date', 'email' czy 'url'. Również HTML5 wprowadza nowy model renderowania, który jest bardziej efektywny i dostosowany do nowoczesnych urządzeń mobilnych. Standardy HTML są ustalane przez W3C (World Wide Web Consortium), które regularnie aktualizuje specyfikacje, aby nadążać za rozwijającymi się technologiami internetowymi. W skrócie, poprawna deklaracja <!DOCTYPE HTML> jest niezbędna dla właściwego wyświetlania i działania strony w różnych przeglądarkach.

Pytanie 37

Znak <s> w HTML powoduje

A. pochylenie tekstu
B. podkreślenie tekstu
C. skreślenie tekstu
D. migotanie tekstu
Znaczniki HTML pełnią różne funkcje związane z formatowaniem tekstu, jednak nie każdy znacznik działa w sposób intuicyjny. Na przykład, wybór odpowiedzi dotyczącej pochylenia tekstu wskazuje na nieporozumienie w zakresie zastosowania znacznika. Tekst pochylony w HTML osiąga się za pomocą znacznika <em> lub <i>, które są przeznaczone do podkreślenia znaczenia lub wyróżnienia fragmentu tekstu. Odpowiedź sugerująca migotanie tekstu pokazuje braki w wiedzy o standardach HTML; w rzeczywistości nie ma takiego znacznika w HTML5, a efekt migotania jest niezalecany ze względu na problemy z dostępnością i użytecznością. Wreszcie, podkreślenie tekstu w HTML realizowane jest przy pomocy znacznika <u>, który jest zarezerwowany dla tekstu, który jest ważny lub w inny sposób wyróżniony, a nie dla przekreślenia. Zatem, w kontekście HTML, kluczowe jest zrozumienie przeznaczenia każdego znacznika, aby unikać nieporozumień i błędnych interpretacji, które mogą prowadzić do niewłaściwego formatowania oraz naruszenia zasad dostępności.

Pytanie 38

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. nawiązanie połączenia z bazą danych
B. ustawienie hasła do bazy danych
C. zabezpieczenie bazy danych
D. pobranie informacji z bazy danych
Funkcja mysql_query z języka PHP jest używana do wykonywania zapytań SQL w bazie danych MySQL. W przedstawionym przykładzie zapytanie SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. Jest to klasyczne zapytanie używane do uzyskania danych z bazy danych co czyni je podstawowym narzędziem programisty PHP operującego na bazach danych. Zwrócone dane mogą następnie być przetwarzane wyświetlane lub używane w dalszych operacjach aplikacji. Ważnym aspektem pracy z bazami danych jest ochrona przed atakami SQL Injection co można osiągnąć poprzez stosowanie przygotowanych wyrażeń lub funkcji takich jak mysqli_prepare. Warto też pamiętać że funkcja mysql_query jest przestarzała i niezalecana w nowych projektach a zamiast niej powinno się używać mysqli lub PDO. Obie te biblioteki oferują większe bezpieczeństwo i lepszą obsługę błędów co jest zgodne z aktualnymi standardami w branży. Praca z danymi wymaga nie tylko ich pobierania ale także odpowiedniego zarządzania czym zajmują się bardziej złożone mechanizmy jak ORM-y co upraszcza pracę z bazami danych i zwiększa czytelność kodu.

Pytanie 39

Jakie polecenie należy zastosować, aby cofnąć uprawnienia przyznane użytkownikowi?

A. REMOVE
B. REVOKE
C. DROP PRIVILEGES
D. GRANT NO PRIVILEGES
Polecenie REVOKE jest standardowym poleceniem w systemach zarządzania bazami danych, które służy do odebrania wcześniej przyznanych uprawnień użytkownikowi. Używając tego polecenia, administrator może skutecznie kontrolować dostęp do różnych zasobów w bazie danych. Na przykład, jeśli użytkownik A otrzymał uprawnienia do edytowania danych w tabeli 'Zamówienia', a administrator postanowi, że użytkownik A nie powinien mieć już takich uprawnień, może użyć polecenia REVOKE, aby je odebrać. W praktyce użycie REVOKE wygląda następująco: "REVOKE UPDATE ON Zamówienia FROM 'użytkownikA'". Dzięki temu podejściu administratorzy mogą zapewnić, że dostęp do wrażliwych danych jest odpowiednio zarządzany i zgodny z zasadami bezpieczeństwa danych. Dobrą praktyką jest regularne przeglądanie przyznanych uprawnień i ich aktualizacja w zależności od zmieniających się potrzeb organizacji oraz polityki zarządzania dostępem.

Pytanie 40

<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. <embed> </embed>
B. <div> </div>
C. <video> </video>
D. <section> </section>
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.