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 13:33
  • Data zakończenia: 8 czerwca 2026 14:04

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

Wymagane minimum: 20 punktów (50%)

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

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie przypisany

a:hover { font-weight: bold; }
A. odnośnikowi, gdy kursor myszy na niego najedzie
B. wszystkim odnośnikom, które były wcześniej odwiedzane
C. każdemu odnośnikowi bez względu na jego bieżący stan
D. wszystkim odnośnikom, które nie były odwiedzane
Pseudoklasa hover jest jedną z najczęściej używanych pseudoklas w CSS stosowaną do stylizacji elementów HTML w momencie, gdy użytkownik najeżdża kursorem myszy na dany element. W podanym przykładzie kodu CSS zastosowano pseudoklasę hover dla elementów a czyli odnośników. Oznacza to, że gdy kursor myszy znajdzie się nad jakimkolwiek odnośnikiem, jego styl zmieni się na pogrubiony dzięki właściwości font-weight: bold. Jest to bardzo przydatne w interaktywnej stylizacji stron internetowych, ponieważ pozwala użytkownikom na wizualne odróżnienie elementów, z którymi mogą wchodzić w interakcję. Praktycznym zastosowaniem tej pseudoklasy jest zwiększenie użyteczności i estetyki strony poprzez subtelne wskazanie elementów interaktywnych, takich jak menu nawigacyjne czy linki w treści. Warto pamiętać o zachowaniu spójności stylizacji dla wszystkich stanów odnośników, co jest zalecane jako dobra praktyka w projektowaniu responsywnych interfejsów użytkownika. Pseudoklasa hover, jako część kaskadowego arkusza stylów, pozwala na dynamiczną interakcję z elementami strony, co znacząco wpływa na doświadczenia użytkownika.

Pytanie 2

Który z akapitów wykorzystuje opisaną właściwość stylu CSS?

Ilustracja do pytania
A. D
B. C
C. B
D. A
Zrozumienie właściwości border-radius w CSS jest kluczowe dla projektowania nowoczesnych i estetycznych interfejsów użytkownika. Błędne identyfikowanie miejsca, w którym zastosowano tę właściwość, może wynikać z braku świadomości, jak zaokrąglone narożniki wpływają na wygląd elementów. W przypadku odpowiedzi A, C i D, elementy te nie wykazują żadnego stopnia zaokrąglenia lub ich stylizacja różni się od wskazanej wartości 20%. Elementy bez zaokrąglonych narożników mają prosty, kanciasty wygląd, co może być mniej atrakcyjne wizualnie i nie spełniać wymogów nowoczesnego designu. Odpowiedź C, choć posiada ramkę, nie odpowiada wyglądowi nadanemu przez border-radius, ponieważ ma krawędzie proste. Element D z kolei ma grubszą ramkę, co również wskazuje na inną stylizację. Częstym błędem jest skupianie się na innych właściwościach, takich jak typ ramki, zamiast koncentrować się na zaokrągleniu narożników. Aby uniknąć takich pomyłek, warto ćwiczyć rozpoznawanie efektów poszczególnych właściwości CSS i ich wpływu na wizualną percepcję elementów. Właściwe stosowanie CSS pozwala na tworzenie bardziej przyjaznych i estetycznych projektów, które lepiej odpowiadają oczekiwaniom użytkowników i standardom branżowym.

Pytanie 3

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. Python
B. Perl
C. JavaScript
D. PHP
JavaScript to język skryptowy, który super nadaje się do interakcji z użytkownikami w przeglądarkach. Właściwie to jedyny język z tej całej paczki, który działa po stronie klienta. To znaczy, że skrypty w JavaScript są interpretowane przez przeglądarkę, a nie przez serwer. Można go używać na przykład do zmieniania treści stron w locie, walidacji formularzy, animacji i różnych interaktywnych elementów. Jest też ważnym elementem w technologiach internetowych, obok frameworków jak React, Angular czy Vue.js, które pomagają tworzyć nowoczesne aplikacje webowe. Uważam, że każdy programista webowy powinien znać JavaScript przynajmniej na poziomie średnim, żeby wdrażać dobre praktyki dotyczące wydajności i UX. Standardy takie jak ECMAScript mówią, jak ten język ma działać, a jego wszechstronność sprawia, że obecnie jest jednym z najpopularniejszych języków programowania na świecie. Ostatnio dużo mówi się też o używaniu go po stronie serwera z Node.js.

Pytanie 4

Jakie jest odstępstwo pomiędzy poleceniem DROP TABLE a TRUNCATE TABLE?

A. DROP TABLE usuwa tabelę, natomiast TRUNCATE TABLE modyfikuje dane w niej spełniające określony warunek
B. Obydwa polecenia usuwają tylko zawartość tabeli, ale tylko DROP TABLE może być przywrócone
C. DROP TABLE usuwa tabelę, a TRUNCATE TABLE eliminuje wszystkie dane, zostawiając pustą tabelę
D. Obydwa polecenia usuwają tabelę wraz z jej zawartością, jednak tylko TRUNCATE TABLE można cofnąć
Odpowiedź jest prawidłowa, ponieważ polecenie DROP TABLE całkowicie usuwa tabelę z bazy danych, łącznie z jej strukturą i danymi. Nie można jej później przywrócić, co oznacza, że wszelkie dane w niej zawarte zostaną na stałe utracone. Z kolei TRUNCATE TABLE jest poleceniem, które usuwa jedynie dane wewnątrz tabeli, ale sama tabela i jej struktura pozostają nienaruszone. Po wykonaniu TRUNCATE TABLE tabela staje się pusta, a jej definicja oraz wszystkie indeksy pozostają w bazie danych. Przykładowo, jeśli mamy tabelę 'Klienci' z danymi klientów, wykonanie TRUNCATE TABLE Klienci spowoduje, że tabela pozostanie, ale wszystkie rekordy zostaną usunięte. Wywołanie tych poleceń ma różne zastosowanie w praktyce; DROP TABLE można wykorzystać, gdy nie potrzebujemy tabeli, natomiast TRUNCATE TABLE jest przydatne, gdy chcemy szybko usunąć wszystkie dane z tabeli, zachowując jej strukturę dla przyszłych operacji.

Pytanie 5

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
B. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
C. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
D. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
Użycie nieprawidłowych składni w zapytaniach SQL może prowadzić do nieporozumień i błędów w konfiguracji użytkowników. W przypadku podanych błędnych odpowiedzi, brak użycia frazy 'IDENTIFIED BY' z odpowiednio umieszczonym hasłem w pojedynczych cudzysłowach jest kluczowym błędem. Na przykład, w jednym z przypadków zastosowano słowo 'IDENTIFY', które jest niepoprawne i nie jest częścią składni SQL dla tworzenia użytkowników. Różnice w użyciu pojedynczych cudzysłowów i backticks również mają znaczenie; backticks są używane do oznaczania nazw obiektów w SQL, podczas gdy hasła powinny być otoczone pojedynczymi cudzysłowami. Ponadto, znaki takie jak ` zaq123` w niektórych odpowiedziach sugerują mylne zrozumienie zasad definiowania danych tekstowych w SQL. Niepoprawne podejście do tworzenia użytkowników może skutkować problemami w zakresie bezpieczeństwa, ponieważ niewłaściwie skonfigurowani użytkownicy mogą uzyskiwać nieautoryzowany dostęp do systemów. Właściwe zrozumienie składni SQL oraz terminologii jest kluczowe do skutecznego zarządzania bazami danych i zapewnienia odpowiedniego poziomu ochrony informacji.

Pytanie 6

Narzędzie używane do organizowania i przedstawiania danych z wielu wpisów w celu ich wydruku lub dystrybucji to

A. makropolecenie
B. raport
C. kwerenda
D. formularz
Raport to taki pomocny zestaw danych, który pozwala na analizę i prezentację informacji z różnych źródeł. Jak myślisz, to naprawdę kluczowe narzędzie, jeśli chodzi o zarządzanie danymi i bazami danych. Dzięki raportom możemy fajnie zobaczyć wyniki sprzedaży czy inne dane, które z różnych miejsc się zbiera. To ułatwia podejmowanie decyzji, bo wszystko jest w jednym dokumencie. Na przykład, kiedy porównujemy wyniki z różnych okresów, to od razu widzimy, co działa, a co nie. Systemy takie jak Microsoft SQL Server Reporting Services czy IBM Cognos pomagają w tworzeniu tych raportów, a nawet pozwalają na ich ładne formatowanie. Super sprawa, bo można je dopasować do własnych potrzeb, co z kolei czyni je bardziej użytecznymi. W branży IT, raportowanie jest podstawą zarządzania usługami, a także w analizach SWOT. Przemyślane podsumowanie danych naprawdę pomaga w ocenie sytuacji firmy.

Pytanie 7

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

A. time("G:m:s");
B. date("G:m:s");
C. date("H:i:s");
D. time("H:i:s");
Funkcja date() w PHP jest używana do formatowania daty i czasu w różnych formatach. W przypadku wywołania date("H:i:s"), składa się ona z trzech elementów: 'H' reprezentuje godziny w 24-godzinnym formacie, 'i' to minuty, a 's' to sekundy. Dzięki takiemu formatowaniu, wynik będzie przedstawiał aktualny czas w formacie godzina:minuta:sekunda, co jest powszechnie używane w aplikacjach webowych do wyświetlania czasu. Na przykład, wywołując echo date("H:i:s"); w skrypcie PHP, użytkownik zobaczy aktualny czas na stronie internetowej. Warto również zauważyć, że korzystanie z funkcji date() jest zgodne z najlepszymi praktykami w programowaniu PHP, ponieważ pozwala na łatwe dostosowanie formatu czasu do potrzeb aplikacji i użytkowników. Dodatkowo, przy wdrażaniu systemów, które wymagają precyzyjnego czasu, warto również rozważyć strefy czasowe, co można osiągnąć za pomocą funkcji date_default_timezone_set().

Pytanie 8

Aby przywrócić bazę danych MS SQL z kopii zapasowej, należy zastosować polecenie:

A.
SAVE DATABASE
B.
RESTORE DATABASE
C.
REBACKUP DATABASE
D.
DBCC CHECKDB
W MS SQL Server bazę odtwarza się z kopii poleceniem RESTORE DATABASE, podając nazwę bazy i plik kopii, np. RESTORE DATABASE sklep FROM DISK = 'c:\sklep.bak'. Jest ono odwrotnością BACKUP DATABASE, które tworzy kopię. Używa się go po awarii lub przy przenoszeniu bazy. Dlatego do przywrócenia bazy z kopii służy RESTORE DATABASE.

Pytanie 9

<?php
$dane = fread(fopen("plik.txt", "r"), filesize("plik.txt"));
?>
Przedstawiony kod zapisany w języku PHP ma za zadanie
A. otworzyć plik plik.txt i jako wartość zmiennej dane przypisać rozmiar pliku
B. zapisać do pliku plik.txt wartość zmiennej dane
C. zmiennej dane przypisać zawartość pliku plik.txt
D. zmiennej dane przypisać wielkość pliku plik.txt
W tym fragmencie kodu PHP wykonywana jest bardzo klasyczna operacja: odczyt całej zawartości pliku tekstowego do zmiennej. Funkcja fopen("plik.txt", "r") otwiera plik w trybie tylko do odczytu (read). Zwraca tzw. uchwyt do pliku, czyli zasób, którego potem używa fread. Następnie filesize("plik.txt") zwraca rozmiar pliku w bajtach. Ten rozmiar jest przekazywany jako drugi argument do fread, więc fread odczytuje dokładnie tyle bajtów z otwartego pliku i zwraca je jako ciąg znaków (string). Wynik trafia do zmiennej $dane. Czyli po wykonaniu tego skryptu w $dane znajduje się pełna zawartość pliku plik.txt. To dokładnie odpowiada treści poprawnej odpowiedzi: zmiennej dane przypisać zawartość pliku plik.txt.
Z praktycznego punktu widzenia taki kod przydaje się, gdy chcemy np. przetworzyć plik tekstowy w pamięci: wyszukać w nim jakieś frazy, podmienić tekst, wygenerować podgląd, przesłać jego zawartość dalej przez sieć HTTP itd. W realnych projektach, zwłaszcza przy większych plikach, częściej stosuje się odczyt w kawałkach (pętlą), żeby nie ładować całego pliku naraz do pamięci, ale przy małych plikach podejście z fread + filesize jest jak najbardziej poprawne.
Moim zdaniem warto też wiedzieć, że w nowszym PHP w prostszych przypadkach wygodniej użyć funkcji file_get_contents("plik.txt"), która robi praktycznie to samo, tylko krócej i czytelniej. Natomiast rozumienie mechanizmu fopen/fread jest ważne, bo to jest fundament pracy z plikami: otwarcie, odczyt/zapis, zamknięcie. Dobrą praktyką jest również domykanie uchwytu funkcją fclose, choć w tym przykładzie jej nie ma. W środowiskach produkcyjnych dodaje się jeszcze obsługę błędów (sprawdzanie, czy fopen się udało, czy plik istnieje, czy mamy uprawnienia). Mimo to, z punktu widzenia logiki pytania, sedno jest jedno: ten kod odczytuje zawartość pliku i przypisuje ją do zmiennej $dane.

Pytanie 10

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu

A. p { line-indent: 30px; }
B. p { text-spacing: 30px; }
C. p { line-height: 30px; }
D. p { text-indent: 30px; }
Analizując inne opcje, można zauważyć, że zapisy takie jak line-indent, line-height, czy text-spacing nie są poprawne w kontekście wcięcia pierwszej linii akapitu w CSS. Właściwość line-indent nie istnieje w specyfikacji CSS, co czyni tę odpowiedź zupełnie niewłaściwą. Użytkownicy mogą mylić terminologię, sądząc, że line-indent odnosi się do wcięcia, jednak nie jest to termin rozpoznawany przez standardy CSS. Bardziej odpowiednią właściwością do modyfikacji wysokości linii jest line-height, która jednak nie ma związku z wcięciem tekstu, lecz z odstępem pomiędzy poszczególnymi liniami tekstu w akapicie. Użycie line-height do uzyskania wcięcia prowadzi do nieporozumień i niepożądanych efektów wizualnych. Z kolei text-spacing, będący inną niepoprawną odpowiedzią, nie jest uznaną właściwością CSS i nie wpływa na wcięcia. Dobre praktyki w projektowaniu stron internetowych wymagają znajomości standardów CSS i ich zastosowania w praktyce. Ważne jest, aby przyzwyczaić się do stosowania właściwości, które są uznawane przez wiodące przeglądarki i standardy webowe, aby uniknąć takich błędów i uzyskać zamierzony efekt wizualny. Zapewnienie, że używamy odpowiednich właściwości, jest kluczowe dla poprawności i jakości kodu CSS, który ma bezpośredni wpływ na końcowy rezultat, czyli wygląd i funkcjonalność stron internetowych.

Pytanie 11

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 7
B. 15
C. 3
D. 5
Analizując pozostałe odpowiedzi, można zauważyć, że wszystkie one są wynikiem błędnego rozumienia działania algorytmu. Odpowiedź 3 wynika z mylnego założenia, że N po pierwszej iteracji to ostateczna wartość. Przy pierwszej iteracji N wynosi 3, ale w kolejnych iteracjach ulega dalszym modyfikacjom. Odpowiedź 5 może pochodzić z błędnego dodania 1 do wartości N po pierwszej iteracji, co prowadzi do niepełnego zrozumienia pętli. Wartość 7 jest wynikiem niepoprawnego obliczenia po drugiej iteracji, gdy Z wynosi 2, jednak nie uwzględnia trzeciej iteracji. Wszystkie te odpowiedzi ilustrują typowe błędy w logice algorytmicznej, gdzie użytkownicy nie śledzą zmian wartości zmiennych w kolejnych krokach pętli. Kluczowe jest zrozumienie, że każda iteracja pętli wpływa na wynik końcowy poprzez modyfikację zmiennych, co jest niezbędne w programowaniu. Często popełnianym błędem jest zatrzymywanie się na etapie, na którym zmienna wydaje się mieć odpowiednią wartość, co prowadzi do nieuwzględnienia kolejnych obliczeń. Efektywne programowanie wymaga pełnego zrozumienia logiki pętli, a także umiejętności przewidywania dalszych zmian w zmiennych.

Pytanie 12

Podana deklaracja funkcji w języku C++ przyjmuje parametry typu liczbowego: void mojaFunkcja(int a, short b, long c);

A. liczbowe i zmiennoprzecinkowe jako argumenty i zwraca wartość.
B. liczbowe i zmiennoprzecinkowe jako argumenty i nie zwraca wartości.
C. liczbowe jako argumenty i zwraca wartość.
D. liczbowe jako argumenty i nie zwraca wartości.
Odpowiedź, że funkcja przyjmuje liczby całkowite jako parametry i nie zwraca wartości, jest poprawna z kilku powodów. Deklaracja funkcji 'void mojaFunkcja(int a, short b, long c)' wskazuje, że funkcja ma typ zwracany 'void', co oznacza, że nie zwraca ona żadnej wartości po jej wykonaniu. Parametry 'int', 'short' oraz 'long' są typami danych całkowitych, co potwierdza, że funkcja przyjmuje tylko liczby całkowite. Typ 'int' jest standardowym typem całkowitym w C++, 'short' to typ reprezentujący mniejsze liczby całkowite, a 'long' może przechowywać większe wartości całkowite. W praktyce, funkcje, które nie zwracają wartości, są często używane do wykonywania operacji na danych wejściowych, takich jak modyfikacje obiektów, zmiany w strukturach danych lub operacje wejścia/wyjścia. Takie podejście jest zgodne z zasadami programowania strukturalnego oraz dobrymi praktykami programowania, gdzie funkcje powinny być odpowiedzialne za określone zadania, zamiast zwracać wartości. Warto zaznaczyć, że użycie typów całkowitych jako parametrów jest powszechną praktyką, ponieważ pozwala na precyzyjne operacje matematyczne oraz efektywne zarządzanie pamięcią.

Pytanie 13

Aby naprawić uszkodzoną tabelę w bazie MySQL, należy wykonać polecenie:

A.
REPAIR TABLE
B.
FIX TABLE
C.
CHECK TABLE
D.
RESOLVE TABLE
Uszkodzoną tabelę w MySQL naprawia polecenie REPAIR TABLE, po którym podaje się nazwę tabeli, na przykład REPAIR TABLE klienci. Próbuje ono odbudować strukturę i indeksy tabeli, gdy ulegnie ona uszkodzeniu, np. po nagłym wyłączeniu serwera. Pokrewne CHECK TABLE służy do wcześniejszego wykrycia problemu. Do samej naprawy używa się jednak REPAIR TABLE.

Pytanie 14

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć zapisu:

A. if (liczba < 100 && liczba <= 200)
B. if (liczba > 100 || liczba <= 200)
C. if (liczba < 100 || liczba >= 200)
D. if (liczba > 100 && liczba <= 200)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 15

Jaką relację w projekcie bazy danych należy zdefiniować pomiędzy tabelami przedstawionymi na rysunku, zakładając, że każdy klient sklepu internetowego składa przynajmniej dwa zamówienia?

Ilustracja do pytania
A. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
B. n:n
C. 1:1
D. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
Zrozumienie poprawnej relacji między tabelami jest kluczowe w projektowaniu bazy danych. Relacja 1:1 oznacza, że każda rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli, co w tym przypadku byłoby nieefektywne, ponieważ ogranicza możliwość dodawania wielu zamówień dla jednego klienta. W praktyce rzadko stosuje się takie relacje, chyba że dane są bardzo specyficzne i nie mogą być rozdzielone. Relacja 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta, jest nieprawidłowa, ponieważ implikuje, że jedno zamówienie może być przypisane wielu klientom, co jest sprzeczne z rzeczywistością e-commerce, gdzie każde zamówienie jest związane z jednym klientem. Relacja n:n sugeruje, że wiele rekordów w jednej tabeli może być powiązanych z wieloma rekordami w drugiej tabeli. Choć czasami używana, wymaga dodatkowej tabeli pośredniczącej, aby uniknąć redundancji i anomalii. W tym kontekście relacja n:n nie jest potrzebna, ponieważ prosta relacja 1:n już spełnia wymagania funkcjonalne, umożliwiając jednemu klientowi złożenie wielu zamówień bez konieczności komplikowania struktury bazy danych. Prawidłowe zrozumienie tych koncepcji pozwala na projektowanie efektywnych i wydajnych systemów bazodanowych, które są kluczowe dla sukcesu w wielu branżach, zwłaszcza w handlu elektronicznym, gdzie zarządzanie relacjami klientów i ich zamówieniami jest podstawą działalności.

Pytanie 16

Kod przedstawiony poniżej został napisany w języku JavaScript. W zdefiniowanym obiekcie metoda to element o nazwie

 var obj1 = {
    czescUlamkowa: 10,
    czescCalkowita: 20,
    oblicz: function () { ... }
}
A. oblicz
B. czescUlamkowa
C. obj1
D. czescCalkowita
Odpowiedzi 'czescUlamkowa', 'obj1' oraz 'czescCalkowita' są niepoprawne, ponieważ nie są metodami w kontekście obiektu 'obj1'. 'czescUlamkowa' i 'czescCalkowita' to właściwości obiektu, które przechowują dane, ale nie wykonują żadnych operacji. W JavaScript, właściwości obiektów są parametrami, które mogą przechowywać wartości, jednak nie są to funkcje. Właściwości te mogą być wykorzystywane w metodach do przechowywania i manipulowania danymi, ale same w sobie nie wykonują żadnych obliczeń ani operacji. Odpowiedź 'obj1' odnosi się do samego obiektu, a nie do jego metod. W kontekście programowania obiektowego, obiekty są instancjami klas, które grupują ze sobą zarówno dane, jak i funkcjonalność, ale tylko metody można wywoływać w celu wykonania operacji. Typowym błędem myślowym jest mylenie pojęcia obiektu z pojęciem metody. Aby rozwiązać takie nieporozumienia, warto przyjąć podejście, w którym każda metoda jest rozumiana jako funkcjonalność obiektu, podczas gdy właściwości służą do przechowywania danych. Zrozumienie tej różnicy jest kluczowe, aby efektywnie korzystać z obiektowego modelu programowania w JavaScript.

Pytanie 17

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 (NULL, '$a', '$b', '$c');
B. SELECT '$a', '$b', '$c' FROM dane;
C. SELECT NULL, '$a', '$b', '$c' FROM dane;
D. INSERT INTO dane VALUES ('$a', '$b', '$c');
Wybór opcji 'SELECT '$a', '$b', '$c' FROM dane;' jest nieprawidłowy, ponieważ polecenie SELECT służy do pobierania danych z bazy danych, a nie do ich wstawiania. W tym kontekście celem jest dodanie nowych rekordów, co wymaga użycia polecenia INSERT. Podobnie, 'SELECT NULL, '$a', '$b', '$c' FROM dane;' również nie ma sensu w kontekście dodawania danych, ponieważ znowu wykorzystuje polecenie SELECT, a dodatkowo NULL nie ma zastosowania jako wartość w kontekście gromadzenia danych do wstawienia. Użycie 'INSERT INTO dane VALUES ('$a', '$b', '$c');' jest błędne, ponieważ nie uwzględnia klucza głównego, który jest autoinkrementowany. Zatem, bez podania NULL jako miejsca klucza głównego, próba wstawienia danych doprowadziłaby do błędu, gdyż klucz główny powinien być unikalny i autoinkrementowany. Częstym błędem jest nieuwzględnienie struktury tabeli oraz mechanizmu kluczy głównych i obcych przy konstruowaniu zapytań do bazy danych. Dlatego kluczowe jest, aby zrozumieć, jak poprawnie formułować zapytania, uwzględniając specyfikację tabeli i właściwe polecenia SQL, co jest kluczowe dla efektywnego i bezbłędnego gromadzenia danych.

Pytanie 18

Istnieje tabela o nazwie przedmioty, która zawiera kolumny ocena i uczenID. Jakie zapytanie należy wykorzystać, aby obliczyć średnią ocen ucznia z ID równym 7?

A. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID=7;
B. AVG SELECT ocena FROM przedmioty WHERE uczenID=7;
C. SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7;
D. COUNT SELECT ocena FROM przedmioty WHERE uczenID=7;
Odpowiedź SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7; jest prawidłowa, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią wartość dla podanego zestawu danych. W tym przypadku skupiamy się na ocenach ucznia o ID równym 7, co osiągamy poprzez zastosowanie klauzuli WHERE. Funkcje agregujące, takie jak AVG, są standardowym narzędziem w SQL do analizy danych, szczególnie przydatnym w kontekście raportowania i analityki. Dzięki takiemu zapytaniu możemy szybko uzyskać średnią ocen ucznia, co może być wykorzystane do oceny jego postępów w nauce lub do podejmowania decyzji z zakresu pedagogiki w oparciu o zebrane dane. W praktyce, takie podejście jest zgodne z najlepszymi praktykami w pracy z bazami danych, pozwalając na wydobycie istotnych informacji z dużych zbiorów danych bez konieczności przetwarzania ich ręcznie. Użycie AVG w połączeniu z klauzulą GROUP BY mogłoby również być zastosowane, gdybyśmy chcieli uzyskać średnie oceny dla wielu uczniów jednocześnie, co dodatkowo podkreśla elastyczność i moc SQL w analizie danych.

Pytanie 19

Jakie dane zostaną wybrane po wykonaniu poniższej kwerendy na pokazanych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";

idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Pole id równe 7 oraz 8
B. Tylko id równe 8
C. Wszystkie id
D. Brak danych
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL SELECT id FROM samochody WHERE rocznik LIKE '2_4'; filtruje rekordy, które mają w kolumnie rocznik wartość z drugą cyfrą równą '2' i czwartą cyfrą równą '4'. W złożonym zapytaniu SQL zastosowano operator LIKE z użyciem symbolu podkreślenia (_) jako symbolu zastępczego dla pojedynczego znaku. To oznacza, że szukamy dowolnego roku, który zaczyna się od cyfry '2', ma dowolną cyfrę na drugiej pozycji i cyfrę '4' na ostatniej pozycji. Praktycznie oznacza to, że wybierane są identyfikatory pojazdów, które mają rocznik odpowiadający temu wzorcowi. W dostarczonym zbiorze danych tylko rekordy o id 7 i 8 spełniają ten warunek, ponieważ rocznik to 2014 i 2004. Tego rodzaju konstrukcja SQL jest użyteczna w sytuacjach, gdy potrzebujemy selektywnie uzyskać dane na podstawie wzorców. Operator LIKE jest bardzo efektywny w analizie danych tekstowych w bazach danych np. w raportach analitycznych gdzie kluczowe jest wyszukiwanie na podstawie wzorców. Warto zaznaczyć, że takie podejście jest zgodne ze standardami SQL, ułatwiającymi zarządzanie i filtrowanie danych w złożonych systemach bazodanowych.

Pytanie 20

W CSS zapis selektora p > i { color: red; } wskazuje, że kolor czerwony zostanie zastosowany do

A. tylko tego tekstu w znaczniku <p>, który ma przypisaną klasę o nazwie i
B. wszelkiego tekstu w znaczniku <p> lub wszelkiego tekstu w znaczniku <i>
C. wyłącznie tekstu w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
D. wszystkiego tekstu w znaczniku <p> z wyjątkiem tekstu w znaczniku <i>
Zrozumienie selektorów CSS jest kluczowe dla ich poprawnego zastosowania. W przypadku analizy odpowiedzi, które nie są poprawne, istnieją podstawowe błędy w interpretacji selektorów. Wskazanie, że każdy tekst w znaczniku <p> lub <i> miałby być sformatowany, świadczy o mylnym rozumieniu, jak działają selektory CSS. Selekcja całej zawartości <p> lub <i> ignoruje kluczowy element selektora, jakim jest symbol '>', który precyzyjnie definiuje relację między elementami. Z kolei stwierdzenie, że każdy tekst w znaczniku <p> za wyjątkiem tych w znaczniku <i> byłby formatowany, także wprowadza w błąd, ponieważ nie ma to zastosowania do selektora dzieci. W rzeczywistości, forma ta nie wprowadza w życie żadnych reguł CSS i prowadzi do nieporozumień. Pojęcie przypisania klasy w kontekście selektora określającego <i> jest również mylące; klasy są definiowane oddzielnie i nie mają wpływu na znaczniki bezpośrednio. Kluczowe jest, aby w zrozumieniu CSS zwracać uwagę na hierarchię i relacje między elementami, co pozwala na efektywną kontrolę nad stylem prezentacji treści w dokumentach HTML.

Pytanie 21

Dostępna jest tabela programisci, która zawiera pola: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu wskazuje liczbę linii kodu stworzonych przez programistę w danym miesiącu. W celu obliczenia łącznej liczby linii kodu napisanych przez wszystkich programistów, należy zastosować poniższe polecenie

A. SELECT MAX(ilosc_kodu) FROM programisci;
B. SELECT SUM(ocena) FROM ilosc_kodu;
C. SELECT SUM(ilosc_kodu) FROM programisci;
D. SELECT COUNT(programisci) FROM ilosc_kodu;
Pierwsza z niepoprawnych odpowiedzi wykorzystuje funkcję SUM() w połączeniu z kolumną 'ocena', co jest błędne, ponieważ pole 'ocena' nie jest związane z liczbą linii kodu napisanych przez programistów. Ocena jest zazwyczaj stosowana do oceny jakości pracy, a nie do mierzenia ilości kodu. Kolejna odpowiedź, która sugeruje użycie COUNT() z kolumną 'ilosc_kodu', jest również niewłaściwa, ponieważ funkcja COUNT() zlicza wiersze, a nie sumuje wartości w kolumnie. Zatem, użycie COUNT() zwróciłoby liczbę programistów, a nie całkowitą liczbę linii kodu. Ostatnia z odpowiedzi wywołuje funkcję MAX() w relacji do kolumny 'ilosc_kodu', co również jest błędne w kontekście pytania. Funkcja MAX() zwraca najwyższą wartość w danej kolumnie, a nie sumę wszystkich wartości. Dlatego te odpowiedzi nie odpowiadają na pytanie o sumę linii kodu, a ich stosowanie prowadzi do błędnych wyników oraz może wprowadzać w błąd podczas analizy danych.

Pytanie 22

W języku CSS zdefiniowano następujące formatowanie:

 h1 i {color: red;}
Kolorem czerwonym zostanie zapisany
A. cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego, w którym miejscu strony się znajduje.
B. cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu.
C. tylko tekst pochylony nagłówka pierwszego stopnia.
D. tylko tekst pochylony we wszystkich poziomach nagłówków.
Pozostałe odpowiedzi zawierają nieprawidłowe założenia co do tego, jak działają selektory w CSS. Odpowiedź sugerująca, że czerwonym kolorem zostanie zapisany tylko tekst pochylony we wszystkich poziomach nagłówków, nie jest prawidłowa, ponieważ kod CSS h1 i {color: red;} wyraźnie określa, że reguła dotyczy tylko tekstu pochylonego (<i>) wewnątrz nagłówka pierwszego stopnia (<h1>). Podobnie, odpowiedź mówiąca, że cały tekst nagłówka pierwszego stopnia oraz cały tekst pochylony, niezależnie od tego w którym miejscu strony się znajduje, będzie czerwony, jest niepoprawna. Ta reguła CSS nie wpływa na cały tekst nagłówka pierwszego stopnia, ani na pochylony tekst w innych miejscach dokumentu. Wreszcie, odpowiedź sugerująca, że cały tekst nagłówka pierwszego stopnia oraz pochylony tekst akapitu będą czerwone, jest również nieprawidłowa, ponieważ jak wcześniej wspomniano, reguła dotyczy tylko tekstu pochylonego umieszczonego bezpośrednio w nagłówku pierwszego stopnia. Rozróżnienie między różnymi rodzajami selektorów i zrozumienie, jak są interpretowane przez przeglądarkę, to kluczowe umiejętności w codziennym kodowaniu CSS.

Pytanie 23

Który typ danych należy przypisać atrybutowi „Telefon”, jeśli numer zaczyna się od znaku „+” i numeru kierunkowego kraju?

A. tekstowy
B. wyliczeniowy
C. binarny
D. liczbowy
Pozostałe typy się nie nadają. Typ liczbowy zgubiłby znak „+” oraz zera na początku i traktowałby numer jak liczbę do obliczeń. Typ binarny służy do danych takich jak pliki, a wyliczeniowy do zamkniętego zbioru stałych wartości. Numer telefonu przechowuje typ tekstowy.

Pytanie 24

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
D. SELECT psy FROM rok_szczepienia < 2015
Wybór błędnych odpowiedzi wynika z nieporozumienia dotyczącego zastosowania różnych operatorów porównania i struktury zapytań SQL. W pierwszej analizowanej odpowiedzi 'SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015', zamiast wydobywać telefony właścicieli, zapytanie skupia się na imionach i rasach psów, co nie odpowiada na zadane pytanie. Użycie operatora '>' w kontekście roku szczepienia jest sprzeczne z wymaganiem, które dotyczy psów zaszczepionych przed 2015 rokiem, co jest podstawowym błędem logicznym. Inna odpowiedź, 'SELECT psy FROM rok_szczepienia < 2015', jest niepoprawna z powodu błędnej składni SQL; nie można wybierać całej tabeli w ten sposób, co pokazuje brak znajomości podstaw struktury zapytań. Ostatnia niepoprawna odpowiedź, 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015', również wskazuje na błąd w interpretacji kryteriów czasowych, ponieważ operator '>' nie uwzględnia psów zaszczepionych przed rokiem 2015. Ta sytuacja pokazuje, jak ważne jest dokładne czytanie wymagań oraz znajomość podstawowych zasad składni SQL, aby unikać błędów i skutecznie korzystać z baz danych.

Pytanie 25

Czy możliwa jest przedstawiona transformacja obrazu rastrowego dzięki funkcji?

Ilustracja do pytania
A. zmniejszenie liczby kolorów
B. ustawienia jasności i kontrastu
C. odcienie szarości
D. barwienie
Redukcja kolorów polega na zmniejszeniu liczby kolorów w obrazie, co jest często stosowane w celu optymalizacji plików graficznych do użytku w Internecie. Zasadniczo polega to na kompresji palety kolorów, aby zmniejszyć rozmiar pliku przy jednoczesnym zachowaniu możliwie najlepszej jakości obrazu. Desaturacja natomiast odnosi się do zmniejszenia intensywności kolorów w obrazie, co skutkuje przekształceniem go w obraz czarno-biały lub w odcieniach szarości. Jest to technika używana do tworzenia stylowych efektów monochromatycznych lub do uzyskania klasycznego wyglądu fotografii. Zmiana jasności i kontrastu wpływa na ogólną luminancję obrazu oraz różnicę między najjaśniejszymi i najciemniejszymi fragmentami. Jest to przydatne w przypadku korekty zdjęć, aby wyeksponować detale lub poprawić czytelność obrazu. Typowym błędem jest mylenie tych technik z barwieniem, ponieważ każda z nich ma inne zastosowanie i wpływ na obraz. W przypadku przedstawionej transformacji kluczowe było użycie barwienia, które w sposób bezpośredni zmieniło kolory w obrazie na wybraną jednolitą barwę, co nie może być osiągnięte poprzez zastosowanie desaturacji, redukcji kolorów ani korekty jasności i kontrastu. Zrozumienie różnic między tymi technikami jest istotne dla efektywnego wykorzystania ich w pracy z grafiką komputerową, szczególnie w kontekście projektowania i edycji wizualnej, gdzie precyzja w doborze i modyfikacji kolorów jest kluczowa dla osiągnięcia zamierzonych efektów artystycznych i technicznych.

Pytanie 26

Rekordowi z tabeli A może odpowiadać wiele rekordów z tabeli B, a każdemu rekordowi z B - dokładnie jeden z A. To relacja:

A. jeden do wielu
B. jeden do jednego
C. wiele do wielu
D. nieoznaczona
Gdy rekordowi z tabeli A może odpowiadać WIELE rekordów z B, a każdemu rekordowi z B - dokładnie JEDEN z A, mamy relację jeden-do-wielu (1:n). To najczęstszy typ relacji, np. jeden autor i wiele jego książek. Zapamiętaj: „jeden po stronie A, wielu po stronie B” = 1:n.

Pytanie 27

Które zapytanie policzy WSZYSTKIE wiersze tabeli Koty?

A.
SELECT COUNT(*) FROM Koty;
B.
SELECT COUNT(Koty) AS ROWNUM;
C.
SELECT COUNT(ROWNUM) FROM Koty;
D.
SELECT ROWNUM() FROM Koty;
Liczbę wszystkich wierszy tabeli zwraca funkcja COUNT(*). Zapis SELECT COUNT(*) FROM Koty; policzy każdy rekord tabeli Koty. Dlatego poprawne jest SELECT COUNT(*) FROM Koty;.

Pytanie 28

Które z pól edycyjnych zostało wystylizowane według poniższego wzoru, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

input {
    padding: 10px;
    background-color: Teal;
    color: white;
    border: none;
    border-radius: 7px;
}
Ilustracja do pytania
A. Pole 1
B. Pole 3
C. Pole 4
D. Pole 2
Pole 2 zostało sformatowane zgodnie z podanym stylem CSS Ponieważ właściwość padding została ustawiona na 10px pole tekstowe ma wewnętrzny odstęp wokół zawartości co sprawia że tekst nie dotyka bezpośrednio krawędzi pola Kolor tła ustawiony na Teal odróżnia to pole od innych które mogą mieć domyślne kolory tła Biały kolor tekstu zapewniony przez właściwość color sprawia że tekst jest czytelny na ciemnym tle Brak obramowania dzięki border none powoduje że pole nie ma widocznej linii wokół siebie co nadaje mu czysty wygląd Zaokrąglenie krawędzi ustawione na 7px border-radius daje bardziej nowoczesny wygląd a także ułatwia integrację z różnymi projektami interfejsu użytkownika Takie podejście do stylizacji elementów formularzy jest zgodne z nowoczesnymi trendami projektowania stron internetowych gdzie używane są łagodne zaokrąglenia oraz odpowiednio dobrane kontrasty kolorystyczne W praktyce takie style są nie tylko estetyczne ale także poprawiają użyteczność interfejsu poprzez zwiększenie czytelności i intuicyjności obsługi formularzy Warto również zauważyć że zastosowanie CSS do formatowania elementów pozwala na zachowanie spójności wyglądu na różnych stronach oraz łatwą modyfikację w przyszłości

Pytanie 29

Jakie imiona spełniają warunek klauzuli LIKE w zapytaniu

SELECT imie FROM mieszkancy WHERE imie LIKE 'o_%_a';
?
A. Oktawia, Oktawian, Olga
B. Oda, Oksana, Oktawia
C. Oksana, Ola, Olga
D. Oksana, Oktawia, Olga
Odpowiedź Oksana, Oktawia, Olga jest poprawna, ponieważ wszystkie te imiona spełniają warunki klauzuli LIKE w zapytaniu SQL. Klauzula LIKE 'o_%_a' wskazuje na to, że imię musi zaczynać się na literę 'o', mieć co najmniej jeden dowolny znak po 'o' (reprezentowany przez znak podkreślenia '_'), a następnie musi kończyć się na literę 'a'. Przykłady imion: Oksana zaczyna się na 'O', ma 'ks' jako drugi znak i kończy się na 'a'; Oktawia również dostosowuje się do tego wzoru, zaś Olga zaczyna się na 'O', ma 'lg' jako drugi i trzeci znak oraz kończy na 'a'. W praktyce, umiejętność korzystania z klauzuli LIKE jest kluczowa w SQL przy wyszukiwaniu danych według wzorców, co pozwala na bardziej elastyczne i precyzyjne zapytania. Poprawne użycie LIKE zwiększa efektywność filtrowania danych, co jest istotnym aspektem w zarządzaniu bazami danych oraz analizie danych, zgodnie z najlepszymi praktykami w branży.

Pytanie 30

.format1 {
    …
}
W CSS określono wspólne style dla pewnej grupy elementów. Użycie takich stylów w kodzie HTML odbywa się za pomocą atrybutu:
A. class = "format1"
B. div = "format1"
C. id = "format1"
D. style = "format1"
Inne odpowiedzi odnoszą się do atrybutów lub metod, które nie są optymalne lub poprawne w kontekście wspólnego formatowania znaczników za pomocą CSS. Użycie atrybutu style do bezpośredniego stylowania elementów może być nieefektywne i prowadzi do powielania kodu, co utrudnia utrzymanie. W przypadku większych projektów takie podejście skutkuje chaosem i zwiększa ryzyko błędów. Definiowanie stylów bezpośrednio w każdym elemencie HTML utrudnia wprowadzanie globalnych zmian w wyglądzie strony. Z kolei atrybut id jest przeznaczony do unikalnego identyfikowania pojedynczego elementu na stronie. Choć można by teoretycznie użyć go do stylowania, nie jest to zalecane, gdyż każdy id musi być unikalny w ramach całego dokumentu HTML, co wyklucza jego stosowanie dla grupy elementów dzielących ten sam styl. W praktyce id używa się do celów, takich jak manipulacja specyficznymi elementami przez JavaScript lub do nawigacji wewnętrznej strony z użyciem kotwic. Źle zrozumiane przez programistów są także strategie, które polegają na przypisaniu znaczników do odmiennych grup bez właściwego użycia klas, co prowadzi do nieczytelnego kodu i utrudnia przyszłe zmiany w projekcie. Zastosowanie atrybutu div w taki sposób nie jest poprawne, ponieważ div jest elementem blokowym HTML, a nie atrybutem, co powoduje błędne zrozumienie struktury HTML i CSS. Kluczem do zrozumienia poprawnych praktyk jest świadomość różnic w zastosowaniu poszczególnych atrybutów i elementów, co prowadzi do tworzenia lepiej zorganizowanego i efektywnego kodu w projektach webowych.

Pytanie 31

Metoda i zmienna są widoczne tylko dla innych metod tej samej klasy. Który modyfikator dostępu odpowiada temu opisowi?

A.
private
B.
protected
C.
static
D.
public
Pozostałe modyfikatory dają szerszy dostęp. public udostępnia składową wszędzie. protected otwiera ją także dla klas POCHODNYCH (dziedziczących), więc to więcej niż „tylko ta klasa”. static dotyczy przynależności do klasy, a nie widoczności. Dostęp ograniczony do własnej klasy daje private.

Pytanie 32

Wskaż NIEPRAWIDŁOWY opis optymalizacji kodu wygenerowanego przez program

A. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
B. Powinna prowadzić do zmiany kodu źródłowego w taki sposób, aby działał on szybciej
C. W celu przyspieszenia wykonania kodu przez procesor może być przeprowadzana na różnych etapach działania
D. Jej celem jest zwiększenie efektywności programu
Wszelkie odpowiedzi, które sugerują, że celem optymalizacji kodu wynikowego jest sprawdzenie zgodności z wymogami formalnymi, są błędne. Tego rodzaju podejście myślowe może prowadzić do poważnych nieporozumień w kontekście rozwoju oprogramowania. W rzeczywistości, optymalizacja kodu koncentruje się głównie na zwiększeniu wydajności, a nie na zgodności z formalnościami. Wiele osób myli te pojęcia, co może skutkować szkodliwym podejściem, w którym skupiają się na spełnieniu formalnych wymagań bez zrozumienia, że kluczowym celem jest poprawa funkcjonalności i szybkości działania programu. Co więcej, odpowiedzi sugerujące, że modyfikacje kodu źródłowego prowadzące do większej szybkości działania nie są istotne, są również mylne. W rzeczywistości, optymalizacja kodu często wymaga przekształceń na poziomie kodu źródłowego, aby zapewnić lepszą wydajność. Dobre praktyki programistyczne zalecają testowanie i profilowanie kodu, aby zidentyfikować obszary wymagające poprawy. Warto także pamiętać, że optymalizacja powinna być prowadzona na różnych etapach rozwoju aplikacji, aby dostosować kod do zmieniających się potrzeb użytkowników oraz wymagań technicznych. Ignorowanie tych aspektów może prowadzić do stagnacji w rozwoju oprogramowania i obniżenia jego jakości.

Pytanie 33

Która definicja i wywołanie funkcji PHP poprawnie wypisze ciąg $n znaków @?

A.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki($n);
B.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki(@, $n);
C.
function znaki($i) { for($i=0; $i<$n; $i++) print("@"); } znaki($i);
D.
function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);
Pozostałe warianty mają błędy. Parametr $i++ w nagłówku funkcji jest niedozwolony (parametrem nie może być wyrażenie). Wersje używające $n bez przekazania go jako argumentu odwołują się do nieistniejącej zmiennej, a wywołanie znaki(@, ...) bez cudzysłowów jest błędne (znak @ trzeba podać jako napis). Poprawny jest wariant function znaki($znak, $n) {...} znaki("@", ...).

Pytanie 34

Aby przywrócić bazę danych o nazwie Sklep z pliku towary.sql, należy w miejsce gwiazdek wpisać nazwę użytkownika. Polecenie wygląda następująco:

mysql -u ******* -p Sklep < towary.sql
A. nazwę odzyskiwanej tabeli.
B. adres IP bazy danych.
C. liczbę importowanych obiektów bazy.
D. nazwę użytkownika.
Polecenie mysql ma dość sztywną i dobrze udokumentowaną składnię, więc warto ją sobie poukładać raz a dobrze. W przedstawionym przykładzie mamy: mysql -u ******* -p Sklep < towary.sql. Przełącznik -u w kliencie MySQL zawsze oznacza nazwę użytkownika, czyli konto w systemie bazy danych, którym się logujemy. To nie jest ani adres IP, ani nazwa tabeli, ani żadna liczba obiektów. Klient mysql w ogóle nie przyjmuje w tym miejscu takich danych. Częsty błąd polega na mieszaniu pojęć: adres IP czy hostname serwera bazy podaje się inną opcją, -h (np. -h 192.168.1.10 lub -h db.example.com). Parametr -u nie ma nic wspólnego z lokalizacją serwera, tylko z tożsamością użytkownika w systemie uprawnień MySQL. Podobnie nazwa odzyskiwanej tabeli nie jest nigdzie wpisywana w linii poleceń mysql przy imporcie. Tabele są tworzone i wypełniane wewnątrz pliku SQL – to tam znajdują się instrukcje CREATE TABLE i INSERT, więc nie ma potrzeby ani możliwości podania nazwy jednej konkretnej tabeli w miejscu, gdzie klient oczekuje nazwy użytkownika. Jeśli importujemy tylko jedną tabelę, to i tak cały proces kontroluje zawartość pliku towary.sql, a nie argument -u. Równie mylące jest myślenie o „liczbie importowanych obiektów bazy”. Narzędzie mysql nie ma opcji, w której wpisujemy jakąś liczbę tabel czy rekordów do zaimportowania. Importuje po prostu wszystko, co jest w skrypcie SQL, aż do końca pliku lub do wystąpienia błędu. Właściwy sposób myślenia jest taki: -h mówi „do jakiego serwera się łączę”, -u mówi „kim się loguję”, -p wymusza podanie hasła, dalej podajemy nazwę bazy (Sklep), a znak < przekierowuje zawartość pliku towary.sql na wejście programu. Z mojego doświadczenia wynika, że jak się raz zrozumie to rozdzielenie ról poszczególnych parametrów, to znika większość nieporozumień przy pracy z kopią zapasową i przywracaniem baz danych.

Pytanie 35

Która zasada dotycząca sekcji <head> w HTML jest POPRAWNA?

A. w sekcji <head> mogą wystąpić <meta>, <title>, <link>
B. w sekcji <head> buduje się szablon strony znacznikami <div>
C. w sekcji <head> nie wolno umieszczać kodu CSS, tylko odwołanie do pliku
D. w sekcji <head> zawiera się sekcja <body>
<body> to OSOBNA sekcja z treścią, nie jest zagnieżdżona w <head>. <div> buduje układ w <body>, nie w nagłówku. W <head> WOLNO też umieścić CSS w <style>, nie tylko odwołanie do pliku. Poprawne jest stwierdzenie o <meta>, <title> i <link>.

Pytanie 36

Do następnego poziomu można przejść, gdy: punkty = 20, paczki co najmniej 3, dystans = 200 m. Który warunek (JS) to sprawdza?

A.
punkty == 20 && paczki >= 3 && dystans == 200
B.
punkty == 20 && paczki == 3 && dystans == 200
C.
punkty == 20 || paczki == 3 || dystans == 200
D.
punkty == 20 || paczki >= 3 || dystans == 200
Awans wymaga spełnienia WSZYSTKICH warunków naraz, więc łączymy je &&: punkty równe 20, paczki co najmniej 3 (paczki >= 3) i dystans 200 - czyli punkty == 20 && paczki >= 3 && dystans == 200. Dlatego ten warunek jest poprawny.

Pytanie 37

Aby obraz dodany za pomocą kodu HTML był zrozumiały dla programów wspierających osoby niewidome, konieczne jest zdefiniowanie atrybutu

A. sizes
B. border
C. alt
D. src
Atrybut 'src' w znaczniku <img> jest odpowiedzialny za określenie źródła obrazu, czyli lokalizacji pliku graficznego, który ma być wyświetlony. Choć jest to kluczowy element dla poprawnego wyświetlenia obrazów, nie ma on żadnego związku z dostępnością treści dla osób niewidomych. Wybór 'src' jako odpowiedzi na pytanie świadczy o niepełnym zrozumieniu roli, jaką odgrywają atrybuty w kontekście dostępności. Z kolei atrybut 'border' definiuje szerokość obramowania wokół obrazka i również nie wnosi nic do kwestii dostępności, ponieważ nie dostarcza żadnych informacji osobom, które nie mogą zobaczyć obrazu. Natomiast 'sizes' jest używany do określenia, jak obraz powinien być wyświetlany w różnych warunkach, ale ponownie, nie odnosi się to do potrzeb osób z ograniczeniami wzrokowymi. Nieprawidłowe odpowiedzi często wynikają z mylenia funkcji atrybutów, co prowadzi do błędnego wniosku, że inne atrybuty mogą zaspokajać potrzeby dostępności. W praktyce, aby strona była dostępna, należy stosować atrybut 'alt', który spełnia kluczową rolę w komunikacji treści wizualnych z użytkownikami wymagającymi wsparcia, a ignorowanie tej zasady może skutkować wykluczeniem części użytkowników z korzystania z serwisu internetowego.

Pytanie 38

Definicja formularza została wykorzystana na stronie www, która przesyła dane do pliku w języku PHP. W której tablicy będą dostępne informacje z formularza?

<form action="plik.php" method="post">
A. $_COOKIE
B. $_POST
C. $_ACTION
D. $_GET
Formularze w HTML służą do przesyłania danych do serwera, a w kontekście języka PHP dane te są dostępne poprzez różne superglobalne tablice, z których najczęściej używaną przy metodzie POST jest tablica $_POST. Metoda POST, określona w atrybucie 'method' formularza, jest używana do przesyłania danych w bardziej bezpieczny sposób niż metoda GET, ponieważ nie pokazuje przesyłanych informacji w URL. Kiedy dane są wysyłane do skryptu PHP z formularza, wszystkie klucze i wartości formularza stają się dostępne jako elementy tablicy $_POST. Przykładowo, jeśli w formularzu znajduje się pole tekstowe o nazwie 'username', po wysłaniu formularza na stronie 'plik.php' można uzyskać dostęp do wartości tego pola za pomocą $_POST['username']. Ta metoda jest zalecana w przypadku przesyłania danych poufnych, takich jak hasła, ponieważ nie są one widoczne w pasku adresu przeglądarki. Dodatkowo, korzystając z $_POST, można przesyłać dane o większej objętości, co jest niemożliwe w przypadku $_GET, który ma ograniczenia długości URL.

Pytanie 39

Dany fragment kodu ilustruje składnię danego języka

Ilustracja do pytania
A. PHP
B. JavaScript
C. C#
D. C
Kod przedstawiony w pytaniu jest napisany w języku PHP który jest popularnym językiem skryptowym stosowanym na serwerach do generowania dynamicznych stron internetowych Zaczyna się od znacznika otwierającego '<?php' co jasno wskazuje na PHP W kodzie użyte są funkcje takie jak file_get_contents fopen fwrite i fclose które są typowe dla PHP i służą do manipulacji plikami Funkcja file_get_contents służy do odczytywania zawartości pliku co jest niezbędne do pobrania aktualnej wartości zmiennej Silosc Następnie zmienna ta jest inkrementowana aby zwiększyć jej wartość o jeden co jest powszechnie stosowane w licznikach odwiedzin stron internetowych PHP jako język skryptowy pozwala na łatwe manipulowanie danymi serwera a także na integrację z bazami danych i szeroką gamę funkcji sieciowych i narzędzi co czyni go jednym z najczęściej używanych języków do tworzenia aplikacji webowych Dobrym standardem jest stosowanie PHP w przypadku gdy potrzebne jest dynamiczne generowanie treści oraz zarządzanie danymi użytkowników

Pytanie 40

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
W tym zadaniu chodzi o zrozumienie, jak działają selektory CSS oraz pseudo-klasy odpowiedzialne za interakcję z użytkownikiem. Jeśli efekt ma pojawiać się tylko wtedy, gdy użytkownik najedzie myszką na wiersz tabeli, to zwykłe ustawienie background-color bez pseudo-klasy nie spełni tego warunku. Deklaracja tr { background-color: Pink; } oznaczałaby, że wszystkie wiersze tabeli są cały czas różowe, niezależnie od tego, czy ktoś na nie najedzie, czy nie. To jest po prostu styl statyczny, bez żadnej reakcji na zdarzenia.

Podobnie zapis td, th { background-color: Pink; } ustawia tło dla wszystkich komórek tabeli (zarówno nagłówkowych th, jak i zwykłych td) w sposób stały. Moim zdaniem to dość częsty błąd: ktoś kojarzy tabelę z komórkami i intuicyjnie styluje td/th, ale zapomina, że w pytaniu chodzi o efekt dynamiczny „po najechaniu”. W rezultacie otrzymujemy tabelę pokolorowaną na stałe, bez jakiejkolwiek interakcji, co jest sprzeczne z założeniem zadania i z typowym zachowaniem tabel w nowoczesnych interfejsach.

Ciekawsza jest kwestia selektora tr:active { background-color: Pink; }. Pseudo-klasa :active oznacza element w momencie „aktywacji”, czyli najczęściej w chwili klikania (przytrzymania przycisku myszy). Efekt trwa bardzo krótko, tylko w czasie samego kliknięcia. To zupełnie inny scenariusz niż wygodne podświetlenie wiersza, które ma się utrzymywać, dopóki kursor jest nad elementem. Użycie :active prowadzi do efektu, który miga na ułamek sekundy i z punktu widzenia ergonomii jest praktycznie bezużyteczny w kontekście podświetlania wierszy.

Typowy błąd myślowy przy takich pytaniach polega na myleniu różnych pseudo-klas: :hover, :active, :focus. W webdevie przyjęło się, że :hover służy do reakcji na najechanie myszką, :active do krótkiej reakcji na kliknięcie, a :focus do zaznaczenia elementu, który ma aktualnie fokus klawiatury. Standardy CSS i dobre praktyki projektowania interfejsów jasno wskazują, że do efektu „podświetl wiersz, gdy nad nim jestem” należy użyć właśnie :hover na odpowiednim elemencie, czyli w tym przypadku tr. Wszystkie pozostałe odpowiedzi ignorują tę zasadę albo stosują nie tę pseudo-klasę, co trzeba, przez co nie odzwierciedlają poprawnie zachowania pokazanego w materiale wideo.