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: 13 maja 2026 23:39
  • Data zakończenia: 13 maja 2026 23:40

Egzamin niezdany

Wynik: 13/40 punktów (32,5%)

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

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 2
B. Blok 1
C. Blok 4
D. Blok 3
Gradienty w CSS są potężnym narzędziem które pozwala na tworzenie gładkich i płynnych przejść między kolorami jednak ich zastosowanie wymaga zrozumienia jak działają różne typy gradientów W przypadku linear-gradient to right LightBlue DarkBlue gradient rozciąga się liniowo od lewej do prawej strony Blok 1 prawdopodobnie wykorzystuje gradient w pionie co wskazuje na niewłaściwe zrozumienie kierunku gradientu Kierunek gradientu jest kluczowy w CSS i warto zwracać uwagę na precyzyjne określenie jego początku i końca Blok 3 ukazuje gradient który wydaje się pochodzić z jednego punktu co sugeruje radial-gradient Zastosowanie radialnych gradientów różni się od liniowych gdyż rozciągają się one od środka do krawędzi Blok 4 wskazuje na nieregularny układ kolorów co może być wynikiem nieprawidłowego zastosowania wartości kolorów lub typów gradientu Takie nieintencjonalne błędy mogą wyniknąć z niewłaściwego zrozumienia składni CSS i zazwyczaj są efektem braku dokładności w definiowaniu stylów Zrozumienie jak gradienty wpływają na estetykę i funkcjonalność pomoże unikać tych błędów i tworzyć bardziej spójne i atrakcyjne wizualnie projekty internetowe Edukacja w zakresie poprawnego stosowania gradientów i ich właściwości umożliwia stworzenie bardziej efektywnych i przyjaznych dla użytkownika rozwiązań webowych co jest istotną częścią współczesnego projektowania UX i UI

Pytanie 2

Język HTML oferuje nagłówki, które służą do tworzenia hierarchii zawartości. Te nagłówki występują wyłącznie w zakresie

A. h1 - h8
B. h1 - h10
C. h1 - h6
D. h1 - h4
Wybór h1 - h4, h1 - h8 lub h1 - h10 jest nieprawidłowy z kilku powodów. Pierwsza z tych odpowiedzi sugeruje, że istnieją tylko cztery poziomy nagłówków w HTML, co jest niezgodne z rzeczywistością, ponieważ HTML pozwala na użycie sześciu poziomów nagłówków, co znacząco ogranicza możliwości organizacji treści. Z kolei odpowiedzi h1 - h8 i h1 - h10 wprowadzają błędne informacje, sugerując istnienie nagłówków wykraczających poza standard HTML. Nie ma w specyfikacji HTML nagłówków o takich oznaczeniach, co może prowadzić do niepoprawnej implementacji i zrozumienia struktury dokumentu. Zastosowanie nieistniejących nagłówków może prowadzić do problemów z dostępnością, a także negatywnie wpłynąć na SEO, ponieważ wyszukiwarki nie rozpoznają takich elementów. Kolejnym błędem myślowym jest pomijanie roli, jaką nagłówki odgrywają w hierarchizacji treści; dobrze zdefiniowana struktura pomoże nie tylko robotom wyszukiwarek, ale przede wszystkim osobom korzystającym z danej strony. Zrozumienie, że HTML opiera się na konwencjach i standardach, jest kluczowe dla efektywnego projektowania i tworzenia treści w sieci. Dlatego ważne jest korzystanie z uznawanych standardów, a nagłówki h1 do h6 są niezbędnym narzędziem w każdym projekcie webowym.

Pytanie 3

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

A. <hr>
B. </ hr />
C. </hr?>
D. </ hr>
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 4

Kiedy należy użyć kwerendy SELECT DISTINCT, aby wybrać rekordy?

A. uporządkowane w kolejności malejącej lub rosnącej.
B. tak, aby w wskazanej kolumnie nie powtarzały się wartości.
C. obecne w bazie tylko raz.
D. pogrupowane.
Wybór nieodpowiednich odpowiedzi, takich jak pogrupowane, występujące w bazie tylko raz czy posortowane malejąco lub rosnąco, wskazuje na pewne nieporozumienia dotyczące funkcji kwerendy SELECT DISTINCT. Kwerenda ta nie jest używana do grupowania danych. Gdybyśmy chcieli pogrupować dane, zastosowalibyśmy grupowanie poprzez klauzulę GROUP BY, która agreguje dane na podstawie określonego kryterium, co jest zupełnie inną operacją. Podobnie, stwierdzenie, że SELECT DISTINCT wybiera rekordy występujące w bazie tylko raz, jest mylące. Funkcja DISTINCT nie ma na celu eliminacji wszystkich rekordów, które się powtarzają, ale raczej skupienie się na unikalnych wartościach w kontekście zadanej kolumny. Dodatkowo, posortowanie danych, niezależnie od kierunku (malejącego lub rosnącego), jest zupełnie inną operacją, którą osiągamy za pomocą klauzuli ORDER BY. W rzeczywistości, DISTINCT i ORDER BY mogą być używane razem, ale ich funkcje są różne. Typowe błędy myślowe prowadzące do tych niepoprawnych wniosków obejmują mylenie funkcji agregujących z funkcjami selekcyjnymi, co jest kluczowe do zrozumienia przy pracy z bazami danych. W rezultacie, kluczowym elementem jest umiejętność rozróżnienia funkcji i celów poszczególnych zapytań SQL, co jest niezbędne w efektywnym zarządzaniu danymi.

Pytanie 5

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt:w
B. obiekt.w
C. obiekt::w
D. obiekt->w
Błędne odpowiedzi opierają się na nieprawidłowej interpretacji sposobu dostępu do właściwości obiektów w JavaScript. Notacja 'obiekt:w' nie jest poprawna, ponieważ nie stosuje się dwukropka do uzyskiwania dostępu do właściwości. Dwukropek jest używany w kontekście tworzenia obiektów, gdzie określa parę klucz-wartość, a nie podczas odczytywania wartości. Z kolei notacja 'obiekt::w' w JavaScript również nie ma zastosowania. Podwójny dwukropek nie jest uznawany za prawidłową operację i nie ma zastosowania w kontekście obiektów. Zresztą, w wielu innych językach programowania, takich jak C++ czy Python, używa się podwójnego dwukropka w zupełnie innym kontekście, co może prowadzić do pomyłek. Ostatnia odpowiedź 'obiekt->w' może sugerować wpływy z języków takich jak C czy C++, gdzie operator strzałki '->' jest używany do dostępu do właściwości wskaźnika na obiekt. W JavaScript jednak nie używa się wskaźników, a dostęp do właściwości obiektu odbywa się przez notację kropkową lub notację indeksu. Właściwe zrozumienie tych koncepcji jest kluczowe dla efektywnego programowania w JavaScript, a błędne podejście do notacji prowadzi do frustracji i błędów w kodzie.

Pytanie 6

Którego atrybutu należy użyć w miejscu trzech kropek w znaczniku HTML5 <blockquote>, aby zdefiniować źródło cytatu?

<blockquote ...="https://pl.wikipedia.org">
Pokojowa Nagroda Nobla jest przyznawana kandydatom, którzy wykonali największą lub najlepszą
pracę na rzecz braterstwa między narodami
</blockquote>
A. cite
B. src
C. href
D. alt
Gratulacje, twoja odpowiedź jest poprawna. Atrybut 'cite' w znaczniku <blockquote> jest używany do definiowania źródła cytatu. Jest to zgodne z definicją tego atrybutu zawartą w specyfikacji HTML5. W praktyce, jeśli chcesz zacytować fragment tekstu z innego źródła na swojej stronie internetowej, możesz użyć znacznika <blockquote> i atrybutu 'cite' do określenia źródła cytatu, co jest zgodne z dobrymi praktykami branżowymi. Na przykład, <blockquote cite='https://www.example.com'> Tutaj umieść tekst cytatu </blockquote>. Dzięki temu, czytelnik może łatwo odnaleźć źródło cytowanego tekstu. Warto zaznaczyć, że choć atrybut 'cite' nie jest wyświetlany bezpośrednio na stronie, jest on użyteczny dla użytkowników technologii asystujących, takich jak czytniki ekranowe.

Pytanie 7

W CSS zapisana reguła ```css p::first-line {font-size: 150%;} ``` wykorzystana na stronie z wieloma paragrafami, z których każdy składa się z kilku linijek, spowoduje, że

A. pierwszy paragraf na stronie będzie miał całą czcionkę powiększoną
B. cały tekst w paragrafie zostanie powiększony o 150%
C. pierwsza linia każdego z paragrafów będzie miała mniejszy rozmiar czcionki niż pozostałe linie
D. pierwsza linia każdego z paragrafów będzie miała większy rozmiar czcionki niż pozostałe linie
Wszystkie trzy niepoprawne opcje nie zrozumiały właściwego działania pseudoelementu ::first-line. Pierwsza z tych odpowiedzi sugeruje, że pierwsza linia każdego paragrafu będzie miała mniejszą czcionkę niż następne linie, co jest błędne. Efekt zastosowania powyższego stylu CSS jest odwrotny; pierwsza linia zyskuje większy rozmiar czcionki. Drugie nieporozumienie polega na stwierdzeniu, że pierwszy paragraf na stronie będzie w całości miał powiększoną czcionkę. Pseudoelement ::first-line działa tylko na pierwszą linię tekstu w każdym paragrafie, a nie na cały paragraf. Ponadto, trzecia odpowiedź twierdzi, że całość tekstu paragrafu będzie powiększona o 150%, co również jest niezgodne z działaniem ::first-line. Ta reguła CSS nie wpływa na resztę tekstu, lecz jedynie na pierwszą linię, pozostawiając pozostałe linie w oryginalnym rozmiarze czcionki. Umiejętność poprawnego interpretowania działania pseudoelementów CSS jest kluczowa dla web developerów oraz projektantów stron internetowych, ponieważ pozwala na efektywniejsze stylizowanie i organizowanie treści w sposób, który poprawia doświadczenia użytkowników.

Pytanie 8

Zapytanie przedstawione poniżej zwróci wynik:

SELECT COUNT(cena) FROM uslugi;
A. liczbę wszystkich cen usług w tabeli
B. sumę wartości cen usług w tabeli
C. wszystkie wartości cen usług w tabeli
D. średnią wartość cen usług w tabeli
Zapytanie SQL, które zostało przedstawione, korzysta z funkcji agregującej COUNT(), która zlicza ilość wierszy w tabeli, w której znajduje się kolumna 'cena'. W kontekście tego zapytania, COUNT(cena) zbiera wszystkie wartości w kolumnie 'cena', co oznacza, że zwróci liczbę wszystkich wierszy, w których wartość kolumny 'cena' nie jest NULL. Jest to istotne, ponieważ w praktycznych zastosowaniach bazy danych często potrzebujemy znać ilość elementów dostępnych w danym zbiorze danych, co ma kluczowe znaczenie przy analizowaniu danych oraz generowaniu raportów. Na przykład, jeśli prowadzisz firmę oferującą różne usługi, takie zapytanie pozwala Ci szybko określić, ile różnych usług posiadasz w swojej ofercie oraz jakie są ich ceny. Dobrą praktyką jest używanie funkcji COUNT() w połączeniu z klauzulą WHERE, aby dokładnie określić, które wiersze mają być zliczane, co pozwala na bardziej precyzyjne analizy.

Pytanie 9

W kodzie JavaScript aby wywołać okno z polem do wprowadzania danych i przyciskami OK i ANULUJ, należy zastosować metodę

A. confirm();
B. prompt();
C. message();
D. alert();
Prawidłowa metoda to prompt(). W JavaScripcie właśnie prompt() służy do wyświetlenia okna dialogowego z polem tekstowym, w które użytkownik może coś wpisać, oraz z przyciskami OK i Anuluj. Funkcja zwraca napis (string) wpisany przez użytkownika albo null, jeśli użytkownik kliknie Anuluj lub zamknie okno. Typowe użycie wygląda tak: const imie = prompt("Podaj swoje imię:"); if (imie !== null) { console.log("Witaj, " + imie); } Z mojego doświadczenia prompt() jest fajne do szybkich testów, prostych przykładów na lekcji, czy małych zadań domowych, bo nie trzeba tworzyć formularza w HTML. Jednak w profesjonalnych aplikacjach webowych raczej się go unika, bo to okno blokuje działanie całej strony (tzw. modalne, synchroniczne okno dialogowe) i wygląda różnie w zależności od przeglądarki. Zgodnie z dobrymi praktykami UI/UX lepiej budować własne okna dialogowe w HTML/CSS/JS, które są spójne z wyglądem strony. Warto też wiedzieć, że prompt() zawsze zwraca tekst, więc jeśli potrzebujesz liczby, trzeba ją przekonwertować, np. Number(prompt("Podaj wiek:")) albo parseInt(). No i trzeba pamiętać o obsłudze sytuacji, gdy użytkownik kliknie Anuluj – wtedy dostajesz null i dobrze jest to sprawdzić, zanim zaczniesz coś liczyć. Podsumowując: jeśli w pytaniu jest mowa o oknie z polem do wprowadzania danych oraz przyciskami OK i ANULUJ – klasyczne okienko przeglądarki – to w JavaScripcie odpowiada za to właśnie metoda prompt().

Pytanie 10

Jak w języku PHP można przypisać wartość 4 do zmiennej sesyjnej o nazwie wyborID?

A. session.wyborID = 4;
B. $_SESSION["wyborID"] = 4;
C. $_SESSION[4] = wyborID;
D. session.wyborID = {4};
Wszystkie niepoprawne odpowiedzi wykazują fundamentalne błędy związane z zarządzaniem sesjami w PHP. W pierwszym przypadku, session.wyborID = {4}; użycie notacji z kropką jest nieodpowiednie, ponieważ w PHP nie istnieje coś takiego jak obiekt session. Zamiast tego, sesje są zarządzane przez superglobalną tablicę $_SESSION, co oznacza, że każda zmienna sesji musi być przypisana w kontekście tej tablicy. Kolejna odpowiedź, session.wyborID = 4;, ponownie nieodpowiednio korzysta z notacji obiektowej, co prowadzi do błędu wykonania, ponieważ PHP nie rozumie, że session to tablica. Ostatnia odpowiedź, $_SESSION[4] = wyborID;, wykorzystuje nieprawidłowy klucz, ponieważ klucz powinien być ciągiem znaków, a nie liczbą. Dodatkowo, nie zdefiniowano wcześniej zmiennej 'wyborID', co prowadzi do nieosiągalnego odniesienia. Takie błędy myślowe mogą wynikać z niepełnego zrozumienia struktury tablic w PHP oraz różnicy między zmiennymi lokalnymi a superglobalnymi. Zrozumienie, że sesje w PHP są przechowywane jako tablica asocjacyjna, jest kluczowe dla ich wykorzystania i unikania takich pomyłek.

Pytanie 11

Jak nazywa się metoda dodawania arkusza stylów do dokumentu HTML zastosowana w poniższym kodzie?

<p style="color: red;">tekst paragrafu</p>
A. Styl alternatywny, zewnętrzny
B. Styl wewnętrzny
C. Styl zewnętrzny
D. Styl wpisany, lokalny
Podczas analizy alternatywnych metod dołączania arkuszy stylów do HTML, warto skupić się na ich kontekście i funkcjonalności. Styl alternatywny, zewnętrzny, najczęściej odnosi się do zewnętrznych plików CSS, które są dołączane do dokumentu HTML przy użyciu tagu <link>. Jest to podejście, które pozwala na centralne zarządzanie stylami dla całej strony, co zwiększa modularność i ułatwia aktualizacje. Styl wewnętrzny to metoda, w której style są umieszczane w sekcji <style> w nagłówku dokumentu. Chociaż oba te podejścia mają swoje zastosowania, ich niepoprawne zrozumienie może prowadzić do chaosu w kodzie. Styl wpisany, lokalny, z kolei, jest odpowiedni tylko dla niewielkich, jednorazowych stylizacji. W przypadku bardziej złożonych projektów, poleganie na stylach wpisanych może prowadzić do problemów z zarządzaniem i duplikacją kodu. Użytkownicy mogą mylić styl wpisany z innymi metodami, co może wynikać z braku wiedzy na temat ich zastosowań. Kluczowym błędem jest utożsamianie lokalnych stylów z bardziej uniwersalnymi rozwiązaniami, co w dłuższej perspektywie może prowadzić do trudności w utrzymaniu i aktualizacji projektów. Teoretyczne podejście do stylizacji w HTML wymaga zrozumienia, że różne metody mają swoje miejsce i zastosowanie, a ich wybór powinien być uzależniony od specyfiki projektu.

Pytanie 12

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

Ilustracja do pytania
A. wypisanie liczby parzystej
B. zwrócenie wartości 0, gdy liczba jest parzysta
C. wypisanie liczby nieparzystej
D. zwrócenie wartości 1, gdy liczba jest parzysta
Funkcja w języku PHP opisana na egzaminie służy do sprawdzania czy podana liczba jest parzysta. Wybór zwracanych wartości 1 i 0 jest klasycznym przykładem użycia binarnych wartości logicznych w programowaniu. Niektóre niepoprawne odpowiedzi mogą wynikać z błędnego zrozumienia działania operatora modulo %. Operator ten oblicza resztę z dzielenia i w przypadku operacji liczb całkowitych przydaje się do określania parzystości. Jeśli liczba jest podzielna przez 2 bez reszty czyli modulo zwraca 0 funkcja zwraca 1 co oznacza że liczba jest parzysta. Niektóre odpowiedzi sugerują że funkcja zwraca lub wypisuje liczby parzyste bądź nieparzyste co jest błędnym rozumieniem działania funkcji zwracającej wartości w kontekście operacji logicznych. Kluczowe jest zrozumienie że funkcje zwracają wartości a nie wypisują ich w przypadku takich jak ten gdzie celem jest jedynie sprawdzenie a nie wyświetlenie wartości. Wybór wartości zwracanych 1 i 0 jest także zgodny z konwencjami logicznymi stosowanymi w warunkowych instrukcjach programistycznych co może być mylnie postrzegane jako konieczność wyświetlenia wyniku. Ważne jest aby pamiętać że w programowaniu logiczne zwracanie wartości jest często używane do późniejszego wykorzystania przez inne części aplikacji w celu podejmowania decyzji lub sterowania przepływem programu. Zrozumienie tych podstawowych zasad pozwala uniknąć błędnych interpretacji i wykorzystać pełnię możliwości jakie daje programowanie w językach takich jak PHP.

Pytanie 13

Jakie zasady dotyczące tworzenia sekcji w języku HTML są właściwe?

A. W sekcji <head> znajduje się sekcja <body>
B. W sekcji <head> mogą się pojawić znaczniki <meta>, <title>, <link>
C. W sekcji <head> nie wolno umieszczać kodu CSS, tylko odniesienie do pliku CSS
D. W sekcji <head> można ustalać szablon strony za pomocą znaczników <div>
Niepoprawne podejścia, takie jak umieszczanie części <body> w <head>, definiowanie szablonu strony znacznikami <div> oraz twierdzenie, że w <head> nie można umieszczać kodu CSS, prowadzą do nieporozumień dotyczących struktury dokumentu HTML. Część <head> nie jest przeznaczona do umieszczania treści widocznych dla użytkowników, jak to ma miejsce w <body>. Oznacza to, że znaczniki <div>, które są używane do strukturalnego porządkowania treści, nie powinny znajdować się w <head>. Twierdzenie, że nie można umieszczać kodu CSS w <head> jest mylące; rzeczywiście, można tam umieszczać style CSS używając znaczników <style>, a także za pomocą <link> do zewnętrznych plików CSS. Właściwe zrozumienie struktury HTML jest kluczowe dla tworzenia poprawnych, semantycznych dokumentów. Niezrozumienie roli i przeznaczenia poszczególnych sekcji strony może prowadzić do trudności w optymalizacji i zarządzaniu stroną, co jest niezbędne w dzisiejszym świecie web developmentu. Dlatego istotne jest, aby śledzić i stosować standardy HTML oraz najlepsze praktyki, które przyczyniają się do efektywności i użyteczności stron internetowych.

Pytanie 14

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);
B. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
C. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
D. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
W analizowanych odpowiedziach można zauważyć kilka istotnych błędów składniowych, które uniemożliwiają prawidłowe zdefiniowanie tablicy asocjacyjnej w PHP. Pierwsza opcja, $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);, myli operator przypisania z operatorem asocjacyjnym. Użycie znaku = zamiast => jest kluczowe, ponieważ PHP wymaga użycia operatora => do parowania kluczy z wartościami. W drugiej opcji, $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);, zastosowano niepoprawną składnię tablicy, gdzie zewnętrzne nawiasy kwadratowe powinny być zastąpione funkcją array() lub nawiasami klamrowymi, a także brakuje kluczy. Trzecia odpowiedź, $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});, również jest niepoprawna, ponieważ użyto nawiasów klamrowych, które nie są stosowane w definicji tablic asocjacyjnych w PHP. Nawiasy klamrowe mogą być używane do tworzenia tablic wielowymiarowych, ale w tym kontekście są nieodpowiednie. Typowe błędy myślowe, które prowadzą do takich pomyłek, to mylenie różnych typów struktur danych oraz niewłaściwe zrozumienie zasad parowania kluczy i wartości, co w rezultacie skutkuje błędami w składni i logice kodu.

Pytanie 15

Jaka będzie wartość zwrócona przez funkcję zao napisaną w C++, jeśli zostanie wywołana z argumentem 3.55?

int zao(float x){
  return (x+0.5);
}
A. 3.5
B. 4.05
C. 3
D. 4
Funkcja zao przyjmuje parametr typu float i zwraca wartość typu int. W C++ operator return konwertuje wartość float do int, co oznacza obcięcie części ułamkowej liczby. Kluczowy aspekt tego problemu to dodanie 0.5 do wartości wejściowej, co jest klasycznym sposobem na zaokrąglenie liczby zmiennoprzecinkowej do najbliższej liczby całkowitej. Gdy funkcja zao zostaje wywołana z argumentem 3.55, wynik operacji (x+0.5) staje się 4.05. Po konwersji do int wartość 4.05 zostaje obcięta do 4, dlatego funkcja zwraca 4. Takie zaokrąglanie jest często stosowane w praktyce, zwłaszcza w obliczeniach, gdzie precyzja jest kluczowa. C++ oferuje również bardziej precyzyjne sposoby zaokrąglania, jak na przykład funkcje round(), floor() czy ceil() z biblioteki cmath. Dobra praktyka programistyczna sugeruje korzystanie z tych funkcji dla zwiększenia czytelności kodu i uniknięcia nieporozumień związanych z konwersją typów wśród mniej doświadczonych programistów.

Pytanie 16

W PHP, aby usunąć białe znaki z początku i końca ciągu tekstowego, można skorzystać z funkcji

A. trim()
B. sort()
C. strlen()
D. time()
Funkcja trim() w języku PHP jest niezwykle przydatna do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to funkcjonalność, która jest często wykorzystywana w różnych aplikacjach, szczególnie w kontekście przetwarzania danych wejściowych od użytkowników, gdzie niechciane spacje mogą prowadzić do błędów podczas walidacji lub przechowywania danych w bazie danych. Przykład użycia funkcji trim() jest prosty: jeśli mamy zmienną $text = ' Przykladowy tekst '; używając trim($text), otrzymamy 'Przykladowy tekst'. Funkcja ta przyjmuje również drugi argument, który pozwala na określenie dodatkowych znaków do usunięcia. Na przykład trim($text, "a ") usunie zarówno spacje, jak i litery 'a' z końców ciągu. Zgodnie z dokumentacją PHP, trim() jest częścią standardowej biblioteki funkcji stringowych, co czyni ją niezawodnym narzędziem w każdej aplikacji PHP."

Pytanie 17

Które z poleceń przyznaje użytkownikowi uczen najniższe uprawnienia w kontekście modyfikacji danych oraz struktury tabeli?

A. GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
B. GRANT DROP ON szkola.przedmioty TO uczen;
C. GRANT SELECT ON szkola.przedmioty TO uczen;
D. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
Odpowiedź GRANT SELECT ON szkola.przedmioty TO uczen jest całkiem niezła. Daje użytkownikowi 'uczen' tylko możliwość przeglądania danych z tabeli 'przedmioty' w bazie danych 'szkola'. To znaczy, że nie może on nic zmieniać ani modyfikować struktury tabeli, co jest spoko, bo zapewnia to większe bezpieczeństwo. Z własnego doświadczenia mogę powiedzieć, że dobrze jest przydzielać uprawnienia w taki sposób, żeby użytkownicy mieli tylko to, co im naprawdę potrzebne do pracy. W przypadku ucznia, który tylko chce się uczyć i patrzeć na przedmioty, dostęp do operacji takich jak INSERT, UPDATE czy DROP nie ma sensu, bo tylko stwarza ryzyko niekontrolowanych zmian w danych. W edukacji warto ograniczyć dostęp, żeby zachować porządek i uniknąć błędów oraz nadużyć. Więc dobrze, że wybrałeś tę odpowiedź.

Pytanie 18

Jakie wyjście zostanie pokazane po zrealizowaniu podanego kodu HTML?

Ilustracja do pytania
A. Rys. D
B. Rys.A
C. Rys. B
D. Rys. C
Nieprawidłowe odpowiedzi mogą wynikać z niezrozumienia struktury zagnieżdżonych list w HTML. Zrozumienie jak różne typy list i atrybuty wpływają na ich wyświetlanie jest kluczowe. Lista uporządkowana <ol> domyślnie numeruje swoje elementy co często prowadzi do założenia że wszystkie elementy muszą być numerowane w standardowy sposób. Jednak HTML pozwala na dostosowanie tego zachowania poprzez atrybuty type i start co może zmieniać domyślną numerację na litery czy inne formy. Kolejnym źródłem błędu jest zignorowanie zagnieżdżonej listy nieuporządkowanej <ul> która używa kropki jako punktora co różni się od standardowego kółka. Bez znajomości tych aspektów łatwo jest błędnie zinterpretować strukturę i wyświetlanie kodu. Typowe błędy myślowe wynikają z założeń że każda lista zachowa domyślną formę co nie zawsze jest prawdą w zaawansowanym HTML. Poprawne zrozumienie wymaga eksperymentowania i testowania różnych konfiguracji atrybutów aby w pełni wykorzystać potencjał HTML w tworzeniu elastycznych i dostosowanych interfejsów.

Pytanie 19

Jaką rozdzielczość przyjmuje standard HDTV?

A. 1920x1080 px
B. 1280x1024 px
C. 720x480 px
D. 704x576 px
Rozdzielczości 704x576 px oraz 720x480 px są standardami stosowanymi w systemie SD (Standard Definition), który oferuje znacznie niższą jakość obrazu w porównaniu do HDTV. Rozdzielczość 704x576 px, znana z systemu PAL, charakteryzuje się niskim poziomem detali, co ogranicza jakość wizualną obrazów, zwłaszcza na większych ekranach. Z kolei 720x480 px, stosowane głównie w systemie NTSC, również nie osiąga standardów jakości HDTV. Te rozdzielczości są odpowiednie dla starszych technologii telewizyjnych, ale w erze rozwoju technologii HD i 4K, ich zastosowanie staje się coraz bardziej ograniczone i nie jest zgodne z oczekiwaniami użytkowników nowoczesnych urządzeń. Dodatkowo, rozdzielczość 1280x1024 px, która jest typowa dla monitorów komputerowych o proporcjach 5:4, również nie spełnia standardów HDTV. Mimo że ta rozdzielczość zapewnia poprawną jakość obrazu na komputerach, nie jest uznawana za standard telewizyjny, przez co nie jest zgodna z obowiązującymi normami dla obrazu HD. W związku z tym, zarówno 704x576 px, 720x480 px, jak i 1280x1024 px nie są odpowiednie dla standardu HDTV.

Pytanie 20

W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?

A. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
B. SELECT * FROM ksiazki
C. SELECT tytul FROM ksiazki
D. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
Wybór innych kwerend związany jest z różnymi nieprawidłowymi założeniami. Kwerenda SELECT tytul FROM ksiazki; nie uwzględnia żadnego filtrowania daty wypożyczenia, przez co generowany raport zawierałby wszystkie tytuły książek, niezależnie od daty ich wypożyczenia. Takie podejście jest nieefektywne, ponieważ nie spełnia założonego celu raportu, jakim jest prezentacja książek wypożyczonych jedynie w danym dniu. Z kolei SELECT * FROM ksiazki; zwraca wszystkie kolumny z tabeli książek, co prowadzi do nadmiaru danych i utrudnia analizę wyników. Raport powinien być zwięzły i dostarczać tylko istotnych informacji. Kwerenda SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E(); zawiera literówkę i jest niepoprawna syntaktycznie. Warto zwrócić uwagę na typowe błędy, takie jak błędne użycie funkcji i brak filtracji danych, które mogą prowadzić do nieefektywnych i nieczytelnych raportów. Dobrą praktyką jest zawsze dokładne zrozumienie celu zapytania oraz odpowiednie stosowanie klauzul WHERE, aby uniknąć zbędnych danych i skupić się na analizie konkretnych przypadków.

Pytanie 21

Podczas zapisywania hasła użytkownika w serwisie internetowym (np. w bankowości online), w celu zabezpieczenia go przed ujawnieniem, zazwyczaj stosuje się funkcję

A. mieszających
B. cyklometrycznych
C. abstrakcyjnych
D. klucza
Zrozumienie błędnych odpowiedzi wymaga analizy koncepcji zabezpieczeń haseł w kontekście cyberbezpieczeństwa. Mieszające funkcje, mimo że są ważne w kontekście algorytmów kryptograficznych, nie są odpowiednie do bezpiecznego przechowywania haseł. Ich głównym celem jest zapewnienie, że wyjście funkcji jest trudne do przewidzenia na podstawie wartości wejściowych, ale nie spełniają one wymagań dotyczących przechowywania haseł. Cyklometryczne podejścia nie są związane z mechanizmami zabezpieczeń haseł i dotyczą bardziej analizy algorytmów. Abstrakcyjne koncepcje również nie wnoszą istotnych wartości w kontekście zabezpieczeń, ponieważ nie odnoszą się do rzeczywistych praktyk zabezpieczających dane. Prowadzi to do powszechnego błędu myślowego, polegającego na zakładaniu, że różne techniki kryptograficzne mogą być stosowane zamiennie bez zrozumienia ich specyfiki i zastosowania. W kontekście przechowywania haseł kluczowe jest zrozumienie, że ich skuteczne zabezpieczenie wymaga zastosowania odpowiednich algorytmów oraz dobrych praktyk w zakresie zarządzania danymi użytkowników. Dlatego nie można lekceważyć znaczenia klucza w procesie zapewniania bezpieczeństwa informacji.

Pytanie 22

Plik graficzny powinien być zapisany w formacie GIF, gdy

A. jest to obraz stereoskopowy
B. jest potrzeba zapisu obrazu lub animacji
C. jest konieczność zapisu obrazu bez kompresji
D. jest to grafika wektorowa
Grafika wektorowa jest zupełnie innym typem pliku graficznego, który opiera się na matematycznych opisach kształtów i linii, a nie na pikselach. Wektorowe formaty, takie jak SVG czy EPS, umożliwiają skalowanie obrazu bez utraty jakości, co jest ich kluczową zaletą. GIF nie jest w stanie zrealizować tych funkcji, dlatego nie jest odpowiednim formatem dla grafiki wektorowej. Obraz stereoskopowy to technika, która tworzy iluzję głębi poprzez ujęcia z dwóch różnych kątów, co pozwala na postrzeganie trójwymiarowości. GIF nie obsługuje tej techniki, ponieważ nie jest zaprojektowany z myślą o przechowywaniu danych przestrzennych, a raczej skupia się na prostych, płaskich animacjach czy obrazach. W przypadku potrzeby zapisu obrazu bez kompresji, format GIF również nie jest odpowiedni, gdyż wprowadza pewien poziom kompresji, co może prowadzić do utraty jakości. Dla takich zastosowań lepszym wyborem będą formaty takie jak BMP czy TIFF, które pozwalają na zapis bezstratny, a więc idealnie zachowują oryginalną jakość obrazu.

Pytanie 23

Jaki styl CSS umożliwi ustawienie tekstu do prawej strony?

A. <p style="position: right">tekst</p>
B. <p style="text-align: right">tekst</p>
C. <p style="font: right">tekst</p>
D. <p style="align: right">tekst</p>
Wybór niewłaściwych stylów CSS do wyrównania tekstu może prowadzić do nieczytelnych lub źle ułożonych treści na stronie. W pierwszej z niepoprawnych odpowiedzi sugeruje się użycie 'font: right', co jest kompletnie błędne, ponieważ 'font' jest właściwością, która służy do definiowania stylu czcionki, rozmiaru i wagi tekstu, a nie do wyrównania go. Takie użycie 'font' nie przyniesie żadnego efektu wyrównania tekstu i jest błędne z punktu widzenia składni CSS. W drugiej odpowiedzi jednako błędnie użyto 'align: right'. Warto zauważyć, że 'align' to atrybut HTML, który nie jest obsługiwany w CSS. CSS nie uznaje 'align' jako właściwości, więc ta odpowiedź jest nieprawidłowa. Ostatnia z błędnych odpowiedzi, 'position: right', sugeruje, że właściwość 'position' może być użyta do wyrównania tekstu. W rzeczywistości, 'position' jest właściwością, która określa sposób rozmieszczania elementu na stronie, jak 'static', 'relative', 'absolute' lub 'fixed', a nie do wyrównania zawartości tekstowej. Dlatego żadna z wymienionych odpowiedzi nie spełnia wymogów prawidłowego wyrównania tekstu do prawej strony w CSS.

Pytanie 24

W kodzie CSS zapis ```a[target="_blank"] {color:yellow;}``` spowoduje, że kolor żółty zostanie przypisany do tekstu

A. tekstów w paragrafie
B. linków, które otwierają się w nowej karcie
C. wszystkich linków
D. linków, które są otwierane w tej samej karcie
Odpowiedź dotycząca odnośników, które otwierają się w osobnej karcie, jest poprawna, ponieważ selektor CSS 'a[target="_blank"]' precyzyjnie odnosi się do elementów <a> (odnośników), które mają atrybut target ustawiony na '_blank'. W HTML, atrybut target z wartością '_blank' informuje przeglądarkę, aby otworzyła link w nowej karcie lub oknie. W związku z tym, reguła CSS 'a[target="_blank"] {color:yellow;}' zmienia kolor tekstu tych konkretnych odnośników na żółty. Dobre praktyki w projektowaniu stron internetowych sugerują, aby wizualnie wyróżniać odnośniki otwierające się w nowej karcie, aby użytkownicy byli świadomi tego, że nowa zawartość zostanie otwarta, co zwiększa przejrzystość i użyteczność strony. Przykładem może być formularz kontaktowy, gdzie odnośniki do polityki prywatności mogą być otwierane w nowej karcie, a ich wyróżnienie kolorem może poprawić nawigację po stronie.

Pytanie 25

Użytkownik podał adres nieistniejącego obiektu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 400
B. 500
C. 503
D. 404
Odpowiedź 404 jest poprawna, ponieważ oznacza, że serwer nie może znaleźć zasobu, którego żąda klient. W praktyce, gdy użytkownik próbuje uzyskać dostęp do nieistniejącej strony internetowej lub pliku, serwer zwraca kod błędu 404, co sygnalizuje, że dany adres URL jest nieprawidłowy. Jest to standardowy kod odpowiedzi HTTP, który jest powszechnie wykorzystywany w branży internetowej. Dobre praktyki wskazują, że strony 404 powinny być przyjazne użytkownikowi, na przykład poprzez sugerowanie alternatywnych linków lub przycisków do powrotu na stronę główną. Zrozumienie tego błędu jest istotne dla webmasterów oraz deweloperów, którzy pracują nad utrzymaniem strony, ponieważ błędy 404 mogą wpłynąć na doświadczenie użytkownika oraz pozycjonowanie strony w wyszukiwarkach. Regularne monitorowanie i poprawa linków na stronie jest kluczowym aspektem optymalizacji SEO oraz zarządzania treścią.

Pytanie 26

W języku JavaScript, aby zweryfikować, czy liczba leży w zakresie 100,200>, należy użyć:

A. if(liczba<100 || liczba>=200)
B. if (liczba>100 || liczba<=200)
C. if(liczba>100 && liczba <=200)
D. if(liczba<100 && liczba<=200)
Pierwsza z niepoprawnych odpowiedzi używa operatora OR (||), co jest błędne, ponieważ warunek ten sprawdza, czy liczba jest większa niż 100 LUB mniejsza lub równa 200. Taki zapis może prowadzić do sytuacji, w których liczba poza przedziałem też zostanie zaakceptowana, na przykład -50, co nie jest zgodne z intencją sprawdzania zakresu. W drugiej odpowiedzi zastosowano również operator OR, a zapis if(liczba < 100 || liczba >= 200) implikuje, że liczba może być mniejsza niż 100 lub większa lub równa 200, co również wyklucza liczby w zakresie 100-200 i jest niespójne z założonym celem. Ostatnia z błędnych odpowiedzi używa operatora AND, ale zapis if(liczba < 100 && liczba <= 200) sprawdza, czy liczba jest jednocześnie mniejsza niż 100 oraz mniejsza lub równa 200, co nie ma sensu, ponieważ nie ma liczb, które mogą spełniać obydwa warunki jednocześnie. Dlatego kluczowe jest rozróżnienie pomiędzy operatorami logicznymi AND i OR oraz zrozumienie, jak wpływają one na zakresy wartości w kontekście programowania w JavaScript.

Pytanie 27

W języku SQL przedstawiony warunek jest równoważny warunkowi

liczba >= 10 AND liczba <= 100
A. liczba BETWEEN 10 AND 100
B. NOT (liczba < 10 AND liczba > 100)
C. liczba LIKE '10%'
D. liczba IN (10, 100)
Niestety, to nie jest dobra odpowiedź. Zapis 'NOT (liczba < 10 AND liczba > 100)' oznacza, że interesują nas wartości, które są poza zakresem 10-100, czyli nie spełnia tego, czego szukamy. Wartości, które są podane, nie pasują do warunku, że liczba musi być równa lub większa od 10 oraz mniejsza lub równa 100. A propos 'liczba IN (10, 100)', to dotyczy tylko dwóch wartości - 10 i 100, więc to też nie jest to, co chcemy. I 'liczba LIKE '10%'' to zupełnie inna sprawa, bo tu mamy do czynienia z tekstem, który zaczyna się od '10', a nie z liczbowymi wartościami. W SQL liczymy, że operujemy na różnych typach danych i ważne, żeby to rozumieć. Dokładniejsza analiza opcji, które wybierasz, na pewno pomoże w przyszłości.

Pytanie 28

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmiana jasności zdjęć.
C. Przenikanie zdjęć.
D. Zmniejszenie kontrastu zdjęcia.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.

Pytanie 29

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
B. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
C. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
D. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.

Pytanie 30

Mamy do czynienia z tablicą o nazwie tab, która zawiera liczby całkowite różniące się od zera. Zawarty w języku PHP kod ma na celu:

foreach ($tab as &$liczba)
    $liczba = $liczba * (-1);
unset($liczba);
A. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
B. wyliczenie iloczynu wszystkich wartości w tablicy
C. obliczyć wartość bezwzględną elementów tej tablicy
D. przekształcić elementy tablicy na wartości zapisane w zmiennej liczba
Odpowiedź jest prawidłowa, ponieważ przedstawiony kod w języku PHP używa pętli foreach do iteracji po tablicy o nazwie tab. Dzięki zastosowaniu operatora & przed nazwą zmiennej $liczba, zmienna ta jest przekazywana przez referencję. Oznacza to, że każda modyfikacja dokonywana na zmiennej $liczba wpływa bezpośrednio na odpowiedni element tablicy. Wewnątrz pętli każda liczba w tablicy jest mnożona przez -1, co skutkuje zmianą jej znaku na przeciwny. W praktyce taka operacja jest powszechnie stosowana, gdy istnieje potrzeba szybkiej zmiany wszystkich wartości w strukturze danych na ich negatywne odpowiedniki, na przykład w algorytmach matematycznych lub finansowych. Istotnym aspektem jest również unikanie modyfikacji oryginalnych danych, co jest kluczowe w procesie przetwarzania danych. Po zakończeniu pętli unset($liczba) usuwa referencję, aby uniknąć niepożądanych efektów ubocznych. Takie podejście jest zgodne z dobrymi praktykami programowania, które kładą nacisk na zarządzanie pamięcią i poprawność danych.

Pytanie 31

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. date("G:m:s");
B. time("G:m:s");
C. date("H:i:s");
D. time("H:i:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 32

Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?

A. CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
B. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);
C. CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
D. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
W niepoprawnych propozycjach odpowiedzi widać kilka typowych nieporozumień związanych z SQL-em i typami danych. Po pierwsze, składnia CREATE TABLE nie używa słowa VALUES do definiowania struktury tabeli. VALUES pojawia się przy wstawianiu danych (INSERT INTO ... VALUES ...), a nie przy tworzeniu tabeli. Jeśli po nazwie tabeli pojawia się VALUES, to jest to od razu czerwone światełko, że ktoś pomieszał tworzenie struktury z wstawianiem rekordów. Z mojego doświadczenia to bardzo częsty błąd u osób, które dopiero zaczynają i próbują intuicyjnie łączyć znane słowa kluczowe. Druga sprawa to dobór typów danych. W zadaniu wyraźnie jest mowa o atrybutach tekstowych dla marka i model. Zastosowanie INT(30) oznacza typ liczbowy całkowity, a nie tekstowy. Nawet jeśli ktoś myśli, że w nawiasie wpisuje się „ilość znaków”, to w przypadku INT(30) tak to nie działa – ten nawias w MySQL ma inne znaczenie (szerokość wyświetlania), a w nowoczesnych wersjach i tak jest ignorowany. Marka samochodu typu „Audi” czy „Toyota” po prostu nie zmieści się w typie liczbowym, bo to nie jest reprezentacja tekstowa. Trzeci istotny błąd dotyczy kolumny cena. Zadanie wymaga liczby rzeczywistej typu stałoprzecinkowego. Typy FLOAT czy DOUBLE są typami zmiennoprzecinkowymi binarnymi, które przechowują przybliżone wartości i mogą wprowadzać drobne błędy zaokrągleń. To jest nieakceptowalne przy pieniądzach, bo kwoty muszą się dokładnie zgadzać co do grosza. Dlatego stosuje się DECIMAL lub NUMERIC, gdzie jawnie podajemy precyzję i skalę, np. DECIMAL(15,2). Odwrócenie tych wartości, jak w DECIMAL(2,15), jest bez sensu w kontekście cen – oznaczałoby maksymalnie dwie cyfry łącznie i piętnaście po przecinku, co w praktyce nie ma zastosowania. Takie konstrukcje biorą się zwykle z mechanicznego wpisywania liczb bez zrozumienia, co oznacza precyzja i skala. Dobra praktyka w branży jest taka, że dla kwot pieniężnych używa się DECIMAL z 2 miejscami po przecinku, ewentualnie 3–4 w specyficznych zastosowaniach, a tekst przechowuje się w typach znakowych, nie liczbowych. Rozumienie tych zasad bardzo ułatwia późniejsze projektowanie sensownych schematów baz danych.

Pytanie 33

W języku Javascript obiekt typu array jest używany do przechowywania

A. wielu wartości lub metod
B. wielu wartości jedynie tekstowych
C. wielu wartości różnych typów
D. wielu wartości jedynie liczbowych
Obiekt typu array w języku JavaScript jest niezwykle potężnym narzędziem, które pozwala na przechowywanie wielu wartości dowolnego typu w jednej zmiennej. W przeciwieństwie do niektórych innych języków programowania, JavaScript pozwala na umieszczanie w tablicach zarówno liczb, jak i stringów, obiektów, a nawet funkcji. Dzięki temu programiści mogą tworzyć złożone struktury danych, które są elastyczne i dopasowane do ich potrzeb. Przykładem praktycznego zastosowania tablicy może być tworzenie listy użytkowników, gdzie każdy element tablicy może być obiektem użytkownika zawierającym różne właściwości, takie jak imię, nazwisko, adres e-mail itd. Dobrymi praktykami przy korzystaniu z tablic w JavaScript są stosowanie metod takich jak map, filter, reduce, które ułatwiają manipulację danymi oraz dbałość o czytelność kodu, co sprzyja jego późniejszej konserwacji. Warto także pamiętać o tym, że tablice są dynamiczne, co oznacza, że można je modyfikować w trakcie działania programu, co daje dodatkową elastyczność.

Pytanie 34

Parametr face elementu <font> jest używany do wskazania

A. efektów czcionki
B. koloru czcionki
C. rozmiaru czcionki
D. nazwa czcionki
Parametr face znacznika <font> w HTML definiuje konkretną nazwę czcionki, która ma być używana do wyświetlania tekstu. Umożliwia to projektantom stron internetowych precyzyjne określenie, jak tekst będzie wyglądał, co jest istotne dla estetyki oraz czytelności strony. W praktyce, zamiast stosować ogólne czcionki systemowe, projektanci mogą wskazać konkretne nazwy czcionek, jak 'Arial', 'Verdana' czy 'Times New Roman', aby osiągnąć zamierzony efekt wizualny. Warto jednak pamiętać, że stosowanie znacznika <font> oraz jego atrybutu face jest już przestarzałe, a w nowoczesnym kodowaniu lepiej jest korzystać z CSS, gdzie właściwość 'font-family' pełni tę samą funkcję, ale z większą elastycznością i lepszym wsparciem dla różnych urządzeń. Przykładowo, zamiast <font face='Arial'>Tekst</font>, w CSS można użyć: <style> p { font-family: Arial; } </style>. Z perspektywy dobrych praktyk, zaleca się używanie CSS do stylizacji tekstu, co pozwala na lepszą separację treści od prezentacji oraz łatwiejsze zarządzanie stylami w całym dokumencie.

Pytanie 35

Jakie kolory wchodzą w skład modelu barw CMYK?

A. czerwony, zielony oraz niebieski
B. cyjan, magenta, żółty i czarny
C. czerwony, zielony, niebieski oraz kanał alfa
D. cyjan, magenta, żółty i karmazyn
Czerwony, zielony i niebieski to kolory, które są składowymi modelu RGB (Red, Green, Blue), który jest stosowany głównie w kontekście wyświetlaczy elektronicznych, takich jak monitory i telewizory. W modelu RGB kolory są generowane przez dodawanie światła, co różni się od modelu CMYK, w którym kolory są uzyskiwane przez subtraktywne mieszanie barw. W kontekście druku, użycie RGB może prowadzić do nieprzewidywalnych rezultatów, gdyż kolory na ekranie nie zawsze odpowiadają tym, które pojawią się na wydruku. Często następuje konieczność konwersji kolorów z RGB na CMYK, aby uzyskać właściwe odwzorowanie kolorów. Cyjan, magenta, żółty i karmazyn to kombinacja kolorów, która nie jest standardowym zestawem składowych w modelu barw. Karmazyn, jako kolor pochodny, nie jest uznawany za podstawowy składnik modelu CMYK, a zamiast tego jest blisko związany z magentą, co może wprowadzać w błąd. Z kolei pojęcie kanału alfa odnosi się do przezroczystości w obrazach rastrowych, co jest związane z modelem kolorów RGBA, a nie z CMYK. Kanał alfa jest istotny w kontekście edycji grafiki komputerowej, ale nie ma zastosowania w tradycyjnych procesach druku, gdzie priorytetem jest odwzorowanie kolorów w formacie CMYK.

Pytanie 36

Co robi funkcja napisana w języku JavaScript?

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

Pytanie 37

Jakie jest właściwe określenie stylu CSS dla przycisku typu submit z czarnym tłem, bez ramki oraz z marginesami wewnętrznymi równymi 5 px?

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D
A. D
B. B
C. A
D. C
Niepoprawne odpowiedzi wynikają głównie z błędnego użycia właściwości CSS lub z nieprawidłowej struktury selektora. W odpowiedzi B mamy kolor tła #ffffff, a to nie spełnia wymogu czarnego tła. To może być spowodowane nieuwagą albo brakiem zrozumienia wymagań. Odpowiedzi C i D z kolei używają margin zamiast padding, co zdecydowanie jest błędem w kontekście tego pytania. Margin dotyczy zewnętrznych odstępów między elementami i nie ma wpływu na wewnętrzne wymiary przycisku, co może efektem być brzydki wygląd przycisku w interfejsie. Ponadto w odpowiedziach C i D widzimy niepoprawny format selektora input=submit; co jest syntaktycznie złe. Poprawna składnia to input[type=submit], bo to wskazuje na element formularza o typie submit. Nie zrozumienie różnicy miedzy padding a margin oraz selektorami CSS może prowadzić do zamieszania i problemów w stylizacji. Ważne jest, żeby każda właściwość CSS była używana z pełnym zrozumieniem, jak wpływa na elementy interfejsu, by osiągnąć zamierzony efekt wizualny i funkcjonalny. Dobrą praktyką jest też sprawdzenie styli w różnych przeglądarkach, żeby upewnić się, że wszystko działa jak należy w różnych środowiskach. Rozumienie i stosowanie CSS jest kluczowe, by tworzyć profesjonalne i funkcjonalne strony.

Pytanie 38

W języku PHP do zmiennej a przypisano tekst, w którym wielokrotnie występuje słowo Kowalski. W celu zamiany wszystkich wystąpień słowa Kowalski na słowo Nowak w zmiennej a, należy użyć polecenia

A. $a = str_replace('Nowak', 'Kowalski', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_replace('Kowalski', 'Nowak', $a);
D. $a = str_rep('Kowalski', 'Nowak', $a);
Inne odpowiedzi nie są do końca dobre, bo nie spełniają warunków dla str_replace. Z $a = str_replace('Nowak', 'Kowalski'); brakuje trzeciego argumentu, więc funkcja nie wie, na czym ma działać. Może się wydawać, że nazwa zmiennej nie ma znaczenia, ale w PHP, jak nie podasz zmiennej, to str_replace nie ma sensu. Ważne jest, żeby rozumieć, jak działa ta funkcja. W drugiej odpowiedzi $a = str_replace('Nowak', 'Kowalski', $a); znów źle zamieniasz, bo najpierw powinno być to, co chcesz zastąpić, a potem to nowe. Z kolei w $a = str_rep('Kowalski', 'Nowak', $a); masz literówkę w nazwie funkcji, co oczywiście powoduje błąd. Takie pomyłki się zdarzają, bo człowiek czasem nie zwraca uwagi na szczegóły. Dlatego warto korzystać z dokumentacji i mieć na oku detale, takie jak pisownia funkcji czy kolejność argumentów. W programowaniu detale są naprawdę ważne, bo ich zignorowanie często prowadzi do nieprzewidzianych efektów.

Pytanie 39

W języku HTML 5 do grupowania powiązanych ze sobą elementów formularza używa się znacznika

A. <option>
B. <fieldset>
C. <optgroup>
D. <summary>
W tym pytaniu chodzi o semantykę HTML5 związaną z formularzami, więc warto spokojnie rozłożyć na czynniki wszystkie podane znaczniki. Częsty błąd polega na tym, że widząc kilka tagów kojarzonych luźno z formularzami, wybieramy któryś „na czuja”, zamiast zastanowić się, do czego dokładnie został zaprojektowany w specyfikacji HTML. Znacznik <summary> w ogóle nie służy do obsługi formularzy. Jest on elementem używanym wewnątrz <details> i odpowiada za nagłówek rozwijanego bloku. To bardziej narzędzie do tworzenia prostych elementów typu „pokaż/ukryj treść”, a nie do grupowania pól formularza. W formularzu można go użyć tylko jako zwykły element HTML, ale nie nadaje on żadnej specjalnej semantyki powiązanej z inputami czy etykietami. Znacznik <option> jest ściśle związany z kontrolką <select>. Reprezentuje pojedynczą opcję do wyboru w liście rozwijanej. On nie grupuje niczego, raczej sam jest elementem składowym większej struktury. Mylenie <option> z elementami grupującymi wynika często z tego, że w formularzach pojawia się dużo nawiasów ostrych i człowiek podświadomie kojarzy wszystkie z „formularzem”, ale rola <option> jest bardzo wąska: pojedyncza wartość w <select>. Z kolei <optgroup> faktycznie coś grupuje, ale tylko wewnątrz listy <select>. Umożliwia pogrupowanie opcji w logiczne sekcje, np. „Polska”, „Niemcy”, „Czechy” jako grupy krajów w jednym polu wyboru. To jednak nie jest ogólny mechanizm do grupowania różnych elementów formularza, tylko specjalistyczny element przeznaczony wyłącznie do porządkowania <option>. Dlatego nie zastąpi <fieldset>, który może otaczać wiele różnych kontrolek: inputy, selecty, textarea, przyciski itd. Podstawą dobrej odpowiedzi jest zrozumienie, że tylko <fieldset> ma w specyfikacji HTML5 jasno zdefiniowaną rolę „grouping form controls”. Pozostałe znaczniki pełnią inne, wyspecjalizowane funkcje i nie nadają całej grupie pól formularza właściwej semantyki ani nie współpracują tak dobrze z technologiami asystującymi. W praktyce, jeśli chcesz logicznie podzielić formularz na sekcje, zawsze myśl w pierwszej kolejności o <fieldset> + <legend>, a dopiero potem o innych elementach, które pełnią bardziej szczegółowe role.

Pytanie 40

Do czego służy znacznik <i> w języku HTML?

A. umieszczania obrazu
B. zmiany kroju pisma na pochylony
C. zdefiniowania formularza
D. zdefiniowania nagłówka w treści
Znacznik <img> jest używany do umieszczania obrazków w dokumencie HTML. Jest to znacznikiem pustym, co oznacza, że nie ma zamykającego znacznika i wymaga atrybutu src, który wskazuje lokalizację pliku graficznego. Z kolei formularze definiowane są za pomocą znacznika <form>, który pozwala na zbieranie danych od użytkowników w interaktywny sposób. Znacznik ten w połączeniu z różnymi kontrolkami, takimi jak <input>, <select> czy <textarea>, umożliwia tworzenie rozbudowanych formularzy na stronach internetowych. Co więcej, nagłówki w HTML są definiowane za pomocą znaczników <h1> do <h6>, które hierarchicznie organizują treść i są istotne dla SEO, ponieważ pomagają wyszukiwarkom zrozumieć strukturę strony. Fałszywe przekonanie, że znacznik <i> może służyć do tych celów, prowadzi do nieporozumień i błędów w projektowaniu stron. Kluczowe jest zrozumienie, że HTML jest systemem znaczników, który ma swoje zasady i odpowiednie zastosowania dla każdego z elementów. Ważne jest, aby stosować odpowiednie znaczniki w odpowiednich kontekstach, ponieważ korzystanie z niewłaściwych może prowadzić do nieczytelnych i trudnych do zarządzania kodów, co jest niezgodne z najlepszymi praktykami w dziedzinie programowania webowego. Zachowanie semantyki w HTML nie tylko ułatwia pracę programistom, ale także poprawia dostępność stron dla osób z niepełnosprawnościami oraz optymalizację dla wyszukiwarek internetowych.