Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 21:52
  • Data zakończenia: 8 czerwca 2026 22:19

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Polecenie SQL:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:
A. do manipulowania danymi bazy danych klienci
B. do manipulowania danymi w tabeli klienci
C. do zarządzania strukturą tabeli klienci
D. do zarządzania strukturą bazy danych klienci
Polecenie SQL przedstawione w pytaniu to GRANT, które jest używane do nadawania uprawnień użytkownikom w systemach zarządzania bazami danych. W tym przypadku użytkownikowi adam@localhost przyznawane są prawa SELECT, INSERT, UPDATE oraz DELETE na tabeli klienci. Oznacza to, że adam ma pełne prawo do manipulowania danymi w tej tabeli, co obejmuje możliwość odczytu danych (SELECT), dodawania nowych rekordów (INSERT), aktualizacji istniejących danych (UPDATE) oraz usuwania danych (DELETE). W kontekście relacyjnych baz danych, te operacje są kluczowe dla zarządzania danymi. Przykładowo, jeśli adam chciałby dodać nowego klienta, użyłby polecenia INSERT. Jeśli natomiast chciałby zaktualizować dane istniejącego klienta, wykorzystałby polecenie UPDATE. Standardy SQL precyzują, że każde z tych uprawnień pozwala użytkownikowi na określone interakcje z danymi, co jest niezbędne dla efektywnego zarządzania informacjami w bazie danych, a także zapewnia bezpieczeństwo poprzez kontrolę dostępu do wrażliwych danych.

Pytanie 2

W formularzu umieszczono kontrolki do podania imienia oraz nazwiska. Który z atrybutów odpowiada za wyświetlanie sugestii w polu kontrolki, która znika, gdy użytkownik zaczyna wpisywanie wartości?

<label for="imie">Imię: </label> 
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. title
B. placeholder
C. for
D. value
Atrybut "placeholder" jest kluczowym elementem w formularzach HTML, który definiuje tekst podpowiedzi umieszczony w polu kontrolki. Tekst ten zniknie, gdy użytkownik zacznie wpisywać dane, co pozwala na zapewnienie bardziej intuicyjnego interfejsu. W przypadku przykładowego formularza, atrybut "placeholder" jest użyty w polu nazwiska, co stanowi doskonały przykład jego praktycznego zastosowania. Dobrą praktyką jest stosowanie atrybutu "placeholder" w formularzach, ponieważ wprowadza on klarowność i ułatwia użytkownikom wypełnianie formularzy, jednocześnie zmniejszając ryzyko błędów. Atrybut ten nie tylko poprawia doświadczenia użytkownika, ale także zwiększa dostępność formularzy, ponieważ pozwala osobom korzystającym z czytników ekranu lepiej zrozumieć, jakie dane są wymagane. Warto również zauważyć, że "placeholder" nie powinien być używany jako substytut etykiety, która jest niezbędna do poprawnej dostępności i użyteczności. Etykiety powinny być zawsze stosowane, a "placeholder" powinien pełnić jedynie funkcję pomocniczą.

Pytanie 3

Obraz o rozdzielczości 72 PPI oznacza, że ma 72 piksele na:

A. megabajt
B. milimetr
C. cal
D. centymetr
Skrót PPI to „pixels per inch”, czyli piksele na CAL - więc 72 PPI oznacza 72 piksele przypadające na jeden cal długości obrazu. To miara gęstości obrazu rastrowego. Zapamiętaj: „inch” = cal, więc PPI zawsze odnosi się do cala, nie do centymetra czy milimetra.

Pytanie 4

Co MUSI wystąpić w konstrukcji switch w PHP?

A. instrukcja default
B. co najmniej dwie instrukcje case
C. instrukcja break po każdym case
D. nagłówek switch(wyrażenie)
W konstrukcji switch obowiązkowy jest nagłówek switch(wyrażenie) - to jego wartość porównuje się z kolejnymi etykietami case. Bez wyrażenia w nawiasie instrukcja nie ma czego sprawdzać. Dlatego musi wystąpić nagłówek switch(wyrażenie).

Pytanie 5

W języku działającym po stronie serwera tworzysz ankietę, której wynik ma być zapamiętany w postaci małego pliku po stronie użytkownika. Jaki mechanizm wykorzystasz?

A. tablicę globalną $_FILES
B. ciasteczka (cookies)
C. bazę danych SQL
D. sesję
Ciasteczko (cookie) to niewielki plik zapisywany przez serwer w przeglądarce użytkownika i odsyłany przy kolejnych żądaniach. Idealnie nadaje się do zapamiętania drobnej informacji po stronie klienta, np. że ktoś wziął już udział w ankiecie. W PHP ustawia się je funkcją setcookie(). Dlatego dane zapisywane w małym pliku u użytkownika to ciasteczka.

Pytanie 6

W bazie MySQL zdefiniowano podczas tworzenia tabeli pole

id int NOT NULL AUTO_INCREMENT
Wpis AUTO_INCREMENT oznacza, że
A. kolumna id będzie mogła przyjmować wartości: NULL, 1, 2, 3, 4 i tak dalej
B. wartość kolumny id zostanie automatycznie przypisana przez system i będzie to przypadkowo wygenerowana liczba całkowita
C. wartości tej kolumny będą automatycznie tworzone w trakcie dodawania nowego rekordu do bazy
D. możliwe jest wprowadzenie rekordu z dowolną wartością dla kolumny id
Wybór niepoprawnych odpowiedzi najczęściej wynika z niepełnego zrozumienia działania mechanizmu AUTO_INCREMENT w MySQL. Zgłoszenie, że dozwolone jest dodawanie rekordu z dowolną wartością pola id, jest błędne, ponieważ pole z AUTO_INCREMENT nie pozwala na wprowadzenie wartości ręcznie; to system bazy danych przydziela kolejne wartości. Ponadto, sugestia, że pole id może przyjmować wartość NULL jest również nieprawidłowa. W definicji pola 'id int NOT NULL AUTO_INCREMENT' zawiera się klauzula NOT NULL, co oznacza, że pole to nie może być puste - każdemu rekordowi musi być przypisana właściwa wartość. Inną mylną koncepcją jest stwierdzenie, że wartość pola id zostanie wygenerowana losowo. AUTO_INCREMENT nie generuje wartości losowych, lecz sekwencyjne, co oznacza, że wartości będą rosły o jeden w stosunku do ostatniego zarejestrowanego identyfikatora. Takie podejście zapewnia porządek i przewidywalność w bazie danych. Często zdarza się, że osoby korzystające z baz danych nie zdają sobie sprawy z tych mechanizmów, co prowadzi do mylnych wniosków. Zrozumienie zasad działania AUTO_INCREMENT jest kluczowe dla efektywnego projektowania baz danych oraz zapewnienia integralności danych.

Pytanie 7

Jak umieścić komentarz w kodzie PHP?

A. /? ... ?/
B. /* ... */
C. <? ... ?>
D. <!-- ... -->
Komentarze w kodzie PHP są kluczowym elementem, który pozwala programistom na dodawanie wyjaśnień, notatek czy informacji o kodzie, co znacznie ułatwia jego późniejsze zrozumienie i konserwację. Komentarze w PHP można umieszczać za pomocą podwójnego ukośnika (//) dla pojedynczych linii lub za pomocą /* ... */ dla komentarzy wieloliniowych. Wybrana odpowiedź /* ... */ jest poprawna, ponieważ umożliwia dodawanie dłuższych bloków tekstu, co jest praktyczne w przypadku skomplikowanych funkcji czy klas. Stosowanie komentarzy jest zgodne z dobrymi praktykami programowania, które zalecają dokumentowanie kodu, aby ułatwić współpracę w zespole oraz pomóc innym programistom w zrozumieniu funkcji i celu poszczególnych fragmentów kodu. Na przykład, podczas tworzenia złożonej aplikacji webowej, dobrze udokumentowany kod pozwoli zespołowi szybciej rozwiązywać problemy i wprowadzać zmiany, co jest kluczowe w dynamicznie zmieniającym się środowisku IT.

Pytanie 8

Jak zapisać w JavaScript warunek: a i b są dodatnie, a b jest mniejsze od 100?

A.
if (a > 0 && b > 0 || b > 100)
B.
if (a > 0 || (b > 0 && b < 100))
C.
if (a > 0 || b > 0 || b > 100)
D.
if (a > 0 && b > 0 && b < 100)
Wszystkie trzy żądania muszą być spełnione naraz - a dodatnie, b dodatnie i b mniejsze od 100 - więc łączymy je operatorem &&: if (a > 0 && b > 0 && b < 100). „Dodatnie” to > 0. Dlatego ten warunek jest poprawny.

Pytanie 9

W języku SQL instrukcja INSERT INTO

A. wprowadza dane do tabeli
B. dodaje kolumny do istniejącej tabeli
C. tworzy nową tabelę
D. zmienia rekordy na zadaną wartość
Pierwsza z niepoprawnych odpowiedzi sugeruje, że polecenie INSERT INTO dodaje tabelę, co jest błędne. W rzeczywistości, tworzenie nowych tabel w bazie danych realizowane jest za pomocą polecenia CREATE TABLE. INSERT INTO ma na celu manipulację danymi już istniejącymi w tabelach, a nie ich strukturą. Kolejna niepoprawna odpowiedź mówi o dodawaniu pól do tabeli, co również jest mylące. Aby dodać nowe kolumny do tabeli, stosuje się polecenie ALTER TABLE, a nie INSERT INTO. Technicznie rzecz biorąc, polecenie to nie zmienia struktury tabeli, lecz uzupełnia ją o nowe dane w ramach istniejących kolumn. Ostatnia z odpowiedzi mówi o aktualizowaniu rekordów, co związane jest z używaniem polecenia UPDATE. INSERT INTO nie ma na celu modyfikacji istniejących danych, lecz ich dodawanie. W skrócie, polecenie INSERT INTO jest ściśle związane z wprowadzeniem nowych danych, a nie z tworzeniem, modyfikowaniem czy aktualizowaniem struktury tabel czy ich zawartości.

Pytanie 10

W języku JavaScript stworzono zmienną i, która będzie przechowywać wynik dzielenia równy 1, to

A. var i=Number(3/2)
B. var i=parseInt(3/2)
C. var i=3/2
D. var i=parseFloat(3/2)
Wybór 'var i=parseInt(3/2);' jest właściwy, ponieważ funkcja parseInt służy do konwersji wartości liczbowych na liczby całkowite. W tym przypadku, wyrażenie 3/2 zwraca wartość 1.5, a funkcja parseInt zamienia tę wartość na 1, co jest zgodne z oczekiwanym wynikiem. Warto zauważyć, że parseInt zawsze zwraca najbliższą liczbę całkowitą, zaokrąglając w dół, co czyni ją idealnym narzędziem do realizacji tego celu. W JavaScript istnieje wiele sposobów na konwersję wartości liczbowych, a parseInt jest jednym z najczęściej używanych, gdyż pozwala na przetwarzanie tekstów i liczb w zrozumiały sposób. Przykładowo, jeśli mamy stringa '10.5', użycie parseInt('10.5') da wynik 10. Odniesienie do standardów JavaScript w kontekście konwersji typów można znaleźć w dokumentacji ECMAScript, która definiuje zasady działania funkcji konwertujących. Dobrą praktyką jest również zwrócenie uwagi na radzenie sobie z typami danych w JavaScript, aby uniknąć nieporozumień w przyszłości.

Pytanie 11

Kod umieszczony w ramce tworzy tabelę, która zawiera

Ilustracja do pytania
A. dwa wiersze i dwa słupki
B. dwa wiersze i jeden słupek
C. jeden wiersz i dwa słupki
D. jeden wiersz i jeden słupek
Podany kod HTML tworzy tabelę z jednym wierszem i dwoma kolumnami ponieważ w strukturze tabeli element <tr> definiuje wiersz a element <td> definiuje komórkę w tym wierszu. W tym przypadku kod zawiera jeden element <tr> co wskazuje na pojedynczy wiersz oraz dwa elementy <td> co oznacza że w tym wierszu znajdują się dwie kolumny. Tego typu struktura jest powszechnie wykorzystywana do przedstawiania danych w formie tabelarycznej co jest standardową praktyką w web developmencie. Tabele HTML są kluczowym elementem w projektowaniu stron internetowych gdyż pozwalają na uporządkowane prezentowanie informacji często używane do tworzenia harmonogramów porównań czy formularzy. Ważne jest aby pamiętać o poprawnym zamykaniu znaczników oraz przestrzeganiu hierarchii struktury tabeli co zapewnia jej poprawne wyświetlanie w przeglądarkach. Dobrą praktyką jest również stosowanie zewnętrznych arkuszy CSS do stylizacji tabel co pozwala na oddzielenie struktury od prezentacji i ułatwia zarządzanie wyglądem strony. Znajomość i umiejętność tworzenia tabel jest niezbędna dla każdego web dewelopera ponieważ tabele stanowią fundamentalny element organizacji danych w HTML.

Pytanie 12

Jak w PHP przypisać wartość 4 do zmiennej sesyjnej o nazwie wyborID?

A.
session.wyborID = 4;
B.
$_SESSION["wyborID"] = 4;
C.
$_SESSION[4] = wyborID;
D.
session.wyborID = {4};
Zmienną sesyjną ustawia się, przypisując wartość do tablicy $_SESSION pod kluczem o danej nazwie: $_SESSION["wyborID"] = 4;. Klucz to nazwa zmiennej, a po prawej jej wartość. Dlatego ten zapis jest poprawny.

Pytanie 13

Która klauzula określa powiązanie (relację) między tabelami w MySQL?

A.
INDEX
B.
PRIMARY KEY
C.
ORDER BY
D.
REFERENCES
Pozostałe klauzule nie tworzą powiązań między tabelami. INDEX przyspiesza wyszukiwanie po danej kolumnie. ORDER BY sortuje wynik zapytania. PRIMARY KEY ustanawia klucz GŁÓWNY w obrębie jednej tabeli. Relację z inną tabelą definiuje REFERENCES.

Pytanie 14

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

A. Inwersja.
B. Barwienie.
C. Krzywe.
D. Progowanie.
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 15

Czego nie należy robić, aby zabezpieczyć serwer bazy danych przed atakami hakerów?

A. defragmentacja dysków.
B. używanie skomplikowanych haseł do bazy.
C. blokowanie portów związanych z bazą danych.
D. aktywacja zapory.
Włączenie zapory sieciowej jest istotnym krokiem w zabezpieczaniu serwera bazy danych. Zapora działa jako filtr, który kontroluje ruch przychodzący i wychodzący, blokując potencjalnie szkodliwe połączenia, co jest kluczowe w kontekście ochrony przed atakami DDoS oraz nieautoryzowanym dostępem. Ponadto stosowanie złożonych haseł jest fundamentalnym elementem bezpieczeństwa, jako że proste hasła mogą być łatwo złamane przez ataki typu brute-force. Wdrożenie polityki silnych haseł, które zawierają kombinacje liter, cyfr oraz symboli, znacząco zwiększa poziom ochrony dostępu do bazy danych. Blokowanie portów to kolejna ważna praktyka; poprzez zamykanie portów, które nie są używane przez serwer bazy danych, znacznie ograniczamy możliwości ataków, ponieważ wiele złośliwych działań opiera się na próbie skanowania otwartych portów w celu znalezienia luk w zabezpieczeniach. Zrozumienie tych aspektów jest kluczowe dla wszystkich administratorów baz danych, którzy muszą dbać o integralność i bezpieczeństwo danych. Ignorowanie tych praktyk w imię nieistotnych działań, takich jak defragmentacja, może prowadzić do poważnych naruszeń bezpieczeństwa, co podkreśla znaczenie stosowania znanych i sprawdzonych metod ochrony w środowisku IT.

Pytanie 16

W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany

a:hover { font-weight: bold; }
A. wszystkim odnośnikom odwiedzonym.
B. wszystkim odnośnikom nieodwiedzonym.
C. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.
D. każdemu odnośnikowi niezależnie od aktualnego stanu.
Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.

Pytanie 17

Jak nazywa się niepotrzebne POWIELANIE tych samych danych w wielu miejscach bazy?

A. spójnością danych
B. redundancją (nadmiarowością)
C. integralnością referencyjną
D. normalizacją
Niepotrzebne POWIELANIE tych samych danych w wielu miejscach bazy to redundancja (nadmiarowość). Jest niepożądana: zajmuje miejsce i grozi niespójnością (zmiana w jednym miejscu, a w innym nie). Ogranicza ją normalizacja. Zapamiętaj: redundancja = ta sama informacja zapisana po wielokroć.

Pytanie 18

Aby dołączyć do strony zewnętrzny skrypt JavaScript o nazwie skrypt.js, należy zapisać w kodzie HTML:

A.
<script src="skrypt.js"></script>
B.
<link rel="script" href="skrypt.js">
C.
<link rel="JavaScript" href="skrypt.js">
D.
<script>skrypt.js</script>
Zewnętrzny skrypt JavaScript dołącza się znacznikiem <script> z atrybutem src wskazującym plik, np. <script src="skrypt.js"></script>. Przeglądarka pobiera wtedy i wykonuje kod z pliku. Znacznik domyka się </script>, nawet gdy korzysta z src. Dlatego poprawny jest <script src="skrypt.js"></script>.

Pytanie 19

Jaką funkcję pełni atrybut name w polu formularza, np. <input type="text" name="login">?

A. ogranicza maksymalną długość pola
B. ustawia pole jako tylko do odczytu
C. określa nazwę pola, pod którą dane trafiają na serwer
D. określa wartość domyślną pola
Atrybut name nadaje polu formularza nazwę, pod którą jego wartość jest przesyłana na serwer. To po niej skrypt odbierający (np. w PHP przez $_POST["login"]) rozpoznaje konkretne pole. Bez name wartość pola zwykle nie zostanie wysłana. Dlatego name określa nazwę pola w formularzu.

Pytanie 20

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

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

Pytanie 21

Użycie standardu ISO-8859-2 ma na celu zapewnienie prawidłowego wyświetlania

A. symboli matematycznych
B. polskich znaków, takich jak: ś, ć, ń, ó, ą
C. znaków zarezerwowanych dla języka opisu strony
D. specjalnych znaków dla języka kodowania strony
Kodowanie w standardzie ISO-8859-2, zwane również Latin-2, zostało zaprojektowane, aby wspierać wyświetlanie znaków z alfabetów używanych w Europie Środkowo-Wschodniej. Jest to szczególnie istotne w kontekście języka polskiego, który wymaga specyficznych znaków diakrytycznych, takich jak ś, ć, ń, ó oraz ą. Standard ten obejmuje 256 znaków, z czego pierwsze 128 jest zgodne z ASCII, natomiast pozostałe 128 to znaki specyficzne dla danego języka. Dzięki temu, w aplikacjach internetowych oraz w systemach operacyjnych, możliwe jest poprawne wyświetlanie tekstów w języku polskim, co wpływa na jakość komunikacji i użyteczność treści. Przykładowo, w dokumentach HTML, użycie deklaracji charset='ISO-8859-2' zapewnia, że przeglądarki internetowe prawidłowo interpretują znaki, co jest kluczowe dla zachowania czytelności i poprawności tekstu. Zgodność z tym standardem jest także istotna w kontekście wymiany danych między różnymi systemami, aby uniknąć problemów związanych z kodowaniem i dekodowaniem tekstu.

Pytanie 22

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej w MS SQL Server?

A. administratora systemu
B. użytkownika lokalnego
C. użytkownika zabezpieczeń
D. zwykłego użytkownika (Users)
Tworzenie i przywracanie kopii zapasowej całej bazy w MS SQL Server to operacja krytyczna dla bezpieczeństwa danych, dlatego wymaga najwyższych uprawnień - poziomu administratora systemu (np. roli sysadmin). Zwykły użytkownik bazy ich nie ma. Dlatego do backupu i przywracania potrzebne są uprawnienia administratora systemu.

Pytanie 23

Jak ustawić tło body obrazem rys.png, powtarzanym TYLKO w poziomie?

A.
background-image: url("rys.png"); background-repeat: round;
B.
background-image: url("rys.png"); background-repeat: repeat-x;
C.
background-image: url("rys.png"); background-repeat: repeat;
D.
background-image: url("rys.png"); background-repeat: repeat-y;
Powtarzanie obrazu tła reguluje background-repeat. Wartość repeat-x powiela obraz TYLKO w poziomie (wzdłuż osi X), tworząc poziomy pas. Dlatego tło powtarzane jedynie w poziomie daje background-repeat: repeat-x.

Pytanie 24

Jakiego języka skryptowego ogólnego zastosowania powinno się użyć do tworzenia aplikacji internetowych, które są zintegrowane z HTML i działają na serwerze?

A. C#
B. JavaScript
C. Perl
D. PHP
PHP (Hypertext Preprocessor) to język skryptowy ogólnego przeznaczenia, który został zaprojektowany do tworzenia dynamicznych stron internetowych, co czyni go idealnym rozwiązaniem do budowy aplikacji webowych. Jako język uruchamiany po stronie serwera, PHP generuje HTML, który jest następnie przesyłany do przeglądarki użytkownika, co pozwala na interakcję z bazami danych, sesjami użytkowników i innymi elementami. Dzięki bogatej bibliotece funkcji oraz rozbudowanej społeczności, PHP jest często wykorzystywany w aplikacjach takich jak WordPress, Drupal czy Joomla. Ponadto, PHP wspiera różnorodne bazy danych, w tym MySQL, co umożliwia tworzenie zaawansowanych aplikacji zintegrowanych z danymi. Przykładem dobrych praktyk w PHP jest stosowanie wzorców projektowych, takich jak MVC (Model-View-Controller), które zwiększają czytelność i modularność kodu. Dzięki temu, programiści mogą łatwiej utrzymywać i rozwijać aplikacje, co jest kluczowe w dynamicznie zmieniającym się świecie technologii webowych.

Pytanie 25

Rezultatem realizacji zaprezentowanego kodu PHP jest wyświetlenie wartości

Ilustracja do pytania
A. 147
B. 14
C. 47
D. 136
Kod PHP przedstawiony w pytaniu używa pętli for do iteracji od 1 wzwyż dodając 3 do wartości zmiennej $i przy każdej iteracji aż do momentu gdy $i przekroczy 7. Pętla zaczyna zatem od $i równego 1 a następnie przy każdej iteracji wartość $i zwiększa się o 3. W pierwszej iteracji $i wynosi 1 i jest wypisywane. W drugiej iteracji wartość $i wynosi 4 i jest również wypisywane. W trzeciej iteracji wartość $i wynosi 7 i także jest wypisywane. Po tej iteracji wartość $i zwiększa się do 10 co kończy pętlę ponieważ warunek $i <= 7 przestaje być spełniony. Wynikiem jest zatem ciąg 147. Jest to zgodne z zasadami działania pętli for w języku PHP gdzie pierwszy argument ustawia wartość początkową drugi argument to warunek kontynuacji pętli a trzeci argument definiuje sposób zmiany wartości zmiennej kontrolnej. Możliwość iteracyjnego drukowania wartości jest powszechnie stosowana w automatyzacji zadań i przetwarzaniu danych w aplikacjach webowych co jest jedną z podstawowych funkcji w programowaniu PHP.

Pytanie 26

Która funkcja PHP sortuje tablicę asocjacyjną według KLUCZY?

A.
rsort()
B.
sort()
C.
ksort()
D.
asort()
Funkcja ksort() sortuje tablicę asocjacyjną według KLUCZY (litera „k” jak key), zachowując powiązanie klucz-wartość. Dlatego po kluczach sortuje ksort().

Pytanie 27

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(F, 0, E0)
B. rgb(255, 0, 224)
C. rgb(255, 0, 128)
D. rgb(FF, 0, E0)
Oznaczenie #FF00E0 to zapis koloru w systemie szesnastkowym (hex), bardzo typowym w CSS i ogólnie w tworzeniu interfejsów. Składa się ono z trzech par znaków: FF (czerwony), 00 (zielony), E0 (niebieski). Każda para to jedna składowa kanału RGB zapisana w systemie szesnastkowym, czyli w bazie 16. Zakres dla każdej składowej to od 00 do FF, co odpowiada wartościom dziesiętnym od 0 do 255.

FF w systemie szesnastkowym to 15×16 + 15 = 255 w systemie dziesiętnym. 00 to po prostu 0. Natomiast E0 to 14×16 + 0 = 224. Dlatego zapis #FF00E0 jest równoważny rgb(255, 0, 224). To jest dokładnie ten sam kolor, tylko zapisany w innym formacie. W CSS możesz używać obu zapisów zamiennie: np. `color: #FF00E0;` oraz `color: rgb(255, 0, 224);` dadzą identyczny efekt w przeglądarce.

W praktyce, przy projektowaniu stron i interfejsów, warto rozumieć oba zapisy, bo narzędzia graficzne (Photoshop, GIMP, Figma) często podają kolory w hex, a dokumentacja front-endowa i tutoriale bardzo często używają rgb() albo nawet rgba(). Dobra praktyka w branży jest taka, żeby umieć szybko w głowie lub z pomocą prostego kalkulatora przeliczyć wartości hex na dziesiętne, szczególnie przy drobnych korektach kolorów. Moim zdaniem świadomość, że hex to po prostu inna reprezentacja tych samych liczb 0–255, bardzo ułatwia później rozumienie gradientów, filtrów, a nawet pracy z kolorami w JavaScript, gdzie możesz programowo generować wartości rgb().

Pytanie 28

W języku PHP w konstrukcji switch powinno się znajdować

A. instrukcja default
B. przynajmniej dwie instrukcje case
C. konstrukcja switch(wyrażenie)
D. instrukcja break po każdej instrukcji case
Instrukcja switch w języku PHP jest konstrukcją, która umożliwia wykonywanie różnych bloków kodu w zależności od wartości zmiennej. Kluczowym elementem tej konstrukcji jest wyrażenie, które następnie jest porównywane z różnymi wartościami zdefiniowanymi w instrukcjach case. Jeśli wartość wyrażenia pasuje do wartości case, odpowiedni blok kodu zostaje wykonany. Warto zauważyć, że konstrukcja switch nie wymaga posiadania instrukcji default ani przynajmniej dwóch instrukcji case, choć są to często używane praktyki dla pełniejszego przetwarzania różnych możliwych wartości. Przykładowo, można zdefiniować zmienną $color, a następnie użyć switch do wykonania różnych akcji w zależności od wartości tej zmiennej: switch ($color) { case 'red': echo 'Czerwony'; break; case 'blue': echo 'Niebieski'; break; default: echo 'Inny kolor'; } W tym przykładzie, jeżeli $color wynosi 'red', zostanie wyświetlona wartość 'Czerwony'. W standardach PHP wyraźnie określono, że konstrukcja switch wymaga co najmniej jednego wyrażenia, na którym będzie operować, co czyni odpowiedź nr 2 poprawną.

Pytanie 29

Który znacznik lub grupa znaczników nie są stosowane do definiowania struktury strony HTML?

A. <i>, <b>, <u>
B. <div>
C. <section>
D. <header>, <footer>
Znacznik <i>, <b>, <u> jest stosowany głównie do celów prezentacyjnych, a nie do definiowania struktury dokumentu HTML. <i> oznacza tekst kursywą, <b> tekst pogrubiony, a <u> tekst podkreślony. Te znaczniki są częścią HTML, ale ich główną funkcją jest wzbogacenie wizualne treści, co nie ma związku z logiczną strukturą strony. W kontekście dobrych praktyk webowych, zaleca się stosowanie znaczników semantycznych, które dostarczają bardziej zrozumiałych informacji o treści strony wyszukiwarkom i asystentom technologicznym. Przykładowo, zamiast używać <b> dla podkreślenia znaczenia tekstu, warto skorzystać z <strong>, który również pogrubia tekst, ale dodatkowo wskazuje, że jest on istotny. Dobre praktyki sugerują, aby struktura strony była wyraźna i zrozumiała, co ułatwia nawigację oraz dostępność. Właściwe użycie znaczników takich jak <header>, <footer> czy <section> pomaga w tworzeniu jasnej i logicznej hierarchii dokumentu.

Pytanie 30

Wskaż styl CSS za pomocą którego został uzyskany przedstawiony efekt.

  • psy
  • koty
  • chomiki
  • świnki morskie
  • rybki
A. ul li:hover { background-color: DodgerBlue; }
B. ul li:nth-child(even) { background-color: DodgerBlue; }
C. ul li:active { background-color: DodgerBlue; }
D. ul li:nth-child(odd) { background-color: DodgerBlue; }
Wybrane przez Ciebie odpowiedzi są nieprawidłowe. Zacznijmy od selektora CSS 'ul li:active { background-color: DodgerBlue; }' - aktywny stan elementu to moment, kiedy jest on aktualnie klikany, co nie pasuje do obserwowanego efektu. Następnie 'ul li:nth-child(odd) { background-color: DodgerBlue; }' - ten selektor odnosi się do nieparzystych elementów listy, podczas gdy na obrazku parzyste elementy mają niebieskie tło. Na koniec 'ul li:hover { background-color: DodgerBlue; }' - pseudoklasa :hover odnosi się do stanu, kiedy kursor myszy jest nad elementem, co również nie jest zgodne z efektem na obrazku. Wybór nieodpowiedniej pseudoklasy sugeruje, że nie zrozumiałeś do końca ich zastosowania w CSS. Jest to typowy błąd, który można naprawić przez dokładniejsze zapoznanie się z tym aspektem języka CSS, konkretnie z różnymi pseudoklasami i ich zastosowaniem.

Pytanie 31

W poniższym zapisie CSS kolor zielony zostanie zastosowany do

h2
{
    background-color: green;
}
A. czcionki wszystkich nagłówków na stronie
B. czcionki nagłówka drugiego poziomu
C. tła tekstu nagłówka drugiego poziomu
D. tła całej witryny
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 32

Element lub grupa elementów, która w jednoznaczny sposób identyfikuje każdy pojedynczy rekord w tabeli w bazie danych, nazywa się kluczem

A. inkrementacyjny
B. obcy
C. podstawowy
D. przestawny
Klucz inkrementacyjny to termin, który może być mylnie stosowany w kontekście kluczy podstawowych. Choć klucz podstawowy może być inkrementacyjny, co oznacza, że jego wartość rośnie w miarę dodawania nowych rekordów, nie jest to jego jedyna możliwa forma. Klucz podstawowy może być również złożony z kilku pól (klucz złożony) lub oparty na wartościach, które nie są inkrementowane. Z kolei klucz przestawny (ang. pivot key) to termin nieznany w klasycznej terminologii baz danych; nie odnosi się on do identyfikacji wierszy, a raczej do organizacji danych w tabelach przestawnych, które służą do agregacji danych. Klucz obcy (ang. foreign key) jest innym pojęciem, oznaczającym pole, które wskazuje na klucz podstawowy w innej tabeli i służy do zapewnienia powiązań między danymi, ale nie identyfikuje ono pojedynczych rekordów w danej tabeli. Typowe błędy w rozumieniu tych pojęć to mylenie ich ról oraz funkcji, co prowadzi do niewłaściwego projektowania baz danych, w którym integralność oraz relacje pomiędzy danymi są niewłaściwie zaimplementowane. Kluczowe jest, aby zrozumieć, że klucz podstawowy jest podstawowym komponentem dla każdej tabeli, a inne typy kluczy pełnią różne funkcje w kontekście relacji między danymi.

Pytanie 33

W CSS zapis selektora

p > i { color: red;} 
wskazuje, że kolorem czerwonym będzie wyróżniony
A. tylko ten tekst znacznika <p>, który ma przypisaną klasę o nazwie i
B. każdy tekst w znaczniku <p> z wyjątkiem tych w znaczniku <i>
C. jedynie tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
D. wszystkie teksty w znaczniku <p> lub każdy tekst w znaczniku <i>
Odpowiedź ta jest poprawna, ponieważ selektor CSS <pre>p &gt; i { color: red; }</pre> definiuje regułę, która odnosi się jedynie do elementów <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Operator > jest selektorem potomka bezpośredniego, co oznacza, że tylko te <i>, które są bezpośrednio dzieckiem <p>, będą miały przypisany kolor czerwony. Na przykład, jeśli w kodzie HTML mamy <p><i>Tekst</i></p>, to ten tekst będzie czerwony. Z drugiej strony, jeżeli <i> znajduje się zagnieżdżone w innym elemencie wewnątrz <p>, jak <p><span><i>Tekst</i></span></p>, to ten tekst nie będzie formatowany na czerwono. Tego typu selektory są niezwykle przydatne w praktycznym zastosowaniu, gdyż pozwalają na precyzyjne określenie stylów dla konkretnych elementów, co jest zgodne z najlepszymi praktykami projektowania stron internetowych, takimi jak utrzymanie czytelności kodu i unikanie niezamierzonych efektów formatowania.

Pytanie 34

Podaj definicję metody, którą trzeba umieścić w miejscu kropek, aby na stronie WWW pojawił się tekst: Jan Kowalski

Ilustracja do pytania
A. D
B. B
C. A
D. C
Poprawna odpowiedź A jest prawidłowa, ponieważ metoda osoba.dane jest zdefiniowana jako funkcja wewnątrz obiektu osoba, co pozwala na użycie słowa kluczowego this, aby odwołać się do właściwości obiektu. W JavaScript this w kontekście metody obiektu odnosi się do samego obiektu, zatem this.imie i this.nazwisko poprawnie odwołują się do właściwości imie i nazwisko obiektu osoba. Dzięki temu funkcja zwraca ciąg tekstowy Jan Kowalski, który zostaje przypisany do innerHTML elementu o id wynik. Zastosowanie this jest zgodne z dobrymi praktykami programowania obiektowego w JavaScript, ponieważ umożliwia dynamiczne odwoływanie się do właściwości obiektu w kontekście tej samej instancji. Praktyczne zastosowanie tej metody pozwala na efektywne zarządzanie danymi w obrębie złożonych aplikacji webowych, gdzie obiekty mogą mieć wiele właściwości i metod. Kluczowym aspektem jest zrozumienie, że w JavaScript this jest dynamicznie wiązane w zależności od kontekstu wywołania, co jest szczególnie ważne przy pracy z metodami i konstruktorami obiektów.

Pytanie 35

W przedstawionym stylu CSS w ramce zdefiniowano klasę uzytkownik. Tekst na stronie będzie wyświetlany czcionką w kolorze niebieskim dla

p.uzytkownik { color: blue; }
A. dowolnych znaczników w sekcji <body>, które mają przypisaną klasę uzytkownik
B. wyłącznie znaczników tekstowych takich jak <p>, <h1>
C. akapitów, którym przypisano klasę uzytkownik
D. wszystkich akapitów
Styl CSS przedstawiony w ramce definiuje regułę, która stosuje kolor tekstu niebieski do wszystkich elementów <p> posiadających klasę uzytkownik. W CSS selektory klasowe są reprezentowane przez kropkę (.), co oznacza, że tylko te elementy, które mają przypisaną daną klasę, zostaną sformatowane zgodnie z regułami stylu. W tym przypadku, ponieważ selektor to p.uzytkownik, dotyczy on tylko paragrafów oznaczonych klasą uzytkownik. To precyzyjne zastosowanie selektorów umożliwia projektantom stron internetowych dokładne dostosowanie wyglądu poszczególnych elementów. Takie podejście zapewnia większą elastyczność w projektowaniu i ułatwia zarządzanie wyglądem strony. Praktyką jest stosowanie klas, aby stylować specyficzne elementy w różny sposób, co zwiększa użyteczność i przejrzystość kodu CSS. Warto zaznaczyć, że używanie selektorów klasowych w ten sposób jest zgodne z zasadą separacji treści od prezentacji, co jest kluczowym aspektem w tworzeniu nowoczesnych i responsywnych stron internetowych.

Pytanie 36

CAPTCHA to technika zabezpieczeń stosowana na stronach WWW, która pozwala:

A. potwierdzić, że dane z formularza wysyła człowiek, a nie program
B. automatycznie wypełnić formularz danymi użytkownika
C. przyspieszyć logowanie do aplikacji internetowej
D. pominąć proces uwierzytelniania w aplikacji
CAPTCHA to test, który ma odróżnić człowieka od programu (bota) - np. przepisanie zniekształconego tekstu, wskazanie obrazków czy proste zadanie. Stosuje się ją w formularzach (rejestracja, komentarze, logowanie), by utrudnić masowe, automatyczne wysyłanie danych przez boty i spam. Dlatego CAPTCHA potwierdza, że dane z formularza wysyła człowiek.

Pytanie 37

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p class="akapit">akapit4</p>
B. <p href="/akapit">akapit3</p>
C. <p id="akapit">akapit2</p>
D. <p>akapit</p>
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 38

Elementem odpowiadającym imieniu Agata w zaprezentowanej tablicy JavaScript jest:

var Imiona = new Array('Anna','Joanna','Monika','Agata');
A. Imiona[3];
B. Imiona[4];
C. Imiona[Agata];
D. Imiona['Agata'];
Poprawna odpowiedź to Imiona[3], ponieważ w JavaScript indeksowanie tablicy zaczyna się od zera. Oznacza to, że pierwszy element tablicy Imiona to 'Anna' (Imiona[0]), drugi to 'Joanna' (Imiona[1]), trzeci to 'Monika' (Imiona[2]), a czwarty to 'Agata' (Imiona[3]). W kontekście programowania w JavaScript ważne jest, aby znać zasady indeksowania, co jest szczególnie istotne przy pracy z tablicami, ponieważ niewłaściwe indeksowanie może prowadzić do błędów, takich jak undefined. W praktyce, jeżeli chcemy uzyskać dostęp do konkretnego elementu tablicy, musimy użyć odpowiedniego indeksu. Ponadto, korzystanie z tablic w JavaScript jest powszechną praktyką, a zrozumienie ich mechanizmu pozwala na efektywne operowanie danymi. Należy również pamiętać o dobrych praktykach w programowaniu, takich jak stosowanie opisowych nazw zmiennych oraz komentowanie kodu, co zwiększa jego czytelność i zrozumienie dla innych programistów.

Pytanie 39

W przedstawionym kodzie JavaScript występuje błąd logiczny. Program, zamiast informować, czy liczby są równe, nie działa prawidłowo. Wskaż, która odpowiedź dotyczy tego błędu.

var x = 5;
var y = 3;
if (x = y)
  document.getElementById("demo").innerHTML = "zmienne są równe";
else
  document.getElementById("demo").innerHTML = "zmienne się różnią";
A. Polecenia w sekcjach if i else powinny zostać zamienione miejscami
B. Zmienne zostały błędnie zadeklarowane
C. W instrukcji if znajduje się przypisanie zamiast operacji porównania
D. Przed instrukcją else nie powinno być średnika
Kod JavaScript z błędem logicznym w pytaniu ma na celu sprawdzenie równoważności dwóch zmiennych, jednak ze względu na użycie niewłaściwego operatora nie działa poprawnie. W przypadku stwierdzenia, że przed klauzulą else nie powinno być średnika, należy zrozumieć, że w JavaScript średnik wskazuje koniec instrukcji i jego obecność lub brak bezpośrednio przed else może zmienić logikę kodu, ale nie w tym kontekście. Jeśli chodzi o błędne przypisanie zamiast porównania w instrukcji if, właściwe używanie operatorów przypisania i porównania jest kluczowe, ponieważ ich zamiana prowadzi do logicznych błędów, które mogą być trudne do zdiagnozowania. Natomiast nieprawidłowa deklaracja zmiennych w JavaScript może wpływać na zakres lub sposób ich użycia, ale tutaj zmienne są poprawnie zadeklarowane za pomocą var, choć nowoczesne standardy promują let lub const dla lepszej kontroli zakresu. Na koniec, zamiana miejsc instrukcji wewnątrz sekcji if oraz else prowadzi jedynie do zmiany logicznej kolejności akcji bez rozwiązywania błędu pierwotnego, jakim jest użycie niewłaściwego operatora porównania. Kluczowym jest tu zrozumienie, że zrozumienie i poprawne stosowanie operatorów logicznych jest fundamentalne w pisaniu poprawnego kodu.

Pytanie 40

Zdefiniowano funkcję w języku PHP:

function policz($Z) { 
while($Z < 5) {
$Z += 2 * $Z + 1;
}
return $Z;
}
Funkcja policz została wywołana z parametrem $Z = 1. Jaki rezultat zostanie zwrócony?
A. 13
B. 1
C. 7
D. 4
W przypadku analizy odpowiedzi 7, 4 i 1 można zauważyć, że w każdym z tych przypadków nie uwzględniono pełnych obliczeń zachodzących w pętli while. Odpowiedź 7 może sugerować, że po pierwszej iteracji pętli przyjęto, że $Z przestaje być aktualizowane w kolejnych krokach, co jest nieprawidłowe. W rzeczywistości, wartości $Z są stale aktualizowane w każdej iteracji pętli, co prowadzi do znacznie większych wyników. Z kolei odpowiedź 4 pomija fakt, że po pierwszym obliczeniu $Z wynosi 4, ale nie jest to wartość końcowa, ponieważ pętla nie kończy się, dopóki warunek jest spełniony. Ostatecznie, odpowiedź 1 ignoruje całkowicie logikę funkcji i powtarzanie obliczeń, co prowadzi do błędnych założeń. Często przy takich zadaniach błędy myślowe wynikają z niewłaściwego zrozumienia działania pętli oraz mechanizmu aktualizacji zmiennej. Kluczowe jest, aby dokładnie przeanalizować każdy krok pętli i unikać pośpiechu w obliczeniach. W programowaniu należy zwracać uwagę na każde wyrażenie oraz jego konsekwencje dla dalszego działania algorytmu, aby nie przeoczyć istotnych zmian zachodzących w danych.