Przejdź do głównej treści
  1. Strona główna
  2. Wyniki egzaminu

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 22 września 2026 12:53
  • Zakończenie: 22 września 2026 13:08 

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

Wymagane minimum: 20 punktów (50%)

Twój wynik na tle innych

Twój wynik jest lepszy niż 41% podejść do kwalifikacji INF.03.

Porównanie z 42555 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Poprzednio 80,0%, teraz 57,5% (-22,5 p.p.).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź jak rozwiązywałeś pytania Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Pochwal się swoim wynikiem!

Szczegółowe wyniki

Pytanie 1

W języku PHP wykorzystano funkcję

is_float()
. Które z poniższych wywołań tej funkcji zwróci rezultat true?
A. is_float(3.34)Poprawna odpowiedź
B. is_float('3,34')Twoja odpowiedź
C. is_float(NULL)
D. is_float(334)
Niepoprawna odpowiedź. Zrozumienie, co dokładnie zwraca funkcja is_float(), jest bardzo ważne, jeśli chce się dobrze pracować z typami danych w PHP. Na przykład, jak wpiszesz is_float(334), to dostaniesz false, bo 334 to liczba całkowita, a nie zmiennoprzecinkowa. To może być mylące, bo nie każdy wie, że float to coś konkretnego. Podobnie jest z is_float(NULL) - zwraca false, bo NULL to jakby brak wartości, a nie liczba. Jeszcze jedno – jakbyś wywołał is_float('3,34'), to też dostaniesz false, bo PHP nie rozpozna tego jako float; to traktuje jako tekst. PHP nie konwertuje automatycznie tekstu na float, zwłaszcza jak używasz przecinka, zamiast kropki. Te błędy często biorą się stąd, że ludzie myślą, że PHP sam zrozumie, co mają na myśli. Dlatego warto ogarnąć, jak działa typowanie w PHP i jak używać funkcji tych sprawdzających typy, jak is_float(). Dzięki temu twój kod będzie bardziej stabilny i unikniesz błędów przy jego działaniu.

Pytanie 2

Które z poniższych wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w przedziale (6, 203>?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) || (zm1 <= 203)
C. (zm1 > 6) && (zm1 != 203)Twoja odpowiedź
D. (zm1 > 6) && (zm1 <= 203)Poprawna odpowiedź
Niepoprawna odpowiedź. Odpowiedzi, które nie spełniają wymagań przedziału (6, 203], zawierają różne błędne koncepcje związane z użyciem operatorów logicznych. Na przykład, zapis (zm1 > 6) || (zm1 <= 203) implikuje, że wystarczy, aby jeden z warunków był spełniony, co całkowicie mija się z celem ustalenia przedziału. Umożliwienie wartości zm1, która jest mniejsza lub równa 203, niezależnie od tego, czy jest większa niż 6, prowadzi do sytuacji, w której wartości poniżej 6 są również akceptowane, co jest sprzeczne z wymaganym przedziałem. Podobnie, opcja (zm1 > 6) || (zm1 != 203) jest myląca, ponieważ nie uwzględnia wartości równej 203, co również narusza założenia przedziału. Z kolei (zm1 > 6) && (zm1 != 203) zezwala na wartości większe niż 6, ale wyklucza 203, co jest błędne w kontekście zadania. Te przykłady pokazują, jak łatwo można pomylić się w interpretacji warunków logicznych, co podkreśla znaczenie precyzyjnego formułowania warunków w programowaniu. Kluczem do unikania takich pomyłek jest dogłębne zrozumienie operatorów logicznych oraz ich zastosowania w kontekście zdefiniowanych przedziałów, co jest niezbędne, aby tworzyć poprawny i działający kod.

Pytanie 3

Cechą formatu PNG jest:

A. reprezentacja grafiki wektorowej
B. obsługa animacji
C. bezstratna kompresjaTwoja odpowiedź
D. brak obsługi kanału alfa
Poprawna odpowiedź. PNG to rastrowy format graficzny z kompresją bezstratną - przy zapisie nie traci jakości, więc dobrze nadaje się do grafik, logo i zrzutów ekranu z ostrymi krawędziami. Obsługuje też kanał alfa, czyli przezroczystość. Nie zapisuje natomiast animacji (do tego służy GIF) i nie jest formatem wektorowym. Dlatego cechą PNG jest bezstratna kompresja.

Pytanie 4

Którą czynność gwarantującą poprawne wykonanie przedstawionego kodu Java Script, należy wykonać przed pętlą?

var text;
for ( var i = 0; i < tab.length; i++ ) {
  text += tab[i] + "<br>";
}
A. Sprawdzić czy text j est typu znakowego.
B. Zainicjować zmienną text.Poprawna odpowiedź
C. Zadeklarować zmienną i.
D. Sprawdzić rozmiar tabeli tab.Twoja odpowiedź
Niepoprawna odpowiedź. Wygląda na to, że odpowiedź nie była poprawna. Pozostałe opcje, tj. 'Sprawdzić czy text j est typu znakowego', 'Zadeklarować zmienną i', 'Sprawdzić rozmiar tabeli tab', nie są bezpośrednio związane z poprawnym wykonaniem kodu przedstawionego w pętli. Chociaż wszystkie te działania mogą być istotne w różnych kontekstach programowania, w tym przypadku żadne z nich nie gwarantuje poprawnego wykonania kodu. Deklaracja zmiennej 'i' czy sprawdzenie rozmiaru tabeli 'tab' jest często stosowane w pętlach, jednak nie gwarantują one poprawnego działania kodu w pętli bez odpowiedniego zainicjowania zmiennej 'text'. Zrozumienie tego aspektu jest kluczowe dla efektywnego programowania, zarówno w JavaScript, jak i w innych językach programowania.

Pytanie 5

Zapytanie: SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje zwrócenie:

A. imion, numerów PESEL oraz wieku osób w przedziale od 18 do 30 lat
B. imion, numerów PESEL oraz wieku osób, których wiek wynosi 18 lub 30 latTwoja odpowiedź
C. imion, numerów PESEL oraz wieku osób, które mają więcej niż 30 lat
D. imion, nazwisk oraz numerów PESEL osób mających mniej niż 18 lat
Poprawna odpowiedź. Zapytanie SQL, które zostało podane, wykorzystuje klauzulę WHERE z operatorem IN, co oznacza, że wybiera tylko te rekordy, które spełniają określone warunki. W tym przypadku, filtrujemy osoby na podstawie ich wieku, wybierając tylko te, które mają 18 lub 30 lat. W związku z tym, wynik zapytania będzie zawierał imiona, numery PESEL oraz wiek osób, które mają dokładnie 18 lub 30 lat. W praktyce, takie zapytania są niezwykle użyteczne w bazach danych, gdzie często potrzebujemy uzyskać dane dla konkretnej grupy wiekowej. Dobrą praktyką jest również stosowanie takich filtrów, aby unikać błędów w analizach danych i zapewnić, że wyniki są zgodne z oczekiwaniami. Na przykład, jeśli prowadzisz badania demograficzne, możesz chcieć skupić się na określonych grupach wiekowych, co pozwala na bardziej szczegółowe wnioski i lepsze zrozumienie danej populacji."}

Pytanie 6

W tabeli szkola (kolumny: imie, nazwisko, klasa) chcemy wyświetlić wszystkich uczniów klasy 3. Które polecenie jest poprawne?

A.
SELECT * FROM szkola SET klasa = 3
B.
UPDATE szkola SET klasa = 3
C.
SELECT * FROM szkola WHERE klasa = 3
Twoja odpowiedź
D.
DELETE FROM szkola WHERE klasa = 3
Poprawna odpowiedź. Do odczytu danych z warunkiem służy SELECT z klauzulą WHERE. Aby wyświetlić uczniów klasy 3, zapisuje się SELECT * FROM szkola WHERE klasa = 3 - gwiazdka oznacza wszystkie kolumny, a warunek ogranicza wynik do klasy 3. Dlatego to zapytanie jest poprawne.

Pytanie 7

Komenda skierowana do serwera bazy danych, która polega na zbieraniu, wyszukiwaniu lub zmienianiu danych w bazie, nosi nazwę

A. kwerendyPoprawna odpowiedź
B. kopii
C. kolumny
D. formularzaTwoja odpowiedź
Niepoprawna odpowiedź. Formularz to interfejs użytkownika, który umożliwia wprowadzanie informacji, ale nie jest związany z operacjami na bazach danych. To narzędzie wizualne, które może być używane do zbierania danych w sposób zorganizowany, jednak samo w sobie nie wykonuje żadnych operacji na danych w bazie. Koncepcja kolumny odnosi się do struktury tabeli w bazie danych, gdzie kolumny definiują typy danych przechowywanych w danej tabeli, ale nie są one powiązane z wykonywaniem zapytań czy operacji na danych. Kopią można określić duplikat danych lub backup, ale również nie ma ona zastosowania w kontekście wysyłania poleceń do serwera bazy danych. Istnieje ryzyko, że błędne zrozumienie terminów związanych z bazami danych prowadzi do mylnych interpretacji, co może skutkować trudnościami w pracy z danymi. Kluczowe jest zrozumienie, że kwerenda jest specyficznym poleceniem, które oddziałuje na strukturę danych, a nie narzędziem do ich wizualizacji czy opisu. Błędy te mogą prowadzić do niewłaściwego projektowania systemów baz danych oraz do ograniczonej efektywności w realizacji zadań związanych z zarządzaniem danymi.

Pytanie 8

Pole insert_id zdefiniowane w bibliotece MySQLi języka PHP może być wykorzystane do

A. otrzymania kodu błędu, gdy wstawienie wiersza się nie powiodło
B. uzyskania id ostatnio dodanego wierszaPoprawna odpowiedź
C. pobrania najwyższego indeksu bazy, aby po jego zwiększeniu wstawić pod niego dane
D. uzyskania pierwszego dostępnego indeksu bazy, tak, aby można było pod nim wstawić nowe daneTwoja odpowiedź
Niepoprawna odpowiedź. Każda z niepoprawnych odpowiedzi zawiera błędne założenia dotyczące funkcji insert_id w kontekście MySQLi. Odpowiedź, która sugeruje, że pole to może być użyte do otrzymania kodu błędu w przypadku niepowodzenia procesu wstawiania wiersza, jest myląca, ponieważ kod błędu jest uzyskiwany za pomocą innych mechanizmów, takich jak mysqli_errno() oraz mysqli_error(). Takie podejście może prowadzić do nieporozumień w zarządzaniu błędami w bazach danych, co jest istotnym aspektem programowania. Ponadto, pomysł, że insert_id może być używany do pobrania najwyższego indeksu bazy, aby po jego inkrementacji wstawić nowe dane jest nieprawidłowy, ponieważ insert_id nie działa w ten sposób; identyfikator jest automatycznie generowany przez bazę danych w momencie dodawania rekordu. Takie podejście może prowadzić do trudności w synchronizacji danych i jest niezgodne z zasadami dobrego projektowania baz danych. Również koncepcja pozyskiwania pierwszego wolnego indeksu jest błędna; w praktyce nie jest zalecane ręczne zarządzanie indeksami, ponieważ może to prowadzić do konfliktów i naruszenia integralności danych. MySQL automatycznie zarządza numerami ID, co jest bardziej efektywne i zmniejsza ryzyko błędów. Wreszcie, stosując te nieprawidłowe koncepcje, programiści mogą napotkać trudności w utrzymaniu kodu i jego rozwoju, co może zwiększyć złożoność aplikacji.

Pytanie 9

W poniższym zapisie CSS kolor zielony zostanie zastosowany do

h2
{
    background-color: green;
}
A. czcionki nagłówka drugiego poziomu
B. tła całej witryny
C. czcionki wszystkich nagłówków na stronie
D. tła tekstu nagłówka drugiego poziomuTwoja odpowiedź
Poprawna odpowiedź. Zapis CSS h2 { background-color: green; } oznacza, że każdemu elementowi nagłówka drugiego stopnia przypisany zostanie zielony kolor tła. W CSS selektor h2 odnosi się bezpośrednio do wszystkich elementów HTML o tagu <h2>. Właściwość background-color służy do definiowania koloru tła elementu, nie wpływając na kolor czcionki samego nagłówka. W praktyce takie podejście pozwala na wyraźne wyróżnienie nagłówków na tle innych elementów strony, co może być kluczowe dla poprawy czytelności. Przyjęte w kodzie standardy zapewniają zgodność z najnowszymi wytycznymi W3C, pozwalając na efektywne zarządzanie stylami w projekcie. Wiedza o tym jak stylizować nagłówki za pomocą background-color jest fundamentalna dla każdego web developera, umożliwiając tworzenie atrakcyjnych i czytelnych interfejsów użytkownika w sposób zgodny z zasadami responsywnego projektowania. Ponadto, stosowanie takich stylizacji wspiera semantyczne podejście do strukturyzacji treści, co jest ważne dla optymalizacji SEO.

Pytanie 10

Do podzbioru DML (ang. Data Manipulation Language) języka SQL należą polecenia:

A.
INSERT, UPDATE, DELETE
Twoja odpowiedź
B.
BEGIN, COMMIT, ROLLBACK
C.
CREATE, DROP, ALTER
D.
GRANT, REVOKE, DENY
Poprawna odpowiedź. Prawidłowo – INSERT, UPDATE i DELETE to klasyczne polecenia z podzbioru DML (Data Manipulation Language) w SQL. DML służy do manipulowania danymi już zapisanymi w tabelach, a nie do tworzenia struktury bazy. Można sobie to skojarzyć z pracą na rekordach: dodajemy nowe wiersze, zmieniamy istniejące, usuwamy niepotrzebne. INSERT wstawia nowe rekordy do tabeli, np. gdy zapisujesz nowego użytkownika w systemie logowania: INSERT INTO users(login, haslo) VALUES ('jan', 'tajne');. UPDATE modyfikuje dane, np. zmianę hasła albo adresu e‑mail: UPDATE users SET email='[email protected]' WHERE id=5;. DELETE usuwa rekordy, np. nieaktywne konta: DELETE FROM users WHERE active=0;. W praktyce webowej te trzy polecenia działają zwykle razem z transakcjami i warunkami WHERE, żeby nie „przestrzelić” i nie ruszyć zbyt wielu wierszy. Standard SQL (ANSI/ISO) właśnie te komendy zalicza typowo do DML, obok instrukcji SELECT, która też jest często traktowana jako część DML, ale w wielu materiałach omawia się ją osobno, jako zapytania wybierające dane. Dobra praktyka jest taka, żeby przy UPDATE i DELETE zawsze podawać sensowny warunek WHERE i często używać LIMIT/TRANSACTION, szczególnie w aplikacjach produkcyjnych. Moim zdaniem warto od początku myśleć o DML w kontekście logiki biznesowej aplikacji: formularz rejestracji to INSERT, edycja profilu to UPDATE, usunięcie konta to DELETE – i nagle wszystko układa się w bardzo logiczną całość.

Pytanie 11

Aby wprowadzić rekord do tabeli Pracownicy, jakie polecenie SQL należy zastosować?

A.
INSERT VALUES Pracownicy INTO (Jan, Kowalski);
B.
INSERT VALUES (Jan, Kowalski) INTO Pracownicy;
C.
INSERT (Jan, Kowalski) INTO Pracownicy;
D.
INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);
Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź 'INSERT INTO Pracownicy (imie, nazwisko) VALUES (Jan, Kowalski);' jest poprawna, ponieważ jest zgodna z ogólną składnią polecenia SQL do dodawania danych do tabeli. W składni tej najpierw wskazujemy, do której tabeli chcemy wprowadzić dane, używając frazy 'INSERT INTO', a następnie w nawiasach podajemy nazwy kolumn, do których mają być wprowadzone wartości. Wartości te umieszczamy po słowie kluczowym 'VALUES', również w nawiasach. Takie podejście jest zgodne z normami SQL i zapewnia, że dane będą poprawnie wstawione. Przykładem praktycznym może być dodanie nowego pracownika do bazy danych firmy, co jest kluczowym elementem zarządzania informacjami o pracownikach. Prawidłowa składnia pozwala również na łatwe wprowadzenie wielu rekordów jednocześnie, co jest efektywne w dużych systemach baz danych. Ponadto, użycie poprawnej składni ułatwia przyszłe modyfikacje oraz optymalizację zapytań, co jest istotne w kontekście dobrą praktyką w programowaniu baz danych.

Pytanie 12

W CSS zapis w postaci

h1::first-letter{color:red;}
spowoduje, że kolor czerwony będzie dotyczył
A. pierwszej linii akapitu
B. pierwszej litery nagłówka drugiego poziomu
C. pierwszej litery nagłówka pierwszego poziomuTwoja odpowiedź
D. tekstów nagłówka pierwszego poziomu
Poprawna odpowiedź. Zapis CSS h1::first-letter {color: red;} odnosi się do selektora pseudo-elementu first-letter, który jest używany do stylizacji pierwszej litery bloku tekstowego w nagłówkach. W tym wypadku, gdy selektor jest zastosowany do elementu h1, oznacza to, że kolor pierwszej litery nagłówka pierwszego stopnia (h1) zostanie zmieniony na czerwony. Pseudo-element first-letter działa tylko dla elementów blokowych, takich jak nagłówki, akapity czy listy. W praktyce, jeśli w dokumencie HTML mamy element <h1> z tekstem, np. 'Witaj świecie', to wyłącznie litera 'W' zostanie wyświetlona w kolorze czerwonym. To podejście jest zgodne ze standardami CSS, które definiują pseudo-elementy jako specyficzne fragmenty dokumentu, które można stylizować niezależnie od reszty zawartości. Warto również zauważyć, że stosowanie takich selektorów pozwala na uzyskanie bardziej złożonych efektów wizualnych bez konieczności modyfikacji struktury HTML. Umożliwia to projektantom stron internetowych większą elastyczność i kontrolę nad estetyką treści.

Pytanie 13

Czego NIE da się zrobić w języku PHP?

A. wygenerować dynamiczną treść strony
B. wykonać operacji na danych w bazie
C. dynamicznie zmienić treść strony HTML już w przeglądarceTwoja odpowiedź
D. obsłużyć danych z formularzy
Poprawna odpowiedź. PHP wykonuje się na SERWERZE i tworzy gotowy HTML wysyłany do przeglądarki - więc gdy strona już się wyświetla u użytkownika, PHP nie może jej dalej zmieniać „na żywo”. Dynamiczne modyfikacje po stronie klienta (np. ukrycie elementu po kliknięciu, bez przeładowania) to zadanie JavaScriptu. Zapamiętaj granicę: PHP buduje stronę przed wysłaniem, JS zmienia ją już w przeglądarce.

Pytanie 14

Na tabeli 'dania', której wiersze zostały pokazane, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze 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. 2Twoja odpowiedź
B. 13
C. 5
D. 8
Poprawna odpowiedź. Kwerenda SQL zawarta w pytaniu to `SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;`. Analizując tę kwerendę, możemy zauważyć, że wybiera ona wiersze z tabeli `dania`, gdzie wartość kolumny `typ` jest mniejsza niż 3 oraz wartość kolumny `cena` jest mniejsza niż 30. Sprawdźmy dane w tabeli: dla `typ` 1 mamy trzy dania: Gazpacho (cena 20), Krem z warzyw (cena 25) oraz Gulaszowa ostra (cena 30), z których dwa pierwsze spełniają warunek dotyczący ceny. Dla `typ` 2 mamy Kaczkę i owoc (cena 30), Kurczaka pieczonego (cena 40) oraz Wieprzowy przysmak (cena 35), które nie spełniają wymogu ceny. W rezultacie, wiersze, które spełniają oba warunki to: Gazpacho oraz Krem z warzyw. Zatem kwerenda wybierze 2 wiersze. W kontekście praktycznym, umiejętność tworzenia filtrów w kwerendach SQL jest kluczowa w analizie danych oraz w tworzeniu raportów, co jest bardzo istotne w pracy z bazami danych.

Pytanie 15

Tabela Pracownicy zawiera informacje na temat pracowników różnych działów, co jest zaznaczone przez pole liczbowe dzial. Z racji tego, że zazwyczaj kwerendy dotyczą tylko działu 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A.
VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2;
B.
CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;
Twoja odpowiedź
C.
VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
D.
CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
Poprawna odpowiedź. Odpowiedź 'CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;' jest poprawna, ponieważ wykorzystuje standardowe polecenie SQL do tworzenia widoku. Widok jest wirtualną tabelą, która umożliwia użytkownikom wykonywanie zapytań w oparciu o wcześniej zdefiniowane kryteria, co może znacznie uprościć złożoność zapytań w bazach danych. W tym przypadku, widok 'Prac_dzial2' automatycznie filtruje dane, zwracając jedynie pracowników przypisanych do działu 2. Przy pomocy tego widoku, użytkownicy mogą szybko uzyskać dostęp do tego subsetu danych bez konieczności każdorazowego pisania złożonych zapytań. Z perspektywy zarządzania bazą danych, tworzenie widoków jest uznawane za dobrą praktykę, ponieważ pozwala na lepszą organizację i bezpieczeństwo danych, a także stanowi dodatkową warstwę abstrakcji, która może ułatwić stosowanie polityk dostępu. Na przykład, jeśli firma zmieni strukturę działów, wystarczy zaktualizować definicję widoku, co nie wymaga modyfikacji wszystkich zapytań korzystających z tego widoku.

Pytanie 16

Który zapis służy do zdefiniowania klucza obcego w MySQL?

A.
FOREIGN KEY(ID)
Twoja odpowiedź
B.
AUTO_INCREMENT(ID)
C.
UNIQUE KEY(ID)
D.
PRIMARY KEY(ID)
Poprawna odpowiedź. W MySQL klucz obcy definiuje się zapisem FOREIGN KEY(ID) - wiąże kolumnę z kluczem głównym tabeli nadrzędnej, zapewniając integralność relacji. Dlatego klucz obcy tworzy FOREIGN KEY(ID).

Pytanie 17

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

A. CDR
B. JPEGTwoja odpowiedź
C. PNGPoprawna odpowiedź
D. BMP
Niepoprawna odpowiedź. Format JPG (Joint Photographic Experts Group) jest powszechnie stosowany do zdjęć i grafik z dużą ilością kolorów, ale nie obsługuje przezroczystości. Z tego powodu nie sprawdzi się w przypadku logo, które wymaga przezroczystego tła. JPG jest formatem kompresji stratnej, co oznacza, że z każdym zapisaniem obrazu, jakość ulega pogorszeniu, co jest nieakceptowalne w kontekście profesjonalnego logo. BMP (Bitmap) to format, który oferuje bardzo wysoką jakość obrazu, ale jego pliki są znacznie większe, co może wpływać na czas ładowania strony internetowej. BMP nie obsługuje przezroczystości tła, co również czyni go niewłaściwym wyborem dla logo, które ma być umieszczone na różnych kolorowych tłach. CDR (CorelDRAW) to natomiast format plików wektorowych używany przede wszystkim w aplikacji CorelDRAW. Chociaż grafika wektorowa jest doskonała do tworzenia logo, format CDR nie jest standardem w sieci i nie może być bezpośrednio użyty na stronach internetowych bez konwersji do odpowiednich formatów rastrowych, jak PNG czy JPG. Dla powyższych powodów, wybór formatu PNG jest najbardziej logiczny i praktyczny w kontekście umieszczania logo na stronie internetowej.

Pytanie 18

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.Twoja odpowiedź
B. sumy.
C. części wspólnej.
D. wykluczenia.
Poprawna odpowiedź. Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 19

Przedstawiony fragment kodu PHP ma za zadanie umieścić dane znajdujące się w zmiennych $a, $b, $c w bazie danych, w tabeli dane. Tabela dane zawiera cztery pola, z czego pierwsze to autoinkrementowany klucz główny. Które z poleceń powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A.
INSERT INTO dane VALUES ('$a', '$b', '$c');
B.
SELECT '$a', '$b', '$c' FROM dane;
C.
SELECT NULL, '$a', '$b', '$c' FROM dane;
D.
INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');
Twoja odpowiedź
Poprawna odpowiedź. Właściwe polecenie to 'INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');'. Użycie NULL w pierwszym polu pozwala na automatyczne ustawienie wartości klucza głównego, co jest zgodne z zasadą autoinkrementacji w bazach danych. Wartości zmiennych $a, $b i $c są wstawiane do kolejnych pól tabeli, co jest standardową praktyką w przypadku dodawania nowych rekordów do bazy danych. Dobrą praktyką jest również stosowanie przygotowanych zapytań, aby zminimalizować ryzyko ataków typu SQL injection. Można to osiągnąć za pomocą funkcji mysqli_prepare, co zwiększa bezpieczeństwo aplikacji. W kontekście standardów branżowych, PostgreSQL oraz MySQL stosują podobne zasady dotyczące wstawiania danych, co czyni tę wiedzę uniwersalną dla różnych systemów zarządzania bazami danych. Warto również zrozumieć, że wstawianie danych bezpośrednio przy użyciu zmiennych bez walidacji może prowadzić do błędów, dlatego zaleca się ich odpowiednie przetwarzanie przed wykonaniem zapytania.

Pytanie 20

Polecenie MySQL:

ALTER TABLE ksiazki
    MODIFY tytul VARCHAR(100) NOT NULL;
Przedstawione polecenie MySQL ma za zadanie
A. usunąć kolumnę tytul z tabeli ksiazki
B. zmienić typ kolumny tytul w tabeli ksiazkiPoprawna odpowiedź
C. zmienić nazwę kolumny w tabeli ksiazki
D. dodać do tabeli ksiazki kolumnę tytulTwoja odpowiedź
Niepoprawna odpowiedź. Zaprezentowane odpowiedzi, które są niepoprawne, zawierają kilka istotnych błędów w interpretacji polecenia ALTER TABLE. Usunięcie kolumny tytul z tabeli ksiazki jest działaniem, które można zrealizować za pomocą polecenia DROP COLUMN, a nie ALTER, które służy do zmiany istniejących elementów. W kontekście bazy danych, usunięcie kolumny wiąże się z nieodwracalnym utratą wszystkich danych w tej kolumnie, co stanowi poważne zagrożenie dla integralności danych. Dodanie kolumny do tabeli również jest mylnie zrozumiane, ponieważ polecenie ALTER TABLE w tym przypadku nie wykonuje operacji ADD COLUMN, lecz MODIFY, co oznacza modyfikację istniejącej kolumny. Zmiana nazwy kolumny również nie dotyczy tego zapytania, gdyż do tego celu należałoby użyć polecenia RENAME COLUMN. Przykłady te pokazują, jak ważne jest zrozumienie specyfiki poleceń SQL oraz ich zastosowań w kontekście zarządzania bazami danych. Każda z tych niepoprawnych odpowiedzi pomija kluczowe funkcjonalności oraz różnice między operacjami na tabelach, które są fundamentalne dla efektywnego zarządzania danymi.

Pytanie 21

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. musi być unikalnaPoprawna odpowiedź
B. może mieć wartość pustą (NULL)Twoja odpowiedź
C. jest zawsze w formacie numerycznym
D. jest wykorzystywana do szyfrowania treści tabeli
Niepoprawna odpowiedź. Istnieje wiele nieporozumień związanych z koncepcją klucza podstawowego w bazach danych. Po pierwsze, stwierdzenie, że klucz podstawowy zawsze musi być numeryczny, jest błędne. Klucze podstawowe mogą być zdefiniowane na podstawie różnych typów danych, takich jak tekst, daty czy inne formaty, pod warunkiem, że wartości te są unikalne. W rzeczywistości, wiele systemów zarządzania bazami danych (DBMS) wspiera klucze podstawowe oparte na typach tekstowych, na przykład numery identyfikacyjne użytkowników mogą być reprezentowane jako ciągi znaków. Kolejnym błędnym założeniem jest, że klucz podstawowy może przyjmować wartość pustą (NULL). W kontekście relacyjnych baz danych, klucz podstawowy nie może mieć wartości NULL, ponieważ jego podstawową funkcją jest jednoznaczna identyfikacja rekordów, a wartość pusta uniemożliwia taką identyfikację. Szyfrowanie zawartości tabeli przez klucz podstawowy również jest mylącym podejściem; klucz podstawowy nie służy do zabezpieczania danych, lecz do ich identyfikacji. W praktyce, aby zapewnić bezpieczeństwo danych, stosuje się inne metody, takie jak szyfrowanie danych w polach tabeli, a nie na poziomie klucza podstawowego. Takie nieporozumienia mogą prowadzić do poważnych błędów w projektowaniu baz danych oraz w ich późniejszym użytkowaniu, dlatego kluczowe jest zrozumienie podstawowych zasad funkcjonowania kluczy w kontekście relacyjnych baz danych.

Pytanie 22

Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:

A.
ENUM
B.
INTEGER(11)
C.
TINYTEXT
D.
DECIMAL(10, 2)
Twoja odpowiedź
Poprawna odpowiedź. Do przechowywania kwot najlepiej nadaje się typ DECIMAL (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla FLOAT/DOUBLE. Zapis DECIMAL(10, 2) oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest DECIMAL(10, 2).

Pytanie 23

Prawa CREATE, ALTER, DROP nadane w GRANT dotyczą:

A. pracy ze STRUKTURĄ bazyTwoja odpowiedź
B. pobierania danych z bazy
C. przyznawania uprawnień innym
D. pracy z danymi
Poprawna odpowiedź. Polecenia CREATE, ALTER i DROP należą do języka DEFINICJI danych (DDL) - tworzą, zmieniają i usuwają OBIEKTY bazy (tabele, widoki). Nadanie tych praw w GRANT pozwala więc ingerować w STRUKTURĘ bazy, a nie w same dane. Zapamiętaj: CREATE/ALTER/DROP kształtują „szkielet” bazy.

Pytanie 24

W języku HTML zapisano formularz. Który z efektów działania poniższego kodu zostanie wyświetlony przez przeglądarkę, zakładając, że w pierwsze pole użytkownik wpisał wartość "Przykładowy tekst"?

<form>
    <textarea rows="3" cols="30"></textarea><br>
    <input type="checkbox"> Opcja1<br>
    <input type="checkbox"> Opcja2
</form>
Ilustracja do pytania
A. Efekt 4.
B. Efekt 1.
C. Efekt 3.
D. Efekt 2.Twoja odpowiedź
Poprawna odpowiedź. Twoja odpowiedź jest poprawna. Wybrałeś odpowiedź 'Efekt 2', która jest zgodna z zachowaniem formularza HTML w opisanym scenariuszu. Formularz zawiera pole tekstowe i dwa pola typu checkbox. Kiedy wpiszesz do pola tekstowego wartość 'Przykładowy tekst' i wyświetlisz formularz w przeglądarce, zobaczysz ten tekst w polu tekstowym oraz dwa pola wyboru typu checkbox poniżej z etykietami 'Opcja1' i 'Opcja2'. To dokładnie taki układ, co pokazuje Efekt 2. Tworzenie formularzy HTML to ważna umiejętność w projektowaniu stron internetowych. Pozwalają one na interakcję z użytkownikiem oraz zbieranie od niego informacji. Pamiętaj, że dobry formularz powinien być intuicyjny w użyciu i jasno prezentować swoje funkcje użytkownikowi.

Pytanie 25

Który modyfikator dostępu sprawia, że pole klasy jest dostępne z dowolnego miejsca programu?

A.
protected
B.
public
Twoja odpowiedź
C.
published
D.
private
Poprawna odpowiedź. Modyfikator public oznacza, że pole lub metoda są dostępne z każdego miejsca programu - z wnętrza klasy, z klas dziedziczących i z kodu zewnętrznego. To najszerszy poziom dostępu. Stosuje się go do elementów, które mają stanowić publiczny interfejs obiektu. Dlatego dostęp zewsząd zapewnia public.

Pytanie 26

Czym różnią się polecenia DROP TABLE i TRUNCATE TABLE?

A. oba usuwają tabelę z zawartością, ale TRUNCATE da się cofnąć
B. DROP TABLE usuwa tabelę, a TRUNCATE TABLE usuwa wszystkie dane, zostawiając pustą tabelęPoprawna odpowiedź
C. oba usuwają tylko zawartość, ale tylko DROP TABLE da się cofnąćTwoja odpowiedź
D. DROP TABLE usuwa tabelę, a TRUNCATE TABLE zmienia w niej dane wg warunku
Niepoprawna odpowiedź. Trzeba odróżnić usunięcie tabeli od jej opróżnienia. TRUNCATE nie usuwa danych „wg warunku” (to robi DELETE ... WHERE) - kasuje WSZYSTKIE wiersze naraz. DROP nie zostawia pustej tabeli, lecz usuwa ją w całości. Różnica: DROP TABLE usuwa tabelę, a TRUNCATE TABLE tylko jej zawartość, zostawiając pustą strukturę.

Pytanie 27

Kanał alfa jest wykorzystywany do określenia

A. podstawowych właściwości obiektu graficznegoTwoja odpowiedź
B. przezroczystości grafiki obiektuPoprawna odpowiedź
C. wybranego fragmentu grafiki obiektu
D. jasności oraz kontrastu barw
Niepoprawna odpowiedź. Jasność i kontrast kolorów, zaznaczony fragment obiektu graficznego oraz podstawowe parametry obiektu graficznego to elementy, które są nieodłącznie związane z przetwarzaniem i wyświetlaniem grafik, jednak nie mają one związku z kanałem alfa. Jasność i kontrast dotyczą modyfikacji kolorystycznych, które wpływają na intensywność i różnice w odcieniach, ale nie dotyczą one przezroczystości. W kontekście projektowania graficznego, zmiana jasności może wpływać na to, jak widz odbiera daną grafikę, lecz nie ma to związku z przezroczystością, która jest kluczowa przy tworzeniu efektów takich jak cienie czy zmiany tła. Zaznaczony fragment obiektu graficznego odnosi się raczej do technik edycyjnych, takich jak maskowanie, które pozwala na wyodrębnienie określonych części obrazu, ale także nie dotyczy kanału alfa. Podstawowe parametry obiektu graficznego obejmują takie aspekty jak rozmiar, kształt, i lokalizacja, co również nie jest związane z kanałem alfa. Pojęcia te są często mylone, ponieważ wszystkie dotyczą atrakcyjności wizualnej, ale ich zrozumienie jest istotne dla skutecznego wykorzystania narzędzi graficznych. Typowym błędem myślowym jest zakładanie, że wszystkie aspekty obróbki obrazu odnoszą się do jednego, ogólnego pojęcia; w rzeczywistości każdy z tych elementów ma swoje unikalne zastosowania i funkcje w grafice komputerowej.

Pytanie 28

Weryfikację kompletności formularza, działającą po stronie przeglądarki, należy zrealizować w języku

A. JavaScriptTwoja odpowiedź
B. Ruby on Rails
C. PHP
D. CSS
Poprawna odpowiedź. Poprawna odpowiedź to JavaScript, bo właśnie ten język działa bezpośrednio w przeglądarce użytkownika i pozwala na dynamiczną weryfikację formularzy jeszcze przed wysłaniem danych na serwer. JavaScript ma dostęp do drzewa DOM, więc może odczytać wartości pól, sprawdzić, czy nie są puste, czy e‑mail ma poprawny format, czy hasło ma odpowiednią długość, a nawet czy dwa pola hasła są identyczne. Z mojego doświadczenia to jest absolutny standard w nowoczesnych aplikacjach webowych: najpierw lekka walidacja po stronie klienta w JS, a dopiero potem solidna walidacja po stronie serwera.
Dobrym przykładem jest formularz rejestracji: po wpisaniu zbyt krótkiego hasła JavaScript może od razu wyświetlić komunikat pod polem, bez przeładowania strony. Można też blokować przycisk „Wyślij”, dopóki wszystkie wymagane pola nie są poprawnie wypełnione. W praktyce często używa się zdarzeń takich jak onsubmit na formularzu albo input/blur na polach, żeby na bieżąco sprawdzać dane. Można też korzystać z gotowych bibliotek walidacyjnych, ale pod spodem i tak pracuje JavaScript.
W dobrych praktykach przyjmuje się zasadę: walidacja po stronie klienta poprawia wygodę i szybkość obsługi (user experience), ale nie zastępuje walidacji po stronie serwera. JavaScript służy więc do „pierwszej linii obrony” i podpowiedzi użytkownikowi, a serwer (np. w PHP czy innym języku backendowym) musi i tak wszystko jeszcze raz sprawdzić ze względów bezpieczeństwa. Warto też pamiętać o wykorzystaniu wbudowanych mechanizmów HTML5 (atrybuty required, type="email" itd.), ale to JavaScript daje pełną kontrolę nad logiką i komunikatami błędów, bo pozwala tworzyć własne reguły i reagować na konkretne zachowania użytkownika.

Pytanie 29

Jaki minimalny kontrast tekstu (standardowego rozmiaru) do tła wymaga WCAG 2.x na poziomie AA?

A. 1,5 : 1
B. 4,5 : 1Twoja odpowiedź
C. 2,5 : 1
D. 2,0 : 1
Poprawna odpowiedź. Wytyczne WCAG 2.x na poziomie AA wymagają dla tekstu standardowego rozmiaru minimalnego kontrastu 4,5:1 między kolorem tekstu a tłem - to zapewnia czytelność m.in. osobom słabowidzącym. Dla dużego tekstu próg jest niższy (3:1). Dlatego minimalny kontrast AA to 4,5:1.

Pytanie 30

Którego znacznika można użyć do grupowania elementów w blok?

A.
<param>
B.
<p>
C.
<span>
Twoja odpowiedź
D.
<div>
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe znaczniki nie są uniwersalnym pojemnikiem blokowym. <p> reprezentuje akapit tekstu i nie służy do grupowania dowolnych elementów (nie powinien np. zawierać innych bloków). <span> jest pojemnikiem liniowym (inline) - grupuje fragmenty w obrębie wiersza, np. po to, by ostylować pojedyncze słowo, a nie cały blok. <param> w ogóle nie grupuje treści - przekazywał parametry do osadzonych obiektów. Do grupowania elementów w blok służy <div>, dlatego to on jest poprawny.

Pytanie 31

Baza danych przechowuje dane multimedialne (duże ilości danych binarnych). Którego typu danych należy użyć dla takich pól?

A.
LONGTEXT
Twoja odpowiedź
B.
DOUBLE
C.
BLOB
Poprawna odpowiedź
D.
ENUM
Niepoprawna odpowiedź. Pozostałe typy nie nadają się do danych binarnych. ENUM pozwala przechować tylko jedną z wcześniej zdefiniowanych wartości tekstowych (np. „mały”, „duży”) - to typ wyliczeniowy, nie magazyn plików. DOUBLE to liczba zmiennoprzecinkowa, służąca do wartości ułamkowych. LONGTEXT przechowuje wprawdzie dużo danych, ale TEKSTOWYCH, z kodowaniem znaków, więc surowe bajty obrazu mógłby zniekształcić. Dane binarne multimediów trzyma się w polu typu BLOB, dlatego to on jest poprawny.

Pytanie 32

Za pomocą którego protokołu można bezpiecznie (z szyfrowaniem) przesłać pliki strony internetowej na serwer WWW?

A. POP3
B. IMAP
C. SFTPTwoja odpowiedź
D. Telnet
Poprawna odpowiedź. SFTP (SSH File Transfer Protocol) przesyła pliki w ramach sesji SSH, dlatego cała komunikacja - zarówno dane plików, jak i login oraz hasło - jest szyfrowana. To właśnie czyni go bezpiecznym sposobem na wgranie plików witryny (HTML, CSS, JavaScript, grafik) na serwer WWW: nawet w sieci publicznej nikt postronny nie odczyta przesyłanej zawartości ani danych logowania. SFTP działa na jednym połączeniu (domyślnie port 22) i pozwala nie tylko kopiować pliki, ale też tworzyć katalogi, zmieniać nazwy czy usuwać pliki na serwerze. Dlatego przy publikacji strony, gdy zależy nam na poufności transferu, wybieramy SFTP zamiast klasycznego, nieszyfrowanego FTP.

Pytanie 33

Znacznik <s> w HTML skutkuje

A. pochylaniem tekstu
B. przekreślaniem tekstuTwoja odpowiedź
C. migotaniem tekstu
D. podkreślaniem tekstu
Poprawna odpowiedź. Znacznik <s> w HTML jest używany, żeby pokazać tekst, który jest przekreślony. To zazwyczaj oznacza, że coś jest już nieaktualne lub błędne. W HTML5 ten znacznik jest semantyczny, więc poprawia czytelność strony i ułatwia korzystanie z niej. Na przykład, jeśli autor tekstu chce zaznaczyć, że cena produktu się zmieniła, to mogą użyć <s>, żeby pokazać starą cenę, jak <s>100 zł</s> obok nowej <strong>80 zł</strong>. Dzięki temu przeglądarki dobrze to wyświetlają, a to jest fajne w kontekście zakupów online, blogów czy dokumentacji. Dodatkowo, użycie <s> może pomóc w SEO, bo lepiej oznaczony tekst jest łatwiejszy do zrozumienia dla wyszukiwarek, co może przyciągnąć więcej osób na stronę.

Pytanie 34

W tabeli mieszkancy znajdują się dane o osobach z całego kraju. Aby ustalić, ile unikalnych miast występuje w tej tabeli, trzeba zapisać kwerendę

A.
SELECT COUNT(miasto) FROM mieszkancy DISTINCT;
Twoja odpowiedź
B.
SELECT COUNT(miasto) FROM mieszkancy;
C.
SELECT COUNT(DISTINCT miasto) FROM mieszkancy;
Poprawna odpowiedź
D.
SELECT DISTINCT miasto FROM mieszkancy;
Niepoprawna odpowiedź. Wybór odpowiedzi, która polega na użyciu tylko funkcji COUNT, jak w "SELECT COUNT(miasto) FROM mieszkancy;" nie jest najlepszy. To zapytanie zlicza wszystkie wystąpienia miast, w tym duplikaty, więc dostajesz łączną liczbę wierszy w kolumnie 'miasto', a to nie pokazuje, ile tak naprawdę jest unikalnych miejscowości. Moim zdaniem, ta pomyłka może prowadzić do złych wniosków, bo nie uwzględniasz różnorodności danych. Użycie DISTINCT, na przykład w "SELECT DISTINCT miasto FROM mieszkancy;", też nie daje ci liczby unikalnych miast, tylko listę ich. Niektórzy mogą myśleć, że wystarczy wylistować unikalne wartości, żeby wiedzieć, ile ich jest, ale to błędne podejście do zliczania. A ta odpowiedź "SELECT COUNT(miasto) FROM mieszkancy DISTINCT;" jest też niepoprawna, bo nie możesz używać DISTINCT w takim kontekście. Z doświadczenia wiem, że zrozumienie zasad dotyczących funkcji agregujących i filtrujących w SQL jest naprawdę kluczowe, jeśli chcesz dobrze zarządzać danymi i prowadzić sensowne analizy. Dlatego warto zastanowić się nad tym, jak używasz tych funkcji, żeby uniknąć typowych błędów przy interpretacji wyników zapytań w bazach danych.

Pytanie 35

Jakie jest poprawne zapisanie tagu HTML?

<a href="#hobby">przejdź</a>
A. jest prawidłowy, po kliknięciu w odnośnik otworzy się strona pod adresem "hobby"
B. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do elementu o nazwie "hobby"Poprawna odpowiedź
C. jest błędny, w atrybucie href powinien być podany adres URLTwoja odpowiedź
D. jest błędny, użyto niewłaściwego znaku # w atrybucie href
Niepoprawna odpowiedź. Znaczniki HTML są podstawowym narzędziem tworzenia stron internetowych a ich prawidłowe zastosowanie ma kluczowe znaczenie dla funkcjonalności i użyteczności witryny. W omawianym przypadku atrybut href='#hobby' używa tzw. kotwicy która służy do nawigacji wewnętrznej w obrębie jednej strony. Linki wewnętrzne są istotne gdyż pozwalają na szybkie przeskakiwanie do określonych sekcji dokumentu. W odpowiedziach błędnych zauważalne są pewne nieporozumienia. Po pierwsze jeśli w href użyto adresu URL bez znaku hash oznacza to próbę przekierowania na zupełnie inną stronę co jest niepoprawne w kontekście nawigacji wewnętrznej. Podanie pełnego adresu URL jest wymagane jedynie gdy chcemy przejść do innej strony internetowej. Znak hash w tym kontekście jest poprawny gdyż wskazuje na docelowy identyfikator wewnątrz tej samej strony. Jest to zgodne z praktykami tworzenia przejrzystych i funkcjonalnych interfejsów użytkownika. Nieprawidłowe interpretacje mogą wynikać z braku zrozumienia jak działają kotwice w HTML co może prowadzić do błędów w projektowaniu doświadczenia użytkownika oraz kodu o niskiej użyteczności. Edukacja i praktyka w używaniu standardowych znaczników HTML jest niezbędna dla tworzenia profesjonalnych projektów internetowych które są przyjazne dla użytkowników i działają zgodnie z oczekiwaniami. Rozumienie tych zasad pozwala na tworzenie stron zgodnych z najlepszymi praktykami branżowymi co ma kluczowe znaczenie dla współczesnych wymagań projektowych i użytkowych.

Pytanie 36

Która z funkcji zdefiniowanych w języku PHP zwraca jako wynik połowę kwadratu wartości podanej jako argument?

A.
function licz($a) { return $a/2; }
B.
function licz($a) { echo $a/2; }
Twoja odpowiedź
C.
function licz($a) { echo $a*$a/2; }
D.
function licz($a) { return $a*$a/2; }
Poprawna odpowiedź
Niepoprawna odpowiedź. Niepoprawne odpowiedzi najczęściej wynikają z nieporozumień dotyczących działania funkcji w PHP. Na przykład, jeśli używasz 'echo' zamiast 'return', to funkcja nie oddaje wartości tam, gdzie jest wywołana. A to może być problematyczne, gdy naprawdę potrzebujemy tej wartości, jak na przykład do przypisania do zmiennej. Funkcje w stylu 'function licz($a) { echo $a/2; }' po prostu dzielą przez 2, a nie obliczają kwadratu, więc to nie spełnia wymagań pytania. Błędem jest mylenie 'echo' z 'return', bo to wprowadza zamieszanie i może prowadzić do trudności w naprawianiu błędów. Zrozumienie tej różnicy jest kluczowe, bo naprawdę pomaga w napisaniu czystego i modularnego kodu, co w programowaniu ma ogromne znaczenie.

Pytanie 37

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
B. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej nTwoja odpowiedź
C. Wyświetli długość tekstu ze zmiennej n
D. Przypisze zmienną n do zmiennej s
Poprawna odpowiedź. W języku JavaScript właściwość length dla obiektów typu String zwraca liczbę znaków w danym napisie. W przedstawionym fragmencie skryptu zmiennej n przypisano wartość stringa 'Napis1'. Kiedy używamy n.length uzyskujemy długość tego stringa czyli liczbę 6 ponieważ są w nim dokładnie sześć znaków. Następnie tę wartość przypisujemy zmiennej s co oznacza że s przechowuje liczbę 6. Jest to użyteczne w wielu sytuacjach takich jak walidacja danych wejściowych w formularzach sprawdzanie czy dany tekst mieści się w określonych limitach lub po prostu kontrola poprawności danych w procesach biznesowych. Wartość length jest często stosowana w pętlach do iteracji przez każdy znak w stringu lub w operacjach takich jak odcinanie fragmentów tekstu. Praktyka korzystania z length jest standardem w programowaniu webowym i zaliczana jest do dobrych praktyk ponieważ umożliwia łatwą manipulację tekstowymi danymi i kontrolę ich wymiaru co bywa krytyczne zwłaszcza w aplikacjach o dużej skali gdzie efektywność i klarowność kodu mają znaczenie kluczowe.

Pytanie 38

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A.
<em> </em>
B.
<u> </u>
C.
<s> </s>
Twoja odpowiedź
D.
<b> </b>
Poprawna odpowiedź. Element <s> w HTML służy do oznaczania tekstu jako nieaktualnego, błędnego albo już nieobowiązującego poprzez jego przekreślenie. Przeglądarka domyślnie renderuje taki fragment z poziomą linią przez środek tekstu. W praktyce używa się go np. przy cenach promocyjnych: <p>Stara cena: <s>199 zł</s> Nowa cena: 149 zł</p> albo przy korektach treści, kiedy chcemy pokazać, że coś zostało zmienione, ale wciąż widoczne jest, co było wcześniej. Warto wiedzieć, że historycznie do podobnych celów używano też <strike>, ale ten znacznik jest przestarzały (deprecated) w standardzie HTML i nie powinien być już stosowany. Moim zdaniem lepiej od razu przyzwyczajać się do poprawnych, aktualnych tagów, bo to się później opłaca przy większych projektach. W nowszych specyfikacjach HTML5 zaleca się stosowanie <s> właśnie do treści nieaktualnych, ale nie takich, które zostały formalnie wycofane – do tego jest znacznik <del>, który dodatkowo semantycznie wskazuje usunięcie fragmentu, często używany w systemach kontroli wersji treści. Z mojego doświadczenia warto rozróżniać <s>, <del> i <ins>, bo w połączeniu z CSS i narzędziami do dostępności (np. czytnikami ekranu) daje to lepszą semantykę dokumentu. Dobrą praktyką jest też nie nadużywać przekreśleń tylko dla „efektu wizualnego” – jeśli chcesz coś tylko wyróżnić graficznie, lepiej użyć CSS, a znaczników semantycznych używać zgodnie z ich przeznaczeniem.

Pytanie 39

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
B. użycie emulatora przeglądarek internetowych, np. Browser SandboxPoprawna odpowiedź
C. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witrynyTwoja odpowiedź
D. skorzystanie z narzędzia do walidacji kodu HTML
Niepoprawna odpowiedź. Wykorzystywanie walidatora języka HTML do testowania witryny w różnych przeglądarkach nie jest wystarczającą metodą. Walidatory są narzędziami, które sprawdzają poprawność kodu HTML pod kątem zgodności ze standardami W3C, ale nie oceniają, jak rzeczywiście strona będzie działać w różnych przeglądarkach. Możliwe jest, że strona przejdzie test walidacji, ale w rzeczywistości może wyświetlać się inaczej w różnych przeglądarkach z powodu różnych silników renderujących. Instalowanie różnych przeglądarek na wielu komputerach również nie jest efektywnym rozwiązaniem, gdyż wymaga znacznych nakładów czasu i zasobów, a także trudności w utrzymaniu aktualizacji i wersji. Testowanie jedynie w programie Internet Explorer, zakładając, że inne przeglądarki będą działać podobnie, jest mylne, gdyż różnice w implementacji standardów HTML, CSS i JavaScript w różnych przeglądarkach mogą prowadzić do nieoczekiwanych błędów. Takie podejście może skutkować poważnymi problemami z użytecznością, a także obniżyć jakość doświadczenia użytkownika. Istnieje zatem ryzyko, że aplikacja webowa nie będzie działać prawidłowo na kluczowych platformach, co w dzisiejszym zróżnicowanym środowisku przeglądarek stanowi istotne zagrożenie dla reputacji i funkcjonalności witryny.

Pytanie 40

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

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