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: 8 czerwca 2026 10:51
  • Data zakończenia: 8 czerwca 2026 11:46

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

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

Która z definicji CSS określa formatowanie nagłówka h1: tekst nadkreślony, z odstępami między wyrazami 10 px i czerwonym kolorem tekstu?

h1{
  text-decoration: overline;
  word-spacing: 10px;
  color: red;
}                       A.

h1{
  text-decoration: overline;
  letter-spacing: 10px;
  color: red;
}                       B.

h1{
  text-transform: none;
  line-height: 10px;
  color: rgb(255,0,0);
}                       C.

h1{
  text-decoration: underline;
  line-height: 10px;
  color: rgb(255,0,0);
}                       D.
A. C.
B. D.
C. B.
D. A.
Brawo, poprawnie wybrałeś odpowiedź A, która pokazuje prawidłową definicję CSS do formatowania nagłówka h1. 'text-decoration: overline;' jest poleceniem CSS służącym do nadkreślania tekstu. Jest to styl tekstu, który dodaje linie nad literami. 'word-spacing: 10px;' jest poleceniem CSS, które określa odstępy między wyrazami. Wartościem tego polecenia jest odległość, która jest używana do określenia przestrzeni między słowami i jest wyrażona w pikselach. 'color: red;' jest standardowym poleceniem CSS do kolorowania tekstu. Czerwony jest jednym z podstawowych kolorów, które można wykorzystać w CSS. W praktyce, te trzy polecenia CSS mogą być używane do personalizacji strony internetowej, poprawiając jej wygląd i czytelność. Dobrą praktyką jest eksperymentowanie z różnymi stylami CSS, aby znaleźć najlepszy sposób prezentacji zawartości.

Pytanie 2

Który kod HTML spowoduje identyczne formatowanie jak przedstawione na obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML


  1. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>

  2. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>

  3. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>

  4. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>

A. Odpowiedź B
B. Odpowiedź D
C. Odpowiedź C
D. Odpowiedź A
Wybór odpowiedzi C jest trafny, bo stosujesz odpowiednie znaczniki HTML, aby osiągnąć zamierzony efekt formatowania. Przykład świetnie pokazuje, jak używać znaczników <i> i <b>, które służą do pochylania i pogrubiania tekstu. Znak <p> to z kolei paragraf, który odseparowuje tekst i zaczyna nową linię. Tutaj znacznik <i> przed słowem 'paragrafie' sprawia, że jest ono kursywą, a <b> wokół 'zobaczysz' wyróżnia go na pogrubionym tle. To takie podstawowe zasady HTML, które pokazują, jak można różne style formatowania łączyć, żeby uczynić treści bardziej estetycznymi i przyjemnymi do czytania. Warto pamiętać o odpowiednim używaniu znaczników, bo to nie tylko poprawia wygląd, ale też dostępność treści, co jest ważne dla osób korzystających z czytników ekranu. Z mojego doświadczenia, im lepiej rozumiesz te zasady, tym łatwiej tworzyć strony, które będą dobrze odbierane przez użytkowników.

Pytanie 3

Który z poniższych fragmentów kodu HTML5 zostanie uznany za niepoprawny przez walidator HTML?

A. <pre>&lt;p class= &quot;stl&quot; style= &quot;color: #F00 &quot;&gt;tekst&lt;/p&gt;</pre>
B. <pre>&lt;p class= &quot;stl&quot; id= &quot;a&quot;&gt;tekst&lt;/p&gt;</pre>
C. <pre>&lt;p class= &quot;stl&quot;&gt;tekst&lt;/p&gt;</pre>
D. <pre>&lt;p class= &quot;stl&quot;&gt;&lt;style&gt;.a{color:#F00}&lt;/style&gt;tekst&lt;/p&gt;</pre>
Odpowiedź, która została wskazana jako błędna, jest przykładem kodu HTML5, który nie spełnia standardów walidacji, ponieważ zawiera tag &lt;style&gt; wewnątrz tagu &lt;p&gt;. Zgodnie z wytycznymi HTML, tag &lt;style&gt; powinien znajdować się w sekcji &lt;head&gt; dokumentu, a nie w treści. Wstawianie stylów CSS bezpośrednio w treści elementu blokowego jest niepraktyczne i niezgodne z dobrymi praktykami, które zalecają separację treści od prezentacji. Dobrą praktyką jest stosowanie arkuszy stylów CSS do zewnętrznego formatowania dokumentów, aby zwiększyć ich dostępność i ułatwić późniejsze modyfikacje. Przykładowo, zamiast używać tagu &lt;style&gt; wewnątrz &lt;p&gt;, należy zdefiniować style w sekcji &lt;head&gt; lub w zewnętrznym pliku CSS, a następnie odwołać się do tych klas w treści dokumentu. W ten sposób utrzymujemy porządek w kodzie i zapewniamy, że będzie on zgodny z zaleceniami W3C, co przekłada się na lepszą kompatybilność z przeglądarkami i urządzeniami. Zatem, poprawne podejście polega na unikalnym zarządzaniu stylami oraz treściami, co jest kluczowe dla efektywnego tworzenia stron internetowych.

Pytanie 4

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
B. SELECT nazwisko, Miasto FROM Osoby, Adresy;
C. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
D. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
Błędne odpowiedzi pokazują typowe nieporozumienia związane ze składnią i logiką SQL. Niektóre z nich opierają się na błędnym założeniu, że po prostu wymienienie tabel w instrukcji FROM automatycznie połączy te tabele - to nie jest prawda, ponieważ wymaga to jasno określonego warunku połączenia. Inne błądne odpowiedzi sugerują, że można po prostu porównać wartości kolumny 'id' w obu tabelach, aby je połączyć. To jest błędne, ponieważ nie uwzględnia to faktu, że relacja między tabelami jest określona przez klucz obcy, który może nie mieć takiej samej nazwy ani wartości jak klucz główny. Wreszcie, niektóre błędne odpowiedzi mylą składnię zapytania, umieszczając warunek łączenia w niewłaściwym miejscu lub pomijając niezbędne słowo kluczowe JOIN. To pokazuje, jak ważne jest dokładne zrozumienie składni SQL i jej reguł.

Pytanie 5

Jakie polecenie pozwala na dodanie kolumny zadaniekompletne do tabeli zadania?

A. INSERT INTO zadania VALUES zadaniakompletne
B. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
C. CREATEINDEX zadania ADD COLUMN zadaniekompletne int
D. ADD COLUMN zadaniekompletne WITH zadania
Jeśli chodzi o odpowiedzi, które nie są poprawne, to oparte są na trochę mylnych założeniach co do manipulacji tabelami w SQL. Na przykład, 'CREATE INDEX zadania ADD COLUMN zadaniekompletne int' to pomyłka, bo CREATE INDEX służy do robienia indeksów, a nie do zmiany struktury tabeli. Indeksy są super do przyspieszania zapytań, ale nie dodają nowych kolumn. Kolejna odpowiedź, czyli 'INSERT INTO zadania VALUES zadaniakompletne' też mija się z celem, bo INSERT INTO dodaje nowe wiersze, a nie zmienia tabeli. Żeby dodać kolumnę, trzeba użyć ALTER TABLE. No i 'ADD COLUMN zadaniekompletne WITH zadania' to też nie jest poprawna składnia i może prowadzić do błędów. Takie odpowiedzi mogą pokazywać, że może nie do końca rozumiesz podstawowe polecenia SQL i jak je stosować. Wielkim błędem jest mylenie operacji związanych z danymi (DML) z tymi, które definiują strukturę danych (DDL). Zrozumienie tej różnicy jest kluczowe, żeby dobrze posługiwać się bazami danych i unikać późniejszych problemów.

Pytanie 6

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba >= -200) || (liczba > -100)
B. (liczba <= -200) || (liczba > -100)
C. (liczba <= -200) && (liczba < -100)
D. (liczba >= -200) && (liczba < -100)
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 7

Jak zbudować zapytanie SELECT, aby wyświetlić nazwiska mieszkańców bez powtórzeń (unikalne)?

A.
SELECT TOP 10 nazwisko FROM mieszkancy;
B.
SELECT nazwisko FROM mieszkancy ORDER BY nazwisko;
C.
SELECT DISTINCT nazwisko FROM mieszkancy;
D.
SELECT AVG(nazwisko) FROM mieszkancy;
Aby usunąć powtórzenia z wyniku, dodaje się do SELECT słowo DISTINCT, np. SELECT DISTINCT nazwisko FROM mieszkancy. Zapytanie zwróci wtedy każde nazwisko tylko raz, nawet jeśli w tabeli występuje wielokrotnie. Dlatego unikalne nazwiska daje SELECT DISTINCT.

Pytanie 8

Aby wykorzystać skrypt znajdujący się w pliku przyklad.js, konieczne jest połączenie go ze stroną przy użyciu kodu

A. <script>przyklad.js</script>
B. <script link="przyklad.js"></script>
C. <link rel="script" href="przyklad.js">
D. <script src="przyklad.js"></script>
Odpowiedź <script src="przyklad.js"></script> jest naprawdę na miejscu, bo użycie atrybutu 'src' w znaczniku <script> to taki standardowy sposób dołączania zewnętrznych skryptów JS do HTML-a. Atrybut 'src' mówi przeglądarce, gdzie znaleźć ten skrypt, więc może go załadować i wykonać. Dzięki temu, skrypt z pliku 'przyklad.js' wchodzi w interakcję ze stroną i może dodawać różne funkcje, jak na przykład reagowanie na działania użytkownika czy manipulowanie elementami na stronie. Pamiętaj, że najlepiej dołączać skrypty na końcu dokumentu, zaraz przed </body>, bo wtedy cała zawartość strony ładuje się najpierw. Warto też pomyśleć o atrybucie 'defer' lub 'async', żeby lepiej zoptymalizować ładowanie skryptów i nie blokować renderowania strony. Na przykład, <script src="przyklad.js" defer></script> pozwoli na asynchroniczne ładowanie, co z pewnością poprawia wydajność.

Pytanie 9

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. trzy bloki operacyjne (procesy).
B. jeden blok decyzyjny.
C. jedną pętlę.
D. dwie pętle.
W przedstawionym fragmencie algorytmu zastosowano jedną pętlę co jest zgodne z poprawną odpowiedzią. Pętla to konstrukcja programistyczna pozwalająca wielokrotnie wykonywać fragment kodu dopóki spełniony jest określony warunek. W analizowanym schemacie widzimy jednokrotną pętlę oznaczoną powrotem do wcześniejszego punktu co jest charakterystyczne dla takich struktur. Najczęściej używane pętle to for while i do-while różniące się sposobem sprawdzania warunku początkowego. Pętle są fundamentalne w algorytmice i pozwalają na realizację złożonych operacji takich jak iteracja po tablicach czy przetwarzanie danych wejściowych. Ich zastosowanie zwiększa efektywność kodu i upraszcza jego strukturę. Dobrą praktyką jest dbanie o czytelność pętli i unikanie skomplikowanych zależności co poprawia zrozumienie kodu przez innych programistów. Warto również pamiętać o zasadach optymalizacji np. minimalizowanie liczby iteracji co przekłada się na lepszą wydajność.

Pytanie 10

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
C. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
Pozostałe odpowiedzi zawierają istotne błędy w składni SQL oraz w interpretacji relacji między tabelami w bazie danych. Odpowiedź używająca WHERE cena < 10 jest błędna, ponieważ warunek ten wybiera usługi tańsze niż 10 zł, co jest sprzeczne z wymogami zadania. Innym błędem jest użycie niepoprawnego połączenia ON bez odpowiedniego dopasowania kluczy. Użycie klauzuli JOIN bez precyzyjnego określenia relacji, jak w przypadku ON uslugi.id = klienci.id, nie odzwierciedla rzeczywistego związku danych, co prowadzi do błędów logicznych w wynikach. Prawidłowe korzystanie z JOIN wymaga zrozumienia struktury bazy danych oraz relacji między tabelami. Właściwe połączanie tabel z wykorzystaniem klucza obcego jest kluczową praktyką, która zapewnia integralność danych i optymalizację zapytań. Ponadto, brak zastosowania warunków filtracyjnych lub nieodpowiednie ich użycie prowadzi do zwracania niekompletnych lub niepoprawnych danych. Wiedza o strukturze bazy danych oraz umiejętność stosowania poprawnych zapytań SQL są niezbędne dla osób zajmujących się projektowaniem i zarządzaniem bazami danych. Praktyczne doświadczenie w stosowaniu tych umiejętności jest kluczowe dla zapewnienia skuteczności oraz wydajności operacji w bazach danych. Poprawne zapytania są podstawą każdej operacji bazodanowej, zarówno w kontekście codziennych operacji, jak i skomplikowanych analiz danych.

Pytanie 11

Które z wymienionych oprogramowań NIE jest systemem zarządzania treścią (CMS)?

A. Apache
B. Mambo
C. WordPress
D. Joomla
Pozostałe pozycje to systemy zarządzania treścią. WordPress to najpopularniejszy CMS, używany do blogów i serwisów. Joomla! to kolejny rozbudowany CMS, a Mambo był jego protoplastą. Wszystkie służą do tworzenia i zarządzania zawartością witryn. Apache pełni inną rolę - jest serwerem WWW dostarczającym strony użytkownikom - więc to on nie jest CMS-em, dlatego ta odpowiedź jest poprawna.

Pytanie 12

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
B. Klauzula CHARACTER SET utf8 jest obowiązkowa.
C. Rekordem tabeli nie może być '3 MAJA'.
D. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 13

Podane w ramce polecenie SQL ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
B. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
C. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
D. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie.
W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze.
Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.

Pytanie 14

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zmiana jasności zdjęć.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 15

Wykonanie zapytania SQL spowoduje skasowanie rekordów:

DELETE FROM mieszkania WHERE status = 1;
A. tabeli mieszkania znajdującej się w bazie danych
B. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
C. elementów o nazwie status z tabeli mieszkania
D. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
Odpowiedź wskazująca na usunięcie rekordów, w których pole status jest równe 1, z tabeli mieszkania jest poprawna ponieważ w zapytaniu SQL użyto składni DELETE, która jest odpowiedzialna za usuwanie danych z określonej tabeli. W kontekście tego zapytania, po słowie 'FROM' znajduje się nazwa tabeli, czyli 'mieszkania', a warunek 'WHERE status = 1' precyzuje, które rekordy mają zostać usunięte. Przykładowo, jeśli w tabeli mieszkania znajdują się mieszkania oznaczone jako dostępne (status = 1), to po wykonaniu tego zapytania wszystkie takie mieszkania zostaną trwale usunięte z bazy danych. Ważne jest, aby przed wykonaniem zapytania DELETE rozważyć konieczność wykonania kopii zapasowej danych, aby zapobiec ich nieodwracalnej utracie. Dobrą praktyką jest również stosowanie zapytania SELECT z tym samym warunkiem, aby najpierw zweryfikować, które rekordy zostaną usunięte. Tego rodzaju podejście umożliwia lepsze zarządzanie danymi oraz redukuje ryzyko pomyłek podczas operacji na bazach danych.

Pytanie 16

Z jakich elementów składa się tabela generowana przez poniższy kod?

<table border="1">
<tr>
<td> 1 </td>
<td> 2 </td>
</tr>
</table>
A. dwóch wierszy i dwóch kolumn
B. jednego wiersza oraz dwóch kolumn
C. dwóch wierszy oraz jednej kolumny
D. jednego wiersza oraz jednej kolumny
Podstawowe zrozumienie struktury HTML jest kluczowe do prawidłowego interpretowania kodu tabeli. Zrozumienie ilości wierszy i kolumn wymaga analizy znaczników <tr> i <td>. Często popełniany błąd polega na myleniu ilości wierszy i kolumn z ilością znaczników <td> w jednym <tr>. Znacznik <tr> definiuje wiersz w tabeli, a każdy <td> wewnątrz <tr> to oddzielna kolumna. W przedstawionym przykładzie mamy jeden wiersz z dwoma kolumnami, co jest podstawową konfiguracją tabeli. Mylenie tej koncepcji z dwoma wierszami lub inną liczbą kolumn jest często wynikiem niepełnej analizy struktury kodu. Warto zwrócić uwagę na semantykę HTML, która jest istotna z punktu widzenia dostępności i SEO. Stosowanie tabeli powinno być ograniczone do prezentacji danych tabularycznych, a nie jako narzędzie do ogólnej struktury strony, co jest niezgodne z nowoczesnymi standardami. Poznanie i zrozumienie tych zasad jest niezbędne dla efektywnego tworzenia stron internetowych i unikania typowych błędów w kodzie HTML. W przypadku tworzenia bardziej złożonych układów, zaleca się korzystanie z CSS Grid lub Flexboxa, które oferują większą elastyczność i kontrolę nad wyglądem strony.

Pytanie 17

W CSS zapis selektora p > i { color: red; } wskazuje, że kolor czerwony zostanie zastosowany do

A. wszystkiego tekstu w znaczniku <p> z wyjątkiem tekstu w znaczniku <i>
B. tylko tego tekstu w znaczniku <p>, który ma przypisaną klasę o nazwie i
C. wszelkiego tekstu w znaczniku <p> lub wszelkiego tekstu w znaczniku <i>
D. wyłącznie tekstu w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Zapis selektora CSS p > i { color: red; } jest precyzyjny i wskazuje, że kolor czerwony zostanie zastosowany wyłącznie do elementów <i>, które znajdują się bezpośrednio w obrębie elementu <p>. Warto zrozumieć, że symbol '>' oznacza selektor dziecka, co oznacza, że styl dotyczy tylko tych <i>, które są bezpośrednimi potomkami <p>. Przykładowo, jeśli mamy strukturę HTML:<p>To jest <i>przykład</i> tekstu <i>z <i>zagnieżdżonym</i> elementem</i>.</p>, to tylko pierwszy znacznik <i> (czyli "przykład") będzie miał kolor czerwony, ponieważ drugi znacznik <i> jest zagnieżdżony i nie jest bezpośrednim dzieckiem <p>. W kontekście standardów CSS, stosowanie selektorów dziecka jest zalecane, gdyż pozwala na precyzyjniejsze określenie, do których elementów styl ma być zastosowany, co w praktyce ułatwia zarządzanie stylami na stronach z bardziej złożoną strukturą HTML.

Pytanie 18

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
B. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
C. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
D. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.

Pytanie 19

W skrypcie JavaScript operatory: ||, && zaliczane są do kategorii operatorów

A. bitowych
B. arytmetycznych
C. przypisania
D. logicznymi
Odpowiedź 'logicznym' jest poprawna, ponieważ w języku JavaScript operatory || (logiczne OR) i && (logiczne AND) są klasyfikowane jako operatory logiczne. Te operatory służą do wykonywania operacji na wartościach logicznych (prawda/fałsz). Użycie operatora && powoduje, że wyrażenie zwraca prawdę tylko wtedy, gdy oba operandy są prawdziwe. Z kolei operator || zwraca prawdę, jeśli przynajmniej jeden operand jest prawdziwy. Przykładem ich zastosowania może być warunkowe wykonywanie kodu, np. w instrukcjach if, gdzie możemy sprawdzić, czy spełnione są określone warunki. Standardowe praktyki programistyczne zalecają używanie tych operatorów do efektywnego zarządzania logiką programów, co zwiększa ich czytelność i umożliwia łatwiejszą konserwację. Ważne jest także zrozumienie, że operatory te wykonują krótką ocenę (short-circuit evaluation), co oznacza, że ​​nie obliczają drugiego operandu, jeśli pierwszy już decyduje o wyniku. Dzięki tym właściwościom, operatory logiczne są kluczowym elementem wszelkich aplikacji programistycznych, które potrzebują podejmować decyzje w oparciu o różne warunki.

Pytanie 20

Co oznacza pojęcie integralności referencyjnej w bazie danych?

A. Wartość atrybutu należy do jego dziedziny (dozwolonego zbioru)
B. Każdej wartości klucza obcego odpowiada istniejąca wartość klucza podstawowego
C. Baza jest odporna na awarie sprzętu i oprogramowania
D. Każda encja ma klucz podstawowy o wartości unikatowej i różnej od NULL
Integralność referencyjna to reguła pilnująca spójności powiązań między tabelami: każda wartość klucza obcego musi wskazywać na istniejący rekord tabeli nadrzędnej (na realną wartość jej klucza podstawowego) albo być pusta (NULL, jeśli dozwolone). Dzięki temu nie powstają „osierocone” rekordy wskazujące na nieistniejące dane. Dlatego poprawna jest odpowiedź o zgodności klucza obcego z kluczem podstawowym.

Pytanie 21

W języku PHP predefiniowana zmienna $_SESSION przechowuje

A. listę zarejestrowanych sesji na serwerze WWW
B. zmienne przesyłane do skryptu przez formularz
C. zmienne przesyłane do skryptu przy pomocy ciastek (cookie)
D. zmienne zarejestrowane w aktualnej sesji
Zrozumienie działania zmiennej $_SESSION jest kluczowe w kontekście zarządzania stanem aplikacji webowych. Wiele osób mylnie utożsamia $_SESSION z innymi mechanizmami takimi jak ciasteczka czy formularze, co prowadzi do nieporozumień. Ciasteczka, czyli małe pliki przechowywane na komputerze użytkownika, są używane do przechowywania danych po stronie klienta, a więc różnią się od $_SESSION, która działa po stronie serwera. Odpowiedzi sugerujące, że $_SESSION zawiera spis zarejestrowanych sesji na serwerze WWW są również błędne, ponieważ ta zmienna przechowuje dane tylko dla konkretnej sesji użytkownika, a nie dla wszystkich użytkowników. Ponadto zmienne przesyłane do skryptu za pomocą formularza są dostępne w superglobalnej tablicy $_POST lub $_GET, a nie w $_SESSION. Typowym błędem myślowym jest utożsamianie sesji z innymi mechanizmami przechowywania danych, co może prowadzić do nieefektywnego kodowania i problemów z bezpieczeństwem. Kluczowym elementem jest zrozumienie, że $_SESSION jest dedykowana do przechowywania danych sesji w trakcie interakcji użytkownika z aplikacją, a nie do zarządzania innymi formami danych przesyłanych przez użytkownika.

Pytanie 22

Przygotowano fragment kodu PHP z zadeklarowaną zmienną tablicową. Jaki wynik zostanie wyświetlony jako imię po wykonaniu tego kodu?

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Anna
B. Tomasz
C. Krzysztof
D. Aleksandra
Odpowiedź Krzysztofa jest całkiem trafna, bo w PHP zaczynamy liczenie od zera. Czyli mamy pierwszy element na pozycji 0, drugi na 1, a trzeci na 2. W tym przypadku zmienna imiona to tablica z czterema elementami: 'Anna', 'Tomasz', 'Krzysztof' oraz 'Aleksandra'. Gdy używamy echo $imiona[2], to tak naprawdę sięgamy po trzeci element, czyli 'Krzysztofa'. Zasada indeksowania od zera jest właściwie standardem w wielu językach programowania, jak C, JavaScript czy Python. Dzięki temu PHP staje się bardziej spójne z innymi językami. To pozwala lepiej zarządzać danymi w kodzie, bo każdy element ma swój unikalny indeks. Ważne jest, żeby to zapamiętać, bo dzięki temu można unikać błędów, które wynikają z niewłaściwego dostępu do elementów tablic. No i lepiej wiedzieć, że wykraczający indeks może prowadzić do różnych problemów, więc warto zrozumieć to zagadnienie.

Pytanie 23

W poniższym zapytaniu SQL, co oznacza symbol gwiazdki w jego wyniku?

SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. pokazanie pola o nazwie '*' (gwiazdka)
B. wyświetlenie wszystkich kolumn z tabeli mieszkancy
C. wyświetlenie wszystkich rekordów z tabeli mieszkancy
D. zignorowanie warunku dotyczącego imienia
Znak gwiazdki (*) w zapytaniu SQL służy do wskazania, że chcemy otrzymać wszystkie kolumny z wybranej tabeli. W kontekście podanego zapytania SQL SELECT * FROM mieszkancy WHERE imie = 'Anna'; gwiazdka odnosi się do wszystkich kolumn tabeli o nazwie mieszkancy. Oznacza to, że wynik zapytania będzie zawierał wszystkie dostępne kolumny dla rekordów spełniających warunek WHERE czyli takich, gdzie wartość w kolumnie imie jest równa 'Anna'. Stosowanie znaku gwiazdki jest powszechne w przypadkach, gdy potrzebujemy pełnych danych z tabeli bez konieczności wymieniania nazw wszystkich kolumn. Jednak w praktyce dobre praktyki zalecają użycie gwiazdki ostrożnie, zwłaszcza w dużych bazach danych, aby uniknąć niepotrzebnego obciążenia systemu oraz zwrócić uwagę na bezpieczeństwo i wydajność. W aplikacjach produkcyjnych często korzysta się z precyzyjnego określania potrzebnych kolumn co pozwala na optymalizację procesu pobierania danych.

Pytanie 24

Aby strona WWW była responsywna (dostosowana do różnych urządzeń), należy między innymi definiować:

A. tylko znane czcionki, np. Arial
B. układ strony wyłącznie za pomocą tabel
C. rozmiary obrazów w procentach
D. rozmiary obrazów wyłącznie w pikselach
Responsywność polega na tym, że strona dopasowuje się do szerokości ekranu - od dużego monitora po telefon. Aby to osiągnąć, wymiary elementów, w tym obrazów, podaje się w jednostkach względnych, na przykład w procentach szerokości kontenera. Obraz o szerokości 100% skaluje się wtedy razem z układem, zamiast wystawać poza ekran. Dlatego w RWD rozmiary obrazów definiuje się w procentach.

Pytanie 25

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
Wybór zapytań, które nie zwracają oczekiwanych wyników, wynika z kilku kluczowych błędów w logice zapytania SQL oraz niezrozumienia operatorów logicznych. Na przykład, zapytanie, które wyłącznie filtruje na podstawie długości życia, czyli SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20, nie uwzględnia drugiego istotnego kryterium, jakim jest przynależność do gromady ssaków. To podejście może prowadzić do uzyskania wyników zawierających zwierzęta, które nie są ssakami, co jest sprzeczne z założeniem pytania. Warto zauważyć, że korzystanie z operatora OR, jak w zapytaniu SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 OR gromada = 'ssak', również jest błędne, ponieważ zwraca wszystkie zwierzęta, które spełniają przynajmniej jeden z warunków, co może prowadzić do bardzo szerokiego i nieprecyzyjnego zbioru danych. Kluczowym błędem myślowym jest zatem zrozumienie, że aby uzyskać dane, które spełniają wszystkie wymagane warunki, należy używać operatora AND, który skutecznie filtruje wyniki zgodnie z określonymi kryteriami. Aby poprawnie zrealizować zapytanie, niezbędne jest precyzyjne określenie, jakie cechy muszą być spełnione przez zwierzęta, co pozwala na lepsze zarządzanie i analizę danych w kontekście biologicznym czy zoologicznym.

Pytanie 26

Jakie skutki wywoła poniższy fragment kodu w języku JavaScript?

n = "Napis1"; s = n.length;
A. Przypisze zmiennej s wartość odpowiadającą długości tekstu w zmiennej n
B. Przypisze wartość zmiennej n do zmiennej s
C. Przypisze zmiennej s część napisu ze zmiennej n o długości określonej przez zmienną length
D. Wyświetli liczbę znaków napisu z zmiennej n
Odpowiedzi 1, 2 oraz 4 są niepoprawne z różnych powodów, co wskazuje na nieporozumienia w zakresie działania właściwości length w JavaScript. W przypadku pierwszej odpowiedzi, twierdzenie, że zmienna n zostanie przypisana do zmiennej s, jest błędne. Wartości zmiennych są przypisywane, a nie same zmienne. Odpowiedź ta ignoruje fakt, że w kodzie następuje użycie operatora przypisania, co skutkuje przekazaniem wartości długości napisu. W kontekście drugiej odpowiedzi, należy podkreślić, że chociaż skrypt nie wyświetla bezpośrednio długości napisu, to długość jest przypisana do zmiennej s, co jest kluczowe dla dalszego użycia tej wartości. Ostatnia odpowiedź, mówiąca o przypisaniu fragmentu napisu o określonej długości, jest również myląca, ponieważ length dotyczy całkowitej liczby znaków w napisie, a nie jego fragmentu. Programiści często mylą funkcjonalności związane z długością łańcuchów znakowych z metodami, które pozwalają na wyodrębnienie części tekstu, takimi jak substring lub slice. Zrozumienie różnicy między tymi operacjami jest istotne dla efektywnego programowania i pracy z danymi tekstowymi.

Pytanie 27

Który format to RASTROWY format graficzny z kompresją BEZSTRATNĄ?

A. CDR
B. SVG
C. PNG
D. JNG
Pozostałe formaty nie są rastrowe i bezstratne zarazem. CDR i SVG to formaty WEKTOROWE (opisują kształty, nie piksele). JNG to mało znany, praktycznie nieużywany format. Rastrowym formatem z kompresją bezstratną jest PNG.

Pytanie 28

Które polecenie nadaje użytkownikowi „uczen” najniższy poziom uprawnień (tylko odczyt, bez zmiany danych i struktury)?

A.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
B.
GRANT SELECT ON szkola.przedmioty TO uczen;
C.
GRANT DROP ON szkola.przedmioty TO uczen;
D.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
Pozostałe polecenia nadają uprawnienia znacznie szersze i bardziej ryzykowne. DROP pozwala usuwać obiekty bazy (np. całe tabele), więc to bardzo wysokie uprawnienie. Połączenie INSERT i DROP daje prawo dodawania danych oraz kasowania obiektów - dużo więcej niż sam odczyt. ALTER umożliwia zmianę struktury tabeli (dodawanie/usuwanie kolumn). Najniższy poziom - tylko podgląd danych - zapewnia GRANT SELECT, dlatego ta odpowiedź jest poprawna.

Pytanie 29

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. Zapytanie
B. Formularz
C. Raport
D. Tabela
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 30

W instrukcji CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu pola tabeli spowoduje, że to pole stanie się

A. kluczem obcym
B. indeksem klucza
C. kluczem podstawowym
D. indeksem unikalnym
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE oznacza, że pole, do którego jest ona przypisana, stanie się kluczem podstawowym tabeli. Klucz podstawowy to atrybut lub zbiór atrybutów, które jednoznacznie identyfikują każdy rekord w tabeli. Klucz podstawowy musi być unikalny dla każdego rekordu oraz nie może zawierać wartości NULL. Na przykład, w tabeli użytkowników, pole 'user_id' często pełni rolę klucza podstawowego, co pozwala na jednoznaczne odnalezienie informacji o każdym użytkowniku. Stosowanie kluczy podstawowych jest zgodne z najlepszymi praktykami w projektowaniu baz danych, ponieważ zapewnia integralność danych oraz umożliwia efektywne indeksowanie i wyszukiwanie informacji. Dodatkowo, klucze podstawowe mogą być używane w relacjach z innymi tabelami jako klucze obce, co ułatwia tworzenie powiązań między danymi. Klucz podstawowy jest zatem fundamentem struktury danych w bazie, co potwierdzają standardy SQL oraz normy projektowania baz danych.

Pytanie 31

Jak nazywa się informacje opisujące inne informacje (dane o danych)?

A. databus
B. metadane (metadata)
C. język znaczników (markup language)
D. metajęzyk (metalanguage)
Informacje opisujące inne dane (dane o danych) to METADANE - np. autor, data utworzenia, format czy rozmiar pliku. Dlatego mowa o metadanych.

Pytanie 32

Zgodnie z aktualnie obowiązującym w Polsce prawem, osoby z wykształceniem inżynieryjno-technicznym są zobowiązane do odbywania szkoleń BHP w regularnych odstępach czasu, które nie powinny być dłuższe niż co

A. 8 lat
B. 6 lat
C. 5 lat
D. 1 rok
Wszystkie pozostałe odpowiedzi są błędne, ponieważ nie odpowiadają wymogom prawnym dotyczącym okresowych szkoleń BHP dla inżynieryjno-technicznych pracowników w Polsce. Odpowiedzi sugerujące, że szkolenia powinny odbywać się co 5, 6 lub 8 lat, opierają się na nieprawidłowym rozumieniu przepisów. Ustawa Kodeks pracy jasno określa, że okresowe szkolenia BHP mają na celu nie tylko dostarczenie pracownikom wiedzy na temat bezpieczeństwa, ale także dostosowanie ich umiejętności do zmieniających się warunków w miejscu pracy. Zbyt długi okres pomiędzy szkoleniami mógłby prowadzić do utraty aktualności wiedzy pracowników, co zwiększa ryzyko wypadków oraz zagrożeń zdrowotnych. W praktyce, regularne, coroczne szkolenia są niezbędne do nadążania za nowymi przepisami, technologiami oraz aktualizacjami w procedurach bezpieczeństwa. Ponadto, firmy, które zaniedbują wymóg przeprowadzania takich szkoleń, mogą być narażone na konsekwencje prawne oraz finansowe, w tym na kary administracyjne. Odpowiednie przestrzeganie przepisów dotyczących szkoleń BHP jest kluczowe dla zapewnienia bezpieczeństwa pracowników oraz ochrony firmy przed potencjalnymi stratami.

Pytanie 33

Ile razy zostanie wykonana pętla w zamieszczonym skrypcie PHP?

$a = $x = 0;
do{
    $a++;
    $x = $x + $a;
}while($x != 21);
A. 0
B. 6
C. 7
D. 5
Pętla typu do-while jest specyficzna w tym że jej ciało wykonuje się przynajmniej raz przed sprawdzeniem warunku pętli. To różni ją od pętli while gdzie warunek jest sprawdzany przed wykonaniem kodu wewnątrz pętli. W analizowanym skrypcie zmienne $a i $x są inicjalizowane wartością 0 i najpierw $a jest inkrementowane co powoduje że w pierwszej iteracji $x przyjmuje wartość 1. W każdej kolejnej iteracji do $x dodaje się aktualną wartość $a która rośnie o 1 w każdym kroku. Częstym błędem jest zakładanie że pętla do-while wykona się tyle razy ile wskazuje różnica między wartościami początkowymi zmiennych a wartością końcową warunku. Jednak w tym przypadku każda iteracja przyczynia się do sumowania wartości rosnącej $a z $x co wpływa na liczbę iteracji. Przy złym zrozumieniu mechanizmu może się wydawać że pętla wykona mniej lub więcej iteracji zwłaszcza gdy nie prześledzimy krok po kroku wartości zmiennych. Obliczenia są kluczowe aby określić że pętla do momentu osiągnięcia $x równego 21 wykonuje się dokładnie 6 razy a nie 5 czy 7 co podkreśla znaczenie dokładności w analizie kodu i zrozumieniu jego działania w kontekście iteracji i warunków kończących pętlę.

Pytanie 34

Które zadanie programistyczne powinno być realizowane po stronie serwera?

A. sprawdzanie treści pola tekstowego w czasie rzeczywistym
B. pokazywanie i ukrywanie elementów strony zależnie od kursora
C. zmiana stylu elementu HTML wywołana ruchem kursora
D. zapisanie danych z aplikacji internetowej w bazie danych
Po stronie SERWERA realizuje się operacje wymagające dostępu do zasobów serwera - np. zapis danych z aplikacji do bazy danych (kod PHP łączy się z bazą, niedostępną z przeglądarki). Dlatego to zadanie należy do serwera.

Pytanie 35

Polecenie serwera MySQL postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
sprawi, że użytkownikowi tKowal zostaną
A. odebrane uprawnienia usuwania i modyfikowania danych w tabeli pracownicy
B. odebrane uprawnienia usuwania i dodawania rekordów w tabeli pracownicy
C. przydzielone uprawnienia do wszelkiej zmiany struktury tabeli pracownicy
D. przydzielone uprawnienia do usuwania i aktualizowania danych w tabeli pracownicy
Polecenie REVOKE w systemie zarządzania bazą danych MySQL jest używane do odebrania przydzielonych wcześniej uprawnień użytkownikowi lub grupie użytkowników. W przypadku instrukcji REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost', użytkownik 'tKowal' traci prawa do usuwania (DELETE) oraz aktualizowania (UPDATE) danych w tabeli 'pracownicy'. Przykładowo, jeśli wcześniej użytkownik 'tKowal' miał możliwość usuwania rekordów pracowników i modyfikacji ich danych, po wykonaniu tej instrukcji te uprawnienia zostaną odebrane. Ważne jest, aby zrozumieć, że REVOKE nie wpływa na inne uprawnienia, które użytkownik mógł posiadać, a jego działanie jest ograniczone do wymienionych operacji w kontekście konkretnej tabeli. W MySQL istnieje także możliwość przydzielania uprawnień za pomocą komendy GRANT, co stanowi odwrotność do REVOKE. Dokumentacja MySQL szczegółowo opisuje te mechanizmy, a ich właściwe użycie jest istotne dla bezpieczeństwa i administracji bazami danych. Aby lepiej zrozumieć praktyczne zastosowanie tych komend, można zapoznać się z przykładami na oficjalnej stronie MySQL, które ilustrują, jak zarządzać uprawnieniami użytkowników w różnych scenariuszach.

Pytanie 36

Której właściwości CSS użyć, aby ustawić wewnętrzny GÓRNY odstęp (między treścią a obramowaniem)?

A.
local-top
B.
padding-top
C.
border-top
D.
outline-top
Wewnętrzny GÓRNY odstęp - między treścią a górną krawędzią obramowania - ustawia padding-top, np. padding-top: 15px;. To jedna z czterech stron padding (padding-top, -right, -bottom, -left). Zapamiętaj: „padding” = wnętrze, „top” = góra.

Pytanie 37

W trakcie obróbki dźwięku, by wyeliminować niepożądane hałasy wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. wyciszenia
B. obwiedni
C. odgłosów echa
D. usuwania szumów
Usuwanie szumów to technika, która jest kluczowa w procesie przetwarzania dźwięku, szczególnie w kontekście nagrań audio i transmisji. Działa na zasadzie identyfikacji i eliminacji niepożądanych dźwięków, takich jak szumy tła, które mogą pochodzić z niskiej jakości mikrofonów lub hałaśliwych środowisk. W praktyce, narzędzia do usuwania szumów analizują dźwięk w czasie rzeczywistym lub podczas edycji i wykorzystują algorytmy, które rozpoznają różnice między pożądanym sygnałem (np. głosem) a szumem. Standardy branżowe, takie jak AES67, podkreślają znaczenie czystości dźwięku w transmisji mediów, co sprawia, że eliminacja szumów staje się kluczowym elementem produkcji audio. Przykładowo, w studio nagraniowym, inżynierowie dźwięku często korzystają z wtyczek do usuwania szumów, aby poprawić jakość nagrań wokalnych. Dzięki tym technikom można osiągnąć klarowność i profesjonalny standard nagrań, co jest niezbędne w przemyśle muzycznym, radiowym czy filmowym.

Pytanie 38

Jaką instrukcją można zastąpić poniższy kod JavaScript, pełniącą tę samą funkcję?

for (i = 0; i < 100; i += 10)
  document.write(i + ' ');
while (i < 10) {
  document.write(i + ' ');
  i += 10;
}

Kod 1.
while (i < 100) {
  document.write(i + ' ');
}

Kod 2.
i = 0;
while (i < 100) {
  document.write(i + ' ');
  i += 10;
}

Kod 3.
i = 0;
while (i < 10) {
  document.write(i + ' ');
  i++;
}

Kod 4.
A. Kod 4
B. Kod 1
C. Kod 3
D. Kod 2
Odpowiedź Kod 3 jest prawidłowa ponieważ instrukcja while w tej formie jest równoważna z podaną pętlą for. W obu przypadkach pętla inicjuje zmienną i na wartości 0 i zwiększa ją o 10 w każdej iteracji aż do osiągnięcia wartości mniejszej niż 100. Pętla for jest skondensowaną formą pętli while i zapewnia bardziej czytelny zapis gdy wszystkie elementy inicjalizacja warunek i inkrementacja są blisko siebie. Taka konstrukcja jest używana w wielu językach programowania zorientowanych obiektowo takich jak JavaScript czy Java. W praktyce pętle te są używane do iteracji przez listy tablice lub do wykonywania powtarzalnych zadań w kodzie. Dobre praktyki zalecają wybór pętli for gdy zakres iteracji jest znany z góry co poprawia czytelność i utrzymanie kodu. Zrozumienie jak pętla while może być przekształcona w pętlę for i odwrotnie jest podstawową umiejętnością w programowaniu co pozwala na elastyczność w pisaniu kodu i lepsze dostosowanie do specyficznych potrzeb aplikacji.

Pytanie 39

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

A. GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
B. GRANT SELECT ON szkola.przedmioty TO uczen;
C. GRANT DROP ON szkola.przedmioty TO uczen;
D. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
Rozpatrując inne polecenia, które zostały zaproponowane, należy zauważyć, że każde z nich przyznaje użytkownikowi 'uczen' szerszy zakres uprawnień, co nie jest zgodne z założeniem nadawania minimalnych uprawnień. Przyznanie uprawnień DROP, jak w przypadku polecenia GRANT DROP ON szkola.przedmioty TO uczen, pozwoliłoby użytkownikowi usunąć tabelę 'przedmioty', co jest nieakceptowalne w kontekście użytkownika edukacyjnego. Takie działanie nie tylko zagrażałoby integralności bazy danych, ale również mogłoby prowadzić do utraty ważnych informacji. Podobnie, przyznanie uprawnień INSERT, jak w poleceniu GRANT INSERT, DROP ON szkola.przedmioty TO uczen, umożliwia użytkownikowi dodawanie nowych rekordów do tabeli, co w przypadku ucznia nie jest pożądane, ponieważ jego rola powinna być ograniczona do przeglądania danych. Co więcej, polecenie GRANT ALTER, SELECT ON szkola.przedmioty TO uczen zawiera uprawnienie ALTER, które pozwala na modyfikację struktury tabeli, co również nie powinno mieć miejsca w kontekście użytkownika, który jest tylko uczniem. Wszelkie te niepoprawne podejścia prowadzą do niebezpieczeństwa związane z nieautoryzowanymi zmianami w bazie danych, co jest sprzeczne z najlepszymi praktykami w zakresie zarządzania uprawnieniami i bezpieczeństwa danych. Warto pamiętać, że właściwe zarządzanie uprawnieniami nie tylko zabezpiecza dane, ale również usprawnia procesy edukacyjne, zapewniając odpowiedni dostęp do informacji w sposób kontrolowany.

Pytanie 40

Aby wyciszyć dźwięk w filmie odtwarzanym w przeglądarce, do podanej definicji znacznika <video> powinien zostać dodany atrybut <video> <source src="film.mp4" type="video/mp4"> </video>

A. muted
B. autoplay
C. controls
D. loop
Wydaje się, że zrozumienie roli atrybutów w znaczniku <video> jest kluczowe dla prawidłowego zarządzania odtwarzaniem filmów. Atrybut 'loop' służy do powtarzania odtwarzanego filmu, co może być przydatne w przypadku animacji lub prezentacji wizualnych, ale nie wpływa na dźwięk. Użytkownik może błędnie sądzić, że dodanie atrybutu 'loop' sprawi, że film nie będzie miał dźwięku, co oczywiście jest nieprawdziwe. Z kolei 'autoplay' automatycznie rozpoczyna odtwarzanie filmu po załadowaniu strony, co może być irytujące dla użytkowników, jeśli nie jest to poparte atrybutem 'muted' – w przeciwnym razie film z dźwiękiem może zaskoczyć odwiedzających. Atrybut 'controls' z kolei dodaje elementy sterujące, takie jak przycisk play/pause, co pozwala użytkownikom na aktywne zarządzanie odtwarzaniem, ale nie wpływa na to, czy dźwięk jest włączony czy wyłączony. Warto pamiętać, że stosowanie odpowiednich atrybutów w znaczniku <video> jest kluczowe dla poprawnego odbioru treści multimedialnych i zwiększa komfort użytkowników. Nieprawidłowe zrozumienie roli tych atrybutów może prowadzić do niepożądanych efektów oraz negatywnych doświadczeń użytkowników z interfejsem strony.