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: 9 czerwca 2026 07:07
  • Data zakończenia: 9 czerwca 2026 07:14

Egzamin niezdany

Wynik: 7/40 punktów (17,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

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. nav { float: left; } aside { float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. <aside>, potem <section>, a na końcu <nav>, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 2

W SQL instrukcja INSERT INTO

A. wprowadza dane do tabeli.
B. dodaje kolumny do istniejącej tabeli.
C. modyfikuje rekordy przypisaną wartością.
D. wprowadza nową tabelę.
Odpowiedź 'wprowadza dane do tabeli' jest poprawna, ponieważ polecenie INSERT INTO w języku SQL służy dokładnie do tego celu - do dodawania nowych rekordów (wierszy) do istniejącej tabeli w bazie danych. W praktyce, polecenie to pozwala na wprowadzenie danych zgodnych z określoną strukturą tabeli, co oznacza, że musimy dostarczyć wartości dla odpowiednich pól. Przykład użycia polecenia INSERT INTO: 'INSERT INTO pracownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30);' W tym przypadku, dodawany jest nowy rekord do tabeli 'pracownicy', wskazując konkretne wartości dla kolumn 'imie', 'nazwisko' oraz 'wiek'. Zgodnie z dobrą praktyką, przed wprowadzeniem danych do tabeli warto upewnić się, że są one zgodne z definicją kolumn, aby uniknąć błędów w czasie wykonywania polecenia. Ponadto, często zaleca się stosowanie transakcji, aby mieć możliwość wycofania wprowadzonych zmian w przypadku wystąpienia błędów. INSERT INTO jest fundamentalną częścią operacji CRUD (Create, Read, Update, Delete), które są podstawą zarządzania danymi w bazach danych, a jego właściwe zrozumienie jest kluczowe dla każdego, kto pracuje z SQL.

Pytanie 3

W tabeli zwierzeta znajdują się pola: nazwa, gatunek, gromada, cechy oraz dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat i są ssakami, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20;
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 OR gromada = 'ssak';
W przypadku pierwszej odpowiedzi, zapytanie nie sprawdza, czy zwierzęta są ssakami, co jest bardzo ważne. W efekcie zwraca wszystkie zwierzęta, które żyją co najmniej 20 lat, a nie tylko ssaki. Takie coś może doprowadzić do błędnych wniosków, bo wyniki będą obejmować też inne grupy zwierząt, co nie odpowiada wymaganiom pytania. W drugiej odpowiedzi brakuje kluczowego warunku dotyczącego długości życia, bo ta odpowiedź zwraca tylko ssaki. To uniemożliwia spełnienie obu wymagań jednocześnie. Trzecia odpowiedź nie bierze pod uwagę długości życia i skupia się tylko na ssakach, co znowu nie jest zgodne z pytaniem. Ostatnia odpowiedź źle używa operatora OR, przez co zwróci wszystkie zwierzęta, które spełniają przynajmniej jeden warunek, a nie oba. Taki logiczny błąd może sprawić, że wyniki będą zawierały zwierzęta, które w ogóle nie spełniają żadnego z warunków, co czyni zapytanie nieskutecznym. Często takie pomyłki wynikają z braku zrozumienia, jak działają operatorzy logiczni i pomijania kontekstu pytania.

Pytanie 4

Według którego parametru oraz dla ilu tabel zostaną zwrócone wiersze na liście w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
  producent.nr_id = hurtownia.nr_id AND
  producent.wyrob_id = serwis.wyrob_id AND
  hurtownia.nr_id = sklep.nr_id AND
  sklep.nr_id = serwis.nr_id AND
  producent.nr_id = 1;
A. Według parametru nr id wyłącznie dla trzech tabel.
B. Według parametru nr id dla wszystkich tabel.
C. Według parametru wyrób id dla wszystkich tabel.
D. Według parametru wyrób Jd wyłącznie dla trzech tabel.
Wybrana odpowiedź jest niepoprawna. Wszystkie tabelki są łączone przez wartość kolumny nr id, a nie konkretnie przez 'wyrób id' lub 'wyrób Jd'. Ważne jest, aby pamiętać, że zapytanie SQL odnosi się do wszystkich tabel, a nie tylko do trzech. W niektórych odpowiedziach może wystąpić błąd, polegający na myśleniu, że zapytanie dotyczy tylko trzech tabel, podczas gdy w rzeczywistości dotyczy ono czterech: producent, hurtownia, sklep i serwis. Ponadto, zrozumienie, jakie konkretne parametry są używane do zwracania wierszy, jest kluczowe dla zrozumienia, jak działa zapytanie. Zrozumienie tego, jakie parametry są używane w zapytaniu SQL, jest kluczowe dla zrozumienia, jakie dane są zwracane i dlaczego. Niewłaściwe zrozumienie tego, jakie parametry są używane w zapytaniu, może prowadzić do niewłaściwego zrozumienia, jakie dane są zwracane i dlaczego. Pamiętaj, że idealnym celem jest nie tylko zrozumienie, jak działa zapytanie, ale także zrozumienie, dlaczego zwraca konkretne dane i jak te dane są związane z naszymi potrzebami programistycznymi.

Pytanie 5

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
B. zliczanie liczby wizyt na stronie
C. pokazanie ciasteczka z zapisanym parametrem
D. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
W pytaniu zawarto kilka opcji związanych z działaniem ciasteczek w PHP. Pierwsza z nich mówi o wyświetleniu ciasteczka z zapisaną zmienną co nie jest zgodne z kodem, który nie zawiera żadnej funkcji wyświetlającej jak echo. Ciasteczka służą do przechowywania danych po stronie klienta i mogą być wykorzystywane do wielu celów, ale ich wyświetlenie nie jest bezpośrednim efektem działania kodu. Druga opcja wspomina o zapisaniu danych do ciasteczka tylko przy pierwszym uruchomieniu strony. Jest to częściowa prawda, ponieważ pierwsze uruchomienie inicjuje ciasteczko, ale przy każdej kolejnej wizycie liczba odwiedzin jest aktualizowana a nie pozostaje stała. Ostatnia z niepoprawnych odpowiedzi sugeruje, że za każdym odświeżeniem zapisuje się wartość 1, co jest błędne ponieważ kod zwiększa wartość o 1 przy każdym odświeżeniu strony. Typowym błędem myślowym jest założenie, że ciasteczka są statyczne lub że ich funkcjonalność jest ograniczona do prostego przechowywania danych bez logiki związanej z ich aktualizacją czy modyfikacją w ramach sesji użytkownika. Ciasteczka są elastycznym narzędziem, które może być używane w wielu zaawansowanych scenariuszach, jednak ich manipulacja musi być dobrze zrozumiana by uniknąć nieprawidłowych wniosków czy implementacji.

Pytanie 6

W SQL, aby w tabeli Towar dodać kolumnę rozmiar typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?

A. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ADD rozmiar varchar(20)
D. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
Odpowiedź 'ALTER TABLE Towar ADD rozmiar varchar(20);' jest poprawna, ponieważ polecenie ALTER TABLE jest używane do modyfikacji struktury istniejącej tabeli. W tym przypadku chcemy dodać nową kolumnę o nazwie 'rozmiar', a typ 'varchar(20)' oznacza, że kolumna ta będzie przechowywać dane tekstowe o maksymalnej długości 20 znaków. Jest to standardowa praktyka w języku SQL, która pozwala na elastyczne zarządzanie danymi w bazach danych. Przykładem zastosowania może być sytuacja, w której w tabeli 'Towar' chcemy przechowywać informacje o rozmiarze odzieży, co pomaga w lepszym zarządzaniu stanem magazynowym. Prawidłowe zweryfikowanie typów kolumn i ich ograniczeń jest kluczowe dla zapewnienia integralności danych. Warto także pamiętać o tym, że operacje na strukturze bazy danych powinny być przeprowadzane z zachowaniem odpowiednich zasad, takich jak wykonywanie kopii zapasowych przed wprowadzeniem zmian oraz testowanie zmian w środowisku deweloperskim przed wdrożeniem ich w środowisku produkcyjnym.

Pytanie 7

Które stwierdzenie jest poprawne w odniesieniu do grafiki rastrowej?

A. to obraz przedstawiony jako siatka odpowiednio kolorowanych pikseli
B. obraz opisany jest figurami geometrycznymi w układzie współrzędnych
C. nie jest zapisywana w formacie WMF
D. podczas skalowania obraz nie traci na jakości
Grafika rastrowa to obraz zapisany jako SIATKA pikseli, z których każdy ma swój kolor (tak działają zdjęcia, formaty PNG, JPG, BMP). Dlatego poprawne jest stwierdzenie, że to obraz w postaci siatki kolorowanych pikseli.

Pytanie 8

Który z przedstawionych obrazów ma zastosowany poniższy styl CSS?

img {
    padding: 5px;
    border: 1px solid grey;
    border-radius: 10px;
}
Ilustracja do pytania
A. D.
B. C.
C. B.
D. A.
Stylizacja obrazów za pomocą CSS jest kluczowym aspektem w projektowaniu stron internetowych, ponieważ wpływa na estetykę i funkcjonalność interfejsu użytkownika. Wybierając nieodpowiednią odpowiedź, można nie uwzględnić, jak różne właściwości styli wpływają na wygląd elementu. Na przykład, pomijając właściwość padding, można nie zapewnić odpowiedniej przestrzeni wokół obrazu, co skutkuje mniej czytelnym wyglądem. Użycie border bez zrozumienia jego zastosowania może prowadzić do niekompatybilności wizualnej z resztą interfejsu, ponieważ zbyt gruba lub kontrastowa ramka może odciągać uwagę użytkownika. Border-radius to kolejna kluczowa właściwość często pomijana w projektach. Brak zaokrąglenia rogów może sprawić, że elementy będą wydawały się surowe i nieprzystępne. Pominięcie tych szczegółów może również wpłynąć na responsywność i dostępność strony, ponieważ nowe standardy UX/UI kładą duży nacisk na miękkie krawędzie i przestrzeń wokół wizualnych komponentów. Dlatego zrozumienie tych koncepcji jest niezbędne do skutecznego projektowania estetycznych i funkcjonalnych stron internetowych. Właściwe zastosowanie CSS pozwala na tworzenie spójnych wizualnie i przyjaznych dla użytkownika projektów.

Pytanie 9

Która z czynności nie wpłynie na objętość zajmowanej pamięci pliku graficznego?

A. Zmiana rozmiaru obrazu przy użyciu atrybutów HTML
B. Interpolacja
C. Modyfikacja rozdzielczości obrazu
D. Kompresja
Zmiana rozdzielczości obrazu, kompresja oraz interpolacja to techniki, które zdecydowanie wpływają na rozmiar pliku graficznego. Zmiana rozdzielczości obrazu polega na modyfikacji liczby pikseli w obrazie, co bezpośrednio wpływa na jego wagę. Im większa rozdzielczość, tym więcej danych jest przechowywanych, co skutkuje większym plikiem. W praktyce, jeśli zredukujemy rozdzielczość obrazu, jego rozmiar pliku również zmaleje, co może być przydatne w kontekście optymalizacji stron internetowych. Kompresja to kolejny kluczowy proces, który może znacznie wpłynąć na rozmiar pliku. Polega ona na zmniejszeniu ilości danych w pliku graficznym, co może być realizowane bez widocznej utraty jakości. Istnieją różne metody kompresji, takie jak JPEG, PNG czy WebP, z których każda ma swoje zastosowania w zależności od rodzaju obrazu i wymagań projektu. Interpolacja, z kolei, to technika stosowana podczas zmiany rozmiaru obrazów, która polega na obliczaniu nowych wartości pikseli na podstawie istniejących. W procesie tym może dojść do degradacji jakości obrazu, co w przypadku niewłaściwego zastosowania prowadzi do niepożądanych efektów wizualnych. Zrozumienie, jak te techniki wpływają na pliki graficzne, jest kluczowe dla każdego twórcy treści, który pragnie optymalizować swoje zasoby i zapewniać użytkownikom jak najlepsze doświadczenia podczas przeglądania stron internetowych.

Pytanie 10

Poniżej zaprezentowano fragment kodu w języku HTML:
<ol>
<li>punkt 1</li>
<li>punkt 2</li>
<ul>
<li>podpunkt1</li>
<li>podpunkt2</li>
<li>podpunkt3</li>
</ul>
<li>punkt3</li>
</ol>

A. punkt 1 punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
B. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt1 3. punkt3
C. 1. punkt 1 2. punkt 2 3. punkt3 podpunkt1 podpunkt2 podpunkt1
D. 1. punkt 1 2. punkt 2 podpunkt1 podpunkt2 podpunkt3 punkt3
Widzisz, w niektórych odpowiedziach pojawiły się błędy, które mogą wprowadzać zamieszanie. Na przykład, użycie <il> zamiast <ul> to spory błąd, bo w HTML nie mamy elementu <il>. To może spowodować problemy z wyświetlaniem strony w przeglądarkach. I w paru przypadkach z kolejnością podpunktów było nie tak – pamiętaj, że hierarchia jest ważna. Dobrze zdefiniowane listy powinny mieć swoje konteksty, czyli otaczać je tagami <ol> lub <ul>. Każdy błąd w tym zakresie może utrudnić nawigację po stronie, zwłaszcza dla osób z niepełnosprawnościami. Ogólnie rzecz biorąc, warto dbać o porządek w HTML, bo to jest kluczowe w tworzeniu stron, które są użyteczne i funkcjonalne.

Pytanie 11

Możliwość utworzenia konta użytkownika jan z hasłem janPass można osiągnąć przy pomocy polecenia

A. CREATE USER 'jan'@'localhost';
B. CREATE USER 'jan'@'localhost' IDENTIFIED BY 'janPass';
C. CREATE USER 'jan'@'localhost' PASSWORD EXPIRE;
D. CREATE USER 'jan'@'%localhost' IDENTIFIED VIA mysql_native_password USING 'janPass';
Pozostałe odpowiedzi zawierają błędy związane z używaniem składni SQL do tworzenia użytkowników. W pierwszym przypadku, polecenie 'CREATE USER 'jan'@'localhost';' nie definiuje hasła, co sprawia, że użytkownik nie będzie mógł się zalogować, ponieważ brak jest wymaganego elementu autoryzacji. W kontekście bezpieczeństwa i standardów zarządzania użytkownikami, każdemu utworzonemu kontu należy przypisać odpowiednie hasło, aby uniemożliwić dostęp osobom nieuprawnionym. Następnie, polecenie 'CREATE USER 'jan'@'localhost' PASSWORD EXPIRE;' jest niepoprawne, ponieważ nie tworzy użytkownika z hasłem; zamiast tego, sugeruje jedynie, że hasło ma wygasnąć, co nie jest sensowną operacją przy tworzeniu nowego konta. Warto zauważyć, że takie podejście do zarządzania użytkownikami może prowadzić do poważnych luk w zabezpieczeniach. Wreszcie, odpowiedź 'CREATE USER 'jan'@'%localhost' IDENTIFIED VIA mysql_native_password USING 'janPass';' również zawiera błąd. Choć używa poprawnej składni, to 'USING' oraz 'IDENTIFIED VIA' nie są odpowiednie w kontekście tworzenia użytkowników w MySQL, co prowadzi do niepoprawnego rozumienia procesu autoryzacji. Poprawne podejście do zarządzania użytkownikami w MySQL koncentruje się na odpowiednim zabezpieczeniu i zarządzaniu hasłami, co nie zostało odzwierciedlone w powyższych odpowiedziach.

Pytanie 12

Znacznik <pre> </pre> służy do prezentacji

A. treści czcionką o stałej szerokości
B. znaku wielokropka
C. znaku przekreślenia
D. treści polską czcionką
Znacznik <pre> </pre> jest używany w HTML do wyświetlania tekstu w formacie preformatowanym, co oznacza, że zawartość wewnątrz tego znacznika jest wyświetlana czcionką o stałej szerokości, gdzie wszystkie białe znaki, w tym spacje i nowe linie, są zachowywane tak, jak zostały wpisane. To sprawia, że jest on niezwykle przydatny przy prezentacji kodu źródłowego, skryptów oraz innych danych, gdzie zachowanie dokładnego formatowania jest kluczowe. Przykładem może być kod HTML, JavaScript czy CSS, który można umieścić wewnątrz znacznika <pre> w celu poprawienia czytelności i umożliwienia użytkownikom łatwego skopiowania. Ponadto, znaczniki <pre> są często stosowane w dokumentacji technicznej, gdzie precyzyjne odwzorowanie formatowania jest istotne dla zrozumienia. Ważne jest również, aby zwrócić uwagę na to, że domyślnie tekst w elemencie <pre> nie jest łamany, co pozwala zachować jego oryginalny kształt i układ.

Pytanie 13

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
B. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
C. DELETE naprawy WHERE czyNaprawione = TRUE;
D. DELETE FROM naprawy;
W przypadku drugiej odpowiedzi, 'DELETE naprawy WHERE czyNaprawione = TRUE;', brak jest kluczowego słowa 'FROM', co jest niezgodne z syntaksą SQL. W standardzie SQL polecenie DELETE zawsze wymaga określenia tabeli, z której mają zostać usunięte dane, za pomocą słowa kluczowego 'FROM'. Bez tego, zapytanie będzie generować błąd. Kolejna odpowiedź, 'DELETE FROM naprawy;', jest niepoprawna, ponieważ usuwa wszystkie rekordy z tabeli 'naprawy', co zwykle nie jest pożądanym działaniem. To podejście może prowadzić do utraty wszystkich zapisów, co w praktyce jest katastrofalne, jeśli nie wykonano wcześniej kopii zapasowej. Czwarta odpowiedź, 'DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;', błędnie sugeruje, że można wskazać konkretne kolumny do usunięcia, co jest także niezgodne z zasadami SQL. W SQL nie można wskazać pojedynczych kolumn do usunięcia, to całe rekordy są usuwane. Typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, to brak znajomości podstawowych zasad działania zapytań SQL oraz mylenie koncepcji usuwania danych z modyfikowaniem ich zawartości.

Pytanie 14

Na ilustracji przedstawiono strukturę bloków na stronie internetowej. Który z poniższych fragmentów CSS odpowiada takim ustawieniom? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy {float:left; width:30%;} #drugi {float:left; width:70%;} #trzeci {float:left; width:70%;} #czwarty {clear:both; }
B. #pierwszy{float:left; width:30%;} #drugi {clear:both; width:70%;} #trzeci {clear:both; width:70%;} #czwarty {float:left; width:100%;}
C. #pierwszy {float:left; width:30%; } #drugi {clear:both; width:70%; } #trzeci {float:left; width:70%; } #czwarty {clear:both; }
D. #pierwszy { width: 30%; } #drugi { width: 70%; } #trzeci { width: 70%; } #czwarty { width: 100%; }
Inne odpowiedzi wykorzystują niewłaściwe zastosowanie właściwości float oraz clear, co skutkuje nieprawidłowym wyświetlaniem elementów na stronie. Użycie clear:both dla elementów, które powinny być wyświetlane w tej samej linii co inne elementy, powoduje, że te elementy są przesuwane do nowej linii, co nie jest zgodne z zamierzonym układem. Clear:both powinno być stosowane w celu zakończenia efektu float i rozpoczęcia nowego wiersza dla elementów, które mają być poniżej tych unoszących się. Ponadto brak użycia float przy elementach takich jak #drugi i #trzeci oznacza, że nie będą one ułożone w jednej linii, co jest kluczowe dla zaawansowanego rozplanowania przestrzeni na stronie. Niepoprawne użycie tych właściwości może prowadzić do niezgodności w różnych przeglądarkach, co jest częstym błędem w projektowaniu stron. Wiedza o tym, jak i kiedy stosować float oraz clear, jest niezbędna w tworzeniu funkcjonalnych i estetycznych layoutów. Zrozumienie właściwego użycia tych mechanizmów pozwala na unikanie problemów związanych z układem strony, szczególnie w kontekście responsywności i kompatybilności z różnymi urządzeniami. Dlatego ważne jest, aby dobrze zrozumieć zasady relacji między elementami, aby tworzyć bardziej złożone struktury stron internetowych, które są zgodne z obecnymi standardami web developmentu.

Pytanie 15

Które metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A.
concat() oraz pop()
B.
getMonth() oraz getDay()
C.
fromCodePoint()
D.
row()
Pozostałe metody należą do innych obiektów lub nie istnieją. row() nie jest standardową metodą JavaScriptu. fromCodePoint() to metoda obiektu String - tworzy znak z kodu Unicode, więc z datą nie ma związku. concat() i pop() operują na tablicach (a concat() też na łańcuchach), łącząc lub usuwając elementy. Odczyt składowych daty zapewniają getMonth() i getDay(), dlatego ta odpowiedź jest poprawna.

Pytanie 16

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. keywords
B. viewport
C. generator
D. description
W tym zadaniu kluczowe jest zrozumienie, że tylko meta o name="viewport" ma realny wpływ na sposób, w jaki przeglądarka wyznacza obszar widzialny strony na różnych urządzeniach. To właśnie ten atrybut informuje silnik renderujący, jak interpretować szerokość i skalę dokumentu HTML na ekranach o różnych rozdzielczościach i gęstościach pikseli. Pozostałe podane opcje pełnią zupełnie inne role i ich pomylenie z viewportem wynika zwykle z tego, że wszystkie są „jakimiś metadanymi” w <head>.
Atrybut name="keywords" był kiedyś używany głównie dla wyszukiwarek do opisu słów kluczowych strony. Obecnie większość wyszukiwarek go ignoruje, bo był masowo nadużywany do spamowania słowami kluczowymi. Nie ma on żadnego związku z responsywnością, skalowaniem strony czy dopasowaniem do ekranu telefonu. To tylko tekstowa informacja, która nie wpływa na sposób renderowania layoutu.
Podobnie meta name="description" służy do przekazania krótkiego opisu strony, który często pojawia się jako fragment w wynikach wyszukiwania (snippet). To ważny element SEO i użyteczności, ale ponownie – nie steruje szerokością widoku, nie zmienia zoomu i nie mówi przeglądarce, jak ma „ułożyć” stronę na małym ekranie. To czysta informacja opisowa.
Z kolei meta name="generator" jest używana głównie przez systemy CMS (np. WordPress, Joomla) do wpisania nazwy i wersji narzędzia, którym strona została wygenerowana. Ma znaczenie informacyjne, czasem diagnostyczne, ale z punktu widzenia użytkownika końcowego i wyglądu strony nie wnosi nic. Nie wpływa ani na skalę, ani na szerokość, ani na responsywność.
Typowym błędem jest wrzucanie wszystkich metatagów do jednego worka i zakładanie, że skoro „meta coś tam”, to pewnie ma wpływ na wyświetlanie strony. W rzeczywistości tylko meta viewport wprost steruje parametrami widoku na urządzeniach mobilnych. Dlatego przy projektowaniu stron responsywnych warto oddzielić w głowie metadane SEO (keywords, description, generator) od metadanych technicznych związanych z renderowaniem (właśnie viewport).

Pytanie 17

Który komentarz poprawnie opisuje działanie tej funkcji PHP?

function f($a, $b) {
  if ($a == $b) return -1;
  return ($a > $b) ? $a : $b;
}
A.
/* Funkcja zwraca mniejszą z dwóch wartości, a gdy  równe - zwraca $a */
B.
/* Funkcja zwraca mniejszą z dwóch wartości, a gdy  równe - zwraca -1 */
C.
/* Funkcja zwraca większą z dwóch wartości, a gdy  równe - zwraca $a */
D.
/* Funkcja zwraca większą z dwóch wartości, a gdy  równe - zwraca -1 */
Funkcja najpierw sprawdza if ($a == $b) return -1; (gdy wartości są równe, zwraca -1), a w przeciwnym razie operatorem ($a > $b) ? $a : $b zwraca WIĘKSZĄ z dwóch wartości. Dlatego trafny jest opis: zwraca większą z dwóch wartości, a gdy są równe - zwraca -1.

Pytanie 18

W zapisie rgba(100, 40, 50, 0.2) czego dotyczy OSTATNIA wartość?

A. saturacji barw RGB
B. nasycenia koloru czarnego
C. przezroczystości, gdzie 0 = pełna przezroczystość, 1 = brak
D. przezroczystości, gdzie 1 = pełna przezroczystość, 0 = brak
Pozostałe opisy są błędne. Ostatnia wartość nie dotyczy nasycenia ani saturacji - te należą do modelu HSL/HSV, a nie RGBA. Myląca jest też odwrócona skala: to 0 daje PEŁNĄ przezroczystość, a 1 jej brak (nie odwrotnie). Czwarta wartość rgba to alfa: 0 = przezroczyste, 1 = kryjące.

Pytanie 19

W HTML-u atrybut shape w znaczniku area, który definiuje kształt obszaru, może przyjąć wartość

A. rect, triangle, circle
B. poly, square, circle
C. rect, square, circle
D. rect, poly, circle
Wybór niewłaściwej odpowiedzi może wynikać z nieporozumień dotyczących atrybutu shape w znaczniku area. Odpowiedzi wskazujące na 'square' lub 'triangle' są błędne, ponieważ te kształty nie są obsługiwane przez standard HTML. W przypadku 'square', mogłoby się wydawać, że jest to po prostu inna forma prostokąta, jednak HTML nie definiuje takiej wartości dla atrybutu shape. Również 'triangle' nie jest uznawany w kontekście standardowych atrybutów; HTML nie pozwala na bezpośrednie definiowanie kształtów trójkątnych w obszarach mapy obrazów. Tego rodzaju zamieszanie może wynikać z niepełnego zrozumienia funkcji atrybutu, który jest jednoznacznie związany z prostokątem, okręgiem oraz wielokątem. Kluczowe jest, aby przyjrzeć się dokumentacji HTML oraz standardom W3C, które jasno określają poprawne wartości dla atrybutu shape. W praktyce, zrozumienie tych różnic jest istotne dla tworzenia efektywnych i dostępnych interfejsów użytkownika, gdzie każdy element jest precyzyjnie zdefiniowany i zrozumiały dla przeglądarek oraz użytkowników. Ponadto, stosowanie niepoprawnych wartości może prowadzić do błędów w renderowaniu strony, co negatywnie wpływa na doświadczenia użytkowników i dostępność serwisu.

Pytanie 20

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

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

Pytanie 21

Które z poniższych twierdzeń o zasadach programowania w PHP jest poprawne?

A. Nazwy zmiennych zaczynają się od znaku !
B. Jest to język o słabej kontroli typów
C. W nazwach zmiennych nie rozróżnia się wielkości liter
D. Deklaracja zmiennych odbywa się po słowie kluczowym var
Deklaracja zmiennych w PHP odbywa się za pomocą znaku dolara ($), a nie słowa kluczowego 'var'. W przeciwieństwie do niektórych innych języków programowania, takich jak JavaScript, gdzie 'var' jest używane do deklarowania zmiennych, PHP przyjmuje inny sposób. Również w kontekście nazw zmiennych, w PHP wielkość liter ma znaczenie; zmienna $zmienna i $Zmienna są różnymi zmiennymi. To oznacza, że programiści muszą być szczególnie ostrożni przy pisaniu kodu, aby uniknąć niezamierzonych błędów. Ponadto, w PHP niektóre typy zmiennych są ściśle określone przez ich wartości, co może prowadzić do nieporozumień na temat 'słabej kontroli typów'. Ostatecznie, PHP nie jest językiem o ścisłej kontroli typów, lecz dzięki swojej słabej kontroli typów umożliwia programistom większą elastyczność w pracy z danymi. Zrozumienie tych różnic jest kluczowe dla każdego programisty PHP, aby uniknąć typowych pułapek, które mogą prowadzić do błędów w kodzie i trudności w utrzymaniu aplikacji. W praktyce, warto korzystać z dobrych praktyk, takich jak stosowanie typów w PHP 7 i nowszych, które wprowadzają możliwość określania typów dla argumentów funkcji i wartości zwracanych, co zwiększa stabilność i przewidywalność kodu.

Pytanie 22

Formaty wideo, które są wspierane przez standard HTML5, to

A. MP4, Ogg, WebM
B. MP4, AVI
C. Ogg, QuickTime
D. Ogg, AVI, MPEG
Wybór odpowiedzi takiej jak MP4, AVI, nie uwzględnia faktu, że format AVI nie jest obsługiwany przez HTML5. AVI to starszy format kontenera, który wymaga zainstalowanych kodeków, co czyni go mniej przydatnym w kontekście nowoczesnych aplikacji webowych, które stawiają na zgodność i łatwość użycia. Podobnie, wybór Ogg, QuickTime również jest błędny, ponieważ format QuickTime, choć popularny, nie jest częścią standardu HTML5 i wymaga korzystania z dodatkowych wtyczek lub komponentów w przeglądarkach, co nie sprzyja wydajności ani wygodzie użytkowników. W przypadku Ogg, choć jest to format otwarty, jego zastosowanie w praktyce jest ograniczone w porównaniu z MP4 czy WebM. Również zestawienie Ogg, AVI, MPEG jest mylące, ponieważ MPEG to bardziej ogólne określenie dla różnych standardów kompresji wideo, a nie konkretny format pliku. Współczesne praktyki programistyczne i standardy internetowe preferują formaty, które są natywnie wspierane przez przeglądarki, a te, które wymagają dodatkowych wtyczek lub nie są powszechnie używane, są odrzucane. Zrozumienie, które formaty są zgodne z HTML5, jest kluczowe dla zapewnienia optymalnych doświadczeń użytkownika.

Pytanie 23

Tabela ksiazki ma kolumny tytul, autor, cena (liczbowa). Która kwerenda zwróci TYLKO tytuły książek tańszych niż 50?

A.
SELECT * FROM ksiazki WHERE cena < 50;
B.
SELECT tytul FROM ksiazki WHERE cena > '50 zł';
C.
SELECT tytul FROM ksiazki WHERE cena < 50;
D.
SELECT ksiazki FROM tytul WHERE cena < '50 zł';
Pozostałe zapytania nie spełniają warunków. SELECT * zwróciłby wszystkie kolumny, a nie same tytuły. Porównania z tekstem '50 zł' są błędne (cena jest liczbą), a > oznaczałoby książki DROŻSZE. SELECT ksiazki FROM tytul zamienia rolami tabelę i kolumnę. Poprawne jest SELECT tytul FROM ksiazki WHERE cena < 50;.

Pytanie 24

Co należy zrobić, gdy rozmiar pliku graficznego jest zbyt duży do umieszczenia w Internecie?

A. zwiększyć jego głębię kolorów
B. zmniejszyć jego rozdzielczość
C. zapisać w formacie BMP
D. dodać kanał alfa
Wybór formatu BMP do publikacji w Internecie jest niepraktyczny, ponieważ BMP jest formatem o bardzo dużej objętości, który nie kompresuje danych, co sprawia, że pliki są nieporęczne do przesyłania. Zdecydowanie bardziej odpowiednie są kompresowane formaty, jak JPEG, PNG, czy GIF, które pozwalają na znaczne zmniejszenie rozmiaru plików bez zauważalnej utraty jakości w przypadku obrazów bitmapowych. Zwiększenie głębi kolorów to kolejny błąd myślowy, ponieważ zwiększenie liczby kolorów w obrazie nie tylko nie wpływa na jego rozmiar w sposób korzystny, ale wręcz go zwiększa, co czyni plik jeszcze mniej odpowiednim do publikacji w Internecie. Dodanie kanału alfa, który wprowadza przezroczystość w obrazach, również zwiększa objętość pliku, co czyni tę opcję nieoptymalną przy próbie zmniejszenia rozmiaru pliku. W kontekście publikacji internetowych, kluczowym celem powinno być zapewnienie szybkości ładowania strony oraz dostarczenie użytkownikom jak najlepszych doświadczeń, co jest możliwe poprzez optymalizację obrazów, a nie ich obciążanie. Z tego powodu, zamiast stosować nieefektywne rozwiązania, ważne jest, aby korzystać z właściwych narzędzi i technik, aby zapewnić najlepszą jakość i wydajność podczas publikacji graficznych w sieci.

Pytanie 25

Używa się zapytania z klauzulą JOIN, aby

A. otrzymać wynik tylko z jednej tabeli
B. uzyskać dane z dwóch tabel, które są ze sobą powiązane
C. wykonać funkcję agregującą
D. określić klucz obcy dla tabeli
Zastosowanie klauzuli JOIN w zapytaniach SQL jest często mylone z innymi operacjami na tabelach, co prowadzi do nieporozumień i błędnych koncepcji. Definiowanie klucza obcego dla tabeli jest procesem, który nie ma bezpośredniego związku z samym zapytaniem. Klucz obcy, który służy do utrzymania integralności referencyjnej między tabelami, jest konfigurowany podczas tworzenia lub modyfikacji struktury bazy danych, a nie podczas pisania zapytań. Ponadto, wywoływanie funkcji agregujących, takich jak SUM czy COUNT, może być przeprowadzane niezależnie od tego, czy w zapytaniu wykorzystujemy JOIN. Funkcje te mogą działać na danych z jednej tabeli, co jest sprzeczne z błędnym stwierdzeniem, że JOIN jest niezbędny do ich wywołania. Ostatnim nieporozumieniem jest idea, że można otrzymać wyniki tylko z jednej tabeli. W praktyce, wiele zapytań wymaga współpracy między tabelami, aby uzyskać pełniejszy kontekst danych. Dobrą praktyką w projektowaniu baz danych jest jednak unikanie nieefektywnego łączenia tabel, jeżeli nie jest to konieczne, co może prowadzić do nieoptymalnej wydajności zapytań. Znajomość różnicy między operacjami na poziomie struktury bazy danych a zapytaniami pozwala na lepsze projektowanie i wykorzystanie systemów bazodanowych.

Pytanie 26

Kiedy w JavaScript można zadeklarować zmienną?

A. tylko na początku skryptu
B. tylko po podaniu typu i nazwy zmiennej
C. w chwili pierwszego użycia (gdy jest potrzebna)
D. zawsze z poprzedzającym nazwę znakiem $
JavaScript ma dynamiczne typy, więc nie wymusza deklaracji „na początku skryptu” ani podawania typu. Znak $ przed nazwą jest charakterystyczny dla PHP, nie JS. Zmienną można zadeklarować tam, gdzie jest potrzebna - w chwili pierwszego użycia.

Pytanie 27

Użytkownik Jan będzie miał możliwość realizacji

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach w bazie dane
B. wszystkie operacje na tabelach bazy dane oraz przekazywać prawa innym użytkownikom
C. wyłącznie operacje CREATE, ALTER, DROP na tabelach w bazie dane
D. tylko operacje manipulacji danymi oraz zmienić jedynie swoje uprawnienia
Niepoprawne odpowiedzi wynikają z nieporozumień dotyczących zakresu uprawnień, jakie mogą być przyznane użytkownikom w systemie baz danych. Ograniczanie możliwości Jan do jedynie operacji CREATE, ALTER, DROP na tabelach bazy danych jest błędne, ponieważ przyznanie ALL PRIVILEGES pozwala na znacznie szerszy zakres operacji, w tym manipulację danymi poprzez SELECT i INSERT. Warto zauważyć, że w kontekście baz danych, operacje związane z manipulowaniem danymi są kluczowe dla prawidłowego funkcjonowania aplikacji i utrzymania integralności danych. Twierdzenie, że Jan miałby jedynie możliwość zmiany własnych praw, jest również mylne, ponieważ uprawnienia ALL PRIVILEGES dają użytkownikowi kontrolę nad wszystkimi tabelami oraz możliwość nadawania uprawnień innym użytkownikom. Koncepcja ograniczenia uprawnień do jedynie manipulacji danymi nie uwzględnia pełnego potencjału, jaki niesie ze sobą przyznanie ALL PRIVILEGES, co prowadzi do nieefektywnego zarządzania bazą danych. Zrozumienie, jak działają uprawnienia w systemach baz danych, jest kluczowe dla bezpieczeństwa i prawidłowego zarządzania danymi, dlatego konieczne jest, aby administratorzy baz danych dokładnie analizowali zasady, według których przyznają uprawnienia użytkownikom.

Pytanie 28

Aby poprawnie skomentować linię kodu w języku JavaScript, należy po znakach // wprowadzić komentarz x = Math.max(a,b,c); //

A. w zmiennej x maksymalna wartość ze zmiennych a, b, c
B. nieprawidłowe dane
C. w zmiennej x minimalna wartość ze zmiennych a, b, c
D. wybór wartości maksymalnej spośród zmiennych a, b oraz c
W analizowanych odpowiedziach znajdują się stwierdzenia, które nie oddają rzeczywistego działania funkcji wykorzystywanej w tej linii kodu. Stwierdzenie dotyczące wyboru losowej wartości ze zmiennych a, b i c jest błędne, ponieważ funkcja Math.max nie dokonuje wyboru losowego, ale precyzyjnie analizuje wartości i zwraca największą z nich. Takie myślenie może prowadzić do poważnych nieporozumień w kontekście programowania, gdzie deterministyczne wyniki są kluczowe. Inne z kolei stwierdzenie, że w zmiennej x znajduje się minimalna wartość ze zmiennych a, b, c, jest całkowicie sprzeczne z logiką funkcji Math.max, która z definicji nakazuje jej zwracać maksymalną, a nie minimalną wartość. Użytkownik, bazując na tym błędnym rozumowaniu, mógłby wprowadzić niepoprawne dane do dalszego przetwarzania. Natomiast ostatnia błędna odpowiedź sugerująca, że zmienna x zawiera maksymalną wartość bez uwzględnienia kontekstu, jest niepoprawna w tym sensie, że nie precyzuje, iż funkcja Math.max porównuje konkretnie wartości a, b i c. Aby uniknąć takich nieporozumień, ważne jest zrozumienie mechanizmu działania wbudowanych funkcji w JavaScript oraz ich zastosowania w praktyce.

Pytanie 29

Funkcja zapisana w języku PHP ma postać jak poniżej. Jej zadaniem jest

function fun1($liczba)
{
    if($liczba % 2 == 0)
        return 1;

    return 0;
}
A. wypisanie liczby nieparzystej.
B. zwrócenie wartości 0, gdy liczba jest parzysta.
C. wypisanie liczby parzystej.
D. zwrócenie wartości 1, gdy liczba jest parzysta.
Wybrana przez Ciebie odpowiedź jest niepoprawna. W analizowanej funkcji nie ma elementów, które sugerowałyby wypisywanie wyniku, a tylko zwracanie go - stąd odpowiedzi sugerujące wypisywanie są błędne. Funkcja fun1($liczba) w PHP zwraca wartość 1, gdy liczba podana jako argument jest parzysta, a nie wypisuje jej. W PHP, do wypisywania wartości służy funkcja echo lub print, której tutaj brakuje. Poza tym, funkcja zwraca wartość 0, gdy liczba nie jest parzysta, a nie gdy jest parzysta - zatem, ostatnia odpowiedź także jest niepoprawna. Błędne odpowiedzi wynikają z niewłaściwego zrozumienia mechanizmu działania funkcji i operacji, które na niej są wykonywane. Ważne jest, aby umieć odróżnić operacje zwracania wartości od wypisywania jej, a także zrozumieć znaczenie operatora modulo i warunku porównania w kontekście analizowanej funkcji.

Pytanie 30

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zmienić proporcje szerokości do wysokości
B. zwiększyć rozdzielczość
C. zmienić format grafiki na CDR
D. zmniejszyć wymiary rysunku
Zmiana formatu na CDR nie jest zalecana dla grafiki internetowej. Format CDR jest formatem wektorowym używanym w programie CorelDRAW i nie jest obsługiwany przez przeglądarki internetowe. Grafika wektorowa w formacie CDR wymaga konwersji do formatu rastrowego takiego jak PNG lub JPG aby mogła być użyta na stronach WWW co dodaje dodatkowy krok w procesie publikacji. Zwiększenie rozdzielczości, czyli zwiększenie wartości dpi, zwiększa ilość danych w pliku graficznym, co powoduje dłuższy czas ładowania. Większa rozdzielczość jest użyteczna głównie w kontekście drukowania gdzie jakość obrazu jest kluczowa, natomiast dla internetu standardowa rozdzielczość 72 dpi jest wystarczająca dla większości zastosowań. Zmiana proporcji szerokości do wysokości nie wpływa na rozmiar pliku ani na czas jego ładowania. Taka zmiana może wręcz prowadzić do niepożądanego efektu rozciągnięcia lub zniekształcenia obrazu co negatywnie wpływa na estetykę strony. Prawidłowe proporcje są ważne dla zachowania spójnej estetyki i użyteczności wizualnej serwisu jednak nie mają bezpośredniego wpływu na wydajność ładowania. Typowe błędy myślowe związane z tymi odpowiedziami wynikają z braku zrozumienia specyfiki optymalizacji webowej gdzie mniejszy rozmiar pliku przekłada się na szybsze ładowanie i lepszą wydajność strony internetowej.

Pytanie 31

Co wyświetli kod PHP:

echo date('Y');
?
A. miesiąc i rok
B. rok
C. dzień
D. dzień i miesiąc
Funkcja date() formatuje datę wg podanego wzorca, a litera 'Y' oznacza ROK czterocyfrowo (np. 2026). Dlatego echo date('Y'); wyświetli rok.

Pytanie 32

Jakie środowisko jest wymagane do uruchomienia systemu CMS Joomla! (domyślna konfiguracja)?

A. Python i MySQL
B. IIS, Perl i MySQL
C. C++ i MySQL
D. Apache, PHP i MySQL
Pozostałe zestawy nie pasują do Joomli. C++ i Python to inne języki (Joomla działa w PHP). IIS z Perlem to środowisko spoza domyślnej konfiguracji Joomli. Wymagane jest Apache, PHP i MySQL.

Pytanie 33

Który zapis CSS ustawi punktor listy NUMEROWANEJ na wielkie cyfry rzymskie, a PUNKTOWANEJ na kwadraty?

A.
ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
B.
ol { list-style-type: square; } ul { list-style-type: upper-roman; }
C.
ol { list-style-type: upper-roman; } ul { list-style-type: square; }
D.
ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
Trzeba dopasować wartości do list. disc to wypełnione kółko, a upper-alpha to wielkie litery - nie spełniają warunku (rzymskie cyfry i kwadraty). Mylące jest też zamienienie reguł <ol> i <ul> miejscami. Poprawne jest ol { list-style-type: upper-roman; } ul { list-style-type: square; }.

Pytanie 34

Określ na podstawie diagramu, jaką liczebność należy zdefiniować przy związku pomiędzy encjami Podręcznik i Wydawnictwo zakładając, że dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu.

Ilustracja do pytania
A. 1-1 (1 przy encji Podręcznik, 1 przy encji Wydawnictwo)
B. 1-N (1 przy encji Podręcznik, N przy encji Wydawnictwo)
C. N-1 (N przy encji Podręcznik, 1 przy encji Wydawnictwo)
D. M-N (M przy encji Podręcznik, N przy encji Wydawnictwo)
Opisany w pytaniu związek jasno sugeruje sytuację, w której wiele różnych podręczników jest powiązanych z jednym wydawnictwem. To typowy przypadek relacji N–1, czyli wiele‑do‑jednego z punktu widzenia encji Podręcznik. Błędne odpowiedzi wynikają zwykle z pomylenia kierunku patrzenia na relację albo z prób „uogólnienia” modelu ponad to, co naprawdę wynika z założeń. Relacja 1–1 między Podręcznik a Wydawnictwo oznaczałaby, że każdemu wydawnictwu odpowiada dokładnie jeden podręcznik i odwrotnie. To kompletnie nie pasuje do realnego świata, gdzie wydawnictwa mają całe katalogi książek. W modelowaniu danych 1–1 stosuje się rzadko, raczej do technicznego dzielenia tabeli, a nie do takich typowo biznesowych bytów jak książka i wydawnictwo. Odpowiedź 1–N jest myląca, bo odwraca kierunek: oznaczałaby, że pojedynczy podręcznik jest powiązany z wieloma wydawnictwami. To byłby przypadek, gdzie ten sam egzemplarz podręcznika ma kilku wydawców jednocześnie, co jest sprzeczne z treścią zadania. Czasem ktoś myli tu pojęcie „wiele wydań w różnych wydawnictwach”, ale wtedy relacja i tak jest między wydaniem a wydawnictwem, a nie między jednym podręcznikiem a wieloma wydawnictwami w tym samym modelu. Z kolei M–N (lub M–N/M–N w różnych notacjach) opisuje sytuację, w której wiele podręczników może być powiązanych z wieloma wydawnictwami i wymagałaby dodatkowej tabeli asocjacyjnej. To podejście jest stosowane np. przy relacji Student–Przedmiot, ale tutaj zadanie wyraźnie mówi, że różne podręczniki „odpowiadają jednemu wydawnictwu”, więc nie ma podstaw do wprowadzania związku wiele‑do‑wielu. Typowy błąd myślowy polega na tym, że ktoś próbuje projektować „na zapas” i zakłada wszystkie możliwe warianty, zamiast trzymać się dokładnie specyfikacji i odróżniać kierunek relacji: z perspektywy podręcznika jest jeden wydawca, z perspektywy wydawnictwa jest wiele podręczników, stąd poprawne N–1.

Pytanie 35

DOM udostępnia metody i właściwości, które w języku JavaScript umożliwiają:

A. wysłanie danych formularza bezpośrednio do bazy danych
B. wykonywanie operacji na zmiennych liczbowych
C. pobieranie i modyfikowanie elementów wyświetlonej strony
D. manipulowanie łańcuchami znaków zadeklarowanymi w kodzie
Pozostałe odpowiedzi dotyczą rzeczy niezwiązanych z DOM. Manipulowanie łańcuchami znaków zapewniają wbudowane metody typu string (np. length, slice()), a nie DOM. Wysłanie danych formularza do bazy danych realizuje kod po stronie serwera (np. PHP) - przeglądarkowy DOM nie ma bezpośredniego dostępu do bazy. Operacje na zmiennych liczbowych to podstawowe działania języka, dostępne niezależnie od dokumentu. DOM służy do odczytywania i zmieniania elementów wyświetlonej strony, dlatego to ta odpowiedź jest poprawna.

Pytanie 36

W języku JavaScript funkcja document.getElementById(id) służy do

A. pobierania danych z pola formularza i przypisania ich do zmiennej id
B. sprawdzania poprawności formularza z identyfikatorem id
C. umieszczenia tekstu 'id' na stronie WWW
D. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
Zrozumienie funkcji document.getElementById(id) jest fundamentalne dla efektywnej pracy z DOM w JavaScript. Wiele błędnych odpowiedzi na to pytanie wynika z nieporozumień dotyczących podstawowych zasad działania tej metody. Propozycja, że metoda ta sprawdza poprawność formularza o identyfikatorze id, jest nieprawidłowa, ponieważ jej głównym celem nie jest walidacja danych, lecz lokalizacja elementu w dokumencie. Walidacja formularza zwykle realizowana jest za pomocą innych metod, takich jak event listeners, które reagują na interakcje użytkownika. Twierdzenie, że document.getElementById() pobiera dane z pola formularza i wstawia je do zmiennej id, jest także mylące, ponieważ id to atrybut, który wskazuje na element, a nie zmienną do przechowywania wartości. W rzeczywistości, jeśli chcielibyśmy uzyskać wartość pola formularza, musielibyśmy najpierw uzyskać odniesienie do tego elementu, a następnie odczytać jego wartość za pomocą np. element.value. Ostatnia nieprawidłowa koncepcja, czyli wstawienie tekstu o treści 'id' na stronie WWW, również jest błędna, gdyż metoda ta nie wstawia tekstu, a jedynie zwraca odniesienie do elementu. Wskazuje to na powszechne błędy myślowe, gdzie użytkownicy mylą funkcję szukania elementu z funkcjami manipulacji jego zawartością. Zrozumienie tych różnic jest kluczowe w nauce programowania w JavaScript.

Pytanie 37

Jak umieścić komentarz w kodzie PHP?

A. /* ... */
B. /? ... ?/
C. <!-- ... -->
D. <? ... ?>
Wiele osób mogących mieć z początku problemy z właściwym umiejscowieniem komentarzy w kodzie PHP, często korzysta z niewłaściwych składni. Na przykład, odpowiedź <? ... ?> sugeruje, że komentarz można umieścić w specjalnych znacznikach PHP, co jest błędne. W rzeczywistości znaki te służą do otwierania i zamykania bloków kodu PHP, a nie do tworzenia komentarzy. Z kolei odpowiedź /? ... ?/ jest również niepoprawna, ponieważ nie istnieje w PHP żadna składnia komentarza oparta na tym systemie. Typowe błędy myślowe prowadzące do takich wniosków są związane z nieporozumieniem dotyczącym funkcji znaczników PHP. Inną nieprawidłową odpowiedzią jest <!-- ... -->, która jest używana w HTML do komentowania kodu, lecz nie ma zastosowania w PHP. Kluczowe jest zrozumienie, że każda technologia ma swoje własne zasady dotyczące kodowania oraz komentarzy, a mieszanie tych reguł może prowadzić do nieporozumień i błędów w kodzie. Dobre praktyki programistyczne jasno wskazują, że komentarze powinny być używane z umiarem i w odpowiednich miejscach, aby nie wprowadzać zamieszania zarówno w kodzie, jak i w jego interpretacji przez innych programistów.

Pytanie 38

Który znacznik HTML oznacza fragment tekstu jako KOD programistyczny?

A.
<blockquote>
B.
<em>
C.
<span>
D.
<code>
Trzeba trafić w znacznik o znaczeniu „kod”. <em> to wyróżnienie znaczeniowe (kursywa), <span> to neutralny pojemnik liniowy, a <blockquote> to cytat blokowy. Fragment kodu oznacza <code>.

Pytanie 39

W SQL, aby usunąć wszystkie rekordy z tabeli, ale zachować jej strukturę, należy użyć polecenia:

A. REMOVE
B. DELETE FROM
C. DROP TABLE
D. TRUNCATE
Istnieje kilka nieporozumień związanych z usuwaniem danych z tabel SQL, co może prowadzić do błędów. Polecenie <code>DROP TABLE</code> jest często mylone z <code>DELETE FROM</code>. Jednak <code>DROP TABLE</code> usuwa zarówno dane, jak i strukturę tabeli, co oznacza, że po jego użyciu nie będzie można odzyskać tabeli bez jej ponownego stworzenia. To polecenie jest destrukcyjne i powinno być używane tylko wtedy, gdy mamy pewność, że tabela nie jest już potrzebna. Z kolei <code>REMOVE</code> nie jest poprawnym poleceniem SQL. To może wynikać z mylnego przekonania, że istnieje takie polecenie w języku SQL, jednak w rzeczywistości nie jest ono częścią standardu SQL. Tego typu błędy wynikają często z nieznajomości składni SQL lub mylenia z innymi językami programowania, które mogą mieć podobne polecenia. Na koniec, <code>ERASE TABLE</code> również nie jest poprawnym poleceniem SQL. Może to być wynikiem intuicyjnego podejścia do nazewnictwa poleceń, ale w rzeczywistości SQL posługuje się innymi komendami. Kluczowe jest, by dobrze zrozumieć standardy języka SQL i znać właściwe polecenia dla zamierzonych operacji, aby uniknąć potencjalnie destrukcyjnych działań na bazie danych.

Pytanie 40

W przedstawionym kodzie JavaScript, który został ponumerowany dla przejrzystości, występuje błąd uniemożliwiający wyświetlenie jakiegokolwiek komunikatu po uruchomieniu. Jak można go naprawić?

1  if(a < b)
2      document.write(a);
3      document.write("jest mniejsze");
4  else
5      document.write(b);
6      document.write("jest mniejsze");
A. umieścić zmienne a i b w cudzysłowie w liniach 2 i 5
B. dodać znak $ przed nazwami zmiennych
C. zmienić znaki cudzysłowu na apostrof w liniach 3 i 6, np. 'jest mniejsze'
D. wprowadzić nawiasy klamrowe w sekcji if i else
Wstawienie znaku $ przed nazwami zmiennych w JavaScript nie jest wymagane, ponieważ ten język nie wymaga żadnych specjalnych znaków dla identyfikatorów zmiennych. Znak $ jest używany w niektórych przypadkach, np. w bibliotekach jak jQuery, ale nie wpływa na sposób działania podstawowych zmiennych. Wprowadzenie cudzysłowów wokół zmiennych a i b w liniach 2 i 5 również jest nieprawidłowe, ponieważ spowoduje to, że program zamiast wartości tych zmiennych będzie próbował odwoływać się do stringów 'a' i 'b', co z kolei prowadzi do błędów. W JavaScript cudzysłowy są używane do definiowania stringów, a nie do oznaczania zmiennych. Zamiana cudzysłowów na apostrofy w liniach 3 i 6 nie rozwiązuje problemu, ponieważ zarówno cudzysłowy, jak i apostrofy są poprawnymi znacznikami stringów w JavaScript. W kontekście dobrych praktyk programistycznych, zawsze warto stosować nawiasy klamrowe dla czytelności i bezpieczeństwa kodu, gdyż ułatwia to zrozumienie jego struktury oraz zmniejsza ryzyko błędów związanych z nieprawidłowym zakresem instrukcji.