Wyniki egzaminu

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

Egzamin zdany!

Wynik: 21/40 punktów (52,5%)

Wymagane minimum: 20 punktów (50%)

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

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;
B. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;
Wybór innych opcji jest nieco problematyczny. Kwerenda, która ustawia dataPlatnosci na CURTIME() w wierszach, gdzie id = 3, nie jest zbyt sensowna, bo odnosi się tylko do jednego rekordu. Poza tym, CURTIME() zwraca czas, a nie datę, a w kontekście faktur to nie ma sensu, bo powinny mieć datę płatności, a nie tylko czas. Kolejna sprawa to aktualizacja dat w wierszach, gdzie dataPlatnosci IS NOT NULL, co prowadzi do utraty ważnych informacji. Tego typu podejście jest sprzeczne z zasadami ochrony danych i może narobić bałaganu przy audytach. I ostatnia opcja, która ustawia datę na '0000-00-00', to kompletna katastrofa. Takie coś wprowadza błędne dane, które mogą wywołać problemy później. Użycie '0000-00-00' jako znacznika braku daty jest do bani i może prowadzić do nieporozumień. Lepiej używać NULL, bo to standard w SQL. Wybierając złe opcje, nie tylko ograniczasz funkcjonalność, ale także łamiesz zasady dobrego zarządzania danymi.

Pytanie 2

W której notacji diagramów ER został zapisany model związków encji przedstawiony na ilustracji?

Ilustracja do pytania
A. Chena.
B. Min-Max.
C. Bachmana.
D. Martina.
Na diagramie przedstawiono model w notacji Martina, a nie w żadnej z pozostałych wymienionych. Warto zrozumieć, czym ta notacja różni się od innych, bo w praktyce projektowania baz danych bardzo łatwo je ze sobą pomylić. Notacja Chena to bardziej „akademickie” podejście do ERD. Encje są zwykle rysowane jako prostokąty, ale atrybuty pojawiają się w osobnych elipsach, połączonych liniami z encją. Klucz główny bywa podkreślony, a związki są reprezentowane przez romby z nazwą relacji. Na naszym diagramie nic takiego nie ma – atrybuty są w środku prostokąta, w formie listy, a nie jako osobne kształty, więc to już mocny sygnał, że to nie jest Chen. Z kolei notacja Bachmana historycznie kojarzy się z modelami sieciowymi i specyficznym sposobem prezentowania struktur danych, często z łamanymi liniami i strzałkami, raczej nie przypomina tabel z nagłówkiem i listą pól. W typowych podręcznikach do systemów baz danych Bachman jest pokazywany jako dość stary styl, dziś mało używany przy klasycznym relacyjnym ERD, więc mało prawdopodobne, by tak wyglądał nowoczesny diagram klient–zakup–towar. Odpowiedź Min-Max jest też myląca, bo Min-Max nie jest nazwiskiem autora notacji, tylko sposobem zapisu krotności relacji, np. (0,1), (1,n). Można taki zapis wykorzystać zarówno z notacją Chena, jak i z innymi, ale sam diagram z obrazka nie używa jawnego oznaczenia min/max przy relacjach – widzimy crow’s foot, czyli styl typowy dla Martina. Typowy błąd w tego typu pytaniach polega na tym, że ktoś kojarzy jeden detal, np. gdzieś widział oznaczenia min-max, i automatycznie zakłada, że każda notacja z relacjami i krotnościami to „Min-Max”. Tutaj jednak kluczowe są kształty encji i sposób zapisu atrybutów: prostokąt z nagłówkiem i lista pól jak w tabeli, bez elips i rombów, bez dodatkowych znaczników kluczy – to bardzo klasyczny, praktyczny styl używany przy projektowaniu relacyjnych baz danych, właśnie w notacji Martina. Dobrze jest więc patrzeć na diagram całościowo, a nie tylko na pojedynczy symbol, bo wtedy łatwiej uniknąć takich pomyłek.

Pytanie 3

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

A. przezroczystości, gdzie 0 = pełna przezroczystość, 1 = brak
B. saturacji barw RGB
C. nasycenia koloru czarnego
D. przezroczystości, gdzie 1 = pełna przezroczystość, 0 = brak
W zapisie rgba(100, 40, 50, 0.2) ostatnia wartość to kanał ALFA (przezroczystość): 0 oznacza pełną przezroczystość (element niewidoczny), a 1 brak przezroczystości (pełna krycie). Tu 0.2 to kolor mocno prześwitujący. Zapamiętaj: w rgba czwarta liczba to krycie - 0 znika, 1 widać w pełni.

Pytanie 4

Podano fragment kodu PHP, w którym znajduje się zadeklarowana zmienna typu tablica. Jakie imię zostanie wyświetlone po wykonaniu tego kodu?

Ilustracja do pytania
A. Anna
B. Aleksandra
C. Tomasz
D. Krzysztof
W zadanym pytaniu istotne jest zrozumienie indeksowania tablic w PHP które jest językiem o indeksowaniu zerowym. Oznacza to że pierwszy element tablicy ma indeks 0 drugi ma indeks 1 i tak dalej. Częstym błędem jest intuicyjne przypisywanie pierwszemu elementowi indeksu 1 co prowadzi do niepoprawnych wyników. W przypadku omawianego kodu tablica zawiera elementy: 'Anna' 'Tomasz' 'Krzysztof' i 'Aleksandra'. Aby uzyskać dostęp do trzeciego elementu należy użyć indeksu 2 a nie 3. Element o indeksie 2 w tej tablicy to 'Krzysztof' co jest poprawną odpowiedzią. Pomyłki w indeksowaniu mogą prowadzić do trudnych do zdiagnozowania błędów w programach takich jak 'undefined offset' gdy próbujemy uzyskać dostęp do nieistniejącego indeksu. Dlatego ważne jest aby zawsze weryfikować zakres i poprawność używanych indeksów zwłaszcza w skomplikowanych strukturach danych. Dodatkowo warto zaznaczyć że w niektórych językach programowania takie jak Python indeksowanie również jest zerowe co pozwala na łatwiejsze przejście pomiędzy różnymi językami programowania bez zmiany mentalnego modelu działania tablic.

Pytanie 5

Aby obraz na stronie automatycznie dopasowywał się do rozmiaru ekranu, na którym strona jest wyświetlana, należy:

A. jeden z wymiarów ustawić w pikselach
B. oba jego wymiary ustawić w pikselach
C. jego szerokość ustawić w wartościach procentowych
D. nie zmieniać jego wymiarów stylami CSS
Responsywny obraz skaluje się razem z układem strony. Uzyskuje się to, ustawiając jego szerokość w jednostce względnej - w procentach, na przykład img { width: 100%; max-width: 100%; }. Obraz dopasowuje się wtedy do szerokości kontenera, a wysokość zwykle pozostawia się jako auto, by zachować proporcje. Dlatego szerokość obrazu ustawia się w wartościach procentowych.

Pytanie 6

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) || (a<1000)) || (b<0)
B. ((a>99) || (a<1000)) && (b<0)
C. ((a>99) && (a<1000)) || (b<0)
D. ((a>99) && (a<1000)) && (b<0)
W analizowanych odpowiedziach pojawia się kilka koncepcji, które prowadzą do niepoprawnych wyników. Wyrażenie ((a>99) && (a<1000)) && (b<0) wymaga, aby obie części były spełnione jednocześnie, co jest sprzeczne z założeniem, że wystarczy spełnienie jednego z warunków. To podejście zakłada, że zarówno liczba a musi być trzycyfrowa, jak i liczba b musi być ujemna, co jest zbyt restrykcyjne i nie odzwierciedla wymaganego warunku. Kolejne błędne podejście to ((a>99) || (a<1000)) && (b<0), które również jest niepoprawne, ponieważ pierwsza część tego wyrażenia jest błędnie skonstruowana - naturalna liczba a może być dowolną liczbą, a więc nie ma sensu porównywać jej do wartości mniejszej od 1000, co zawsze będzie prawdziwe dla liczby a większej od 99. Ostatnia z analizowanych opcji - ((a>99) || (a<1000)) || (b<0) - również zawiera błąd, ponieważ pierwsza część implikuje, że każda liczba a, która jest większa niż 99, jest spełniona, co nie jest zgodne z definicją liczby trzycyfrowej. W związku z tym, najczęstsze błędy polegają na nieprawidłowym zastosowaniu operatorów logicznych oraz nieścisłościach w definiowaniu zakresu liczb, co prowadzi do niespójności w logice warunków. Kluczowe jest, aby dokładnie zrozumieć, co każdy fragment kodu ma na celu, aby uniknąć takich pomyłek.

Pytanie 7

W języku CSS określono formatowanie znacznika h1 według wzoru. Zakładając, że żadne inne formatowanie nie jest dodane do znacznika h1, wskaż sposób formatowania tego znacznika

Ilustracja do pytania
A. C
B. B
C. D
D. A
Formatowanie znacznika h1, określone w podanym kodzie CSS, wprowadza kilka charakterystycznych cech stylistycznych. Przede wszystkim, zastosowanie 'font-style: oblique;' zmienia wygląd tekstu, nadając mu ukośny styl. To oznacza, że tekst będzie wyświetlany w wyraźnie przechylonej formie, co jest często używane do podkreślenia ważnych elementów. Dodatkowo, 'font-variant: small-caps;' odpowiedzialne jest za przekształcenie małych liter w małe kapitałki, co nadaje tekstowi elegancki i formalny wygląd. Taki zabieg jest często wykorzystywany w tytułach lub nagłówkach, aby wyróżnić je wśród pozostałego tekstu. Ostatni element, 'text-align: right;', wyrównuje tekst do prawej krawędzi kontenera, co jest mniej powszechnie stosowane w porównaniu do wyrównania do lewej lub wyśrodkowanego, ale może być użyteczne w specyficznych układach strony. W przypadku, gdyby były dodatkowe style CSS przypisane do tego znacznika, mogłyby one wpłynąć na ostateczny wygląd, jednak w tym przypadku zakładamy, że są to jedyne zastosowane style. Standardy CSS jasno określają, jak różne właściwości mogą być używane do stylizacji elementów HTML, co czyni je niezwykle potężnym narzędziem w tworzeniu estetycznych i funkcjonalnych stron internetowych.

Pytanie 8

Który z poniższych znaczników HTML jest używany do tworzenia struktury strony internetowej?

A. <aside>
B. <input>
C. <mark>
D. <em>
Wybór znaczników <em>, <input> oraz <mark> jako odpowiedzi na pytanie o budowę struktury strony internetowej wskazuje na pewne nieporozumienia dotyczące funkcji tych elementów w HTML. Znacznik <em> służy do oznaczania tekstu jako podkreślającego, co ma na celu wskazanie, że dany fragment powinien być wymawiany z naciskiem, nie jest on jednak odpowiedni do budowy struktury strony. Użytkownicy często mylą jego rolę z semantyką budowy, nie dostrzegając, że <em> ma bardziej charakter stylistyczny niż strukturalny. Z kolei <input> jest elementem formularza, używanym do wprowadzania danych przez użytkowników; jego rola w kontekście budowy strony jest ograniczona do interakcji, a nie strukturyzacji zawartości. Ostatecznie <mark> oznacza fragment tekstu, który jest wyróżniony, co także nie przyczynia się do tworzenia struktury strony, lecz do podkreślania ważności informacji. Wybór tych znaczników zamiast <aside> może prowadzić do nieczytelnych i nieprzemyślanych stron, które nie spełniają standardów semantycznych. Kluczowym błędem jest myślenie, że każdy znacznik jest równoważny w kontekście strukturyzacji treści, co jest niezgodne z praktykami zalecanymi przez W3C w tworzeniu dostępnych i przyjaznych dla użytkownika stron internetowych.

Pytanie 9

Przedstawiono fragment kodu HTML, który nie waliduje się poprawnie. Błąd walidacji tego fragmentu kodu będzie dotyczył:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <img src="/obraz.gif alt="Obrazek">
    <h1>Rozdział 1</h1>
    <p>To jest tekst paragrafu, ...</p>
    <br>
    <img src="/obraz.gif" alt="Obrazek">
</body>
</html>
A. powtórzenia nazwy pliku graficznego
B. braku cudzysłowu
C. niedomknięcia znacznika <span class="code-text">br</span>
D. niedomknięcia znacznika <span class="code-text">img</span>
Niepoprawność w zakresie braku cudzysłowu w atrybucie 'src' znacznika 'img' wyklucza inne błędy, o których mowa w odpowiedziach. Znacznik 'br' jest jednym z nielicznych znaczników, które są samodomykające, co oznacza, że nie wymaga pary otwierającej i zamykającej. Dlatego informacja o niedomknięciu tego znacznika jest błędna, ponieważ poprawny zapis to po prostu <br>. Ponadto, znacznik 'img' również nie wymaga zamknięcia, ponieważ podobnie jak 'br', jest znakiem samodomykającym, co czyni obie te odpowiedzi niepoprawnymi w kontekście analizy błędów kodu HTML. Dodatkowo, kwestia powtórzenia nazwy pliku graficznego w kodzie nie jest błędem walidacji, lecz jedynie stylem programowania. Jeżeli plik graficzny jest używany wielokrotnie, jest to całkowicie akceptowalne. Dlatego te trzy odpowiedzi nie odnoszą się do rzeczywistego problemu, który występuje w przedstawionym kodzie, co podkreśla znaczenie ścisłej znajomości składni HTML oraz zasad walidacji dla prawidłowego tworzenia stron internetowych.

Pytanie 10

Które polecenie MySQL aktualizuje statystyki tabeli wykorzystywane przez optymalizator zapytań?

A.
REPAIR TABLE
B.
BACKUP TABLE
C.
RESTORE TABLE
D.
ANALYZE TABLE
Optymalizator zapytań MySQL wybiera plan wykonania na podstawie statystyk o rozkładzie danych w tabeli. Polecenie ANALYZE TABLE przelicza te statystyki, dzięki czemu po dużych zmianach danych zapytania mogą działać szybciej. Nie zmienia ani danych, ani struktury. Dlatego do aktualizacji statystyk służy ANALYZE TABLE.

Pytanie 11

Zawarty blok ilustruje proces

Ilustracja do pytania
A. podjęcia decyzji
B. realizacji zadania w pętli
C. wykorzystania zdefiniowanej procedury lub funkcji
D. odczytu lub prezentacji danych
Wczytywanie lub wyświetlanie danych nie jest poprawnie reprezentowane przez romb w diagramach przepływu sterowania ponieważ te procesy zazwyczaj są liniowe i deterministyczne co oznacza że nie wymagają oceny warunków ani podejmowania decyzji W schematach blokowych wczytywanie lub wyświetlanie danych jest często przedstawiane przez inne symbole jak paralelogram który jednoznacznie wskazuje na operacje wejścia-wyjścia Zastosowanie gotowej procedury lub funkcji również nie jest zgodne z ideą rombu ponieważ procedury i funkcje są zazwyczaj wywoływane w sposób bezwarunkowy i nie wymagają oceny warunkowej Proces ten może być reprezentowany przez prostokąt symbolizujący wykonanie bloku kodu Wykonanie zadania w pętli podobnie jak wywołanie funkcji wymaga innego podejścia do symbolizacji Zwykle wykonanie zadania w pętli jest reprezentowane przez połączenie kilku symboli gdzie romb może występować jako część warunku przerywającego pętlę lub określającego jej kontynuację jednak sam fakt wykonania zadania w pętli nie jest bezpośrednio związany z podejmowaniem decyzji podejmowane decyzje są raczej częścią bardziej złożonej logiki kontrolnej Stąd błędne zaklasyfikowanie tych procesów do grupy zadań decyzyjnych wynika z niezrozumienia roli poszczególnych elementów diagramów przepływu sterowania i ich zastosowania w strukturze programu

Pytanie 12

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Fafik, Brutus, Dika, Fuks.
B. Dika, Fuks.
C. Figaro, Dika, Fuks.
D. Anna Kowalska, Jan Nowak.
Gratulacje! Twoja odpowiedź była poprawna. Wybrałeś 'Dika, Fuks.', co jest prawidłowym wynikiem dla podanego zapytania SQL. Zapytanie przeszukuje bazę danych zwierząt z podziałem na pewne kryteria - w tym przypadku są to zwierzęta o rodzaju, który odpowiada 2 oraz które były szczepione w 2016 roku. Wśród wszystkich rekordów w tabeli tylko 'Dika' i 'Fuks' spełniają te kryteria, dlatego tylko one są wyświetlane. To pokazuje, jak potężne i elastyczne mogą być zapytania SQL - możemy przeszukiwać ogromne ilości danych, stosując różne warunki, aby otrzymać dokładnie to, czego szukamy. Zrozumienie i umiejętne wykorzystanie takich zapytań jest kluczowe w pracy z bazami danych. Pamiętaj, że SQL pozwala nie tylko na pobieranie danych, ale również na ich modyfikację, usuwanie oraz dodawanie nowych rekordów do bazy. Spróbuj teraz zastosować swoją wiedzę w praktycznych zadaniach!

Pytanie 13

Która deklaracja w C++ pasuje do funkcji ZWRACAJĄCEJ wynik potęgowania i przyjmującej dwa argumenty (liczbę x i wykładnik w)?

A.
void potega(int x, int w, int wynik);
B.
int potega(int x);
C.
void potega(int x, int w);
D.
int potega(int x, int w);
Funkcja ma ZWRACAĆ wynik, więc typ zwracany nie może być void - tu pasuje int. Przyjmuje DWA argumenty (liczbę x i wykładnik w), czyli int potega(int x, int w). Dlatego poprawna deklaracja to int potega(int x, int w);.

Pytanie 14

W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia

A. mysqldump -u root biblioteka > kopia.sql
B. backupmysql -u root biblioteka kopia.sql
C. mysqlduplicate –u root biblioteka > kopia.sql
D. copymysql –u root biblioteka kopia.sql
Poprawne polecenie do wykonania kopii bazy danych MySQL to „mysqldump -u root biblioteka > kopia.sql”. Narzędzie mysqldump jest oficjalnym, standardowym programem dostarczanym razem z serwerem MySQL i właśnie ono służy do tworzenia logicznych kopii zapasowych baz danych. Działa tak, że łączy się z serwerem MySQL, odczytuje strukturę tabel oraz dane, a następnie generuje plik tekstowy zawierający instrukcje SQL typu CREATE TABLE i INSERT. Taki plik można potem w prosty sposób wgrać z powrotem, np. poleceniem „mysql -u root biblioteka < kopia.sql”. To jest bardzo wygodne w praktyce, bo backup jest przenośny między serwerami, wersjami MySQL, a nawet można go edytować ręcznie w razie potrzeby.
W tym poleceniu „-u root” oznacza użytkownika bazy danych, czyli logujemy się jako użytkownik root. W realnym środowisku produkcyjnym zwykle używa się konta z mniejszymi uprawnieniami i dodatkowo opcji „-p”, żeby podać hasło (np. „mysqldump -u backup_user -p biblioteka > kopia.sql”). Nazwa „biblioteka” to nazwa bazy, którą archiwizujemy. Znak „>” to przekierowanie powłoki systemowej (bash, cmd itp.), które zapisuje wynik działania programu mysqldump do pliku „kopia.sql” zamiast wypisywać go na ekran. To przekierowanie nie jest częścią MySQL, tylko mechanizmem systemu operacyjnego, co czasem bywa mylące dla początkujących.
Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: używać mysqldump regularnie, najlepiej w skryptach cron (Linux) lub Harmonogramie zadań (Windows), trzymać kopie na innym serwerze i testować odtwarzanie. W praktyce administracji serwerami i bezpieczeństwa danych takie kopie logiczne są podstawą procedur disaster recovery. W dokumentacji MySQL mysqldump jest wymieniony jako jedno z głównych narzędzi do backupu i migracji baz danych, więc znajomość dokładnie tego polecenia to absolutna podstawa pracy z MySQL w środowiskach webowych i nie tylko.

Pytanie 15

Jakie skutki przyniesie zastosowanie przedstawionego formatowania CSS dla nagłówka trzeciego stopnia?

<style> h3 { background-color: grey; } </style> ... <h3 style="background-color: orange;"> Rozdział 1.2.2. </h3>
A. kolor tekstu będzie szary
B. tło będzie pomarańczowe
C. kolor tekstu będzie pomarańczowy
D. tło będzie szare
W kaskadowych arkuszach stylów CSS ważna jest zasada kaskadowania, która mówi o tym, jakie style powinny obowiązywać w przypadku konfliktów. Oparcie się na specyficzności selektorów i ich kolejności w kodzie to podstawa. W tym pytaniu mówimy o stylizacji nagłówka przy użyciu zewnętrznego stylu CSS i stylu wbudowanego. Styl wbudowany ma najwyższą specyficzność, czyli zawsze wygrywa z regułami z sekcji style, nawet jeśli są one globalne. To znaczy, że niezależnie od tego, co napisano w stylach dla nagłówka h3, to jednak styl wbudowany ustawi tło na pomarańczowe. Nie można zakładać, że zewnętrzne reguły mają wyższy priorytet, gdy nie są bardziej specyficzne albo nie używają !important. Zrozumienie tych zasad pozwala uniknąć typowych błędów w stylizacji, co jest wyjątkowo istotne w tworzeniu stron. Żeby wszystko ładnie wyglądało i było łatwe do zarządzania, lepiej unikać stylów wbudowanych przy większych projektach, gdzie oddzielenie struktury od prezentacji jest kluczowe dla utrzymania kodu. Lepiej skupić się na stylach zewnętrznych, mając na uwadze specyficzność i zasady kaskadowe, co zapewnia większą kontrolę nad wyglądem strony.

Pytanie 16

W podanym fragmencie zapytania w języku SQL, komenda SELECT jest używana do zwrócenia SELECT COUNT(wartosc) FROM …

A. summy w kolumnie wartosc
B. średniej wartości z tabeli
C. średniej w kolumnie wartosc
D. ilości wierszy
No, trochę jest tu pomyłka. Ludzie często mylą to zapytanie SELECT COUNT(wartosc) z sumowaniem wartości, co nie jest do końca poprawne. Funkcja COUNT nie sumuje wartości, ona tylko liczy, ile jest niepustych wierszy. Więc jeżeli ktoś twierdzi, że to daje średnią, to wprowadza w błąd – średnią liczymy z pomocą funkcji AVG, a nie COUNT. W kolumnie 'wartosc' mogą być różne liczby, a suma wartości nie ma wiele wspólnego z tym, ile jest wierszy. Dobrze jest pamiętać, że średnia to coś innego niż liczba wierszy, co jest ważne do zrozumienia, jak działają zapytania w SQL. Jeśli ktoś myli te funkcje, to może się zgubić w analizie danych. Więc ogólnie mówiąc, warto wiedzieć, czym różnią się COUNT, AVG i inne funkcje agregujące, bo to kluczowe do ogarnięcia pracy z bazami danych.

Pytanie 17

Aby w MySQL nadać użytkownikowi prawo do nadawania i modyfikowania uprawnień innym użytkownikom, należy użyć klauzuli:

A.
GRANT OPTION
B.
ALL PRIVILEGES
C.
FLUSH PRIVILEGES
D.
TRIGGER
Klauzula WITH GRANT OPTION dodana do polecenia GRANT daje użytkownikowi prawo przekazywania innym tych uprawnień, które sam otrzymał. Np. GRANT SELECT ON baza.* TO jan WITH GRANT OPTION pozwala Janowi nadawać SELECT kolejnym osobom. Dlatego do delegowania uprawnień służy GRANT OPTION.

Pytanie 18

Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;

A. Przypisuje wartość zmiennej n do zmiennej s
B. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną length
C. Zwraca długość napisu zawartego w zmiennej n
D. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej n
Odpowiedzi, które błędnie interpretują fragment kodu, wskazują na nieporozumienie dotyczące działania właściwości length oraz przypisania wartości w JavaScript. Przypisanie zmiennej n do zmiennej s nie jest możliwe w kontekście omawianego fragmentu, ponieważ zmienna s nie przyjmuje obiektu, a wyłącznie wartość długości napisu. Stwierdzenie, że skrypt wyświetli długość napisu, jest również nieprawidłowe, ponieważ w danym kodzie nie ma operacji wyświetlania - zmienne są jedynie przypisane. Kolejnym błędnym wnioskiem jest przypisanie fragmentu napisu do zmiennej s, co nie ma miejsca, ponieważ length zwraca tylko liczbę, a nie podłańcuch. Podstawowym błędem myślowym jest pomylenie przypisania wartości z operacjami wyświetlania i manipulacji łańcuchami. Warto zrozumieć, że JavaScript, jako język o dynamicznej typizacji, wymaga precyzyjnego rozumienia typów danych, a także właściwości i metod obiektów, co jest kluczowe dla efektywnego programowania. Niezrozumienie tych podstawowych konceptów może prowadzić do wielu błędów w kodzie, które są trudne do zdiagnozowania, a także mogą wpływać na wydajność i stabilność aplikacji.

Pytanie 19

W MSSQL Server rola dbcreator, która jest predefiniowana, umożliwia użytkownikowi

A. zarządzanie bezpieczeństwem systemu
B. zarządzanie plikami na dysku
C. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
D. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
Rola dbcreator w Microsoft SQL Server jest jedną z predefiniowanych ról serwerowych, która umożliwia użytkownikom zaawansowane zarządzanie bazami danych. Użytkownicy z tą rolą mają pełne uprawnienia do tworzenia nowych baz danych, modyfikowania istniejących oraz usuwania ich, co jest kluczowe dla administratorów i deweloperów pracujących w środowisku SQL. Rola ta pozwala także na odzyskiwanie baz danych, co jest niezbędne w kontekście zarządzania danymi krytycznymi oraz zapewniania ciągłości działania aplikacji. Przykład praktyczny zastosowania roli dbcreator można zobaczyć w sytuacji, gdy zespół deweloperski tworzy nowe środowisko testowe na podstawie istniejącej bazy danych produkcyjnej. Dzięki tej roli, deweloperzy mogą w łatwy sposób sklonować bazę, przeprowadzić modyfikacje i testy, a następnie usunąć niepotrzebne już zasoby. Standardy bezpieczeństwa oraz dobre praktyki zarządzania danymi zalecają ograniczanie uprawnień, co czyni rolę dbcreator narzędziem potężnym, ale wymagającym odpowiedzialnego podejścia ze strony użytkowników.

Pytanie 20

Funkcji session_start() w PHP należy użyć przy realizacji:

A. strony wielostronicowej, która musi pamiętać dane przy przechodzeniu między stronami
B. wczytywania danych z plików zewnętrznych
C. obsługi pojedynczego formularza
D. dowolnej strony obsługującej ciasteczka
Funkcja session_start() uruchamia (lub wznawia) sesję - mechanizm pozwalający zapamiętać dane użytkownika pomiędzy kolejnymi odsłonami strony. Wywołuje się ją na początku skryptu, zanim cokolwiek zostanie wypisane, a dane przechowuje się w tablicy $_SESSION (np. login zalogowanej osoby czy zawartość koszyka). Przeglądarka trzyma tylko identyfikator sesji w ciasteczku, a same dane zostają na serwerze. Dlatego sesji używa się w serwisach wielostronicowych, gdzie dane muszą „przechodzić” między podstronami.

Pytanie 21

Czym jest AJAX?

A. Biblioteką JavaScript do animacji i efektów wizualnych
B. Systemem zarządzania bazą danych
C. Technologią asynchronicznej wymiany danych między klientem a serwerem bez przeładowania strony
D. Językiem programowania do tworzenia stron internetowych
AJAX (Asynchronous JavaScript and XML) to technika, a nie język - pozwala przeglądarce wymieniać dane z serwerem ASYNCHRONICZNIE, w tle, bez przeładowania całej strony. Dzięki temu fragment widoku może zaktualizować się „w locie”, np. podpowiedzi wyszukiwarki przy pisaniu. Dlatego AJAX to technologia asynchronicznej wymiany danych między klientem a serwerem.

Pytanie 22

W języku JavaScript funkcja matematyczna Math.pow() jest wykorzystywana do obliczania

A. przybliżonej wartości liczby
B. pierwiastka kwadratowego z liczby
C. bezwzględnej wartości liczby
D. potęgi liczby
Funkcja Math.pow() w języku JavaScript służy do obliczania potęgi liczby, co oznacza, że zwraca wynik mnożenia danej liczby przez siebie określoną liczbę razy. Jej składnia to Math.pow(base, exponent), gdzie 'base' to liczba, którą chcemy podnieść do potęgi, a 'exponent' to wykładnik potęgi. Przykładowo, Math.pow(2, 3) zwróci 8, ponieważ 2^3=2*2*2=8. Użycie tej funkcji jest niezwykle powszechne w programowaniu, zwłaszcza w obliczeniach matematycznych, grafice komputerowej oraz w algorytmach naukowych. Zastosowanie Math.pow() jest zgodne z najlepszymi praktykami, ponieważ pozwala na klarowność i czytelność kodu. Warto dodać, że w ES6 możemy również używać operatora potęgowania **, co jest syntaktycznie prostsze i bardziej intuicyjne, np. 2 ** 3 również da nam 8.

Pytanie 23

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?

$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}
A. Informacja o pomyślnym nawiązaniu połączenia z bazą
B. Przetwarzanie danych uzyskanych z bazy
C. Obsługa błędu przy nawiązywaniu połączenia
D. Zamknięcie połączenia z bazą danych
Zamknięcie bazy danych w kontekście nawiązywania połączenia z bazą danych nie ma sensu, ponieważ w momencie, gdy kod wykonuje sprawdzenie połączenia, to takie połączenie nie zostało jeszcze nawiązane. Próba zamknięcia niezainicjowanego połączenia nie tylko nie przyniesie żadnego efektu, ale także może prowadzić do mylnych wniosków dotyczących kodu. Ponadto, zachowanie takie może wprowadzać w błąd, sugerując, że operacje na bazie danych mogłyby być przeprowadzone w tym momencie, co jest nieprawdziwe. Obsługa danych pobranych z bazy również nie jest właściwym podejściem w momencie, gdy połączenie nie zostało jeszcze ustanowione - przed przetwarzaniem jakichkolwiek danych, najpierw musimy upewnić się, że połączenie jest aktywne. Natomiast komunikat o pomyślnym połączeniu z bazą nie powinien być używany w instrukcji warunkowej, gdyż działa on na zasadzie potwierdzenia, a nie na detekcji błędów. Ważne jest, aby zrozumieć, że każda z tych odpowiedzi nie odpowiada na istotę problemu - w przypadku problemów z połączeniem zwłaszcza w aplikacjach produkcyjnych, brak odpowiedniego komunikatu o błędzie może prowadzić do poważnych trudności w diagnozowaniu i naprawie problemów, co może wpływać na całkowitą funkcjonalność systemu oraz jego niezawodność.

Pytanie 24

W SQL, aby dodać kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków do tabeli Towar, należy wykonać następujące polecenie

A. ALTER TABLE Towar ADD rozmiar varchar(20)
B. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
Osoby, które wybrały niepoprawne odpowiedzi, mogły zauważyć, że polecenie ALTER TABLE jest używane do modyfikacji struktury tabeli, jednak niektóre z podanych opcji są niewłaściwe w kontekście dodawania kolumny. Przykładowo, użycie DROP COLUMN jest błędne, ponieważ służy ono do usuwania kolumny z tabeli, a nie jej dodawania. Implementacja DROP COLUMN nie jest zgodna z intuicyjnym zrozumieniem modyfikacji tabeli, ponieważ wprowadza chaos w danych, a nie ich rozszerzenie. Kolejna niepoprawna odpowiedź sugeruje użycie ALTER COLUMN, co jest również mylące, ponieważ to polecenie jest przeznaczone do modyfikacji istniejącej kolumny, a nie do dodawania nowej. Modyfikacja kolumny wymaga zdefiniowania jej typu lub atrybutów, co nie jest zgodne z koncepcją dodawania nowego elementu do tabeli. Ostatnia odpowiedź, która sugeruje polecenie CREATE COLUMN, jest niewłaściwa, ponieważ polecenie CREATE nie jest częścią standardowej składni SQL w kontekście zmiany struktury istniejącej tabeli. CREATE jest używane do tworzenia nowych tabel, indeksów, lub innych obiektów w bazie danych, a nie do dodawania kolumn do już istniejących tabel. W związku z tym, wszystkie wymienione odpowiedzi są błędne, ponieważ nie stosują właściwej składni SQL ani nie odzwierciedlają poprawnych operacji na tabelach.

Pytanie 25

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. tr:active { background-color: Pink; }
D. td, th { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 26

Przedstawione polecenie MySQL ma za zadanie:

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. dodać do tabeli ksiazki kolumnę tytul.
B. zmienić nazwę kolumny w tabeli ksiazki.
C. zmienić typ kolumny tytul w tabeli ksiazki.
D. usunąć kolumnę tytul z tabeli ksiazki.
Cóż, niestety, Twoja odpowiedź jest błędna. Warto zwrócić uwagę, że ALTER TABLE, które widzisz w poleceniu, służy do modyfikacji istniejących tabel, a nie do dodawania nowych kolumn czy ich usuwania. Instrukcja MODIFY wskazuje na zmianę definicji kolumny, a nie jej nazwy. Dlatego odpowiedzi mówiące o dodawaniu nowej kolumny albo usuwaniu istniejącej są nietrafione. To, co jest w pytaniu, to zmiana typu kolumny 'tytul' na VARCHAR(100) oraz dodanie ograniczenia NOT NULL. Zmiana nazwy kolumny też tu nie pasuje, bo nie ma słowa kluczowego RENAME, które by na to wskazywało. Więc jedyna poprawna odpowiedź to ta, która mówi o zmianie typu kolumny 'tytul'.

Pytanie 27

Czym jest w PHP zmienna $_GET?

A. zmienną utworzoną przez autora strony, do przesyłania danych z formularza przez URL
B. predefiniowaną, przekazującą dane do skryptu przez adres URL
C. zwykłą zmienną zdefiniowaną przez autora strony
D. predefiniowaną, zbierającą dane z nagłówków HTTP (niewidoczne w adresie)
Zmienna $_GET to PREDEFINIOWANA (wbudowana) tablica superglobalna PHP, która przekazuje do skryptu dane wysłane przez adres URL - np. parametry z ?id=5&str=2. Programista jej nie tworzy, jest gotowa. Dlatego $_GET przekazuje dane przez URL.

Pytanie 28

Grafika powinna być zapisana w formacie GIF, jeśli

A. konieczne jest zapisanie obrazu lub animacji
B. istnieje potrzeba zapisu obrazu w formie bez kompresji
C. jest to grafika wektorowa
D. jest to obraz w technologii stereoskopowej
Format GIF (Graphics Interchange Format) jest powszechnie wykorzystywany do przechowywania obrazów oraz animacji. Dzięki obsłudze przezroczystości oraz możliwości tworzenia prostych animacji, GIF stał się standardem w przypadku grafiki na stronach internetowych. Jego ograniczenie do 256 kolorów sprawia, że idealnie nadaje się do prostych grafik, takich jak logo czy ikony, gdzie nie jest wymagana pełna gama kolorów, co ma miejsce w formatach takich jak JPEG czy PNG. W przypadku animacji, GIF umożliwia zapis wielu klatek w jednym pliku, co pozwala na odtwarzanie sekwencji obrazu bez potrzeby korzystania z dodatkowego oprogramowania. Praktyczne zastosowanie GIF-a można zaobserwować w mediach społecznościowych, gdzie animowane obrazki są często wykorzystywane do wyrażania emocji, a także na stronach internetowych do przedstawiania logo w ruchu. Używanie formatu GIF w kontekście animacji jest zgodne z dobrą praktyką w branży, ponieważ pozwala na efektywne zarządzanie zasobami wizualnymi oraz zwiększa atrakcyjność treści wizualnych.

Pytanie 29

W zaprezentowanym fragmencie kodu HTML zdefiniowano pole input, które można opisać jako

<input type="password" name="pole">
A. pokazuje znaki, które zostały do niego wprowadzone
B. ukrywa znaki, które zostały do niego wprowadzone
C. dopuszcza jedynie wprowadzanie wartości liczbowych
D. zawiera domyślny tekst „pole”
Pole input z atrybutem type="password" służy do wprowadzania danych, które powinny być ukryte przed wglądem osób trzecich, takich jak hasła. Wprowadzone znaki są zastępowane na ekranie innymi symbolami, najczęściej kropkami lub gwiazdkami, co zabezpiecza przed odczytem hasła przez osoby patrzące na ekran. Ten mechanizm jest standardem w aplikacjach webowych, dbającym o bezpieczeństwo użytkowników. W praktyce, pola typu password są używane w formularzach logowania oraz rejestracji, gdzie ochrona danych osobowych i wrażliwych jest priorytetem. Ważne jest również, aby takie pola były osadzone w bezpiecznych kontekstach, np. na stronach korzystających z protokołu HTTPS, co zapewnia szyfrowanie przesyłanych informacji. Ponadto, deweloperzy powinni stosować się do dobrych praktyk, takich jak implementacja mechanizmów zapobiegających atakom typu shoulder surfing poprzez odpowiednie umiejscowienie i stylowanie pól password. Warto również pamiętać o testowaniu funkcjonalności takich pól, aby upewnić się, że ukrywanie znaków działa prawidłowo na różnych urządzeniach i przeglądarkach, co jest kluczowe w zapewnieniu spójnego doświadczenia użytkownika oraz zachowania bezpieczeństwa.

Pytanie 30

Której funkcji PHP użyć, aby WYSŁAĆ zapytanie SELECT do bazy MySQL?

A.
mysqli_query
B.
mysqli_connect
C.
mysqli_fetch_row
D.
mysqli_num_rows
Pozostałe funkcje albo poprzedzają zapytanie, albo następują po nim. mysqli_connect tylko nawiązuje połączenie - bez niej mysqli_query nie ma czego użyć, ale sama nic nie pyta. mysqli_num_rows działa już na GOTOWYM wyniku (liczy wiersze). mysqli_fetch_row wyciąga z wyniku pojedynczy wiersz. Zapytanie do bazy wysyła wyłącznie mysqli_query.

Pytanie 31

Której właściwości CSS użyć, aby ustawić WYSOKOŚĆ grafiki na stronie?

A.
height
B.
width
C.
padding
D.
margin
Wysokość elementu (w tym grafiki) ustawia w CSS właściwość height, np. height: 200px;. Dlatego wysokość grafiki ustawia height.

Pytanie 32

W języku CSS atrybut font-size przyjmuje, zgodnie z nazwami, wartości

A. jedynie small, smaller, large, larger
B. wyłącznie small, medium, large
C. z zestawu xx-small, x-small, medium, large, x-large, xx-large
D. zaledwie big oraz small
W kontekście właściwości font-size w CSS, niektóre odpowiedzi zawierają błędne założenia, które mogą prowadzić do niepełnego zrozumienia możliwości tej właściwości. Warto zauważyć, że ograniczenie się jedynie do wartości small, smaller, large i larger ignoruje szerszy zestaw dostępnych opcji, które są kluczowe dla dokładnego dostosowania rozmiaru tekstu. Wartości takie jak medium, small, and large są jedynie częścią zdefiniowanego standardu, który obejmuje również bardziej szczegółowe rozmiary, takie jak xx-small, x-small, x-large oraz xx-large. Użytkownicy często mylą pojęcia związane z nazwami wartości, co prowadzi do mniejszych możliwości stylizacji. Przykładem jest niewłaściwe skupienie się na biedniejszych zasobach słownych, takich jak big i small, które nie są standardowymi wartościami CSS. Taki błąd myślowy ogranicza możliwość pełnego wykorzystania CSS, co jest kluczowe dla tworzenia nowoczesnych, responsywnych stron internetowych. W praktyce, pełne zrozumienie i umiejętność wykorzystania wszystkich dostępnych wartości w CSS nie tylko ułatwia pracę nad projektem, ale również przyczynia się do lepszej dostępności i doświadczeń użytkowników. Zastosowanie poprawnych terminów i wartości jest niezbędne, aby zachować profesjonalizm w projektowaniu stron.

Pytanie 33

Pokazane pole input pozwala na

<input type="checkbox" name="text1" value="text2">
A. wybranie opcji
B. selekcję opcji z listy zawierającej wartości text1 oraz text2
C. wpisanie dowolnego ciągu znaków
D. wprowadzenie hasła
Pole input typu checkbox to fajna opcja, bo pozwala użytkownikom zaznaczać jedną albo więcej opcji z dostępnych wyborów. Takie checkboxy można zobaczyć na różnych stronach internetowych, są super przydatne, a użytkownik może je odznaczać kiedy chce. W HTML mamy atrybut type, który mówi, co użytkownik może wpisać. W przypadku checkboxa mamy to pole, które można zaznaczyć i dzięki temu dodajemy wartość do formularza, gdy go wysyłamy. Przykładem mogą być formularze zgód, gdzie trzeba potwierdzić kilka polityk prywatności lub warunków korzystania z serwisu. Ważne jest także, żeby każdy checkbox miał odpowiednio przypisane atrybuty name i value, bo dzięki temu łatwiej jest je zidentyfikować, gdy przesyłamy dane. I pamiętajmy, żeby dobrze oznaczać checkboxy etykietami przez element label – to pomaga, zwłaszcza osobom korzystającym z technologii wspomagających. Takie poprawne używanie checkboxów to klucz do budowania intuicyjnych i użytecznych interfejsów użytkowników.

Pytanie 34

Jakie zadanie ma funkcja PHP o nazwie mysql_select_db()?

A. wyznaczyć tabelę, z której będą pozyskiwane dane
B. nawiązać połączenie między bazą danych a serwerem SQL
C. uzyskać dane z bazy danych na podstawie zapytania
D. wyznaczyć bazę, z której będą pozyskiwane dane
Funkcja <span>mysql_select_db()</span> w PHP jest naprawdę ważna, bo pozwala nam wybrać konkretną bazę danych, z której chcemy czerpać informacje. Gdy już nawiążemy połączenie z serwerem MySQL przez <span>mysql_connect()</span>, to pierwsze co powinniśmy zrobić, to wybrać bazę danych, na której będziemy działać. To ważny krok, bo w każdej bazie może być sporo tabel, a nasze zapytania muszą iść do odpowiedniej. Na przykład, jeśli mamy bazę danych 'sklep' i potrzebujemy tabeli 'produkty', to musimy wywołać <span>mysql_select_db('sklep')</span>. Dzięki temu MySQL wie, gdzie szukać naszych tabel i informacji. Z mojego doświadczenia, dobrze jest upewnić się, że wybraliśmy odpowiednią bazę danych przed wykonaniem jakichkolwiek zapytań, bo wtedy unikamy różnych problemów z kontekstem danych.

Pytanie 35

Które tabele będą analizowane w wyniku tego polecenia?

CHECK TABLE pracownicy CHANGED;
A. Tabele, które zmieniły się od poprzedniej weryfikacji lub nie zostały poprawnie zamknięte
B. Jedynie tabele odwołujące się do innych
C. Wyłącznie tabele, które nie zostały poprawnie zamknięte
D. Tabele, które zostały zmodyfikowane w bieżącej sesji
W kontekście podanych odpowiedzi, jedynie opcja pierwsza jest prawidłowa. Niepoprawne jest stwierdzenie, że polecenie CHECK TABLE będzie sprawdzać tylko tabele, które nie zostały poprawnie zamknięte, jak sugeruje druga odpowiedź. Taki scenariusz odnosi się do bardziej ograniczonej funkcji, podczas gdy w realnych zastosowaniach administracyjnych konieczne jest uwzględnienie wszelkich potencjalnych zmian w tabelach, które mogą wpływać na ich integralność. Trzecia odpowiedź wskazuje na tabele referujące do innych, co jest błędnym założeniem, ponieważ polecenie nie ogranicza się do takich relacji, lecz skupia się na detekcji zmian w danych. Ostatecznie, czwarta odpowiedź sugeruje sprawdzanie tabel zmienionych jedynie w bieżącej sesji, co jest nieprawidłowe, ponieważ polecenie z opcją CHANGED poszukuje zmian od ostatniego sprawdzenia bez ograniczenia czasowego do jednej sesji. Typowe błędy myślowe wynikają z niezrozumienia zakresu działania tej funkcji, która ma za zadanie identyfikację zmian wpływających na dane niezależnie od kontekstu czasowego, co jest fundamentalne dla zachowania integralności i poprawności operacji w ramach zarządzania bazą danych, zgodnie z dobrymi praktykami branżowymi w zarządzaniu systemami bazodanowymi.

Pytanie 36

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 8
B. 2
C. 3
D. 4
W tym zadaniu najczęstszy problem polega na pomyleniu różnych sposobów zaokrąglania liczb w JavaScript. Wiele osób odruchowo myśli o zwykłym zaokrąglaniu matematycznym i zakłada, że 2.4 powinno zostać zaokrąglone do 2, bo jest bliżej dwójki niż trójki. To byłoby prawdziwe dla Math.round(2.4), ale nie dla Math.ceil(2.4). I tu jest cały haczyk.
Math.ceil() nie patrzy, czy liczba jest bliżej niższego czy wyższego całkowitego. Ta funkcja zawsze zaokrągla w górę, czyli w stronę dodatniej nieskończoności. Jeżeli mamy 2.0001, 2.4 czy 2.9 – w każdym z tych przypadków Math.ceil() zwróci 3. Jedynie gdy liczba jest już całkowita, np. 2.0, wynik pozostanie 2. Odpowiedź 2 wynika więc z błędnego założenia, że ceil działa jak klasyczne „zaokrąglanie w dół przy małej części ułamkowej”. Tymczasem do zaokrąglania w dół służy Math.floor(), która z 2.4 zrobiłaby 2.
Zdarza się też, że ktoś mechanicznie przeskakuje o „więcej niż jedną” jednostkę i wybiera 4 albo nawet 8, jakby ceil miał coś wspólnego z podwajaniem wartości albo jakimś magicznym przeskokiem. To już kompletnie nie ma uzasadnienia w definicji funkcji. Math.ceil() nie skaluje liczby, nie mnoży jej, nie patrzy na „odległość” od kolejnych całkowitych, tylko wybiera najbliższą liczbę całkowitą większą lub równą podanej wartości.
Z mojego doświadczenia taki błąd często wynika z mieszania w głowie kilku funkcji naraz: ceil, floor, round, czasem jeszcze parseInt. Dobra praktyka jest taka, żeby kojarzyć je kierunkowo: floor – w dół, ceil – w górę, round – do najbliższej. W codziennym programowaniu webowym ma to ogromne znaczenie, np. przy paginacji, gdzie zazwyczaj właśnie Math.ceil() liczy liczbę stron, bo nie możesz obciąć „końcówki” wyników. Jeśli zaokrąglisz w dół, użytkownik straci część danych. Jeżeli zrozumiesz dokładnie różnicę między tymi funkcjami, takie pytania nie będą sprawiały żadnego problemu.

Pytanie 37

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. zmienianie danych w tabeli
B. generowanie tabeli
C. uzyskiwanie danych z tabeli
D. usuwanie danych z tabeli
Wybór odpowiedzi sugerujących modyfikowanie danych, tworzenie tabeli czy usuwanie danych z tabeli wskazuje na niepełne zrozumienie podstawowych przywilejów w SQL. Przywilej SELECT jest ściśle związany z dostępem do danych, co oznacza, że jego rola ogranicza się do umożliwienia użytkownikowi odczytu informacji, a nie ich modyfikowania. Modyfikowanie danych w tabeli zarezerwowane jest dla przywileju UPDATE, który pozwala na zmianę istniejących danych. Tworzenie tabeli wiąże się z przywilejem CREATE, który z kolei umożliwia użytkownikom dodawanie nowych struktur danych do bazy. Z kolei usunięcie danych z tabeli realizowane jest przez przywilej DELETE, pozwalający na eliminowanie zapisów z bazy. Te różnice są fundamentalne dla zrozumienia zarządzania dostępem w systemach baz danych. Typowe błędy w myśleniu o uprawnieniach mogą prowadzić do nieprawidłowego zarządzania danymi i naruszeń bezpieczeństwa. Użytkownicy muszą mieć jasną świadomość, że każdy przywilej w SQL ma swoje specyficzne zastosowanie, a nieprawidłowe przypisanie uprawnień może prowadzić do nieautoryzowanego dostępu lub utraty danych. Właściwe zrozumienie hierarchii i ról przywilejów jest kluczowe dla efektywnego i bezpiecznego zarządzania bazami danych.

Pytanie 38

Na stronie internetowej zdefiniowano styl, który ma być stosowany tylko do określonych znaczników (takich jak niektóre nagłówki i wybrane akapity). W takim kontekście, aby przypisać styl do konkretnych elementów, najlepiej jest użyć

{ text-align: right; }
A. identyfikatora
B. seletora akapitu
C. klasy
D. pseudoklasy
Użycie selektora akapitu nie jest odpowiednie w sytuacji gdy chcemy przypisać styl tylko do niektórych znaczników tego typu ponieważ selektory takie jak p stylizują wszystkie elementy danego typu na stronie bez rozróżnienia Jeżeli chcemy stylizować tylko określone akapity musielibyśmy użyć klas lub identyfikatorów Identyfikator z kolei charakteryzuje się tym że powinien być unikalny dla każdego elementu na stronie Stosowanie identyfikatora do stylizowania grupy elementów naruszałoby zasadę unikalności co może prowadzić do problemów z walidacją HTML oraz trudności w przyszłej modyfikacji kodu Pseudoklasy są używane do stylizowania elementów w konkretnych stanach takich jak hover focus czy active i nie nadają się do przypisywania ogólnych stylów do grupy elementów Ich głównym przeznaczeniem jest reagowanie na interakcje użytkownika a nie stylizacja stała W kontekście pytania najlepszym podejściem jest użycie klas które pozwalają na przypisanie stylów dokładnie tam gdzie są potrzebne bez konieczności nadmiernego komplikowania kodu i naruszania dobrych praktyk Kod staje się bardziej elastyczny i łatwiejszy w zarządzaniu co jest kluczowe dla długoterminowego utrzymania projektu Krótko mówiąc klasy oferują najskuteczniejszy sposób na przypisanie stylu do określonych grup elementów zapewniając przy tym zgodność ze standardami i najlepsze praktyki w tworzeniu stron internetowych

Pytanie 39

W dokumencie zdefiniowano akapit <p id="jeden">Kwalifikacja INF.03</p>. Która instrukcja JavaScript zmieni kolor tekstu tego akapitu na niebieski?

A.
document.getElementById("jeden").style.background-color = "blue";
B.
document.getElementById("jeden").color = "blue";
C.
document.getElementById("jeden").background-color = "blue";
D.
document.getElementById("jeden").style.color = "blue";
Kolor tekstu zmienia się przez właściwość style.color, a element pobiera getElementById: document.getElementById("jeden").style.color = "blue";. Dlatego poprawna jest ta instrukcja.

Pytanie 40

Edytor, który spełnia kryteria WYSIWYG, powinien umożliwiać

A. osiągnięcie zbliżonego rezultatu tworzonej strony do jej wyglądu w przeglądarce internetowej
B. przygotowanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
C. publikację strony na serwerze za pomocą wbudowanego klienta FTP
D. tworzenie podstawowych grafik wektorowych
Edytory WYSIWYG (What You See Is What You Get) mają na celu umożliwienie użytkownikom tworzenia i edytowania treści w sposób, który przypomina ostateczny wygląd strony internetowej. Odpowiedź dotycząca uzyskania zbliżonego wyniku tworzonej strony do jej obrazu w przeglądarce internetowej jest kluczowym aspektem działania takich edytorów. Umożliwiają one użytkownikom natychmiastowe podglądanie efektów wprowadzanych zmian, co jest nieocenione przy projektowaniu stron. Przykładem może być edytor tak jak Adobe Dreamweaver czy WordPress, które pozwalają na wizualne projektowanie układu, co redukuje potrzebę ręcznego kodowania. Przy tworzeniu stron internetowych zgodnie z dobrymi praktykami, edytory WYSIWYG powinny wspierać standardy HTML i CSS, co zapewnia, że efekty wizualne są zgodne z tym, co użytkownik zobaczy w przeglądarce. Takie podejście zwiększa efektywność pracy, a także ułatwia współpracę między programistami a designerami.