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: 26 marca 2026 14:37
  • Data zakończenia: 26 marca 2026 14:59

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. style: left;
B. align: left;
C. alt: left;
D. float: left;
Odpowiedź "float: left;" jest naprawdę trafna. Ta właściwość w CSS sprawia, że elementy układają się obok siebie, co w tym przypadku oznacza, że rysunek wyląduje po lewej stronie akapitu. Jak użyjemy float, to rysunek 'przesuwa się' na lewo, a tekst z akapitu otacza go z prawej strony. To taki popularny sposób w webdesignie, który pozwala na ładniejsze połączenie obrazków z tekstem. Warto pamiętać, że czasem trzeba zastosować clearfix, zwłaszcza gdy mamy pływające elementy w większym układzie, żeby uniknąć problemów z rozmieszczeniem. Stosowanie float w CSS to dobra praktyka, bo pomaga zachować czytelność i estetykę tekstu. Na przykład, jeśli mamy sekcję artykułu z obrazem, który ilustruje omawiany temat, to zastosowanie float: left; sprawi, że treść będzie ładnie się układać i poprawi wrażenia użytkownika.

Pytanie 2

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
Ta odpowiedź jest prawidłowa, ponieważ używa poprawnej składni SQL do wykonania zapytania z dwóch tabel powiązanych relacją jeden do wielu. Kluczowym elementem jest użycie klauzuli JOIN, która łączy tabelę Zgloszenia z tabelą Klienci poprzez pole Klienci_id, będące kluczem obcym w tabeli Zgloszenia. Dzięki temu możliwe jest powiązanie odpowiednich rekordów z dwóch tabel. Warunek w klauzuli WHERE Zgloszenia.id = 5 precyzuje, że zapytanie ma zwrócić dane tylko dla zgłoszenia o identyfikatorze 5. Taki sposób pisania zapytań SQL jest zgodny z normami ANSI SQL i jest powszechnie stosowany w systemach zarządzania bazami danych jak MySQL, PostgreSQL czy SQL Server. Korzystanie z JOIN, zwłaszcza z klauzulą ON, jest dobrą praktyką, ponieważ zapewnia czytelność i bezpieczeństwo zapytań. W realnych zastosowaniach, takie zapytania są używane do łączenia danych z różnych źródeł w celu ich analizy lub raportowania. Prawidłowa struktura zapytania ułatwia jego modyfikację i integrację z innymi operacjami bazy danych, co jest niezbędne w zarządzaniu danymi w dużych systemach informatycznych. Zrozumienie mechanizmu JOIN oraz użycie klauzuli WHERE w celu ograniczenia wyników jest kluczowe w efektywnym zarządzaniu i analizie danych w relacyjnych bazach danych.

Pytanie 3

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
A. miasta i kodu pocztowego ze wszystkich zwróconych rekordów
B. ulicy i miasta ze wszystkich zwróconych rekordów
C. ulicy i miasta z pierwszego zwróconego rekordu
D. miasta i kodu pocztowego z pierwszego zwróconego rekordu
Kod PHP używa funkcji mysqli_query do wykonania zapytania SELECT, które pobiera kolumny ulica miasto i kod_pocztowy z tabeli adresy. Następnie funkcja mysqli_fetch_row pobiera pierwszy rekord wyników jako tablicę. Elementy tej tablicy są indeksowane od 0 dlatego $a[1] odnosi się do drugiego elementu czyli kolumny miasto a $a[2] do trzeciego elementu czyli kolumny kod_pocztowy. Funkcja echo wypisuje te dwie wartości co oznacza że kod faktycznie wyświetla miasto i kod pocztowy z pierwszego zwróconego rekordu. W praktyce takie podejście jest używane do szybkiego dostępu do danych z bazy jednak warto pamiętać o zabezpieczeniach takich jak filtrowanie danych wejściowych czy użycie przygotowanych zapytań aby chronić się przed SQL Injection. Dobre praktyki obejmują także obsługę błędów połączenia z bazą oraz poprawne zarządzanie zasobami takimi jak zamykanie połączenia po zakończeniu operacji na bazie danych. Używanie indeksów liczbowych może być mniej czytelne dlatego w bardziej złożonych aplikacjach zaleca się stosowanie mysqli_fetch_assoc dla łatwiejszego dostępu przez nazwy kolumn.

Pytanie 4

W posiadanej tabeli zwanej przedmioty, która zawiera kolumny ocena oraz uczenID, aby wyliczyć średnią ocen dla ucznia z ID równym 7, należy użyć zapytania

A. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7
B. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7
C. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7
D. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7
Odpowiedź 'SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;' jest poprawna, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią ocen dla wszystkich wpisów w tabeli 'przedmioty', gdzie 'uczenID' jest równy 7. W SQL funkcje agregujące są niezwykle przydatne do analizy danych, pozwalając na uzyskanie statystyk dotyczących zbiorów danych. Użycie klauzuli WHERE pozwala na filtrowanie danych do tych, które dotyczą konkretnego ucznia, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi. Na przykład, w praktycznych zastosowaniach, może to być użyte do generowania raportów dotyczących wyników ucznia w określonym przedziale czasowym lub w porównaniu do innych uczniów. Warto również zauważyć, że poprawna konstrukcja zapytania SQL jest kluczowa dla utrzymania integralności i wydajności bazy danych, co podkreśla znaczenie płynnego zapisu zapytań. Takie umiejętności są nieocenione w pracy z bazami danych oraz w kontekście analizy danych w różnych dziedzinach.

Pytanie 5

Który kod HTML spowoduje identyczne formatowanie jak przedstawione na obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML


  1. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>

  2. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>

  3. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>

  4. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>

A. Odpowiedź B
B. Odpowiedź A
C. Odpowiedź C
D. Odpowiedź D
Wybór niepoprawnych odpowiedzi wynika z nieprawidłowego użycia znaczników HTML, co prowadzi do złego formatowania tekstu. W opcji A znacznik <i> został użyty do zamykania paragrafu, co nie ma sensu, bo <i> powinien otaczać tylko te fragmenty, które mają być wyświetlane kursywą. Dodatkowo, brak znaczników <b> sprawia, że tekst nie jest pogrubiony, jak powinien być w oryginale. Opcja B znowu ma źle uporządkowane znaczniki, przez co efekt wizualny różni się od zamierzonego. Tekst 'zobaczysz' powinien być pogrubiony, a nie pokazywany kursywą. A w przypadku opcji D, znów widzimy źle rozmieszczone znaczniki <i> i <b>, co prowadzi do nieprzewidywalnych rezultatów formatowania. Takie błędy często wynikają z braku znajomości podstaw HTML i nieuważności na semantykę znaczników. Z mojego punktu widzenia, ważna jest znajomość kosztów, bo dobre zrozumienie kodu HTML jest kluczowe, żeby tworzyć zorganizowane i dostępne treści w sieci.

Pytanie 6

W języku PHP stwórz warunek, który będzie prawdziwy, gdy zmienna

$a 
będzie jakąkolwiek liczbą całkowitą mniejszą niż -10 lub gdy zmienna
$b 
będzie liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku powinno mieć postać
A. ($a < -10) or (($b > 25) and ($b < 75))
B. ($a < -10) and (($b > 25) and ($b < 75))
C. ($a < -10) or (($b > 25) or ($b < 75))
D. ($a < -10) and (($b > 25) or ($b < 75))
Wyrażenie logiczne ($a < -10) or (($b > 25) and ($b < 75)) jest poprawne, ponieważ spełnia warunki określone w treści zadania. Warunek ten sprawdza, czy zmienna $a jest mniejsza od -10 lub czy zmienna $b mieści się w przedziale od 25 do 75, co oznacza, że musi być większa niż 25 oraz mniejsza niż 75 jednocześnie. Takie podejście jest zgodne z zasadami logiki i jest typowe w programowaniu w PHP. Praktycznym zastosowaniem tego typu warunków może być filtrowanie danych użytkowników na podstawie wieku lub kwot transakcji, gdzie istotne jest spełnienie kilku kryteriów. Warto również zauważyć, że użycie operatora 'or' w tym przypadku jest kluczowe, gdyż pozwala na spełnienie przynajmniej jednego z warunków, co jest istotne w kontekście przyjmowania danych. Dobre praktyki w programowaniu sugerują, aby zawsze dokładnie definiować warunki logiczne oraz unikać nadmiarowych złożoności, co czyni kod bardziej czytelnym i łatwiejszym w utrzymaniu.

Pytanie 7

Który z elementów relacyjnej bazy danych, będący kodem w języku SQL, może być użyty w zapytaniach zmieniających kolumny danych przedstawiane w formie tabeli, niezależnie od tego, czy jest tworzony ręcznie, czy też dynamicznie?

A. Procedura składowa
B. Funkcja zdefiniowana
C. Reguła
D. Wyzwalacz
Reguła, wyzwalacz oraz procedura składowa to inne obiekty, które jednak nie spełniają wymogów opisanych w pytaniu. Reguły, które są defektem w SQL, pozwalają na określenie, jak dane powinny być modyfikowane, ale są mniej elastyczne i nie pozwalają na dynamiczne przetwarzanie. Nie są one już powszechnie używane w nowoczesnych systemach zarządzania bazami danych (DBMS), ze względu na problemy z wydajnością i zrozumiałością kodu. Wyzwalacze to mechanizmy uruchamiane automatycznie w odpowiedzi na określone operacje na danych, takie jak INSERT, UPDATE lub DELETE. Chociaż wyzwalacze mogą być przydatne do automatycznego przetwarzania danych, nie mogą być wywoływane bezpośrednio w zapytaniach SQL, co ogranicza ich zastosowanie w przypadku złożonych logik. Procedura składowa natomiast, choć może zawierać logikę modyfikacji danych i być wywoływana w odpowiedzi na określone zdarzenia, jest zdefiniowana jako zestaw instrukcji, który nie zwraca wartości ani nie może być używana bezpośrednio w zapytaniach modyfikujących kolumny danych. Procedury składowe są bardziej złożone, a ich wywołanie często wymaga dodatkowych parametrów oraz kontekstu, co czyni je mniej odpowiednimi w sytuacjach, w których potrzebna jest prostota i elastyczność.

Pytanie 8

Aby stworzyć układ strony z trzema kolumnami obok siebie, można wykorzystać styl CSS

Ilustracja do pytania
A. A
B. C
C. D
D. B
W rozwiązaniu B zastosowano właściwość clear both co powoduje że element z klasą kolumny nie pozwala na ustawienie innych elementów obok siebie w tym samym wierszu Elementy z właściwością clear both resetują float wokół siebie co oznacza że żadna kolumna nie może być pływająca obok innej W efekcie nie osiągniemy zamierzonego celu jakim jest trzykolumnowy układ w jednym wierszu Jest to błąd często popełniany przez osoby nieznające działania mechanizmu clear w CSS Rozwiązanie C natomiast korzysta z float right oraz height co ustawia elementy pływające z prawej strony kontenera oraz ustawia wysokość na 33 procent co może być mylące float right stosowany jest głównie gdy chcemy aby elementy pływały do prawej krawędzi co nie jest pomocne w sytuacji kiedy zamierzamy stworzyć równomierne kolumny Rozwiązanie D przy zastosowaniu float left oraz width 40 procent powoduje że trzy kolumny nie zmieszczą się obok siebie w jednym wierszu ponieważ przekroczą 100 procent szerokości dostępnej przestrzeni Jest to klasyczny błąd w wyliczeniach kiedy szerokość sumuje się do wartości wyższej niż 100 procent co prowadzi do niepożądanego łamania się wierszy i niepoprawnego układu strona internetowa Aby uniknąć takich błędów warto zawsze przeliczać sumaryczną szerokość wszystkich elementów pływających i upewnić się że nie przekracza ona dostępnej przestrzeni w kontenerze To podejście pozwala na tworzenie bardziej przewidywalnych i spójnych układów na stronie internetowej

Pytanie 9

Według zasad walidacji HTML5, właściwym zapisem dla znacznika hr jest

A. </hr?>
B. <hr>
C. </ hr>
D. </ hr />
Odpowiedź <hr> jest poprawna, ponieważ zgodnie z regułami HTML5, znacznik <hr> jest znakiem samodzielnym, co oznacza, że nie wymaga zamknięcia. Jest to element blokowy, który służy do wprowadzania poziomej linii w dokumencie, co często wykorzystuje się do rozdzielania sekcji treści. Standard HTML5 zezwala na użycie skróconej formy, a zatem <hr> jest wystarczające do oznaczenia poziomej linii. W praktyce, użycie tego znacznika jest istotne dla strukturyzacji dokumentów i poprawy ich czytelności. Dobrą praktyką jest również stosowanie odpowiednich atrybutów, takich jak 'class' czy 'id', co może ułatwić późniejsze stylizowanie za pomocą CSS. Warto pamiętać, że w HTML5, chociaż można używać atrybutów takich jak 'style' czy 'title', powinny one być stosowane odpowiedzialnie, aby nie zaburzać semantyki dokumentu. Ponadto, korzystanie z tego znacznika jest zgodne z WAI-ARIA, co wspiera dostępność aplikacji webowych.

Pytanie 10

W sklepie z farbami obowiązuje określony sposób obliczania kosztu farby: dla koloru niebieskiego i zielonego przy pojemności 2 litry cena farby wynosi cena bazowa + 20%. Wyrażenie logiczne w języku JavaScript, które weryfikuje tę zasadę, ma formę

A. (kolor = 'niebieski' || kolor = 'zielony') || pojemnosc = 2
B. kolor = 'niebieski' || kolor = 'zielony' && pojemnosc = 2
C. kolor == 'niebieski' && kolor == 'zielony' && pojemnosc == 2
D. (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2
Odpowiedź jest poprawna, ponieważ stosuje właściwą składnię języka JavaScript i prawidłowo określa warunki, które muszą być spełnione, aby cena farby zwiększyła się o 20%. Wyrażenie '(kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2' skutecznie sprawdza, czy zmienna 'kolor' przyjmuje wartość 'niebieski' lub 'zielony', a jednocześnie czy 'pojemnosc' wynosi 2. Użycie operatora logicznego '||' (lub) oraz '&&' (i) jest kluczowe w definiowaniu logiki warunkowej, co jest podstawą w programowaniu. Dzięki tej metodzie można z łatwością rozszerzyć logikę o inne kolory czy pojemności w przyszłości. Przykładem zastosowania tej logiki w praktyce może być tworzenie dynamicznego kalkulatora cen w aplikacji internetowej, gdzie użytkownicy wybierają różne kolory i pojemności, a program automatycznie oblicza cenę na podstawie zadanych reguł. Ważne jest przestrzeganie dobrych praktyk programistycznych, takich jak jasne nazewnictwo zmiennych i unikanie złożonych wyrażeń, co zwiększa czytelność kodu. Warto również pamiętać, że stosując operator '==' zamiast '=' unikamy przypisania wartości, co jest kluczowe w kontekście debugowania i poprawności działania skryptu.

Pytanie 11

W ramce przedstawiono właściwości pliku graficznego:

Wymiary:4272 x 2848px
Rozdzielczość:72 dpi
Format:JPG
W celu optymalizacji czasu ładowania rysunku na stronę WWW należy:
A. zmienić proporcje szerokości do wysokości.
B. zwiększyć rozdzielczość.
C. zmienić format grafiki na CDR.
D. zmniejszyć wymiary rysunku.
Odpowiedź jest poprawna. Czas ładowania obrazu na stronę WWW jest w dużej mierze zależny od jego rozmiaru. Zasada jest prosta: im mniejszy rozmiar pliku, tym szybciej zostanie załadowany. Zmniejszenie wymiarów rysunku prowadzi do zmniejszenia rozmiaru pliku, co optymalizuje czas ładowania. W praktyce, oznacza to, że jeżeli masz obraz o wymiarach 2000x2000 pikseli, a na stronie prezentowany jest w wymiarach 500x500 pikseli, to wartość ta jest zdecydowanie za duża i może spowalniać ładowanie strony. Dobrą praktyką jest dostosowanie rozmiaru obrazu do rozmiaru, w jakim ma być wyświetlany na stronie. Warto jednak pamiętać, że zmniejszanie rozmiaru obrazu może wpływać na jego jakość, dlatego ważne jest znalezienie odpowiedniego balansu pomiędzy czasem ładowania a jakością prezentowanego rysunku.

Pytanie 12

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Połączyć relacją pola ID z obu tych tabel
B. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
C. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
D. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
Relacja jeden do wielu polega na tym że jedna wartość z jednej tabeli może być związana z wieloma wartościami w innej tabeli W tym przypadku jeden klient może mieć wiele zamówień co oznacza że musimy dodać pole klucza obcego w tabeli Zamowienia które będzie odnosiło się do Klientów Klucz obcy w bazach danych to pole które odwołuje się do klucza głównego w innej tabeli Dobre praktyki projektowania baz danych sugerują aby takie połączenia realizować za pomocą kluczy obcych co pozwala na utrzymanie integralności danych oraz łatwiejsze ich przetwarzanie W praktyce oznacza to że w tabeli Zamowienia dodajemy pole które przechowuje ID z tabeli Klienci Standardy branżowe jak SQL ANSI określają sposób tworzenia takich relacji co zapewnia kompatybilność z większością systemów zarządzania bazami danych Dzięki temu możemy łatwo uzyskać wszystkie zamówienia przypisane do konkretnego klienta co jest funkcjonalnością często wymaganą w aplikacjach biznesowych

Pytanie 13

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. Zostanie wyświetlony komunikat "OlaA"
B. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
C. Znak "=" pełni rolę operatora porównania dwóch zmiennych
D. Znak kropki "." jest operatorem konkatenacji
Znak kropki w języku PHP pełni rolę operatora konkatenacji łączącego ciągi znaków w jedną całość Jest to kluczowa funkcja przy pracy z danymi tekstowymi pozwalająca na dynamiczne tworzenie ciągów znaków na podstawie różnych zmiennych lub danych wejściowych Przykładowo w przypadku zmiennej $a o wartości Ala i zastosowania $a Ola wynikowym ciągiem staje się AlaOla W praktyce konkatenacja jest często stosowana do generowania złożonych komunikatów lub budowania ścieżek plików w aplikacjach webowych Operator konkatenacji jest również używany w połączeniu z innymi typami danych które mogą być automatycznie przekształcane na ciągi znaków zgodnie z zasadami PHP Konkatenacja jest fundamentalnym elementem interakcji z użytkownikami w interfejsach tekstowych oraz w przetwarzaniu danych wejściowych i wyjściowych Zrozumienie i umiejętność jej stosowania jest kluczowa dla efektywnego programowania w PHP oraz tworzenia dynamicznych i interaktywnych aplikacji webowych z zachowaniem wysokiej jakości kodu i zgodności ze standardami

Pytanie 14

W programowaniu tylko jedna zmienna z wbudowanego typu może przyjmować zaledwie dwie wartości. Jakie to jest?

A. logiczy
B. łańcuchowy
C. tablicowy
D. znakowy
Typ logiczny, znany także jako boolean, jest jednym z podstawowych typów danych w większości języków programowania, które przyjmuje tylko dwie wartości: prawda (true) i fałsz (false). Ten typ danych jest kluczowy w logice programowania, ponieważ umożliwia podejmowanie decyzji i sterowanie przepływem programu na podstawie warunków. Na przykład, w języku Python można zdefiniować zmienną logiczną jako: 'is_active = True', co oznacza, że zmienna 'is_active' ma wartość prawda. Użycie typów logicznych jest fundamentalne dla struktur warunkowych, takich jak instrukcje if, które wykonują kod tylko wtedy, gdy warunek jest spełniony. Wartości logiczne są także wykorzystywane w operacjach logicznych, takich jak AND, OR oraz NOT, co pozwala na tworzenie bardziej złożonych warunków. W kontekście standardów, typ logiczny jest częścią specyfikacji języków programowania, takich jak C, Java czy JavaScript, co czyni go uniwersalnym narzędziem w programowaniu.

Pytanie 15

Kolor zdefiniowany kodem RGB o wartości rgb(128, 16, 8) w formacie szesnastkowym przyjmuje wartość

A. #FF0F80
B. #FF1008
C. #801008
D. #800F80
Odpowiedź #801008 jest poprawna, ponieważ kod RGB rgb(128, 16, 8) konwertuje się do formatu szesnastkowego, gdzie każdy z trzech składników (czerwony, zielony, niebieski) reprezentowany jest przez dwie cyfry szesnastkowe. Wartość czerwonego wynosi 128, co w systemie szesnastkowym odpowiada '80'. Wartość zielonego wynosi 16, co w szesnastkowym zapisie to '10'. Wartość niebieskiego wynosi 8, co w szesnastkowym zapisie to '08'. Łącząc te wartości, otrzymujemy #801008. Tego typu konwersja jest powszechnie stosowana w projektowaniu graficznym i web designie, gdzie RGB i jego odpowiedniki w systemie szesnastkowym są używane do definiowania kolorów w CSS. Używając standardów takich jak W3C, programiści mogą precyzyjnie określić kolory, co jest kluczowe dla estetyki i dostępności stron internetowych.

Pytanie 16

Deklaracja CSS margin: auto; wskazuje, że marginesy są

A. zgodne z domyślnymi wartościami marginesów elementu, do którego zostały przypisane
B. przechodzące z elementu nadrzędnego dla danego elementu
C. stałe dla danej przeglądarki, niezależnie od jej okna
D. obliczane przez przeglądarkę w taki sposób, aby element był wyśrodkowany poziomo
W przypadku, gdy mówimy o marginesach w CSS, często pojawiają się nieporozumienia dotyczące ich dziedziczenia i stałości. Odpowiedzi sugerujące, że marginesy są odziedziczone po elemencie rodzica, są mylne, ponieważ marginesy w CSS nie dziedziczą wartości, jak ma to miejsce w przypadku wielu właściwości typograficznych, np. czcionki. Marginesy są niezależne dla każdego elementu i można je ustawić indywidualnie. Dodatkowo, stwierdzenie, że marginesy są stałe dla danej przeglądarki, jest również nieprawidłowe. Wartości marginesów mogą być różne w zależności od rozmiaru okna przeglądarki i innych czynników, co sprawia, że są one elastyczne, a nie stałe. Kiedy mówimy o domyślnych wartościach marginesów, warto zauważyć, że elementy HTML mają swoje własne domyślne marginesy, ale użycie 'margin: auto;' nie odnosi się do tych domyślnych wartości. Zamiast tego, ta reguła wymusza na przeglądarce obliczenie marginesów w taki sposób, aby osiągnąć pożądany efekt wizualny, jakim jest centrowanie. Dlatego kluczowe jest zrozumienie, jak działają marginesy w CSS i jak mogą być wykorzystywane do tworzenia responsywnych układów stron internetowych.

Pytanie 17

Gdzie w dokumencie HTML powinien być umieszczony wewnętrzny arkusz stylów?

A. W sekcji treści strony
B. W obrębie znacznika, którego dotyczy styl
C. W skrypcie dołączonym do dokumentu
D. W sekcji nagłówkowej dokumentu
Umieszczanie wewnętrznego arkusza stylów w ciele strony jest niepoprawną praktyką, ponieważ skutkuje opóźnieniem w załadowaniu i renderowaniu CSS. Przeglądarki interpretują HTML od góry do dołu, co oznacza, że style zdefiniowane w ciele strony mogą nie być zastosowane, zanim przeglądarka dotrze do odpowiedniego miejsca, co prowadzi do niepożądanego efektu wizualnego, nazywanego 'flash of unstyled content' (FOUC). Kolejnym błędnym podejściem jest umieszczanie arkusza stylów wewnątrz skryptu dołączonego do strony. Takie działanie jest sprzeczne z semantyką HTML i może powodować trudności w utrzymaniu oraz błędy w interpretacji przez przeglądarki. Skrypty powinny być odpowiedzialne za logikę i interaktywność, natomiast arkusze stylów powinny być wyraźnie oddzielone jako elementy zarządzające wyglądem. Ostatnia niepoprawna odpowiedź dotyczy umieszczania stylów wewnątrz znacznika, którego styl dotyczy. Choć technicznie jest to możliwe, nie jest to zalecana praktyka, ponieważ wprowadza chaos w strukturze dokumentu HTML i utrudnia jego późniejsze modyfikacje. Tego rodzaju podejście prowadzi do problemów z zarządzaniem kodem i obniża jego przejrzystość, szczególnie w większych projektach, gdzie lepszym rozwiązaniem jest stosowanie dedykowanych arkuszy stylów.

Pytanie 18

Jakim kodem określa się kolor czerwony?

A. #00EE00
B. #EE0000
C. #00EEEE
D. #0000EE
Poprawna odpowiedź to #EE0000, co jest kodem szesnastkowym reprezentującym kolor czerwony w systemie RGB. W tym kodzie, wartość R (czerwony) wynosi 238, co oznacza maksymalne nasycenie tego koloru. Wartości G (zielony) i B (niebieski) są ustawione na 0, co oznacza, że brak tych kolorów powoduje, że czerwony staje się dominujący. Kolory w formacie szesnastkowym są powszechnie stosowane w projektowaniu stron internetowych oraz w grafice komputerowej, ponieważ umożliwiają precyzyjne określenie kolorów. Na przykład, w CSS można użyć tego kodu, aby ustawić kolor tła przycisku: 'background-color: #EE0000;'. Taka praktyka pozwala na łatwe i konsekwentne utrzymanie estetyki wizualnej projektu. Warto również zaznaczyć, że w kontekście kolorów, czerwony często symbolizuje energię, pasję i akcję, co czyni go popularnym wyborem w marketingu i reklamie, gdzie przyciągnięcie uwagi jest kluczowe.

Pytanie 19

Jak można umieścić komentarz w kodzie PHP, używając odpowiednich symboli?

A. <? ... ?>
B. /? ... ?/
C. <!-- ... -->
D. /* ... */
Pierwsza z podanych opcji, używająca składni '/? ... ?/', nie jest poprawnym sposobem na tworzenie komentarzy w PHP. Taka składnia nie jest zgodna z żadnym standardowym formatem komentarzy w tym języku, co czyni ją nieaktywną i nieczytelną dla interpretera. Z kolei opcja z '<? ... ?>' jest oznaczeniem bloku PHP, który pozwala na wstawienie kodu PHP w plikach HTML, ale nie jest przeznaczona do tworzenia komentarzy. Komentarze w PHP nie są interpretowane w obrębie takich znaczników, a ich działanie jest całkowicie inne. Z kolei użycie znaku '<!-- ... -->' jest typowe dla HTML, a nie dla PHP. Chociaż takie komentarze są używane do wykluczania fragmentów kodu HTML, nie będą skuteczne w kodzie PHP, gdyż interpreter PHP ich nie zrozumie. W PHP stosujemy wyłącznie standardowe oznaczenia komentarzy, aby zapewnić, że kod będzie działał poprawnie oraz aby uniknąć błędów w interpretacji skryptu.

Pytanie 20

Najprostszy sposób przekształcenia obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 to

Ilustracja do pytania
A. narysowanie docelowego obiektu
B. geometryczne transformowanie obiektu
C. zmiana warstwy obiektu
D. animowanie obiektu
Geometria transformacji to niezwykle ważne pojęcie w dziedzinie grafiki komputerowej i projektowania. Polega na zmianie kształtu obiektu za pomocą operacji takich jak skalowanie, obracanie, przesuwanie czy odkształcanie. W kontekście pytania, geometria transformacji umożliwia przekształcenie obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 poprzez zmianę jego kształtu i wielkości. Praktyczne zastosowanie transformacji geometrycznych obejmuje m.in. skalowanie w celu dostosowania rozmiarów obiektów do różnych nośników lub kontekstu wyświetlania. Obracanie jest używane do orientacji obiektów w przestrzeni, co jest niezwykle przydatne w modelowaniu 3D czy animacjach. Dobre praktyki projektowania graficznego zalecają korzystanie z transformacji geometrycznych, aby uzyskać spójną i estetyczną kompozycję. Standardy branżowe często definiują konkretne algorytmy i formaty danych dla transformacji, jak na przykład macierze przekształceń w grafice trójwymiarowej. Zrozumienie i umiejętne zastosowanie tych pojęć pozwala na efektywne tworzenie złożonych struktur wizualnych oraz interaktywnych aplikacji.

Pytanie 21

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. double
B. solid
C. dotted
D. dashed
Wybór właściwości takich jak solid double czy dotted dla stylu obramowania często wynika z niepełnego zrozumienia ich zastosowań Solid jest używane do tworzenia ciągłej linii co może być mylące gdy celem jest uzyskanie efektu linii przerywanej W kontekście projektowania stron internetowych solid jest bardziej dominujące i może przesuwać punkt ciężkości z treści na formatowanie co nie zawsze jest pożądane Double tworzy podwójną linię i choć może być stosowane w celu uzyskania bardziej wyrazistego efektu jego użycie w sytuacji gdy potrzebna jest subtelność jest nieodpowiednie Dotyczy to sytuacji gdzie wizualna przejrzystość i prostota są kluczowe Dotted tworzy linię z kropkami która różni się od dashed strukturą i wyglądem podczas gdy dashed używa kresek dotted sprawia wrażenie bardziej delikatnej i lekko chaotycznej linii co nie zawsze jest zgodne z zamierzonym stylem estetycznym Struktura dotted może być stosowana tam gdzie wymagana jest bardziej dekoracyjna linia Wybór właściwej właściwości jest kluczowy dla osiągnięcia zamierzonego efektu wizualnego i powinien być oparty na standardach projektowania stron internetowych które uwzględniają zarówno estetykę jak i funkcjonalność Zapewnienie spójności w użyciu stylów w całej witrynie jest również istotne dla zachowania profesjonalnego wyglądu i łatwości użytkowania takich jak rozpoznawalność interakcji i intuicyjność nawigacji poprzez odpowiednie oznaczenia CSS pozwala na szeroką personalizację co wymaga zrozumienia subtelnych różnic między różnymi wartościami stylów i ich odpowiednimi zastosowaniami w kontekście projektu

Pytanie 22

Wskaż warunek w języku JavaScript, który ma na celu sprawdzenie, czy przynajmniej jeden z poniższych przypadków jest spełniony: 1) dowolna naturalna liczba 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)
Warunek zapisany jako ((a>99)&&(a<1000))||(b<0) jest poprawny, ponieważ sprawdza dwa różne przypadki. Pierwsza część warunku, (a>99)&&(a<1000), zwraca prawdę, gdy a jest liczbą naturalną w zakresie od 100 do 999, co oznacza, że jest to liczba trzycyfrowa. Z kolei druga część, b<0, jest spełniona, gdy b jest liczbą całkowitą mniejszą od zera, co oznacza, że jest to liczba ujemna. Zastosowanie operatora logicznego '||' (OR) pozwala na spełnienie warunku, gdy przynajmniej jeden z dwóch przypadków jest prawdziwy. Użycie operatora '&&' (AND) w pierwszej części jest kluczowe, ponieważ musi być spełniony zarówno warunek większy niż 99, jak i mniejszy niż 1000, co pozwala na precyzyjne określenie, czy a jest liczbą trzycyfrową. Przykładowo, gdy a = 150, a b = -5, cały warunek zwróci prawdę z powodu drugiej części warunku. Na przeciwnym biegunie, jeśli a = 50, a b = 5, warunek zwróci fałsz, ponieważ ani a nie jest trzycyfrowe, ani b nie jest ujemne. Tego rodzaju warunki są powszechnie stosowane w programowaniu, aby weryfikować różne stany i wartości zmiennych w aplikacjach webowych i systemach informatycznych.

Pytanie 23

Jaką wartość zwróci ten algorytm?

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

Pytanie 24

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

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

Pytanie 25

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?

A. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
B. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
C. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
D. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
Wszystkie pozostałe odpowiedzi zawierają błędne podejścia do formułowania odpowiednich warunków w zapytaniu SQL. Przykładowo, pierwsza z odpowiedzi sugeruje użycie operatora '=>', który jest nieprawidłowy, ponieważ w standardowym SQL powinien być użyty operator '>=', który oznacza 'większy lub równy'. Użycie tego operatora w tym kontekście powoduje, że zapytanie zwraca pracowników z pensją równą 3000, co jest niezgodne z wymaganym przedziałem. Kolejna odpowiedź wykorzystuje operator '>', co jest poprawne, ale połączenie go z 'pensja <= 4000' w sposób, w jaki to zostało sformułowane, również nie spełnia wymogu jednostronnego domknięcia przedziału. Oznacza to, że odpowiedź ta nie respektuje struktury zadania, które precyzuje, iż dolna granica pensji powinna być wyłączona, a górna włączona. Odpowiedzi oparte na operatorze 'OR' w przypadku niektórych odpowiedzi wprowadzają zamieszanie, ponieważ sugerują, że jakikolwiek spełniony warunek (kierownik lub pensja) wystarczy do zwrócenia pracownika. To jest fundamentalny błąd w logice zapytania, ponieważ nie uwzględnia wymogu, że oba warunki muszą być jednocześnie spełnione, aby właściwie zdefiniować grupę pracowników. Prawidłowe formułowanie zapytań SQL wymaga zrozumienia operatorów logicznych oraz zasad filtracji danych, co jest kluczowe dla skutecznej analizy i zarządzania danymi w bazach danych.

Pytanie 26

Używając polecenia ALTER TABLE, co można zrobić?

A. usunięcie tabeli
B. zmiana struktury tabeli
C. zmiana wartości w rekordach tabeli
D. stworznie tabeli
Polecenie ALTER TABLE w SQL jest używane do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, zmieniać typ danych kolumn, a także dodawać klucze obce lub indeksy. Przykładem zastosowania ALTER TABLE może być dodanie nowej kolumny do tabeli pracowników w celu rejestrowania daty zatrudnienia: 'ALTER TABLE pracownicy ADD COLUMN data_zatrudnienia DATE;'. Good practices w zakresie modyfikacji tabeli sugerują, aby przed dokonaniem takich zmian zawsze tworzyć kopię zapasową bazy danych. Warto również monitorować wpływ zmian na istniejące zapytania oraz aplikacje, które wykorzystują tę tabelę, aby uniknąć potencjalnych błędów w przyszłości. W kontekście projektowania baz danych, ALTER TABLE stanowi kluczowy element w utrzymaniu i dostosowywaniu struktury bazy danych do zmieniających się potrzeb organizacji. Na przykład, w miarę wzrostu firmy mogą pojawić się potrzeby wprowadzenia nowych informacji dotyczących klientów, co wymaga elastyczności w strukturze bazy danych.

Pytanie 27

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen
B. powiększyć wartość pola Uczen o jeden
C. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
D. ustalić wartość pola Uczen na 1
Polecenie SQL, które analizujemy, to: `UPDATE Uczen SET id_klasy = id_klasy + 1;`. Jego celem jest zwiększenie wartości w kolumnie `id_klasy` o jeden dla wszystkich rekordów w tabeli `Uczen`. Wykorzystanie operacji `SET` w poleceniu `UPDATE` umożliwia modyfikację istniejących danych w bazie. W tym przypadku każda wartość w kolumnie `id_klasy` zostaje powiększona o jeden. To technika często stosowana przy aktualizacjach, gdzie potrzebujemy inkrementować wartości, np. w przypadku liczników, numeracji czy przesuwania pozycji. Stosowanie `UPDATE` zgodnie z dobrymi praktykami wymaga ostrożności, zwłaszcza przy operacjach masowych, aby unikać niezamierzonych zmian w danych. Ważne jest, aby przed wykonaniem takich operacji upewnić się, że kopia zapasowa danych jest dostępna, a operacja została przetestowana w środowisku testowym, aby uniknąć potencjalnych problemów w środowisku produkcyjnym.

Pytanie 28

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
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 29

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)
Odpowiedź ((a>99) && (a<1000)) || (b<0) jest prawidłowa, ponieważ warunek ten skutecznie sprawdza, czy dowolna naturalna liczba a jest trzycyfrowa lub czy dowolna całkowita liczba b jest ujemna. Część wyrażenia (a>99) && (a<1000) weryfikuje, czy liczba a jest w przedziale od 100 do 999, co definiuje liczby trzycyfrowe. Z kolei druga część (b<0) sprawdza, czy liczba b jest mniejsza od zera. Całość połączona jest operatorem OR (||), co oznacza, że wystarczy spełnienie jednego z tych warunków, aby cały warunek był spełniony. W praktyce, takie wyrażenia są powszechnie stosowane w programowaniu, szczególnie w formularzach walidacyjnych, gdzie ważne jest, aby dane wprowadzone przez użytkowników spełniały określone kryteria. Dobrą praktyką jest dbałość o czytelność kodu i stosowanie odpowiednich nazw zmiennych, co ułatwia zrozumienie logiki działania aplikacji. Warto również pamiętać o testowaniu różnych przypadków, aby upewnić się, że warunki działają zgodnie z zamierzeniami, co jest kluczowe w zapewnieniu wysokiej jakości oprogramowania.

Pytanie 30

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Wymusza unikalne nazwy kolumn w tabeli
B. Zabrania wprowadzenia wartości NULL
C. Jest stosowany wyłącznie w przypadku kolumn liczbowych
D. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
Atrybut UNIQUE w MySQL jest kluczowym elementem definicji tabeli, który zapewnia, że wartości w danej kolumnie są unikalne w obrębie całej tabeli. Oznacza to, że nie może być dwóch wierszy, które mają tę samą wartość w kolumnie oznaczonej jako UNIQUE. Jest to szczególnie istotne w kontekście zarządzania danymi, gdyż pozwala na eliminację duplikatów, co jest zgodne z najlepszymi praktykami projektowania baz danych. Przykładem zastosowania atrybutu UNIQUE może być tabela przechowująca dane użytkowników, gdzie adres e-mail powinien być unikalny dla każdego użytkownika. Dzięki temu, system może zapewnić, że nie dojdzie do przypadkowego utworzenia dwóch kont z tym samym adresem e-mail. Warto dodać, że atrybut UNIQUE może współistnieć z wartościami NULL – w MySQL, wiele wartości NULL jest dozwolonych w kolumnie, która ma zastosowany atrybut UNIQUE. Zrozumienie i prawidłowe wykorzystanie tego atrybutu jest kluczowe dla zachowania integralności danych i efektywności operacji na bazie danych.

Pytanie 31

Wszelkie dane, które dostarczają informacji o innych danych, nazywane są

A. metadata.
B. markup language.
C. metalanguage.
D. databus.
Poprawna odpowiedź to „metadata”, czyli po polsku metadane. Metadane to wszystkie dane, które opisują inne dane. Można powiedzieć, że są to „informacje o informacji”. Przykład z życia: plik zdjęcia JPG. Sam obraz to dane, a takie elementy jak data wykonania, model aparatu, rozdzielczość, lokalizacja GPS, autor – to właśnie metadane zapisane np. w formacie EXIF. Podobnie w świecie WWW: w dokumencie HTML mamy sekcję <head>, a w niej znaczniki <meta>. Te znaczniki nie są wyświetlane użytkownikowi jako treść strony, ale przekazują wyszukiwarkom i przeglądarkom informacje o stronie, np. opis, słowa kluczowe, kodowanie znaków, język. To jest klasyczny przykład metadanych w praktyce. W bazach danych metadane to np. definicje tabel, typy kolumn, klucze główne, indeksy, ograniczenia. System zarządzania bazą danych przechowuje je w tzw. katalogach systemowych. Dzięki temu wie, jak interpretować rekordy, jakie są relacje między tabelami, jakie są dopuszczalne wartości. Bez metadanych dane byłyby po prostu chaotycznym zbiorem bitów, z którego niewiele da się wyciągnąć. W standardach branżowych stosuje się różne schematy metadanych, np. Dublin Core dla zasobów cyfrowych, czy schema.org dla stron internetowych, aby wyszukiwarki lepiej rozumiały zawartość. Z mojego doświadczenia warto od początku myśleć o metadanych jako o czymś, co podnosi jakość systemu: ułatwia wyszukiwanie, integrację, automatyczne przetwarzanie danych. Dobra praktyka jest taka, żeby dla ważnych zasobów (pliki, rekordy w bazie, strony WWW, API) zawsze planować strukturę metadanych: kto utworzył, kiedy, jaki typ, wersja, status. To bardzo pomaga przy utrzymaniu aplikacji, debugowaniu i rozwoju systemu.

Pytanie 32

Systemy CMS charakteryzują się

A. wbudowanym serwerem poczty elektronicznej.
B. możliwością programowania w zaawansowanych frameworkach dla aplikacji Web.
C. możliwością edycji treści bez konieczności znajomości HTML.
D. wbudowanym edytorem grafiki wektorowej.
Poprawnie wskazana cecha CMS to możliwość edycji treści bez konieczności znajomości HTML. Właśnie po to powstały systemy zarządzania treścią: żeby osoba nietechniczna, np. pracownik działu marketingu czy sekretariat, mogła samodzielnie aktualizować stronę WWW. W typowym CMS (WordPress, Joomla, Drupal) mamy edytor WYSIWYG przypominający Worda: pogrubienie, nagłówki, listy, wstawianie obrazków, linków. Cały kod HTML generuje się w tle automatycznie. Użytkownik widzi tekst i przyciski, a nie znaczniki typu <div>, <p> czy <a>. Z mojego doświadczenia to ogromne ułatwienie w firmach, gdzie programista nie ma czasu na każdą drobną zmianę w treści. Dobra praktyka jest taka, żeby w CMS rozdzielać warstwę treści (content) od warstwy prezentacji (szablony, CSS). Administrator, redaktor czy copywriter pracuje na treści, a programista i frontendowiec dbają o wygląd i logikę. Dzięki temu aktualizacja np. cennika, aktualności czy opisów produktów nie wymaga dotykania kodu strony. Co więcej, nowoczesne CMS-y stosują mechanizmy wersjonowania treści, workflow publikacji, uprawnienia użytkowników. Wszystko nadal bez konieczności pisania HTML, choć oczywiście możliwość podejrzenia i ręcznej edycji kodu często jest dostępna dla bardziej zaawansowanych użytkowników. W praktyce: jeśli ktoś umie obsłużyć edytor tekstu, to po krótkim przeszkoleniu zwykle bez problemu poradzi sobie z podstawową obsługą CMS i edycją treści na stronie WWW.

Pytanie 33

W PHP typ float oznacza

A. logiczny
B. łańcuchowy
C. całkowity
D. zmiennoprzecinkowy
Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały.

Pytanie 34

Baza danych MySQL została uszkodzona. Które z poniższych działańnie przyczyni się do jej naprawy?

A. Utworzenie nowej bazy i przeniesienie do niej tabel
B. Próba naprawy za pomocą polecenia REPAIR
C. Odtworzenie bazy z kopii zapasowej
D. Wykonanie replikacji bazy danych
Próba naprawy bazy danych za pomocą polecenia REPAIR, odtwarzanie bazy z kopii bezpieczeństwa czy stworzenie nowej bazy z przeniesieniem tabel mogą być mylnie uznawane za skuteczne rozwiązania w przypadku uszkodzenia bazy danych. Polecenie REPAIR TABLE ma zastosowanie tylko w przypadku tabel, które zostały uszkodzone, a nie w przypadku całej bazy danych. W praktyce, jeśli baza danych jest uszkodzona w sposób, który uniemożliwia jej działanie, to polecenie naprawy nie będzie wystarczające. Odzyskiwanie z kopii zapasowej to bardzo efektywna metoda, jednak wymaga wcześniejszego posiadania aktualnej kopii, a czasami dane mogą być utracone. Stworzenie nowej bazy danych i przeniesienie tabel jest procesem czasochłonnym i może nie zapewnić pełnej integralności danych, szczególnie w przypadku złożonych relacji między tabelami. Często mylone są pojęcia naprawy i odzyskiwania danych, co może prowadzić do błędnych decyzji w sytuacjach kryzysowych. Ważne jest, aby w momencie wystąpienia uszkodzenia bazy danych podejść do tematu z pełną wiedzą na temat dostępnych narzędzi i metod, aby uniknąć dalszych problemów związanych z bezpieczeństwem danych.

Pytanie 35

<form>
  <input type="email" id="addr" required>
  <input type="submit" value="Zapisz">
</form>
Na podstawie przedstawionego kodu formularza HTML można powiedzieć, że pole edycyjne:
A. może być puste.
B. wymaga wpisania jedynie znaków alfanumerycznych.
C. nie powinno zawierać znaków numerycznych.
D. nie może być puste i wymaga wpisania tekstu ze znakiem @.
W tym fragmencie kodu HTML masz dwa bardzo ważne atrybuty: type="email" oraz required. To właśnie one razem powodują, że poprawna jest odpowiedź, że pole nie może być puste i wymaga wpisania tekstu ze znakiem @. Atrybut required oznacza, że pole jest obowiązkowe. Przeglądarka, zgodnie ze specyfikacją HTML5, nie pozwoli wysłać formularza, dopóki pole nie będzie wypełnione. Użytkownik kliknie przycisk „Zapisz”, a formularz po prostu się nie wyśle – pojawi się komunikat walidacyjny po stronie przeglądarki. To jest tzw. walidacja po stronie klienta, domyślnie wbudowana w HTML. Z kolei type="email" uruchamia specjalny mechanizm sprawdzania formatu wpisanego tekstu. Przeglądarka sprawdza, czy ciąg znaków wygląda jak adres e‑mail: musi zawierać co najmniej znak @ i jakąś część przed i po nim. To nie jest super zaawansowana walidacja, ale wystarcza jako pierwszy filtr, np. "[email protected]" przejdzie, a "jan.domena.pl" już nie. Moim zdaniem to bardzo wygodne, bo nie trzeba od razu pisać własnego JavaScriptu tylko po to, żeby odsiać oczywiste błędy. W praktyce w aplikacjach webowych zwykle łączy się tę prostą walidację HTML5 z dodatkowymi sprawdzeniami po stronie serwera (np. w PHP czy w innym backendzie), bo dane z formularza zawsze trzeba traktować z ograniczonym zaufaniem. Dobrym nawykiem jest też dodanie atrybutu name, np. name="email", żeby serwer mógł poprawnie odebrać wartość pola. Warto też wiedzieć, że niektóre przeglądarki mobilne, gdy widzą type="email", podpowiadają użytkownikowi specjalną klawiaturę z łatwym dostępem do znaku @ i kropki, co realnie poprawia wygodę wpisywania adresu. To taki mały szczegół, ale w profesjonalnych projektach UX ma znaczenie. Podsumowując: required blokuje puste wysłanie formularza, a type="email" wymusza poprawny, podstawowy format adresu ze znakiem @ – dokładnie to opisuje poprawna odpowiedź.

Pytanie 36

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nadchodzącym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Zmiana ta w bazie danych będzie miała formę

A. UPDATE pensja SET +100;
B. UPDATE pracownicy SET pensja = 100;
C. UPDATE pensja SET 100;
D. UPDATE pracownicy SET pensja = pensja +100;
W celu podniesienia pensji wszystkim pracownikom o 100 zł, zastosowanie ma polecenie SQL UPDATE. Poprawna instrukcja 'UPDATE pracownicy SET pensja = pensja + 100;' działa na zasadzie modyfikacji istniejących wartości w kolumnie 'pensja' w tabeli 'pracownicy'. Ta konstrukcja przyjmuje bieżącą wartość pensji każdego pracownika i dodaje do niej 100 zł. Jest to standardowa praktyka w SQL, gdzie używamy operatora '+', aby zmodyfikować dane. Warto pamiętać, że takie operacje są powszechnie wykorzystywane w systemach baz danych do aktualizacji informacji, co pozwala na efektywne zarządzanie danymi. Dla porównania, instrukcje SELECT, które służą do pobierania danych, nie są odpowiednie w tym kontekście. W rezultacie każdy pracownik w tabeli otrzyma nową, zwiększoną pensję, co odzwierciedli aktualizację w bazie danych.

Pytanie 37

Które zdarzenie umożliwia wykonanie skryptu w języku JavaScript podczas przesyłania formularza HTML oraz kontrolowanie jego wysłania?

A. onEnter
B. onSubmit
C. onChange
D. onClick
Odpowiedź 'onSubmit' jest poprawna, ponieważ to zdarzenie w języku JavaScript jest bezpośrednio związane z wysyłaniem formularzy HTML. Gdy użytkownik klika przycisk wysyłania formularza lub gdy formularz jest wysyłany za pomocą klawisza Enter, zdarzenie 'onSubmit' zostaje wywołane. Dzięki temu można zaimplementować walidację danych wprowadzonych przez użytkownika przed ich przesłaniem do serwera. Na przykład, można sprawdzić, czy wszystkie wymagane pola są wypełnione oraz czy dane są zgodne z określonym formatem, zanim formularz zostanie przesłany. Aby to zrobić, można dodać funkcję JavaScript do atrybutu onsubmit w tagu <form>, co pozwoli na zatrzymanie wysyłania formularza, jeśli warunki walidacji nie są spełnione. Jest to zgodne z dobrymi praktykami w zakresie tworzenia formularzy, które powinny być zarówno funkcjonalne, jak i przyjazne dla użytkownika. Dodatkowo, przy użyciu metody preventDefault() w obiekcie zdarzenia można zablokować domyślną akcję formularza, co daje pełną kontrolę nad procesem wysyłania.

Pytanie 38

Jak określa się część strukturalnego języka zapytań, która dotyczy tworzenia zapytań do bazy danych za pomocą polecenia SELECT?

A. SQL DQL (ang. Data Query Language)
B. SQL DCL (ang. Data Control Language)
C. SQL DML (ang. Data Manipulation Language)
D. SQL DDL (ang. Data Definition Language)
Wybór SQL DML, SQL DCL lub SQL DDL jako odpowiedzi na to pytanie wskazuje na nieporozumienie dotyczące funkcji poszczególnych podzbiorów SQL. SQL DML (Data Manipulation Language) odnosi się do poleceń, które modyfikują dane w bazie, takich jak INSERT, UPDATE i DELETE. Myląc te pojęcia, można sądzić, że polecenia te są odpowiednie do pobierania danych, co jest błędne. Z kolei SQL DCL (Data Control Language) służy do zarządzania uprawnieniami użytkowników i kontroli dostępu do danych, co również nie ma związku z formułowaniem zapytań do bazy danych. Na przykład, polecenia GRANT i REVOKE są kluczowe w kontekście DCL, ale nie mają nic wspólnego z wyciąganiem danych. SQL DDL (Data Definition Language) dotyczy definicji struktury bazy danych, czyli tworzenia, modyfikowania i usuwania tabel oraz innych obiektów bazy danych (np. CREATE, ALTER, DROP). Wybór któregokolwiek z tych podzbiorów zamiast DQL wskazuje na brak zrozumienia hierarchii i celów SQL jako całości. Zrozumienie różnic między tymi podzbiorami jest kluczowe dla skutecznego zarządzania danymi i efektywnej pracy z bazami danych. Dobrą praktyką jest zapoznanie się z pełnym zakresem możliwości SQL, aby lepiej wykorzystać jego potencjał w codziennej pracy z danymi.

Pytanie 39

Aplikacja o nazwie FileZilla umożliwia

A. sprawdzanie poprawności plików HTML i CSS
B. importowanie bazy danych do systemu CMS Joomla!
C. przeprowadzanie testów aplikacji
D. publikację strony internetowej na zdalnym serwerze
FileZilla to popularny klient FTP (File Transfer Protocol), który umożliwia użytkownikom przesyłanie plików pomiędzy lokalnym komputerem a zdalnym serwerem. Głównym celem korzystania z FileZilla jest publikacja stron internetowych, co polega na załadowaniu plików HTML, CSS, obrazków oraz innych zasobów na serwer, gdzie strona będzie dostępna dla użytkowników w Internecie. Dzięki intuicyjnemu interfejsowi, użytkownicy mogą łatwo przeciągać i upuszczać pliki, co przyspiesza proces publikacji. FileZilla obsługuje różne protokoły, w tym FTP, FTPS oraz SFTP, co zapewnia bezpieczeństwo podczas transferu danych. Dobrą praktyką jest regularne aktualizowanie programu, aby korzystać z najnowszych funkcji i poprawek bezpieczeństwa. W kontekście publikacji stron internetowych, FileZilla stanowi kluczowe narzędzie dla web developerów, umożliwiając im szybkie i efektywne zarządzanie plikami na serwerach zdalnych. Używanie FileZilla wspiera standardy branżowe, takie jak bezpieczeństwo transferu danych oraz zdalne zarządzanie plikami, co jest niezbędne w profesjonalnym rozwoju stron internetowych.

Pytanie 40

Które wartości będą przechowywane w zmiennych po wykonaniu przedstawionej pętli języka PHP?

$i = 20;    $a = 0;
while($i) {
  $a += 2;
  $i--;
}
A. a = 40, i = 0
B. a = 20, i = 20
C. a = 0, i = 20
D. a = 40, i = 20
Odpowiedź jest poprawna, ponieważ zrozumienie jak działa pętla w języku PHP jest kluczowe dla efektywnej pracy z tym językiem. W tym przypadku mamy do czynienia z pętlą, która zaczyna się od wartości i = 20 i w każdej iteracji zmniejsza wartość i o 1, aż dojdzie do 0, kończąc pętlę. Zmienna 'a' jest zwiększana o 2 w każdej iteracji, co daje nam finalną wartość a = 40 po 20 iteracjach. To jest kluczowe dla zrozumienia, jak zmienne są aktualizowane i przechowywane w pętli PHP. Przykład ten pokazuje, jak można wykorzystać pętle do wykonywania powtarzalnych operacji na danych, co jest podstawowym elementem programowania. Pamiętaj, że zrozumienie, jak działa pętla, jest kluczowe do tworzenia efektywnych i wydajnych programów, nie tylko w PHP, ale w każdym języku programowania.