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 17:33
  • Data zakończenia: 10 czerwca 2026 17:43

Egzamin niezdany

Wynik: 6/40 punktów (15,0%)

Wymagane minimum: 20 punktów (50%)

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

W języku PHP nie można wykonać

A. Tworzenia dynamicznej treści strony
B. Dynamicznej zmiany treści strony HTML w przeglądarce
C. Operacji na danych zgromadzonych w bazie danych
D. Obsługiwania danych z formularzy
Przetwarzanie danych formularzy, przetwarzanie danych zgromadzonych w bazie danych oraz generowanie dynamicznej zawartości strony to wszystkie operacje, które PHP wykonuje na serwerze. Przetwarzanie danych formularzy jest jednym z podstawowych zastosowań PHP; skrypty PHP odbierają dane wysłane przez użytkowników, wykonują na nich różne operacje, takie jak walidacja czy zabezpieczenie, a następnie mogą zapisywać je w bazie danych lub wykorzystywać do generowania odpowiedzi. Korzystając z PHP, programiści mogą łączyć się z bazami danych, takimi jak MySQL, aby przetwarzać duże ilości danych. To pozwala na dynamiczne generowanie treści na stronie w odpowiedzi na zapytania użytkowników, co czyni aplikacje bardziej interaktywnymi. Generowanie dynamicznej zawartości oznacza, że na podstawie danych wejściowych PHP może tworzyć różnorodne widoki, które są dostosowane do potrzeb użytkowników. Często jednak zapomina się, że przetwarzanie tych danych i generowanie odpowiedzi odbywa się jedynie na etapie serwera, co ogranicza jego zdolność do reagowania na zmiany w czasie rzeczywistym na stronie bez ponownego załadowania. To prowadzi do mylnego wrażenia, że PHP może również zmieniać zawartość strony w przeglądarce, co nie jest prawdą. Do osiągnięcia takich efektów konieczne jest wykorzystanie języków skryptowych działających po stronie klienta, takich jak JavaScript, które są odpowiedzialne za interakcję z DOM i dynamiczne modyfikowanie treści wyświetlanej użytkownikowi.

Pytanie 2

Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if (mysqli_connect_errno()){}
B. if {mysql_connect_errno()}{}
C. if {mysqli_connect_error()}{}
D. if (mysql_connect_error())()
No, odpowiedzi, które wybrałeś, mają sporo błędów. Na przykład, 'if (mysql_connect_error())()' jest źle napisane, bo masz tu podwójne nawiasy, a powinny być pojedyncze. 'if {mysql_connect_errno(){}}' i 'if {mysqli_connect_error()}' używają klamr, gdzie powinny być nawiasy okrągłe, bo w PHP warunki muszą być w nawiasach. Te stare funkcje, takie jak 'mysql_connect_error()' czy 'mysql_connect_errno()', to już przeżytek, zostały usunięte w PHP 7.0. Teraz, wybierając 'mysqli', zapewniasz sobie lepsze bezpieczeństwo i działanie aplikacji. To jest kluczowe, żeby zrozumieć, jak poprawnie pisać kod, bo bez tego ciężko osiągniesz sukces w programowaniu w PHP.

Pytanie 3

Efektem wykonania kwerendy dla przedstawionej tabeli rezerwacje jest

SELECT sezon, SUM(liczba_dn) FROM rezerwacje
GROUP BY sezon;

id_pokliczba_dnsezon
110lato
24zima
15lato
26zima
15lato
39zima
18zima
A. lato 10, 5, 5; zima 4, 6, 9, 8
B. lato 3, zima 4
C. lato 20, zima 27
D. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
Dobrze, że wybrałeś odpowiedź 'lato 20, zima 27'. Jest to poprawne rozwiązanie, ponieważ zapytanie SQL, które wykonujemy na tabeli rezerwacje, grupuje wyniki według sezonu i sumuje liczbę dni dla każdego sezonu. W praktyce, jeżeli mamy tabelę z danymi o rezerwacjach na różne sezony i chcemy zrozumieć, ile łącznie dni zostało zarezerwowanych dla każdego sezonu, musimy użyć takiego zapytania. W tym przypadku, suma dni dla sezonu 'lato' wynosi 20, a dla sezonu 'zima' - 27. Wiedza ta jest niezwykle przydatna, gdy na przykład chcemy zaplanować ilość dostępnych miejsc w hotelu na kolejne sezony, biorąc pod uwagę historię rezerwacji. Zwróć uwagę, że korzystanie z funkcji agregujących jak SUM w SQL jest kluczowe dla przeprowadzania analiz danych. Właściwe zrozumienie i stosowanie tych funkcji pozwoli Ci na przeprowadzanie skomplikowanych analiz i przewidywań na podstawie zgromadzonych danych.

Pytanie 4

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

A. Wyłączanie tagów musi następować w odwrotnej sekwencji do ich włączenia, np. ```<p> ... <big>...</big></p>```
B. Jeżeli w poleceniu występuje kilka atrybutów, ich kolejność powinna być uporządkowana alfabetycznie np. ```<img alt="..." src="/.."/>```
C. Tagi, poza samozamykającymi się, funkcjonują do momentu ich wyłączenia znakiem "/", np. ```<p> ..</p>```
D. W tagach nie jest brana pod uwagę różnica między dużymi a małymi literami, np. ```<p>``` i ```<P>``` to ten sam tag.
Odpowiedź dotycząca kolejności atrybutów w znacznikach HTML jest poprawna, ponieważ nie ma wymogu, aby atrybuty w znacznikach były uporządkowane alfabetycznie. W rzeczywistości, HTML pozwala na dowolną kolejność atrybutów, co czyni tę regułę błędną. Przykładowo, znacznik <img src="/path/to/image.jpg" alt="Opis obrazu" /> jest poprawny niezależnie od kolejności atrybutów. Ważne jest, aby atrybuty były odpowiednio używane w kontekście ich przeznaczenia, a nie w kontekście kolejności alfabetycznej. Dobrą praktyką jest również stosowanie atrybutów w sposób, który zwiększa czytelność kodu, jednak nie jest to wymóg techniczny. Zgodnie z zaleceniami W3C, kluczowym aspektem jest poprawność semantyczna i zgodność ze standardami, a nie kolejność atrybutów.

Pytanie 5

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. metody GET
B. metody POST
C. wyłącznie funkcji z biblioteki PDO
D. samych kontrolek bez zastosowania formularza
Wybór metody POST do przesyłania danych z formularza HTML jest odpowiedni, gdyż ta metoda nie ujawnia przesyłanych informacji w adresie URL, co zwiększa bezpieczeństwo danych. Metoda POST wysyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne dla użytkowników, a także nie są rejestrowane w historii przeglądarki ani w logach serwera tak, jak ma to miejsce w przypadku metody GET. W praktyce, metodę POST wykorzystuje się w sytuacjach, gdy przesyłane są wrażliwe dane, takie jak hasła czy dane osobowe. Na przykład, podczas rejestracji użytkownika na stronie internetowej, dane osobowe są najczęściej przesyłane metodą POST, aby zminimalizować ryzyko ich wycieku. Dobrą praktyką jest również stosowanie HTTPS w połączeniu z metodą POST, co dodatkowo zabezpiecza przesyłane dane przed przechwyceniem przez osoby trzecie. W kontekście standardów, zaleca się stosowanie metody POST, gdyż zapewnia ona większą kontrolę nad przesyłanymi danymi i umożliwia większą ilość danych w porównaniu do metody GET, która jest ograniczona do około 2048 znaków w adresie URL.

Pytanie 6

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. napisowego.
B. zmiennoprzecinkowego.
C. liczbowe, całkowite.
D. NaN
Wybór odpowiedzi związanej z NaN jest wynikiem nieporozumienia dotyczącego działania funkcji <span>parseInt()</span> oraz podstawowych typów danych w JavaScript. Kiedy wartość wprowadzona do zmiennej <span>a</span> jest liczbą, a funkcja <span>parseInt()</span> jest używana, to jest mało prawdopodobne, aby wynik był <span>NaN</span>. <span>NaN</span> (Not-a-Number) zwracane jest wtedy, gdy próbujemy przekonwertować na liczbę coś, co nie jest liczbowym ciągiem znaków, jak np. tekst. Na przykład, jeśli użytkownik wpisze "abc" do pola <span>input</span>, wówczas <span>parseInt("abc")</span> zwróci <span>NaN</span>, co jest właściwe. Odpowiedzi dotyczące typów napisowych oraz zmiennoprzecinkowych są również błędne, ponieważ <span>parseInt()</span> nigdy nie zwraca wartości napisowej, a jego celem jest zwrócenie liczby całkowitej. W kontekście zmiennoprzecinkowym, używamy funkcji <span>parseFloat()</span>, aby uzyskać liczbę z ułamkiem. Zdarzenia te często prowadzą do błędnego rozumienia typów danych w JavaScript. Warto zatem zwrócić uwagę na to, że typ danych (w tym przypadku liczba całkowita) jest kluczowym elementem programowania, a dobre praktyki wymagają ścisłego przestrzegania typowania i konwersji danych w celu uniknięcia nieoczekiwanych wyników w kodzie.

Pytanie 7

Jakie jest określenie na element bazy danych, który umożliwia jedynie przeglądanie danych, przedstawiając je w formie tekstowej lub graficznej?

A. Tabela
B. Formularz
C. Zapytanie
D. Raport
Tabela to struktura bazy danych, która służy do przechowywania danych w formie zorganizowanej w wiersze i kolumny. Tabele są fundamentem relacyjnych baz danych, jednak nie umożliwiają one bezpośredniego generowania raportów ani wizualizacji danych. Tabele są wykorzystywane w procesie wprowadzania i edycji danych, a nie w ich przetwarzaniu do analizy. Zapytanie to forma polecenia, która umożliwia użytkownikowi pobieranie określonych danych z bazy, na podstawie zdefiniowanych kryteriów. Mimo że zapytania są kluczowe w procesie obróbki danych, same w sobie nie generują raportów ani wykresów, lecz zwracają wyniki w postaci zbioru danych. Formularz to narzędzie, które służy do wprowadzania i edytowania danych w bazie. Rola formularzy polega na ułatwieniu interakcji użytkownika z bazą danych poprzez umożliwienie wprowadzania informacji w zorganizowanej formie. Formularze są przydatne w procesach zarządzania danymi, ale ich funkcjonalność nie obejmuje analizy ani prezentacji danych w formie raportów. W związku z tym, zarówno tabela, jak i zapytanie oraz formularz nie spełniają kryteriów określonych w pytaniu, ponieważ nie są dedykowane wyłącznie do odczytu danych w formie raportów.

Pytanie 8

Wskaż komendę, która dokonuje aktualizacji danych w tabeli?

A. SELECT
B. UPDATE
C. CREATE
D. ALTER
Odpowiedź "UPDATE" jest jak najbardziej trafna. To takie podstawowe polecenie SQL, które pozwala na aktualizowanie już istniejących danych w tabeli. Możesz dzięki niemu zmienić jeden albo kilka wierszy w tabeli, w zależności od tego, jakie masz kryteria. Na przykład, jeśli mamy tabelę "pracownicy" i chcemy zwiększyć pensję programistów do 6000 zł, wystarczy użyć polecenia: `UPDATE pracownicy SET pensja = 6000 WHERE stanowisko = 'programista';`. To polecenie działa w taki sposób, że modyfikuje dane, ale przy tym dba o integralność, co jest bardzo ważne w pracy z bazami danych. Warto zawsze dodawać klauzulę WHERE, żeby zmiany dotyczyły tylko wybranych wierszy – to pomoże uniknąć sytuacji, w której przypadkiem zmienisz wszystko. Umiejętność korzystania z UPDATE jest naprawdę istotna, jeżeli chcesz efektywnie zarządzać swoimi danymi.

Pytanie 9

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if ((a>0 || a<100) && b>0)
B. if ((a>0 && a<100) || b<0)
C. if (a>0 && a<100 && b>0)
D. if (a>0 || a<100 || b<0)
Analizując inne odpowiedzi, można zauważyć, że każda z nich zawiera błędne założenia dotyczące logiki warunkowej. W przypadku pierwszej odpowiedzi, użycie operatora '||' (OR) w połączeniu z warunkiem 'b<0' jest niewłaściwe, ponieważ nie spełnia kryteriów podanych w pytaniu. Ten warunek pozwalałby na zaakceptowanie sytuacji, w której wartość 'b' może być ujemna, co jest sprzeczne z wymaganym sprawdzeniem, że 'b' musi być większe od zera. Druga odpowiedź nie uwzględnia w pełni przedziału dla 'a', ponieważ stosuje operator '||', co oznacza, że warunek może być spełniony, jeśli 'a' jest mniej niż 0 lub więcej niż 100, co jest sprzeczne z wymaganiami. Trzecia odpowiedź posługuje się z kolei zbyt szerokim zakresem warunków, wprowadzając możliwość, że 'a' może być poniżej 0 lub większe niż 100, oraz akceptując wartość 'b' mniejszą od zera. Wszystkie te błędy wynikają z niewłaściwego zrozumienia operatorów logicznych oraz ich zastosowania w kontekście warunków, co jest kluczowym aspektem programowania w JavaScript. Aby stosować logikę warunkową prawidłowo, programiści powinni dokładnie analizować, jakie warunki muszą zostać spełnione i jak operatorzy wpływają na całą logikę instrukcji. Zrozumienie tych zasad jest fundamentem efektywnego programowania.

Pytanie 10

W algebrze relacji działanie selekcji polega na

A. usunięciu krotek z powtórzonymi polami
B. wybór krotek, które nie zawierają wartości NULL
C. usunięciu pustych wierszy
D. wybór krotek, które spełniają określone warunki
Wybieranie krotek niezawierających wartości NULL nie jest operacją selekcji w kontekście algebry relacji, ponieważ selekcja ma na celu filtrację krotek na podstawie określonych warunków, a nie jedynie na podstawie obecności lub braku wartości NULL. W praktyce, aby wykluczyć wartości NULL, można zastosować dodatkowe warunki w operacji selekcji, ale to nie definiuje samej operacji selekcji. Z kolei eliminacja pustych wierszy jest związana z usuwaniem krotek, które nie zawierają żadnych danych, co także nie jest równoznaczne z operacją selekcji. Ta operacja odnosi się bardziej do czyszczenia danych niż do ich wybierania na podstawie określonych kryteriów. Ponadto, eliminacja krotek z powtarzającymi się polami nie jest tożsama z selekcją, ponieważ dotyczy bardziej operacji usuwania duplikatów, które są zazwyczaj realizowane przez operacje takie jak DISTINCT w SQL, a nie przez selekcję, która ma na celu wybór krotek na podstawie warunków logicznych. W algebrze relacji kluczowe jest rozróżnienie między operacjami filtrowania danych a operacjami modyfikacji danych, co jest istotne w kontekście projektowania baz danych oraz w zapewnieniu integralności danych.

Pytanie 11

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy: ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"``` Wskaż zapytanie, które zwróci te same dane:

A. SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków"
B. SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków"
C. SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków"
D. SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków"
Zarówno druga, jak i trzecia odpowiedź zawierają błędne konstrukcje zapytań SQL, które nie są zgodne z syntaktyką SQL. W drugiej propozycji użycie aliasu 'AS' dla miast jest niepoprawne, ponieważ aliasowanie dotyczy głównie tabel i kolumn, a nie wartości w klauzuli WHERE. W konsekwencji zapytanie nie zwróci żadnych danych, gdyż nie jest w stanie poprawnie zinterpretować podanych warunków. Trzecia odpowiedź sugeruje użycie operatora BETWEEN w kontekście miast, co również jest niepoprawne. BETWEEN wymaga wartości liczbowych lub dat, a nie tekstowych. Dodatkowo, użycie operatora OR w kontekście BETWEEN jest błędne, ponieważ BETWEEN sam w sobie definiuje zakres wartości. Ostatnia odpowiedź jest również niepoprawna, ponieważ klauzula HAVING jest wykorzystywana w kontekście agregacji danych i nie jest przeznaczona do stosowania w prostych warunkach filtracji, jak w tym przypadku. Typowym błędem jest mylenie kontekstu użycia różnych klauzul w SQL oraz niewłaściwe stosowanie operatorów, co prowadzi do niepoprawnych wniosków o skutkach zapytań. Warto zrozumieć zasady rządzące składnią SQL, aby efektywnie tworzyć zapytania, które zwracają oczekiwane wyniki.

Pytanie 12

Formatem grafiki wektorowej jest

A. PNG
B. SVG
C. GIF
D. JPG
W tym pytaniu łatwo się pomylić, bo wszystkie podane formaty są popularne w internecie, ale tylko jeden z nich jest wektorowy. Kluczowa różnica to sposób przechowywania obrazu. Grafika rastrowa zapisuje informację o każdym pikselu, a wektorowa opisuje kształty za pomocą równań matematycznych. To fundamentalne, bo wpływa na skalowanie, jakość i zastosowanie w praktyce. Formaty JPG, GIF i PNG to typowe formaty grafiki rastrowej. JPG (JPEG) jest używany głównie do zdjęć i skomplikowanych obrazów z wieloma kolorami oraz przejściami tonalnymi. Stosuje kompresję stratną, więc zmniejsza rozmiar pliku kosztem jakości. Przy powiększaniu obraz JPG zaczyna się „pikselizować”, czyli widać pojedyncze piksele i artefakty kompresji. To kompletnie inny świat niż grafika wektorowa. GIF to również format rastrowy, dosyć stary, obsługujący ograniczoną liczbę kolorów (do 256). Kojarzy się głównie z prostymi animacjami w internecie, ale nadal operuje na siatce pikseli. Nie nadaje się do skalowalnych ikon czy logotypów, bo po powiększeniu traci ostrość. PNG z kolei jest rastrowym formatem bezstratnym, świetnym do zrzutów ekranu, interfejsów, grafiki z przezroczystością. Mimo że jakość PNG jest bardzo dobra, obraz dalej pozostaje nieprzystosowany do dowolnego skalowania bez utraty ostrości. Typowym błędem jest myślenie, że skoro GIF czy PNG są używane w interfejsach, ikonach i elementach stron, to muszą być „wektorowe”. W praktyce to po prostu dobrze wyglądające bitmapy w określonej rozdzielczości. Kiedy zwiększymy rozmiar, widać piksele. Grafika wektorowa, jak SVG, zachowuje ostrość niezależnie od skali. Dlatego przy pytaniach o formaty wektorowe warto zawsze z tyłu głowy mieć tę prostą zasadę: JPG, GIF, PNG – raster; SVG – wektor (w kontekście WWW). Zrozumienie tej różnicy bardzo pomaga później przy projektowaniu layoutów, doborze formatów i optymalizacji grafiki na stronach.

Pytanie 13

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A INNER JOIN B
B. A RIGHT JOIN B
C. A FULL OUTER JOIN B
D. A LEFT JOIN B
W tym pytaniu pułapka polega na tym, że łatwo pomylić pojęcie części wspólnej z całością jednego ze zbiorów. Diagram pokazuje całą tabelę B (włącznie z przecięciem z A), a nie tylko przecięcie. W SQL typ złączenia określa, z której tabeli bierzemy wszystkie rekordy, a z której tylko te pasujące. To, że widzimy też obszar wspólny, jest naturalnym efektem działania złączeń zewnętrznych, ale nie oznacza jeszcze, że chodzi o `INNER JOIN`. Jeśli ktoś wybiera `A LEFT JOIN B`, to zwykle wynika z myślenia „chcę część wspólną i coś jeszcze”, ale myli kierunek. `LEFT JOIN` gwarantuje wszystkie rekordy z **lewej** tabeli (A), a z prawej (B) tylko dopasowane. Diagram z pytania pokazuje dokładnie odwrotną sytuację: komplet danych z B, a z A tylko tam, gdzie istnieje relacja. `A LEFT JOIN B` odpowiadałoby sytuacji, gdzie podświetlony jest cały zbiór A i przecięcie, a nie B. Z kolei `A INNER JOIN B` zwróciłby wyłącznie część wspólną A∩B, czyli tylko te rekordy, które mają dopasowanie po obu stronach. Na diagramie byłby wtedy zaznaczony wyłącznie środek, a nie cały zielony obszar B. To typowy błąd: utożsamianie każdego JOIN z „częścią wspólną”. INNER JOIN jest dobry, gdy interesują nas tylko powiązane dane (np. zamówienia, które mają istniejącego klienta), ale w zadaniu wyraźnie mowa o „wszystkich rekordach z B”. `A FULL OUTER JOIN B` idzie w drugą stronę – zwraca wszystko z A **i** wszystko z B, niezależnie od tego, czy jest dopasowanie, czy nie. To byłby diagram z zaznaczonymi obiema kółkami, czyli suma zbiorów A∪B. W standardzie SQL taki typ złączenia jest opisany jako pełne złączenie zewnętrzne i stosuje się go rzadziej, np. do porównywania różnic między dwiema tabelami. Tutaj jest to za szeroki zakres danych w stosunku do pytania. Poprawne podejście wymaga więc skojarzenia, że skoro chcemy wszystkie rekordy z tabeli B, to w zapisie `A ... JOIN B` tabela B musi być po tej stronie, która jest „obowiązkowa”. Właśnie to zapewnia `RIGHT JOIN`: pełny zestaw wierszy z prawej tabeli, plus dopasowania z lewej tam, gdzie istnieją. Świadome operowanie tymi pojęciami bardzo ułatwia projektowanie zapytań raportowych i unikanie nieoczekiwanych braków lub duplikacji danych.

Pytanie 14

Aby zoptymalizować operacje na bazie danych, należy stworzyć indeksy dla pól, które są często wyszukiwane lub sortowane?

A. stworzyć osobną tabelę przechowującą tylko te pola.
B. dodać więzy integralności.
C. dodać klucz obcy.
D. utworzyć indeks.
Indeksowanie to kluczowy mechanizm optymalizacji wydajności baz danych. Indeksy pozwalają na szybsze wyszukiwanie, sortowanie oraz filtrowanie danych, co znacząco poprawia czas reakcji na zapytania. Kiedy tworzymy indeks na kolumnach, które są często używane w klauzulach WHERE, ORDER BY lub JOIN, silnik bazy danych może szybciej zlokalizować potrzebne dane, minimalizując czas przeszukiwania. Na przykład, w bazie danych o dużej liczbie rekordów, wyszukiwanie konkretnego użytkownika bez indeksu może wymagać przeszukania całej tabeli, co jest czasochłonne. W przypadku dodania indeksu do kolumny 'username', zapytanie SELECT * FROM users WHERE username = 'janek' będzie mogło wykorzystać indeks, aby natychmiastowo znaleźć odpowiedni rekord. Zgodnie z dokumentacją SQL Server i MySQL, indeksowanie jest również zalecane w przypadku kolumn, które są często modyfikowane, ponieważ pozwala na utrzymanie wysokiej wydajności przy dużych zbiorach danych. Indeksy mogą być zarówno unikalne, jak i nieunikalne, a ich odpowiednie zaplanowanie jest kluczowe dla zachowania równowagi między szybkością przetwarzania a wydajnością operacji zapisu. Ostatecznie, optymalizacja bazy danych za pomocą indeksów to niezbędny krok dla każdej aplikacji wymagającej efektywnego zarządzania danymi.

Pytanie 15

Jakie typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych?

A. double, bool
B. double, short
C. float, long
D. float, double
Wybór odpowiedzi, które zawierają typy danych inne niż 'float' i 'double', wskazuje na niezrozumienie podstawowych koncepcji typów danych w języku C++. Typ 'bool' to typ logiczny, który przechowuje jedynie dwie wartości: prawda (true) lub fałsz (false). Nie ma możliwości przechowywania wartości liczbowych, a tym bardziej rzeczywistych. Typy całkowite, takie jak 'short', czy 'long', są wykorzystywane do reprezentacji liczb całkowitych, co wyklucza możliwość użycia ich do reprezentacji wartości zmiennoprzecinkowych. Odpowiedzi, które łączą 'double' z innymi nieodpowiednimi typami, mogą prowadzić do błędnych wniosków, ponieważ podkreślają mylne założenie, że dowolny typ liczbowy mógłby być użyty w obliczeniach zmiennoprzecinkowych. Typowe błędy myślowe obejmują mylenie pojęć związanych z precyzją oraz reprezentacją danych, co skutkuje niepoprawnym rozumieniem, jakie typy można stosować w kontekście liczb rzeczywistych. W praktycznych zastosowaniach programistycznych, niewłaściwy dobór typów danych może prowadzić do błędów obliczeniowych, co jest krytyczne w sytuacjach wymagających wysokiej precyzji, jak w inżynierii oprogramowania czy obliczeniach finansowych.

Pytanie 16

Który z poniższych znaczników jest używany do definiowania list w HTML?

A. <th>
B. <td>
C. <ul>
D. <tr>
Wybór znaczników <tr>, <th> i <td> jest nieprawidłowy, ponieważ są one zarezerwowane dla konstrukcji tabel w HTML. Znacznik <tr> definiuje wiersz tabeli, <th> oznacza nagłówek kolumny, natomiast <td> oznacza komórkę danych w tabeli. Użycie tych znaczników wskazuje na mylenie struktury danych prezentowanej w formie tabelarycznej z listą, co jest fundamentalnym błędem w podejściu do budowy semantycznej HTML. W tabelach, każdy wiersz i kolumna mają swoje określone przeznaczenie i służą do organizowania danych w sposób bardziej złożony, natomiast listy są używane do prostszego katalogowania elementów, gdzie kolejność nie ma znaczenia. Dlatego istotne jest, aby zrozumieć, że każdy znacznik w HTML ma swoje konkretne zastosowanie i kontekst. Właściwe wykorzystanie znaczników nie tylko poprawia semantykę dokumentu, ale także przyczynia się do poprawy dostępności oraz optymalizacji SEO. Ignorowanie tych zasad może prowadzić do nieczytelnych stron internetowych i nieefektywnego przekazywania informacji użytkownikom.

Pytanie 17

Jaki typ danych w MySQL należy zastosować, aby w jednym polu zapisać zarówno datę, jak i czas?

A. DATE
B. TIMESTAMP
C. BOOLEAN
D. YEAR
Typ danych TIMESTAMP w MySQL jest przeznaczony do przechowywania zarówno daty, jak i czasu w jednym polu. Jest szczególnie przydatny w sytuacjach, gdy potrzebne jest śledzenie zdarzeń w czasie, takich jak rejestracja daty i godziny utworzenia lub modyfikacji rekordów w bazie danych. TIMESTAMP przechowuje dane w formacie 'YYYY-MM-DD HH:MM:SS', co pozwala na precyzyjne określenie momentu w czasie. Wartością dodaną tego typu danych jest automatyczne aktualizowanie znacznika czasu przy każdej zmianie rekordu (jeśli ustawimy odpowiednie opcje), co jest zgodne z najlepszymi praktykami w zakresie audytu danych. Przykładem zastosowania może być rejestracja logów aktywności użytkowników w aplikacji internetowej lub monitorowanie transakcji w systemach finansowych, gdzie dokładny czas zdarzenia jest kluczowy. Dodatkowo, TIMESTAMP obsługuje różnice stref czasowych, co czyni go idealnym wyborem w aplikacjach działających w różnych lokalizacjach geograficznych.

Pytanie 18

W języku PHP tablice asocjacyjne to tablice, w których

A. w każdej komórce tablicy przechowywana jest inna tablica.
B. indeks jest dowolnym napisem.
C. elementy tablicy są zawsze indeksowane od liczby równej 0.
D. istnieją przynajmniej dwa wymiary.
W PHP pojęcie tablicy asocjacyjnej bywa mylone z kilkoma innymi konstrukcjami, dlatego łatwo wpaść w pułapkę skojarzeń. Tablica asocjacyjna nie ma nic wspólnego z liczbą wymiarów – fakt, że jakaś tablica jest wielowymiarowa (np. tablica tablic), wcale nie oznacza, że jest asocjacyjna. Możesz mieć tablicę dwuwymiarową z indeksami czysto numerycznymi i będzie to po prostu zwykła tablica indeksowana liczbami, tylko zagnieżdżona. Sam „wymiar” dotyczy struktury zagnieżdżenia, a nie sposobu adresowania elementów. Podobnie nie jest prawdą, że w tablicy asocjacyjnej w każdej komórce musi być inna tablica. To jest raczej opis tablicy zagnieżdżonej (np. do reprezentowania wierszy i kolumn), a nie definicja tablicy asocjacyjnej. Elementem tablicy asocjacyjnej może być cokolwiek: liczba, string, obiekt, null, inna tablica – ale to, co ją wyróżnia, to klucze tekstowe, a nie typ przechowywanych wartości. Kolejne typowe nieporozumienie to przekonanie, że elementy w tablicy zawsze są indeksowane od zera. W wielu językach (np. w C, Javie) rzeczywiście tablice „klasyczne” startują od indeksu 0, więc łatwo to nawykowo przenieść do PHP. Natomiast PHP jest pod tym względem bardziej elastyczny: możesz mieć tablicę z kluczami 0, 1, 2, ale możesz też mieć klucze 'imie', 'email' albo nawet mieszane – częściowo numeryczne, częściowo tekstowe. W tablicy asocjacyjnej klucz jest wartością logicznie opisującą dany element, a nie tylko kolejnym numerem pozycji. Z mojego doświadczenia wynika, że wiele błędów w kodzie bierze się z tego, że ktoś traktuje tablicę asocjacyjną jak „zwykłą tablicę od zera”, a potem odwołuje się do nieistniejących indeksów numerycznych. Dobra praktyka to świadome korzystanie z kluczy, nadawanie im sensownych nazw i pamiętanie, że w PHP tablica asocjacyjna to po prostu struktura klucz → wartość, gdzie kluczem bardzo często jest właśnie napis, a nie liczba.

Pytanie 19

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

A. platforma .NET
B. baza danych
C. parser PHP
D. serwer WWW
W pytaniu o wymagania systemowe dla Joomla! bardzo łatwo pomylić ogólne pojęcie „serwer” czy „platforma” z konkretnymi technologiami, które faktycznie są potrzebne. Joomla! to klasyczny CMS napisany w PHP, który działa w architekturze klient–serwer zgodnej z typowym modelem aplikacji webowych. Do poprawnego działania potrzebuje trzech filarów: serwera WWW, interpretera PHP oraz relacyjnej bazy danych. Serwer WWW, taki jak Apache czy Nginx, przyjmuje żądania HTTP z przeglądarki, obsługuje pliki statyczne i przekazuje żądania do skryptów PHP. Bez tego elementu użytkownik w ogóle nie byłby w stanie połączyć się z witryną. Parser (interpretator) PHP jest absolutnie kluczowy, bo cały kod Joomla! – logika logowania, panele administracyjne, generowanie treści, system szablonów – jest napisany właśnie w tym języku. To nie jest zwykły „dodatek”, tylko środowisko uruchomieniowe aplikacji. Baza danych z kolei przechowuje wszystkie dynamiczne dane: artykuły, użytkowników, uprawnienia, moduły, konfigurację. Bez bazy CMS przestałby być „systemem zarządzania treścią”, bo nie miałby gdzie tej treści trwale zapisywać. Częsty błąd myślowy polega na wrzucaniu do jednego worka wszystkich technologii serwerowych: skoro coś działa „na serwerze”, to może wymaga .NET, Javy, PHP – wszystko jedno. Tymczasem każdy CMS jest pisany w konkretnej technologii i wymaga zgodnego z nią środowiska. Joomla! nie wykorzystuje ASP.NET ani bibliotek .NET, więc platforma .NET nie jest jej potrzebna do niczego. Można mieć serwer z zainstalowanym .NET, ale jeśli nie ma tam PHP i odpowiedniej bazy danych, Joomla! i tak nie ruszy. Z mojego doświadczenia warto zawsze zaczynać od sprawdzenia, w jakim języku napisane jest dane oprogramowanie webowe i pod to dobierać stos serwerowy, zamiast zakładać, że każda aplikacja webowa wymaga .NET tylko dlatego, że kojarzy się on z „nowoczesnym” serwerem.

Pytanie 20

Który z rysunków obrazuje efekt działania przedstawionego fragmentu kodu HTML?

<table border="1">
 <tr><td rowspan="2">pierwszy</td><td>drugi</td></tr>
 <tr><td>trzeci</td></tr>
</table>
Ilustracja do pytania
A. C.
B. D.
C. A.
D. B.
Hmm, niestety źle. Ale spoko, każdy czasem myli. Rysunki pokazują różne układy tabel, ale tylko rysunek C oddaje to, co masz w kodzie HTML. Zwłaszcza ważne jest tu użycie atrybutu rowspan='2', który sprawia, że komórka 'pierwszy' rozciąga się na dwa wiersze. W pierwszym wierszu jest 'drugi', a w drugim tylko 'trzeci', bo 'pierwszy' zajmuje już sporo miejsca. Może pomyliłeś rowspan z colspan? To drugie dotyczy kolumn, podczas gdy pierwsze to wiersze. Spróbuj jeszcze raz, mając to na uwadze. Zrozumienie układu tabeli w HTML jest kluczowe dla stworzenia fajnych stron.

Pytanie 21

W tabeli zadania znajduje się pole tekstowe status. Jakie zapytanie należy użyć, aby usunąć te zadania, które mają status 'zamknięte'?

A. DELETE FROM zadania;
B. TRUNCATE TABLE zadania WHERE status = 'zamknięte';
C. TRUNCATE TABLE zadania;
D. DELETE FROM zadania WHERE status = 'zamknięte';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź DELETE FROM zadania WHERE status = 'zamknięte' jest poprawna, ponieważ wykorzystuje standardową składnię SQL do usuwania rekordów z tabeli na podstawie zadanych warunków. W tym przypadku, kwerenda ta usuwa tylko te wiersze, które mają wartość 'zamknięte' w polu status. Jest to podejście zgodne z dobrymi praktykami, ponieważ pozwala na precyzyjne określenie, które dane mają zostać usunięte, co minimalizuje ryzyko przypadkowego usunięcia innych rekordów. Na przykład, w systemie zarządzania projektami, możemy mieć wiele zadań z różnymi statusami, takimi jak 'otwarte', 'w trakcie', czy 'zamknięte'. Użycie tej kwerendy pozwala na oczyszczenie bazy danych z nieaktualnych zadań, co jest kluczowe dla utrzymania porządku i efektywności w zarządzaniu projektami. Ponadto, stosując tę metodę, możemy w przyszłości łatwo modyfikować warunki usuwania, na przykład zmieniając status na 'wstrzymane', zachowując elastyczność w zarządzaniu danymi.

Pytanie 22

Jakie znaczniki należy zastosować, aby w pliku z rozszerzeniem php umieścić kod napisany w języku PHP?

A. <?php> .......................... <php?>
B. <php ..................................... />
C. <?php ................................ ?>
D. <php>  .......................  </php>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Żeby umieścić kod PHP w pliku o rozszerzeniu .php, trzeba użyć znaczników <?php i ?>. Te znaczniki mówią serwerowi, że wszystko, co jest między nimi, należy traktować jako kod PHP. To jest standardowa praktyka w PHP, ważne jest, aby kod był właściwie przetwarzany przez interpreter. Na przykład, jeżeli chcemy pokazać napis na stronie, możemy użyć: <?php echo 'Witaj świecie!'; ?>. Dzięki temu można w łatwy sposób wpleść kod PHP w plik HTML i robić różne rzeczy, jak np. pracować z bazami danych czy obsługiwać formularze. Zrozumienie tych znaczników jest mega ważne dla każdego programisty, bo wpływa to na wydajność i bezpieczeństwo aplikacji. Jeszcze jedno, PHP to język dynamicznie typowany, więc jego interpretacja może się różnić w zależności od kontekstu. Dlatego tak istotne jest, żeby dobrze formatować kod.

Pytanie 23

Który z poniższych języków jest zazwyczaj używany do programowania front-endowego (wykonywanego po stronie klienta)?

A. Perl
B. PHP
C. Node.js
D. CSS

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CSS, czyli Kaskadowe Arkusze Stylów, jest fundamentalnym językiem używanym do stylizacji stron internetowych. Jest to język front-endowy, co oznacza, że jego kod jest wykonywany po stronie klienta, czyli w przeglądarkach internetowych użytkowników. CSS pozwala na definiowanie wyglądu elementów HTML, takich jak kolory, czcionki, układ czy odstępy, co ma kluczowe znaczenie dla tworzenia atrakcyjnych i responsywnych interfejsów użytkownika. Przykładem może być zastosowanie CSS do stylizacji przycisku, gdzie można zmienić jego kolor, dodać cień oraz animacje przy najechaniu myszką. W standardach webowych CSS współpracuje z HTML oraz JavaScript, co zapewnia dynamiczne i interaktywne doświadczenia. Dobry projektant front-endowy powinien znać zasady związane z kaskadowością i dziedziczeniem w CSS, aby optymalnie wykorzystywać ten język do tworzenia estetycznych i użytecznych stron internetowych.

Pytanie 24

Fragment kodu napisany w języku JavaScript, który realizuje sumowanie dwóch liczb, wygląda następująco (zobacz ramka): Aby operacja dodawania odbywała się po naciśnięciu przycisku zatytułowanego "dodaj", należy w miejsce wykropkowane wprowadzić

Ilustracja do pytania
A. <button onclick="return dodaj()">dodaj</button>
B. <button onclick="return obliczj()">dodaj</button>
C. <button onselect="return dodaj()">oblicz</button>
D. <button onselect="return dodaj()">dodaj</button>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ w języku JavaScript zdarzenie onclick jest standardowym sposobem uruchamiania funkcji w odpowiedzi na kliknięcie przycisku. W tym przypadku funkcja dodaj() zostanie wywołana, gdy użytkownik kliknie przycisk z napisem "dodaj". Jest to zgodne z powszechnymi praktykami w tworzeniu interfejsów użytkownika dla aplikacji webowych, gdzie zdarzenia są przypisywane do elementów HTML za pomocą atrybutów takich jak onclick czy onsubmit. Takie podejście pozwala na bezpośrednią interakcję użytkownika z elementami strony, co jest kluczowe dla dynamicznych aplikacji internetowych. Przy tworzeniu stron internetowych ważne jest, aby zdarzenia były jednoznacznie przypisane do odpowiednich funkcji, co ułatwia zarządzanie logiką aplikacji. Dodatkowo takie rozwiązanie zwiększa czytelność kodu i ułatwia jego dalsze utrzymanie i rozwój. W przypadku bardziej skomplikowanych projektów można również rozważyć oddzielanie logiki JavaScript od struktury HTML, używając zewnętrznych plików skryptów i bibliotek, takich jak jQuery czy React, co sprzyja lepszej organizacji kodu.

Pytanie 25

Jakiej opcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie w taki sposób, aby widoczna była tylko część znajdująca się w obrębie ramki?

Ilustracja do pytania
A. Odbicie
B. Perspektywa
C. Skalowanie
D. Kadrowanie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kadrowanie to proces polegający na usuwaniu niechcianych części obrazu w celu skupienia uwagi na jego istotnych elementach. W kontekście przygotowywania rysunku do wyświetlenia na stronie internetowej, kadrowanie pozwala na wyeksponowanie tylko tych fragmentów grafiki, które mają być widoczne dla odbiorcy, jednocześnie usuwając zbędne tło czy elementy. Jest to technika szeroko stosowana w branży graficznej i fotograficznej, gdzie precyzyjne dostosowanie kompozycji wizualnej ma kluczowe znaczenie dla estetyki oraz komunikacji wizualnej. Kadrowanie wspiera także optymalizację plików graficznych, redukując ich rozmiar i poprawiając czas ładowania strony. W edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP, kadrowanie jest intuicyjnym narzędziem, które pozwala na szybkie i efektywne dostosowanie kadru do wymogów projektu. Dobre praktyki branżowe zalecają regularne kadrowanie w celu zwiększenia czytelności i nadania profesjonalnego wyglądu materiałom wizualnym. Poprawnie wykadrowany obraz nie tylko poprawia estetykę, ale również może wpłynąć na przekaz oraz zaangażowanie użytkowników. Wybór właściwych proporcji i skali podczas kadrowania jest istotny dla uzyskania spójnego i harmonijnego efektu końcowego, który będzie zgodny z założeniami projektu oraz oczekiwaniami odbiorcy.

Pytanie 26

W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. style="margin-bottom: 0cm;">rect, triangle, circle
B. rect, poły, circle
C. rect, sąuare, circle
D. style="margin-bottom: 0cm;">poły, square, circle

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Atrybut shape znacznika area w języku HTML jest kluczowy dla określenia kształtu interaktywnego obszaru na mapie obrazów. Przyjmuje on wartości, które definiują geometrię obszaru w kontekście mapy, a do najpopularniejszych z nich należą 'rect', 'circle' oraz 'poly'. Wartość 'rect' definiuje prostokątny obszar, gdzie użytkownik może kliknąć w dowolnym miejscu w obrębie prostokąta. 'Circle' z kolei pozwala na stworzenie okrągłego obszaru kliknięcia, definiując jego środek oraz promień. Z kolei 'poly' umożliwia zdefiniowanie wielokątnego obszaru poprzez podanie współrzędnych wierzchołków. Te wartości są zgodne z definicjami przedstawionymi w standardach W3C, które określają sposób, w jaki przeglądarki interpretują te atrybuty. Przykładowo, dla atrybutu shape='rect' można podać współrzędne lewego górnego i prawego dolnego narożnika prostokąta, co sprawia, że jest to użyteczne w implementacji interaktywnych map. Zrozumienie tych wartości jest istotne dla programistów webowych, którzy chcą tworzyć dostępne i interaktywne treści.

Pytanie 27

Jakie rozwiązanie należy zastosować w przechowywaniu danych, aby przyspieszyć wykonywanie zapytań w bazie danych?

A. Zasady.
B. Domyślne wartości.
C. Klucze podstawowe.
D. Indeksy.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Indeksy są kluczowym elementem optymalizacji wydajności baz danych. Działają one jak wskaźniki, które pozwalają systemowi zarządzania bazą danych (DBMS) szybko zlokalizować dane bez potrzeby przeszukiwania całej tabeli. Indeksy są szczególnie przydatne przy wykonywaniu zapytań, które filtrują, sortują lub łączą dane z różnych tabel. Na przykład, w przypadku dużych zbiorów danych, dodanie indeksu do kolumny, która jest często używana w klauzulach WHERE, może znacznie skrócić czas odpowiedzi. W standardzie SQL, można tworzyć indeksy za pomocą polecenia CREATE INDEX, co pozwala na zdefiniowanie, które kolumny mają być indeksowane. Warto jednak pamiętać, że nadmiar indeksów może prowadzić do spowolnienia operacji zapisu, dlatego ważne jest, aby dobrze przemyśleć, które kolumny powinny być indeksowane. Użycie indeksów jest szczególnie zalecane w przypadku aplikacji, które często wykonują zapytania na dużych zbiorach danych, takich jak systemy e-commerce czy aplikacje analityczne.

Pytanie 28

W SQL prawo SELECT w poleceniu GRANT umożliwia użytkownikowi bazy danych na

A. pobieranie danych z tabeli
B. tworzenie nowych tabel
C. zmianę danych w tabeli
D. usuwanie danych z tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przywilej SELECT w poleceniu GRANT w języku SQL jest kluczowym elementem zarządzania dostępem do danych w bazach danych. Umożliwia on użytkownikowi wykonanie operacji odczytu na danych przechowywanych w tabelach. W praktyce oznacza to, że użytkownik, któremu przyznano ten przywilej, może wykonywać zapytania SELECT, aby przeglądać dane, analizować je i generować raporty. Przykładowo, w kontekście systemu zarządzania bazą danych (DBMS) takiego jak MySQL, po przyznaniu przywileju SELECT dla konkretnej tabeli, użytkownik może wywołać zapytanie takie jak 'SELECT * FROM nazwa_tabeli;', co pozwala mu na wyświetlenie wszystkich rekordów z tej tabeli. Praktyka ta jest zgodna z podstawowymi zasadami zarządzania dostępem do danych, które są zdefiniowane w standardzie SQL. Odczytywanie danych jest fundamentalnym zadaniem w analizie danych, a przywilej SELECT jest często pierwszym krokiem w budowaniu bardziej złożonych zapytań, które mogą obejmować agregacje, filtrowanie czy łączenie tabel. W ten sposób przywilej SELECT nie tylko umożliwia dostęp do danych, ale także stanowi podstawę dla bardziej zaawansowanych operacji na danych.

Pytanie 29

Kwerenda ma za zadanie w tabeli artykuly ALTER TABLE artykuly MODIFY cena float;

A. zmienić typ na float dla kolumny cena
B. zmienić nazwę kolumny z cena na float
C. usunąć kolumnę cena typu float
D. dodać kolumnę cena o typie float, jeśli nie istnieje

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, która zmienia typ kolumny 'cena' na 'float' jest prawidłowa, gdyż użycie kwerendy ALTER TABLE z poleceniem MODIFY pozwala na modyfikację istniejącej kolumny w już utworzonej tabeli. W praktyce, jeśli w tabeli 'artykuły' kolumna 'cena' była wcześniej zdefiniowana jako typ inny niż float, zastosowanie polecenia ALTER TABLE jest właściwą metodą, by dostosować ten typ do wymagań aplikacji, które mogą wymagać precyzyjnych wartości liczbowych, na przykład w kontekście obliczeń finansowych. W SQL, typ float jest używany do przechowywania liczb zmiennoprzecinkowych, co jest szczególnie istotne w przypadku cen, które mogą mieć wartości dziesiętne. Dobre praktyki sugerują, aby zmiana typu danych dokonywana była w sposób przemyślany i po uprzednim sprawdzeniu, czy zmiana nie wpłynie negatywnie na istniejące dane. Warto pamiętać, że przed modyfikacją schematu bazy danych, dobrze jest wykonać kopię zapasową, aby zminimalizować ryzyko utraty danych.

Pytanie 30

Wskaż właściwy zapis polecenia napisanego w języku JavaScript?

A. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " 3.14 )
B. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " ; 3.14 )
C. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " . 3.14 )
D. document.write("Liczba ? z dokładnością do 2 miejsc po przecinku ? " + 3.14 )

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź ta jest poprawna, ponieważ używa operatora konkatenacji (+) do połączenia tekstu oraz wartości liczbowej 3.14 w jednej instrukcji document.write. Funkcja document.write jest metodą w Javascript, która umożliwia dynamiczne wstawianie treści HTML do dokumentu. W przykładzie, ciąg tekstowy "Liczba ? z dokładnością do 2 miejsc po przecinku ? " jest poprawnie połączony z wartością liczbową, co skutkuje wyświetleniem na stronie rezultatu, który jest czytelny i zrozumiały dla użytkownika. Warto również zauważyć, że w takich sytuacjach stosuje się również metody formatowania liczb, takie jak toFixed() dla uzyskania precyzyjnych wyników, np. (3.14).toFixed(2) zwróci '3.14'. Zgodność z ECMAScript oraz standardami W3C sprawia, że ta konstrukcja jest zarówno praktyczna, jak i zgodna z najlepszymi praktykami programowania w JavaScript.

Pytanie 31

Jakie polecenie powinno być zastosowane, aby tekst TEKST był widoczny w kolorze czarnym w oknie przeglądarki internetowej?

A. <font color="#000000">TEKST</font>
B. <body color="black">TEKST</font>
C. <body bgcolor="black">TEKST</body>
D. <font color="czarny">TEKST</font>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby wyraz TEKST został wyświetlony w kolorze czarnym w oknie przeglądarki internetowej, należy skorzystać z tagu <font> z atrybutem color ustawionym na wartości #000000, co stanowi standardowy kod heksadecymalny dla koloru czarnego. Atrybut ten pozwala na precyzyjne określenie koloru tekstu, co jest zgodne z zasadami HTML i daje możliwość dostosowania wyglądu strony do wymagań projektowych. Tag <font> jest przestarzały w HTML5, jednak wciąż może być używany w kontekście starszych dokumentów HTML. Warto zauważyć, że dla bardziej nowoczesnych praktyk zaleca się korzystanie z CSS (Cascading Style Sheets), gdzie definiowanie kolorów odbywa się w ramach stylów, zamiast bezpośrednio w znacznikach. Przykładowo, w CSS można użyć: .czarnyTekst { color: #000000; } i następnie zastosować tę klasę w znaczniku. Takie podejście poprawia semantykę kodu i ułatwia zarządzanie stylami na stronie, co jest istotne w kontekście optymalizacji SEO i dostępności dla różnych urządzeń."

Pytanie 32

W przedstawionym kodzie PHP, co powinno się wyświetlić zamiast znaków zapytania?

$x = mysql_query('SELECT * FROM mieszkancy');
if(!$x)
echo "???????????????????????";
A. Nieprawidłowe hasło do bazy danych
B. Zapytanie zostało zrealizowane pomyślnie
C. Niepoprawna nazwa bazy danych
D. Błąd w trakcie przetwarzania zapytania

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 2 czyli Błąd przetwarzania zapytania jest poprawna ponieważ w kodzie PHP używana jest funkcja mysql_query do wykonania zapytania SQL Funkcja ta zwraca false w przypadku niepowodzenia co oznacza że blok if(!x) zostanie wykonany tylko wtedy gdy wystąpi błąd w przetwarzaniu zapytania Komunikat Błąd przetwarzania zapytania jest więc właściwy ponieważ odzwierciedla sytuację w której zapytanie nie mogło zostać wykonane poprawnie co może być wynikiem wielu czynników takich jak błędy składniowe w zapytaniu brak połączenia z serwerem bazy danych lub nieodpowiednie uprawnienia użytkownika Praktyczne podejście do obsługi błędów w PHP często obejmuje logowanie szczegółowych komunikatów błędów lub przekazywanie ich użytkownikowi w sposób przyjazny dla użytkownika co jest zgodne z najlepszymi praktykami w zakresie programowania Dodatkowo warto wspomnieć że funkcja mysql_query jest przestarzała i nie jest zalecana do użycia w nowych projektach Zaleca się używanie bardziej nowoczesnych funkcji takich jak mysqli_query lub PDO co poprawia bezpieczeństwo i wydajność aplikacji

Pytanie 33

Fragment skryptu w języku JavaScript umieszczony w ramce

t = "Ala ma kota.";
s = t.length;
A. przypisze zmiennej s zmienną t
B. przypisze zmiennej s część tekstu z zmiennej t, o długości określonej przez zmienną length
C. przypisze zmiennej s długość tekstu z zmiennej t
D. wyświetli długość tekstu z zmiennej t

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W podanym kodzie zmiennej t przypisano wartość ciągu znaków Ala ma kota.. Następnie zmiennej s przypisano wynik wywołania właściwości length na zmiennej t. W JavaScript length jest właściwością obiektów String używaną do określenia długości łańcucha znaków czyli liczby znaków w napisie. W tym przypadku t.length zwróci liczbę 12 ponieważ włącznie ze spacjami i kropką ciąg Ala ma kota. składa się z 12 znaków. Przypisanie tego wyniku do zmiennej s oznacza że s będzie miało wartość 12. Takie wykorzystanie właściwości length jest zgodne z dobrymi praktykami i często stosowane w programowaniu w JavaScript. Pozwala na dynamiczne określanie długości łańcuchów co jest przydatne przy przetwarzaniu danych tekstowych. Umiejętność manipulacji łańcuchami znaków jest kluczowa w tworzeniu aplikacji webowych i skryptów które muszą obsługiwać dane użytkowników. Prawidłowe zrozumienie jak działa właściwość length pozwala na efektywne zarządzanie i przetwarzanie tekstu co jest istotne w pracy każdego programisty.

Pytanie 34

W CSS określono styl dla stopki. Jak można zastosować to formatowanie do bloku oznaczonego znacznikiem div?

#stopka { ... }
A. <div "stopka"> …
B. <div title = "stopka"> …
C. <div id = "stopka"> …
D. <div class = "stopka"> …

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – zapis #stopka w CSS oznacza selektor identyfikatora (ID), więc w HTML musimy użyć atrybutu id="stopka" dokładnie z tą samą nazwą. W CSS znak # wskazuje, że styl jest przypisany do elementu o konkretnym identyfikatorze, a nie do klasy czy czegokolwiek innego. Dlatego jedynym prawidłowym sposobem podpięcia tego stylu do bloku div jest konstrukcja: <div id="stopka">…</div>. W praktyce wygląda to tak: CSS: #stopka { background-color: #333; color: white; padding: 20px; } HTML: <div id="stopka">To jest stopka strony</div> Przeglądarka łączy selektor #stopka z elementem, który ma id="stopka" i nakłada na niego zdefiniowane właściwości. Identyfikator powinien być unikalny w obrębie całego dokumentu HTML, co jest zgodne z zaleceniami W3C i ogólnie przyjętą dobrą praktyką. Do jednego ID odwołujemy się w CSS przez #, a w JavaScript przez document.getElementById("stopka"). Moim zdaniem warto zapamiętać prostą zasadę: # w CSS = id w HTML, kropka (.) w CSS = class w HTML. Gdy projektujesz layout strony, zwykle elementy typu nagłówek, stopka, główna nawigacja mają unikalne ID, bo występują raz na stronie. Natomiast powtarzalne elementy (np. kafelki z produktami) dostają klasy. Dzięki temu kod jest czytelniejszy, łatwiej się go utrzymuje i unikamy dziwnych konfliktów stylów. Dobrą praktyką jest też używanie opisowych nazw, np. id="stopka" zamiast skrótów typu id="s1", bo po miesiącu nikt nie pamięta, co to znaczyło.

Pytanie 35

Według zasad walidacji HTML5, właściwym zapisem dla znacznika hr jest

A. </hr?>
B. </ hr>
C. <hr>
D. </ hr />

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź <hr> jest poprawna, ponieważ zgodnie z regułami HTML5, znacznik <hr> jest znakiem samodzielnym, co oznacza, że nie wymaga zamknięcia. Jest to element blokowy, który służy do wprowadzania poziomej linii w dokumencie, co często wykorzystuje się do rozdzielania sekcji treści. Standard HTML5 zezwala na użycie skróconej formy, a zatem <hr> jest wystarczające do oznaczenia poziomej linii. W praktyce, użycie tego znacznika jest istotne dla strukturyzacji dokumentów i poprawy ich czytelności. Dobrą praktyką jest również stosowanie odpowiednich atrybutów, takich jak 'class' czy 'id', co może ułatwić późniejsze stylizowanie za pomocą CSS. Warto pamiętać, że w HTML5, chociaż można używać atrybutów takich jak 'style' czy 'title', powinny one być stosowane odpowiedzialnie, aby nie zaburzać semantyki dokumentu. Ponadto, korzystanie z tego znacznika jest zgodne z WAI-ARIA, co wspiera dostępność aplikacji webowych.

Pytanie 36

Które z poniższych stwierdzeń dotyczy grafiki wektorowej?

A. Zawiera przedstawienie obrazu przy użyciu siatki składającej się z kolorowych pikseli ustawionych w pionie i poziomie na monitorze komputera, drukarce lub innym urządzeniu wyjściowym
B. Może być zapisywana w formacie JPG lub PNG
C. Służy do zapisu cyfrowych zdjęć
D. Zapisywany obraz jest opisywany za pośrednictwem figur geometrycznych umieszczonych w układzie współrzędnych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Grafika wektorowa to technika tworzenia i zapisywania obrazów przy użyciu figur geometrycznych, takich jak punkty, linie, krzywe i wielokąty, które są definiowane za pomocą równań matematycznych. W przeciwieństwie do grafiki rastrowej, która jest oparta na siatce pikseli, grafika wektorowa jest skalowalna bez utraty jakości, co oznacza, że obrazy mogą być powiększane lub pomniejszane bez widocznych zniekształceń. Przykłady formatów plików dla grafiki wektorowej to SVG (Scalable Vector Graphics) i AI (Adobe Illustrator). Umożliwia to zastosowanie w różnych dziedzinach, takich jak projektowanie logo, ilustracje, animacje i drukowanie, gdzie wymagana jest wysoka jakość i precyzja. Grafika wektorowa jest często preferowana w projektach wymagających dużej elastyczności, ponieważ zmiana wymiarów obiektu nie wiąże się z koniecznością ponownego rysowania lub retuszowania obrazu. Standardy takie jak W3C dla SVG definiują, jak powinny być tworzone i wyświetlane grafiki wektorowe w sieci, co zapewnia ich uniwersalność i zgodność z różnymi urządzeniami.

Pytanie 37

Jaki wynik wyświetli poniższy fragment kodu JavaScript?

x='Powodzenia na egzaminie';
z=x.substring(3,9);
y=z.substring(2,4);
document.write(y);
A. owodzeni
B. ze
C. wodzenia
D. wo

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie JavaScript użyto funkcji substring aby wyodrębnić fragmenty tekstu z ciągu znaków. Początkowa zmienna x zawiera tekst Powodzenia na egzaminie. Pierwsza funkcja x.substring(3,9) zwraca fragment tekstu zaczynający się od indeksu 3 do 8 włącznie co daje fragment wodzen. Wartość ta jest przypisana do zmiennej z. Następnie funkcja z.substring(2,4) wyodrębnia fragment zaczynający się od indeksu 2 do 3 włącznie z tego nowego ciągu wodzen co daje rezultat ze. Wynik ten zostanie wypisany na ekranie przez document.write(y). Praktyczne zastosowanie metody substring polega na manipulacji tekstem co jest powszechne w web development np. do parsowania danych tekstowych lub przygotowania tekstu do wyświetlenia. Dobre praktyki obejmują użycie substring do przetwarzania danych wejściowych np. w formularzach czy przekształcanie danych użytkownika. Ważne jest zrozumienie indeksowania od zera oraz poprawne określenie zakresu aby uniknąć błędów logicznych w kodzie. W kontekście substringu warto pamiętać że drugi parametr jest ekskluzywny co oznacza że nie jest uwzględniany w wyniku. Takie detale są kluczowe dla programistów aby efektywnie zarządzać danymi tekstowymi w różnorodnych zastosowaniach.

Pytanie 38

Wskaż, który paragraf jest sformatowany przy użyciu podanego stylu CSS:

p {
    font-family: serif;
    background-color: Teal;
    color: white;
    font-style: italic;
}
Ilustracja do pytania
A. Paragraf 1
B. Paragraf 3
C. Paragraf 4
D. Paragraf 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Paragraf 4 jest prawidłowo sformatowany zgodnie z przedstawionym stylem CSS. W stylu tym zastosowano cztery właściwości: font-family o wartości serif co sugeruje użycie czcionki o kroju szeryfowym background-color ustawiony na Teal co ustawia tło na ciemnozielony kolor color ustawiony na White co oznacza że tekst powinien być biały oraz font-style ustawiony na italic co powoduje że tekst jest pochylony. Paragraf 4 spełnia te kryteria jest napisany czcionką szeryfową ma ciemnozielone tło biały tekst i jest kursywą. Zastosowanie takich stylów jest częste w projektowaniu stron internetowych gdzie ważne jest czytelne i estetyczne przedstawienie informacji. Używanie odpowiednich stylów CSS pozwala na lepszą organizację wizualną treści co jest kluczowe w tworzeniu interfejsów przyjaznych dla użytkownika. Stylowanie w CSS wspiera standardy takie jak CSS3 które wprowadzają nowe właściwości i ulepszenia umożliwiające bardziej zaawansowane i wydajne metody formatowania.

Pytanie 39

Podczas walidacji witryn internetowych nie analizuje się

A. błędów w składni kodu
B. działania hiperlinków
C. zgodności z różnymi przeglądarkami
D. źródła pochodzenia narzędzi edycyjnych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W procesie walidacji stron internetowych, źródło pochodzenia narzędzi edytorskich nie jest przedmiotem analizy, ponieważ walidacja koncentruje się na technicznych aspektach kodu HTML, CSS i JavaScript, które wpływają na funkcjonalność oraz dostępność strony. Główne obszary walidacji obejmują zgodność z przeglądarkami, co oznacza, że strona powinna działać poprawnie w różnych środowiskach przeglądarkowych. Działania linków są również monitorowane, aby zapewnić, że wszystkie odnośniki kierują do właściwych lokalizacji oraz nie prowadzą do błędów 404. Błędy składni kodu są kluczowe, ponieważ mogą znacząco wpłynąć na sposób, w jaki strona jest renderowana przez przeglądarki. Przykładowo, walidatory HTML, takie jak W3C Validator, pomagają identyfikować błędy i ostrzegają o problemach, które mogą wpłynąć na dostępność i SEO strony. Dobre praktyki wymuszają, aby każda strona internetowa była nie tylko estetyczna, ale przede wszystkim funkcjonalna i zgodna z obowiązującymi standardami, co przekłada się na lepsze doświadczenia użytkowników.

Pytanie 40

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zwiększenie ostrości zdjęcia.
C. Przenikanie zdjęć.
D. Zmiana jasności zdjęć.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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.