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: 26 marca 2026 08:11
  • Data zakończenia: 26 marca 2026 09:08

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_rep('Kowalski','Nowak',$a);
B. $a = str_replace('Nowak', 'Kowalski',$a);
C. $a = str_replace('Nowak','Kowalski');
D. $a = str_replace('Kowalski','Nowak',$a);
Odpowiedź jest prawidłowa, ponieważ funkcja str_replace w PHP jest przeznaczona do zastępowania wszystkich wystąpień określonego ciągu znaków innym ciągiem w danym tekście. W tym przypadku, używając str_replace('Kowalski','Nowak',$a), zmieniamy każde wystąpienie słowa 'Kowalski' na 'Nowak' w zmiennej a. Działa to dla wszystkich instancji, co czyni to podejście bardzo efektywnym w przypadkach, gdy musimy dokonać masowych zmian w tekstach. Jest to dobra praktyka, aby używać str_replace do takich operacji, ponieważ jest to funkcja wbudowana, zoptymalizowana pod kątem wydajności i czytelności kodu. Warto również pamiętać, że pierwszym parametrem jest ciąg, który chcemy zastąpić, drugim jest ciąg, na który go zamieniamy, a trzecim jest tekst, w którym dokonujemy zmiany. Zastosowanie tej funkcji jest powszechne w wielu zastosowaniach, na przykład w systemach CMS, gdzie często zachodzi potrzeba masowej edycji treści.

Pytanie 2

Wykonano następującą kwerendę SQL na tabeli dania, której wiersze zostały pokazane na obrazie:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?

idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 8
B. 13
C. 2
D. 5
Gratulacje, dobrze sobie poradziłeś z tym pytaniem! Wykonanie kwerendy SELECT na tabeli danych, oznacza wybieranie konkretnych wierszy z tej tabeli, które spełniają określone kryteria. Kwerendy SQL są podstawowym narzędziem w zarządzaniu bazami danych, a ich zrozumienie jest kluczowe dla efektywnej pracy z danymi. W tym przypadku, kwerenda SELECT wybrała 2 wiersze - jest to prawidłowa odpowiedź. W praktyce, mogłoby to oznaczać na przykład wybranie z bazy danych informacji o dwóch klientach, którzy spełnili określone kryteria. Ważne jest, aby pamiętać, że liczba wybranych wierszy zależy od kryteriów, które określamy w kwerendzie. W SQL mamy wiele możliwości filtrowania i sortowania danych, co pozwala na efektywne zarządzanie informacjami. Dobra praktyka to dokładne zrozumienie działania kwerendy, zanim zostanie ona wykonana na dużej ilości danych.

Pytanie 3

Jeżeli założymy, że zmienne: a, b, c mają wartości liczbowe, wynikiem spełnienia warunku będzie wyświetlenie liczby

if ($a > $b && $a > $c)
echo $a;
else if ($b > $c)
echo $b;
else
echo $c;
A. najmniejszej
B. największej
C. nieparzystej
D. parzystej
Prawidłowa odpowiedź, czyli największa liczba jest wynikiem analizy warunku, który sprawdza wartość zmiennych a, b i c. Wykorzystujemy tutaj strukturę warunkową if-else, co jest standardową techniką w wielu językach programowania, takich jak PHP czy JavaScript. Przy pierwszej linijce kodu if ($a > $b && $a > $c) echo $a sprawdzamy, czy a jest większe od b i jednocześnie większe od c. Jeśli warunek jest spełniony, wypisujemy wartość a, co oznacza, że a jest największa. Jest to zgodne z dobrą praktyką algorytmiczną, gdzie przy porównywaniu trzech wartości dokładne warunki logiczne pomagają w ustaleniu największej z nich. Struktura ta jest wydajna i łatwa do zrozumienia. Praktycznym zastosowaniem może być np. system oceniania, gdzie na podstawie kilku wyników wybieramy ten najwyższy do dalszej analizy. Prawidłowe rozpoznawanie i implementowanie takich warunków jest kluczowe w codziennej pracy programisty, który musi regularnie wybierać największe wartości do różnych zastosowań biznesowych.

Pytanie 4

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Inwersja.
B. Barwienie.
C. Progowanie.
D. Krzywe.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 5

Aby strona WWW była responsywna, należy między innymi definiować

A. układ strony wyłącznie za pomocą tabel.
B. jedynie czcionki bezszeryfowe.
C. rozmiary obrazów w procentach.
D. rozmiary obrazów wyłącznie w pikselach.
Temat responsywności bardzo często jest mylony z pojedynczymi trikami typu „użyj takiej czcionki” albo „narysuj stronę w tabeli i będzie działać wszędzie”. Niestety to tak nie działa. Responsywność polega na tym, żeby układ i wszystkie elementy strony płynnie dopasowywały się do różnych szerokości i rozdzielczości ekranów: od smartfona, przez tablet, po duży monitor. Podstawą są elastyczne jednostki, media queries w CSS oraz przemyślana struktura HTML. Pomysł, że wystarczy stosować jedynie czcionki bezszeryfowe, nie ma związku z responsywnością jako taką. Wybór fontu to bardziej kwestia czytelności i estetyki interfejsu. Oczywiście fonty bezszeryfowe typu Roboto czy Open Sans często wyglądają lepiej na ekranach, ale sama zmiana kroju pisma nie spowoduje, że layout zacznie się dopasowywać do szerokości okna. To typowy błąd myślowy: mylenie „nowoczesnego wyglądu” z „responsywnym zachowaniem”. Strona może być wizualnie nowoczesna, a jednocześnie kompletnie nierespnsywna. Drugie nieporozumienie to projektowanie układu strony wyłącznie za pomocą tabel. Tabele nadają się do prezentowania danych tabelarycznych, ale od lat są uznawane za złą praktykę przy budowie layoutu. Trudno je elastycznie przełamywać na mniejszych ekranach, są mało semantyczne i nie współpracują dobrze z technologiami asystującymi. Standardy W3C i dobre praktyki front-endu mówią jasno: do układu używamy CSS (flexbox, grid), a nie tabel. Strona z layoutem na tabelach będzie raczej sztywna i problematyczna w utrzymaniu, niż responsywna. Kolejny częsty błąd to definiowanie rozmiarów obrazów wyłącznie w pikselach. Sztywne wartości typu width: 800px sprawiają, że obraz ma identyczną szerokość niezależnie od urządzenia. Na dużym ekranie może wyglądać okej, ale na telefonie taki obraz jest po prostu za szeroki, powoduje poziomy scroll albo wymusza skalowanie całej strony. Responsywność wymaga unikania takich sztywnych wartości i zastępowania ich jednostkami względnymi, jak procenty, vw czy elastyczne maksymalne szerokości. Gdy ktoś upiera się przy pikselach, zwykle wynika to z przyzwyczajenia z ery statycznych stron i braku zrozumienia, jak działa współczesny CSS. Kluczowe jest myślenie w kategoriach „jak element ma się zachowywać przy różnych szerokościach”, a nie „ile dokładnie pikseli ma mieć zawsze i wszędzie”.

Pytanie 6

Aby strona internetowa skutecznie dopasowywała się do urządzeń mobilnych, należy ustalić rozmiar czcionki

A. w pikselach
B. tylko znacznikami big i small
C. w milimetrach
D. w procentach
Definiowanie wielkości czcionki w pikselach może prowadzić do sztywnych układów, które nie skalują się prawidłowo na różnych urządzeniach. Piksele są jednostką stałą, co oznacza, że niezależnie od rozmiaru ekranu, czcionka zawsze będzie miała tę samą wielkość. To podejście może skutkować trudnościami w odczycie tekstu na mniejszych ekranach, co jest sprzeczne z zasadami projektowania responsywnego. Kolejna jednostka, czyli milimetry, również nie jest praktycznym rozwiązaniem, gdyż nie uwzględnia różnic w rozdzielczości ekranów oraz ich fizycznych rozmiarów. Wygląd witryny może znacznie różnić się w zależności od urządzenia, co komplikuje doświadczenie użytkownika. Użycie znaczników big i small jest całkowicie przestarzałą metodą, która nie tylko ogranicza kontrolę nad rozmiarem tekstu, ale także nie jest zgodna z nowoczesnymi standardami HTML i CSS. Współczesne podejścia do projektowania stron internetowych kładą nacisk na semantykę i dostępność, a te tagi nie wspierają tych celów. Dlatego poprawne podejście polegające na zastosowaniu procentów, względnych jednostek, takich jak em lub rem, jest znacznie bardziej efektywne w kontekście tworzenia elastycznych, responsywnych i dostępnych projektów webowych.

Pytanie 7

$i=10; $a=0; while $i) { $a=$a+2; $i--; } W języku PHP przedstawiono fragment kodu. Jaka będzie wartość zmiennej a po zakończeniu pętli?

A. 2
B. 0
C. 20
D. 10
Nieprawidłowe odpowiedzi są wynikiem niepełnego zrozumienia działania pętli while w PHP oraz mechanizmu dekremencji zmiennych. Odpowiedzi wskazujące na wartość 0, 2, czy 10 ignorują fakt, że pętla wykonuje się wielokrotnie, a każda iteracja wpływa na końcową wartość zmiennej $a. Odpowiedź 0 sugeruje, że pętla w ogóle się nie wykonała, co jest niezgodne z logiką działania while. Pętla ta będzie aktywna tak długo, jak zmienna $i jest różna od zera, a ponieważ $i zaczyna się od 10, pętla wykona się 10 razy. Odpowiedź 2 może wynikać z błędnego rozumienia, że pętla wykona się tylko raz, co jest sprzeczne z jej definicją; na każdym kroku $a zwiększa się o 2, co w kontekście pełnych 10 iteracji pozostawia $a na poziomie 20. Z kolei wartość 10 mogłaby wynikać z mylnego przekonania, że $a zwiększa się jedynie o 1 na każdym kroku, co również jest fałszywe, gdyż w każdej iteracji dodawane jest 2. Kluczowe do zrozumienia tego fragmentu kodu jest rozważenie, jak iteracje pętli wpływają na zmienne oraz jakie są efekty działania tych operacji. W programowaniu istotne jest, aby dokładnie analizować każdy krok, aby uniknąć błędów logicznych, które mogą prowadzić do nieoczekiwanych wyników.

Pytanie 8

Aby właściwie skomentować podaną linię kodu w JavaScript, należy po znakach // wpisać opis

document.getElementById("napis").innerHTML = Date(); //
A. wyświetlenie daty i czasu w znaczniku o id = napis
B. nieprawidłowe dane
C. zmiana stylu atrybutu innerHTML
D. wyświetlenie tekstu "Date()" w znaczniku o id = napis
Wybór nieprawidłowych odpowiedzi w tym pytaniu może wynikać z niezrozumienia, jak działa konstrukcja innerHTML oraz funkcja Date() w języku JavaScript. Funkcja Date() zwraca aktualną datę i czas, a nie tekst Date(), dlatego twierdzenie, że kod wyświetli tekst Date() w znaczniku, jest błędne. Z kolei twierdzenie, że kod zmienia styl atrybutu innerHTML, jest mylne, ponieważ innerHTML jest używane do zmiany zawartości elementu, a nie jego stylu. Styl elementu zmienia się poprzez właściwości style w DOM. Wreszcie, odpowiedź sugerująca, że kod dotyczy nieprawidłowych danych, może być skutkiem konfuzji co do działania funkcji. Kod przekazuje wynik Date() jako ciąg znaków do innerHTML, co jest poprawną operacją w JavaScript. Często spotykanym błędem jest także nieuwzględnienie faktu, że Date() jest wywoływane jako funkcja, a nie jako typ danych czy struktura, co może prowadzić do błędnych wniosków na temat działania kodu. Dla unikania pomyłek warto dokładnie przestudiować sposób, w jaki JavaScript manipuluje DOM i jak działają jego wbudowane funkcje takie jak Date().

Pytanie 9

Kaskadowe arkusze stylów są tworzone w celu

A. ulepszenia nawigacji dla użytkownika
B. zwiększenia szybkości ładowania grafiki na stronie internetowej
C. określenia metod formatowania elementów na stronie internetowej
D. dodania na stronie internetowej treści tekstowych
Wybór odpowiedzi, które nie dotyczą głównego celu kaskadowych arkuszy stylów, pokazuje niepełne zrozumienie ich funkcji. Kaskadowe arkusze stylów nie są narzędziem do ułatwienia użytkownikowi nawigacji po stronie, ponieważ nawigacja jest głównie zrealizowana przez HTML oraz JavaScript, a CSS jej nie wspiera w kontekście strukturalnym. CSS wpływa na wygląd elementów, ale nie definiuje samej struktury nawigacyjnej. Z kolei CSS nie służy do dodawania treści tekstowych na stronach internetowych. Treści są wprowadzane poprzez HTML, a CSS jedynie stylizuje te elementy. Tworzenie interfejsu użytkownika to nie tylko kwestia estetyki, lecz także odpowiedniego zarządzania danymi i treściami, co jest zadaniem HTML. Jeśli chodzi o przyspieszanie wyświetlania grafiki, CSS nie jest odpowiedzialny za optymalizację czasu ładowania obrazów; ten aspekt leży w gestii technik takich jak kompresja obrazów, użycie odpowiednich formatów oraz technik lazy loading. CSS skupia się na stylizacji elementów, a nie na ich wydajności. W związku z powyższym, każda z tych odpowiedzi pomija kluczową funkcję CSS, jaką jest definiowanie stylów dla elementów, co jest jego głównym celem.

Pytanie 10

Przedstawiony w ramce fragment kwerendy SQL ma za zadanie wybrać

SELECT COUNT(wartosc) FROM ...
A. liczbę wierszy.
B. liczbę kolumn.
C. sumę w kolumnie wartosc.
D. średnią w kolumnie wartosc.
Funkcja COUNT() w SQL bardzo często bywa mylona z innymi funkcjami agregującymi, takimi jak SUM() czy AVG(), i stąd biorą się nietrafione interpretacje tego typu zapytań. Trzeba jasno podkreślić: COUNT(wartosc) nie zwraca ani liczby kolumn, ani sumy wartości, ani średniej. Zlicza wiersze, w których dana kolumna ma ustawioną jakąś wartość, czyli nie jest NULL. To jest operacja na rekordach, a nie na strukturze tabeli. Liczba kolumn w tabeli jest cechą schematu bazy danych i jej się nie wyciąga funkcją COUNT() w taki sposób; do tego służą metadane systemowe, np. odpowiednie zapytania do information_schema w systemach zgodnych ze standardem SQL. Mylenie COUNT z operacjami na strukturze wynika często z intuicji, że „liczę coś w SELECT, więc może kolumny”, ale SQL tak nie działa. Z kolei oczekiwanie, że COUNT(wartosc) policzy sumę lub średnią, bierze się z mieszania pojęć między różnymi funkcjami agregującymi. SUM(wartosc) faktycznie dodaje wszystkie nie-NULL wartości w danej kolumnie, a AVG(wartosc) oblicza z nich średnią arytmetyczną. COUNT natomiast w ogóle nie zagląda do treści liczbowej czy tekstowej, interesuje go tylko, czy wiersz ma wartość, czy ma NULL. Typowy błąd myślowy polega na tym, że ktoś widzi w SELECT jakąś nazwę funkcji i kolumnę w nawiasie i automatycznie zakłada, że wynik będzie „jakimś przetworzeniem” danych – sumą, średnią, czymś w tym stylu. Tymczasem w SQL każda funkcja ma bardzo precyzyjnie zdefiniowane działanie i trzeba znać różnice. Dobre praktyki mówią, żeby zawsze dobierać funkcję agregującą do konkretnego pytania biznesowego: jeśli pytasz „ile rekordów?”, używasz COUNT; jeśli „jaka jest łączna wartość?”, wtedy SUM; jeśli „jaka jest przeciętna wartość?”, wtedy AVG. Warto też pamiętać o różnicy między COUNT(*) a COUNT(kolumna), bo to kolejna pułapka: pierwsze liczy wszystkie wiersze, nawet z NULL-ami, drugie tylko te z uzupełnioną wartością. Świadome korzystanie z tych funkcji to podstawa rzetelnej analizy danych w każdej profesjonalnej bazie.

Pytanie 11

Wskaź poprawną definicję funkcji w języku JavaScript.

A. function nazwa_funkcji(argumenty) {instrukcje;}
B. nazwa_funkcji(argumenty) {instrukcje;}
C. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}
D. new nazwa_funkcji(argumenty) {instrukcje;}
Poprawna definicja funkcji w języku JavaScript to 'function nazwa_funkcji(argumenty) {instrukcje;}'. Kluczowe słowo 'function' wskazuje, że definiujemy nową funkcję, co jest standardową praktyką w programowaniu w JavaScript. Funkcja może przyjmować argumenty, które są zmiennymi przekazywanymi do niej podczas wywołania. Możemy zdefiniować dowolną liczbę argumentów, a ich typy nie są ściśle określone, co zapewnia dużą elastyczność. Wewnątrz nawiasów klamrowych {} umieszczamy instrukcje, które będą wykonane, gdy funkcja zostanie wywołana. Przykładem może być funkcja, która dodaje dwie liczby: 'function dodaj(a, b) { return a + b; }'. Możliwość definiowania funkcji pozwala na organizację kodu, ponowne wykorzystanie oraz modularność, a to wszystko jest zgodne z zasadami programowania obiektowego i funkcjonalnego, które są fundamentem JavaScript. Warto również zauważyć, że zgodnie z ECMAScript, standardem definiującym JavaScript, ta składnia jest właściwa i szeroko stosowana w praktyce programistycznej.

Pytanie 12

Aby skorzystać z relacji w zapytaniu, trzeba użyć słowa kluczowego

A. UNION
B. JOIN
C. GROUP BY
D. IN
Słowo kluczowe JOIN jest niezbędne do łączenia danych z różnych tabel w bazach danych relacyjnych. Umożliwia ono wykonanie zapytań, które wykorzystują powiązania między tabelami na podstawie wspólnych kolumn. Istnieje kilka rodzajów JOIN, w tym INNER JOIN, LEFT JOIN, RIGHT JOIN oraz FULL JOIN, z których każdy ma swoje specyficzne zastosowanie. Na przykład, używając INNER JOIN, można uzyskać tylko te rekordy, które mają odpowiadające wartości w obu tabelach. To podejście jest zgodne z zasadami normalizacji baz danych, które zalecają przechowywanie danych w sposób zminimalizowany, a relacje między danymi powinny być zarządzane przy użyciu kluczy obcych. Praktyczne zastosowanie JOIN jest kluczowe w analizie danych, gdzie często niezbędne jest zestawienie informacji z różnych źródeł, co pozwala na uzyskanie pełniejszego obrazu analizowanego problemu. Wiedza o tym, jak prawidłowo stosować JOIN, jest fundamentem pracy z bazami danych, a jej znajomość jest również wymagana w standardach branżowych związanych z zarządzaniem danymi.

Pytanie 13

W dostępnej tabeli o nazwie przedmioty znajdują się pola: ocena oraz uczenID. Jakie zapytanie należy wykonać, aby obliczyć średnią ocenę ucznia z ID równym 7?

A. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7;
B. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7;
C. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7;
D. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;
Odpowiedź "SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;" jest poprawna, ponieważ zastosowanie funkcji agregującej AVG pozwala na obliczenie średniej wartości ocen dla ucznia o konkretnym identyfikatorze. W SQL, funkcje agregujące, takie jak AVG, COUNT, SUM, MIN i MAX, są kluczowymi narzędziami do analizy i przetwarzania danych. W tym przypadku, AVG oblicza średnią wartość pól 'ocena' w tabeli 'przedmioty', gdzie spełniony jest warunek 'uczenID = 7'. To podejście jest zgodne z najlepszymi praktykami w SQL, które zalecają ograniczenie zbioru danych przed zastosowaniem funkcji agregujących, aby wyniki były precyzyjne i użyteczne. Przykładowo, jeśli w przyszłości chcielibyśmy obliczyć średnią ocen dla innych uczniów, moglibyśmy zmieniać wartość 'uczenID', co czyni to zapytanie bardzo elastycznym. Ponadto, umiejętność korzystania z funkcji agregujących jest niezbędna w kontekście analizy danych w systemach baz danych, co czyni tę wiedzę fundamentalną w pracy z SQL.

Pytanie 14

Aby móc edytować nakładające się na siebie pojedyncze fragmenty grafiki, przy zachowaniu niezmienności pozostałych elementów, powinno się zastosować

A. kadrowanie
B. warstwy
C. kanał alfa
D. histogram
Wykorzystanie warstw w edytorach graficznych, takich jak Adobe Photoshop czy GIMP, pozwala na wydajne zarządzanie i edytowanie poszczególnych fragmentów obrazu. Warstwy umożliwiają oddzielne manipulowanie elementami, co jest niezwykle istotne, gdy chcemy edytować część obrazu bez wpływania na jego pozostałe elementy. Przykładowo, podczas pracy nad projektem graficznym możemy na jednej warstwie umieścić tekst, na innej obrazek, a na trzeciej tło. Dzięki temu edytując jedną z warstw, pozostałe pozostają nietknięte. Istotnym aspektem pracy z warstwami jest ich hierarchia, która pozwala na ustalanie porządku wyświetlania – warstwy wyższe w hierarchii przykrywają te niższe. Warstwy są również wykorzystywane do tworzenia efektów takich jak przezroczystość czy cienie, co zwiększa głębię i atrakcyjność wizualną projektu. W branży graficznej stosowanie warstw stało się najlepszą praktyką, ponieważ zwiększa elastyczność pracy i ułatwia wprowadzanie poprawek bez ryzyka utraty danych oryginalnych.

Pytanie 15

Które z poniższych stwierdzeń o antyaliasingu jest poprawne?

A. Antyaliasing jest jednym z filtrów stosowanych do wyostrzania obrazu
B. Wykorzystanie antyaliasingu dotyczy krzywych Beziera w grafice wektorowej
C. Antyaliasing pozwala na eliminację tzw. schodkowania obrazu
D. Antyaliasing jest stosowany w obrazach, aby wprowadzić przezroczystość
Antyaliasing to technika graficzna, która ma na celu eliminację efektu schodkowania, który pojawia się, gdy wyświetlane są linie diagonalne lub krzywe. Schodkowanie, zwane również efektem ząbkowania, powstaje z powodu ograniczonej rozdzielczości ekranu, co powoduje, że krawędzie obiektów wyglądają na poszarpane. Antyaliasing działa poprzez wygładzanie tych krawędzi, dodając do pikseli na obrzeżach obiektów kolory pośrednie, co tworzy iluzję gładkości. W praktyce, zastosowanie antyaliasingu jest szczególnie istotne w grafice komputerowej, animacji oraz w grach, gdzie płynne przejścia i detale mają kluczowe znaczenie dla jakości wizualnej. Standardy i dobre praktyki w branży zalecają stosowanie różnych metod antyaliasingu, takich jak MSAA (Multisample Anti-Aliasing) czy FXAA (Fast Approximate Anti-Aliasing), co pozwala na uzyskanie lepszych efektów w różnych kontekstach renderowania. Warto również pamiętać, że odpowiedni dobór metody antyaliasingu zależy od specyfiki projektu oraz sprzętu, na którym będzie on uruchamiany.

Pytanie 16

Jak można wyświetlić bieżącą datę oraz czas na stronie internetowej przy użyciu JavaScript?

A. innerHTML = Date()
B. echo Date() + Time()
C. document.write(Date())
D. echo Date()
Pierwsza z błędnych odpowiedzi, 'echo Date() + Time();', jest problematyczna, ponieważ 'echo' jest składnią stosowaną w języku PHP, a nie w JavaScript. W JavaScript nie ma funkcji 'echo', co prowadzi do niepoprawnej interpretacji instrukcji. Z kolei 'Date() + Time()' nie jest poprawną konstrukcją, ponieważ 'Time()' nie istnieje jako samodzielna funkcja, co oznacza, że ta odpowiedź nie tylko nie działa, ale również pokazuje mylne zrozumienie tematów związanych z datą i czasem w JavaScript. Kolejna odpowiedź, 'echo Date();', również jest błędna z tych samych powodów - użycie 'echo' w kontekście JavaScript jest niewłaściwe. Zamiast tego, JavaScript dysponuje funkcjami, które można wykorzystać do uzyskania daty i czasu, jak 'new Date()'. Odpowiedź 'innerHTML = Date();' jest niepoprawna, ponieważ nie określa, do którego elementu DOM odnosi się 'innerHTML'. Aby poprawnie wyświetlić datę, należy podać odpowiedni element, na przykład: 'document.getElementById('elementId').innerHTML = Date();'. To podejście jest bardziej zgodne z aktualnymi standardami i praktykami w zakresie manipulacji treścią HTML przy pomocy JavaScript.

Pytanie 17

Jaki zapis jest używany do definiowania klucza obcego w MySQL?

A. PRIMARY KEY(ID)
B. UNIQUE KEY(ID)
C. FOREIGN KEY(ID)
D. AUTO_INCREMENT(ID)
Odpowiedź FOREIGN KEY(ID) jest poprawna, ponieważ klucz obcy (foreign key) jest używany w bazach danych do ustanowienia i wymuszenia relacji pomiędzy dwiema tabelami. Klucz obcy w tabeli A wskazuje na klucz podstawowy (primary key) w tabeli B, co pozwala na utrzymanie integralności referencyjnej danych. Na przykład, jeżeli mamy tabelę 'Zamówienia', w której zapisujemy informacje o zamówieniach, i tabelę 'Klienci', w której mamy dane o klientach, możemy zastosować klucz obcy w tabeli 'Zamówienia', aby wskazywał na ID klienta w tabeli 'Klienci'. Dzięki temu, nie będzie możliwości dodania zamówienia dla nieistniejącego klienta, co zapewnia spójność i integralność bazy danych. Używanie kluczy obcych jest zgodne z najlepszymi praktykami projektowania baz danych, ponieważ pozwala na łatwiejsze zarządzanie danymi i ogranicza możliwość wystąpienia błędów. Warto również zauważyć, że klucze obce mogą być używane w kontekście kaskadowej aktualizacji lub usuwania, co dodatkowo ułatwia zarządzanie relacjami między tabelami.

Pytanie 18

UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);
W tabeli klient o polach: id, imie, nazwisko, miejscowosc znajduje się 5 rekordów o id od 1 do 5. Dla których wartości kolumny id przedstawiona kwerenda zaktualizuje zawartość pola miejscowosc na Warszawa?
A. 2, 4
B. 1, 5
C. 3
D. 2, 3, 4
W tym zadaniu kluczowe jest dokładne zrozumienie, jak działa klauzula WHERE w instrukcji UPDATE oraz jak interpretować zapis z operatorem IN. Konstrukcja `UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);` nie wybiera „jakichś tam” rekordów losowo ani nie aktualizuje wszystkich wierszy, tylko bardzo konkretną podgrupę danych. Warunek `id IN (2,4)` jest równoważny zapisowi `id = 2 OR id = 4`. To oznacza, że silnik bazy danych przechodzi po rekordach i sprawdza: jeśli id danego rekordu jest równe 2 lub 4, to ustawia miejscowosc na 'Warszawa'. Jeśli id ma inną wartość, rekord jest pomijany. Częsty błąd myślowy polega na tym, że ktoś skupia się na liczbie rekordów w tabeli (tu: 5 wierszy o id 1–5) i próbuje dopasować odpowiedź na zasadzie „a może chodzi o środkowy”, „a może o wszystkie poza tymi z listy” albo „może IN działa jak jakiś zakres”. To złe podejście. Operator IN nie oznacza przedziału, tylko dokładną listę dopuszczalnych wartości. Jeżeli na przykład ktoś uznał, że zaktualizowany zostanie tylko rekord o id=3, to najpewniej zignorował treść warunku lub pomylił IN z BETWEEN. Podobnie wybieranie pary 1,5 czy trójki 2,3,4 sugeruje, że myśli się raczej o odcinku lub o „skrajnych” identyfikatorach, a nie o literalnie podanych liczbach wewnątrz nawiasu. W SQL, gdy chcemy objąć zakresem wszystkie id od 2 do 4, używamy `WHERE id BETWEEN 2 AND 4`, a nie `IN(2,4)`. Warto też utrwalić sobie, że brak dopasowania do warunku WHERE oznacza brak jakiejkolwiek zmiany w danym wierszu, więc rekordy o id 1, 3 i 5 pozostaną nietknięte. Dobra praktyka w pracy z bazami danych to zawsze czytanie warunku WHERE „na głos” i zastanowienie się, jakie dokładnie wartości są dopuszczone. Pozwala to uniknąć groźnych pomyłek, kiedy przypadkowo zmienilibyśmy zbyt wiele danych lub zupełnie nie te rekordy, które planowaliśmy edytować.

Pytanie 19

Która z zasad dotyczących użycia semantycznych znaczników sekcji w języku HTML 5 jest poprawna?

A. Znacznik <main> może być użyty tylko raz w danym dokumencie
B. Znacznik <footer> powinien być umieszczony na górze strony, a <header> na jej końcu
C. Znacznik <nav> jest przypisany do sekcji <article>
D. Znacznik <aside> jest wykorzystywany dla dodatkowej treści strony
Znacznik <main> w HTML5 jest przeznaczony do określenia głównej treści dokumentu, która jest bezpośrednio związana z jego tematem lub celem. Warto podkreślić, że zgodnie z definicją W3C, <main> powinien być używany tylko raz na stronie, aby zapewnić jednoznaczność struktury dokumentu oraz ułatwić nawigację dla technologii wspomagających, takich jak czytniki ekranu. Przykładowo, gdy tworzysz stronę internetową z artykułami, sekcja <main> może zawierać wszystkie te artykuły, natomiast inne sekcje, takie jak <header>, <footer> czy <aside>, powinny być wykorzystywane do różnych celów, takich jak nawigacja, stopka czy treści poboczne. Użycie <main> zgodnie z jego przeznaczeniem nie tylko poprawia semantykę strony, ale także jej dostępność, co jest kluczowe dla dzisiejszego web developmentu.

Pytanie 20

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. wo
B. ze
C. owodzeni
D. wodzenia
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 21

W języku PHP, instrukcja foreach pełni rolę

A. Pętli, niezależnej od typu zmiennej
B. Wyboru, dotyczącej elementów tablicy
C. Warunkową, niezależną od typu zmiennej
D. Pętli, przeznaczonej wyłącznie dla elementów tablicy
W PHP, instrukcja foreach to super sposób na przechodzenie przez elementy tablicy. Dzięki niej nie musisz się martwić o indeksy, tylko po prostu przeglądasz wszystkie wartości, co naprawdę ułatwia pisanie kodu. Na przykład, jeżeli mamy tablicę z nazwiskami, taką jak $nazwiska = ['Kowalski', 'Nowak', 'Wiśniewski'], to możemy to wrzucić w foreach: foreach ($nazwiska as $nazwisko) { echo $nazwisko; }. W tym przypadku każda wartość z tablicy zostanie wyświetlona po kolei. Z mojego doświadczenia, dobrze jest używać foreach kiedy mamy do czynienia z tablicami, bo to sprawia, że kod jest bardziej przejrzysty i łatwiejszy do zrozumienia. Co więcej, foreach ma tę fajną cechę, że poradzi sobie z różnymi typami wartości w tablicy, więc to naprawdę uniwersalne narzędzie. Pamiętaj, że używając tej pętli, poprawiasz nie tylko wydajność swojego kodu, ale też jego czytelność, co jest super ważne, zwłaszcza w dużych projektach.

Pytanie 22

W języku PHP zamieszczono fragment kodu. Plik cookie utworzony przez to polecenie

setcookie("osoba", "Anna Kowalska", time()+(3600*24));
A. będzie przechowywany na serwerze przez jedną godzinę
B. będzie przechowywany na serwerze przez jeden dzień
C. zostanie usunięty po jednej godzinie od jego utworzenia
D. zostanie usunięty po jednym dniu od jego utworzenia
Niepoprawne odpowiedzi na to pytanie opierają się na nieprawidłowym rozumieniu działania funkcji setcookie w PHP, a także na błędnej interpretacji czasu przechowywania plików cookie. Odpowiedzi sugerujące, że plik cookie będzie przechowywany przez jeden dzień lub jedną godzinę, są oparte na mylnych założeniach dotyczących obliczeń czasowych. Czas przechowywania ciasteczka jest określany przez wartość przekazywaną do funkcji setcookie, a w tym przypadku maksymalny czas wynosi 24 godzin. Błędne stwierdzenia mogą wynikać z mylnego założenia, że funkcja time() i dodatkowe sekundy nie są prawidłowo sumowane. Ważne jest, aby zrozumieć, że ciasteczka nie są przechowywane na serwerze, lecz w przeglądarkach użytkowników, co oznacza, że dostępność ich danych zależy od ustawień przeglądarki oraz polityki prywatności. Typowym błędem jest również mylenie pojęć związanych z czasem przechowywania – ciasteczka nie są usuwane w momencie wygaśnięcia, ale po upływie ustalonego czasu, co wyklucza możliwość poprawnych odpowiedzi, które sugerowałyby krótszy okres ich przechowywania. Kluczowym aspektem w pracy z ciasteczkami jest znajomość ich parametrów i ich wpływu na interakcję użytkownika z aplikacją, co może mieć duże znaczenie w kontekście zarządzania sesjami oraz personalizacją doświadczeń użytkownika.

Pytanie 23

Podczas sprawdzania poprawności dokumentu HTML5 wyświetlił się komunikat: "Error: Element head is missing a required instance of child element title". Co to oznacza w dokumencie?

A. nie zdefiniowano wymaganego atrybutu title w znaczniku <img>
B. element <title> nie został zakończony przez </title>
C. element <title> nie jest konieczny
D. nie zdefiniowano elementu <title> w sekcji <head> dokumentu
Element <title> jest kluczowym składnikiem sekcji <head> każdego dokumentu HTML5, ponieważ definiuje tytuł strony, który jest wyświetlany w pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Zgodnie z wytycznymi W3C, element <title> jest wymagany, co oznacza, że każda poprawna struktura dokumentu HTML5 musi go zawierać. Przykład poprawnej implementacji to: <head><title>Mój dokument</title></head>. Brak elementu <title> może prowadzić do niższej oceny SEO, ponieważ wyszukiwarki używają tego tytułu jako kluczowej informacji o zawartości strony. Dla deweloperów istotne jest, aby tytuł był krótki, ale zwięzły, dostarczający jasnych informacji o tematyce strony. Ponadto, dobrze skonstruowany tytuł może przyciągać użytkowników, co ma kluczowe znaczenie w kontekście UX i marketingu internetowego.

Pytanie 24

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka

A. style="margin-bottom: 0cm;">HTML 5
B. HTML 4.01 Transitional
C. style="margin-bottom: 0cm;">XHTML 1.1
D. style="margin-bottom: 0cm;">HTML 4.01 Strict
Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.

Pytanie 25

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

var text;
for( var i = 0; i < tab.length; i++){
    text += tab[i] + "<br>";
}
A. Sprawdzić rozmiar tabeli tab
B. Zweryfikować, czy text ma typ string
C. Zadeklarować zmienną i
D. Zainicjować zmienną text
Deklaracja zmiennej i jest już zawarta w nagłówku pętli for co czyni ją poprawną konstrukcją w kontekście iteracyjnego dostępu do elementów tablicy. Sprawdzanie typu zmiennej text przed pętlą mogłoby mieć znaczenie jedynie w szczególnych przypadkach gdyby istniała niepewność co do rodzaju danych z jakimi program ma do czynienia jednak w kontekście zadania najistotniejsze jest zapewnienie że zmienna ta jest zainicjowana. Rozmiar tablicy tab jest sprawdzany w warunku pętli for co stanowi standardową praktykę w celu uniknięcia przekroczenia granic tablicy lecz operacja ta nie ma wpływu na poprawność działania zmiennej text i jej przetwarzanie w pętli. Typowe błędy myślowe w zakresie inicjalizacji zmiennych to pomijanie tego kroku z założeniem że zmienne są automatycznie ustawiane na wartość domyślną co w przypadku JavaScript jest mylące podobnie jak błędne założenie że deklaracja zmiennej i jest opcjonalna przy iteracjach co prowadzi do trudno wykrywalnych błędów w dużych kodach. Kluczowym wnioskiem jest zrozumienie że inicjalizacja zmiennej jest fundamentem poprawnej i bezpiecznej obsługi danych w cyklu programistycznym.

Pytanie 26

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

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

Pytanie 27

W języku JavaScript zmienna i, która ma przechowywać wynik dzielenia równy 1, powinna być zadeklarowana jako

A. var i = Number(3/2)
B. var i = 3/2
C. var i = parseFloat(3/2)
D. var i = parseInt(3/2)
Odpowiedź "var i = parseInt(3/2);" jest prawidłowa, ponieważ funkcja parseInt konwertuje podaną wartość na liczbę całkowitą, w tym przypadku wynik dzielenia 3/2 wynosi 1.5. Funkcja ta zaokrągla wynik w dół do najbliższej liczby całkowitej, co skutkuje wartością 1, która jest następnie przypisywana do zmiennej i. W praktyce, użycie parseInt jest często spotykane w sytuacjach, gdy zachodzi potrzeba uzyskania liczby całkowitej z wartości zmiennoprzecinkowej, na przykład podczas obliczeń wymagających całkowitych jednostek, takich jak liczba produktów w koszyku. Ponadto, ważne jest również, aby rozumieć, że parseInt przyjmuje drugi argument, który określa podstawę liczbową, co jest zgodne z najlepszymi praktykami programistycznymi, aby unikać niejednoznaczności w interpretacji wartości. W związku z tym, używanie parseInt w kontekście takich operacji jest zgodne z dobrymi praktykami programistycznymi i pozwala na uniknięcie nieprzewidzianych błędów w obliczeniach.

Pytanie 28

Po wydaniu polecenia użytkownik Jacek będzie mógł

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. usuwać tabelę i tworzyć nową.
B. przeglądać dane w tabeli i wstawiać nowe dane.
C. zmieniać strukturę tabeli i wstawiać nowe dane.
D. usuwać dane z tabeli i przeglądać dane.
Twoja odpowiedź jest poprawna. Użytkownik Jacek po wydaniu polecenia SQL 'GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';' zyskuje możliwość przeglądania (SELECT) oraz wstawiania (INSERT) danych do tabeli 'mojaTabela' znajdującej się w bazie danych 'baza1'. Jest to zgodne ze standardami SQL i dobrymi praktykami zarządzania uprawnieniami w systemach baz danych. Uprawnienie SELECT pozwala na odczyt danych z tabeli, co jest niezbędne do analizy danych, a uprawnienie INSERT umożliwia dodawanie nowych rekordów do tabeli, co jest kluczowe dla utrzymywania aktualności danych. Pamiętaj, że kontrola dostępu do danych jest kluczowym elementem zarządzania bazami danych, zarówno pod względem bezpieczeństwa, jak i zgodności z regulacjami prawnymi.

Pytanie 29

Aby skutecznie zrealizować algorytm, który znajdzie największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. dwóch warunków
B. jednej pętli
C. dwóch tablic
D. pięciu zmiennych
Aby znaleźć największą z trzech liczb a, b i c, wystarczy użyć dwóch warunków logicznych. Przykładowo, można porównać a z b, a następnie wynik tego porównania porównać z c. Jeśli a jest większe od b, to następnie sprawdzamy, czy a jest większe od c. W przeciwnym razie, porównujemy b z c. Tego rodzaju podejście pozwala na efektywną i prostą realizację algorytmu w O(1) czasie, co oznacza, że czas wykonania nie zależy od rozmiaru danych. W praktyce, takie podejście jest zgodne z zasadami minimalizmu w programowaniu, gdzie dąży się do używania jak najmniejszej liczby operacji. Dobrym przykładem jest implementacja tego algorytmu w różnych językach programowania, które pokazuje, jak zastosowanie prostych warunków może przyczynić się do zrozumienia i efektywności kodu. Użycie dwóch warunków jest również zgodne z zasadą KISS (Keep It Simple, Stupid), która promuje prostotę w projektowaniu algorytmów.

Pytanie 30

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 1
C. Instrukcja 3
D. Instrukcja 4
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 31

Dla przedstawionego fragmentu kodu

<img src="kwiat.jpg alt="kwiat">
walidator HTML zwróci błąd, ponieważ
A. nie odnaleziono pliku kwiat.jpg
B. użyto nieznanego atrybutu alt
C. użyto niewłaściwego znacznika do wyświetlenia grafiki
D. nie zamknięto cudzysłowu
W kodzie HTML zauważyłem mały błąd - brakuje ci domknięcia cudzysłowu dla atrybutu src. Powinno to wyglądać tak: <img src="kwiat.jpg" alt="kwiat">. No, cudzysłów jest ważny, bo bez niego przeglądarka może mieć problem z odczytaniem, gdzie kończy się wartość atrybutu. To może prowadzić do różnych, nieprzewidzianych efektów przy wyświetlaniu strony. Zasady W3C mówią, że każdy atrybut powinien być poprawnie sformatowany, żeby działało to na różnych przeglądarkach i urządzeniach. Pamiętaj też o atrybucie alt - jest kluczowy dla dostępności. Właściwe użycie cudzysłowów i dbałość o format kodu też wpływają na jego czytelność, a my przecież chcemy pisać jak najlepiej.

Pytanie 32

Standard kodowania ISO-8859-2 jest używany do poprawnego wyświetlania

A. symboli matematycznych
B. znaków zarezerwowanych dla języka opisu strony
C. polskich liter, takich jak: ś, ć, ń, ó, ą
D. znaków specjalnych dla języka kodu strony
Wybór odpowiedzi dotyczący znaków specjalnych dla języka kodu strony sugeruje, że ISO-8859-2 byłoby używane do obsługi elementów związanych z kodowaniem strony, co jest mylące. Chociaż kodowanie znaków jest istotne dla wyświetlania treści, odnosi się ono głównie do sposobu, w jaki znaki są reprezentowane w kodzie komputerowym, a nie do języka kodu strony. Z kolei odpowiedź dotycząca znaków zarezerwowanych dla języka opisu strony wprowadza dodatkowy zamęt, ponieważ zarezerwowane znaki nie mają związku z kodowaniem znaków, lecz dotyczy to specyficznych symboli i elementów w języku HTML, które mogą być interpretowane przez przeglądarki. Ostatnia odpowiedź sugerująca, że ISO-8859-2 jest używane dla symboli matematycznych nie ma podstaw, ponieważ ten standard koncentruje się na znakach używanych w językach europejskich. Takie nieprawidłowe podejścia mogą wynikać z braku zrozumienia specyfikacji standardów kodowania, co prowadzi do nieporozumień w zakresie ich zastosowania w praktyce. Należy pamiętać, że w kontekście tworzenia stron internetowych kluczowe jest wykorzystanie odpowiedniego kodowania, które zapewnia prawidłowe wyświetlanie treści, a nie symboli specyficznych dla danej dziedziny. Dlatego, dla zrozumienia znaczenia kodowania znaków, niezbędne jest zapoznanie się z dokumentacją oraz standardami, które definiują, jak różne znaki są reprezentowane w różnych kodowaniach.

Pytanie 33

Aby zgrupować elementy w jeden blok, jaki znacznik można zastosować?

A. <div>
B. <span>
C. <p>
D. <param>
Znacznik <div> jest używany do grupowania elementów w blok i jest jednym z najważniejszych elementów w HTML. Jego główną funkcją jest umożliwienie tworzenia struktury dokumentu oraz zarządzanie layoutem poprzez CSS. Przykładowo, można używać <div> do tworzenia sekcji na stronie, takich jak nagłówki, stopki czy kolumny, co ułatwia organizację treści i poprawia czytelność kodu. Dobrą praktyką jest stosowanie <div> w połączeniu z odpowiednimi klasami CSS, co pozwala na precyzyjne dostosowanie stylów do różnych elementów. W kontekście dostępności, użycie <div> powinno być przemyślane, aby nie wprowadzać chaosu w strukturze strony, co może być problematyczne dla technologii wspomagających. Zgodnie z wytycznymi W3C, każdy z używanych znaczników powinien mieć dobrze zdefiniowane zadanie, a <div> idealnie spełnia rolę kontenera dla innych elementów, poprawiając w ten sposób semantykę i organizację dokumentu.

Pytanie 34

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
B. testowaniu wartości granicznych zestawu danych
C. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
D. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
Rozumienie błędów w odpowiedziach może pomóc lepiej ogarnąć, o co chodzi z analizą ścieżek w testach jednostkowych. Testowanie wartości brzegowych, chociaż bardzo ważne dla jakości oprogramowania, skupia się tylko na granicach danych wejściowych i nie pokazuje pełnego obrazu możliwych ścieżek w kodzie. Z kolei sprawdzanie obiektów pod kątem pamięci to temat na inną rozmowę i niekoniecznie ma coś wspólnego z analizą ścieżek; chodzi o to, że to podejście nie dotyka, jak kontrola przepływu działa w kodzie. Robienie kilku zbiorów danych, które się powtarzają w przetwarzaniu, też nie jest tym samym, co badanie ścieżek, a raczej dotyczy testowania z użyciem takich danych. Dużym błędem jest to, że myślimy, iż analiza ścieżek to tylko spojrzenie na dane czy pamięć. W rzeczywistości trzeba patrzeć na całość programu, zarówno na dane, jak i logikę działania, co pokazuje, jak ważna jest analiza ścieżek w znajdowaniu problemów w kodzie.

Pytanie 35

Która z funkcji SQL nie przyjmuje żadnych argumentów?

A. upper
B. len
C. year
D. now
Funkcja SQL 'now' jest funkcją, która zwraca bieżącą datę i czas. Jest to przykład funkcji, która nie pobiera żadnych argumentów, co oznacza, że jej działanie jest niezależne od jakichkolwiek wartości wejściowych. W praktyce, użycie tej funkcji pozwala na uzyskanie aktualnego znacznika czasu w zapytaniach SQL, co jest szczególnie przydatne w kontekście logowania zdarzeń w bazach danych, generowania raportów lub wstawiania danych z bieżącą datą i czasem do tabeli. Na przykład, w poleceniu SQL 'INSERT INTO logi (data_czas) VALUES (now());' wstawiamy aktualny czas do kolumny 'data_czas'. Stosowanie funkcji, które nie wymagają argumentów, jak 'now', jest zgodne z najlepszymi praktykami, ponieważ upraszcza kod i minimalizuje ryzyko błędów związanych z przekazywaniem niepoprawnych argumentów.

Pytanie 36

Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. wszystkie zmienne mają ten sam typ.
B. zmienna1 i zmienna2 mają ten sam typ.
C. zmienna1 i zmienna3 mają ten sam typ.
D. zmienna2 i zmienna3 mają ten sam typ.
Nie do końca to jest dobre, co mówisz, bo $zmienna1 to liczba całkowita (integer), a $zmienna2 to string. Typy danych w PHP mają znaczenie, bo różnie się zachowują w trakcie działania. Liczby są liczone, a teksty traktowane jako znaki. Mimo że obie pokazują "15", to ich typy są inne, co może prowadzić do błędów. Z $zmienna1 i $zmienna3 też jest nieciekawie, bo mimo że to liczby, to jednak typy się różnią - $zmienna1 to integer, a $zmienna3 to string. Często można się w tym pogubić, zakładając, że mając te same wartości, są też tego samego typu. Jak mówisz, że trzy zmienne są takie same, to pokazujesz, że nie do końca masz jasność co do typów w PHP. Pamiętaj, żeby zwracać uwagę na rzutowanie typów, bo niedopatrzenia mogą skutkować problemami w kodzie. Rekomenduję, żeby programiści regularnie sięgać do dokumentacji i używać dobrych praktyk, by lepiej ogarnąć temat typów danych w swoich projektach.

Pytanie 37

Aby grupować sekcje na poziomie bloków, które będą stilizowane za pomocą znaczników, jakiego należy użyć?

A. <param>
B. <p>
C. <div>
D. <span>
Znak <div> jest jednym z podstawowych elementów HTML, który służy do grupowania i organizowania zawartości w dokumentach HTML. Umożliwia on stosowanie stylów CSS oraz skryptów JavaScript na grupach elementów, co czyni go niezwykle użytecznym w budowie responsywnych i złożonych układów stron. W przeciwieństwie do znaku <p>, który zarezerwowany jest dla akapitów tekstu, lub <span>, który jest używany do izolowania niewielkich fragmentów tekstu w ramach większego kontekstu, <div> działa jako kontener wypełniający swoje otoczenie. Ponadto, <div> jest znacznikiem blokowym, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim rodzicu, co jest kluczowe w projektowaniu układów. W praktyce może być używany do tworzenia sekcji strony, nagłówków, stopki czy artykułów, co pozwala na lepszą organizację kodu i stylów. W kontekście standardów, <div> jest częścią W3C HTML5, co zapewnia jego szeroką akceptację i zgodność z przeglądarkami. Użycie <div> do grupowania obszarów na poziomie bloków jest zatem najlepszą praktyką w nowoczesnym web designie.

Pytanie 38

Globalne zmienne do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION stanowią część języka

A. PHP
B. JavaScript
C. C#
D. Perl
Odpowiedź PHP jest prawidłowa, ponieważ $_COOKIE i $_SESSION to superglobalne tablice w tym języku, które są wykorzystywane do zarządzania danymi sesyjnymi oraz ciasteczkami. $_COOKIE umożliwia przechowywanie danych na komputerze użytkownika w formie ciasteczek, które mogą być odczytywane przez serwer przy każdym żądaniu. Ciasteczka mogą być używane do identyfikacji użytkownika, zapamiętywania preferencji lub sesji. Przykładowe zastosowanie to np. pamiętanie, czy użytkownik jest zalogowany oraz jakie preferencje dotyczące wyświetlania treści ustawił. Z kolei $_SESSION jest używane do przechowywania danych sesji na serwerze, co zapewnia większe bezpieczeństwo, ponieważ dane nie są również dostępne po stronie klienta. Przykładem zastosowania $_SESSION jest przechowywanie informacji o użytkowniku, takich jak jego identyfikator, które mogą być używane do autoryzacji w różnych częściach aplikacji. W obu przypadkach, przy użyciu tych mechanizmów, programiści muszą pamiętać o optymalizacji wydajności oraz przestrzeganiu zasad ochrony prywatności użytkowników, co jest kluczowe w kontekście aktualnych regulacji dotyczących danych osobowych.

Pytanie 39

W HTML atrybut alt elementu img służy do określenia

A. opisu, który pojawi się pod grafiką
B. parametrów grafiki, takich jak wymiary, ramka, wyrównanie
C. lokalizacji i nazwy pliku źródłowego grafiki
D. treści, która zostanie pokazana, gdy grafika nie może być załadowana
Atrybut <b>alt</b> znacznika <b>img</b> w języku HTML jest niezwykle istotnym elementem, który ma na celu zapewnienie dostępności treści wizualnych dla użytkowników. Gdy obrazek nie może zostać załadowany (np. z powodu problemów z siecią lub błędnej ścieżki do pliku), tekst zawarty w atrybucie <b>alt</b> zostaje wyświetlony zamiast obrazu. W praktyce oznacza to, że osoba korzystająca z technologii asystujących, takich jak czytniki ekranu, będzie miała możliwość zrozumienia, co miało się pojawić w danym miejscu na stronie. Zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), stosowanie atrybutu <b>alt</b> jest kluczowe dla zapewnienia dostępności stron internetowych. Przykładem może być sytuacja, w której na stronie internetowej znajduje się obrazek przedstawiający produkt. Atrybut <b>alt</b> powinien zawierać opis tego produktu, co pozwoli użytkownikom, którzy nie widzą obrazu, zrozumieć jego znaczenie. Prawidłowe użycie atrybutu <b>alt</b> nie tylko poprawia dostępność, ale także może wpłynąć na SEO strony, ponieważ wyszukiwarki traktują ten atrybut jako dodatkowy kontekst dla treści wizualnych.

Pytanie 40

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. new
B. variable
C. var
D. instanceof
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.