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: 11 czerwca 2026 18:28
  • Data zakończenia: 11 czerwca 2026 18:50

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

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

Aby ustanowić relację jeden do wielu, w tabeli reprezentującej stronę "wiele", konieczne jest zdefiniowanie

A. klucza sztucznego odnoszącego się do kluczy podstawowych obydwu tabel
B. klucza obcego wskazującego na klucz podstawowy tabeli po stronie "jeden"
C. klucza obcego odnoszącego się do klucza obcego tabeli po stronie "jeden"
D. klucza podstawowego wskazującego na klucz podstawowy tabeli po stronie "jeden"
Definiowanie relacji w bazach danych to dosyć skomplikowana sprawa. Jakby nie patrzeć, jak zrobisz coś źle z kluczami obcymi czy podstawowymi, to mogą być duże problemy z danymi. Klucz sztuczny, który odnosi się do kluczy podstawowych w obu tabelach, może wydawać się prosty, ale nie rozwiązuje faktycznego problemu, którym jest jasna relacja między danymi. To wprowadza dodatkowe zamieszanie, a to nie jest dobra praktyka. Jak zdefiniujesz klucz obcy, który wskazuje na inny klucz obcy w tabeli po stronie 'jeden', no to może być tylko mętlik, bo ciężko wtedy utrzymać spójność danych. Klucz podstawowy, który wskazuje na klucz podstawowy z tabeli po stronie 'jeden', to również zły wybór, bo klucz podstawowy ma być unikalny dla każdej tabeli. Kluczowe jest, żeby klucze obce były używane w odpowiedni sposób, bo inaczej struktura danych robi się nieczytelna i trudna do zarządzania, a to na pewno nie idzie w parze z dobrym projektowaniem baz danych.

Pytanie 2

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. wykluczenia.
C. sumy.
D. części wspólnej.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 3

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

A. alt
B. border
C. sizes
D. src
Atrybut 'alt' w znaczniku <img> jest kluczowy dla dostępności treści internetowych. Jego główną funkcją jest dostarczenie alternatywnego opisu obrazu, który jest odczytywany przez programy wspierające osoby niewidome i niedowidzące, takie jak czytniki ekranu. Dzięki atrybutowi 'alt', użytkownicy, którzy nie mogą zobaczyć obrazu, są w stanie zrozumieć, co on przedstawia. Na przykład, jeśli obrazek przedstawia psa bawiącego się w parku, odpowiednia treść atrybutu 'alt' mogłaby brzmieć: 'Pies bawiący się w parku'. To nie tylko zwiększa dostępność strony, ale również poprawia doświadczenia użytkowników. Zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), dostarczenie tekstu alternatywnego dla wszystkich obrazów jest niezbędne do zapewnienia pełnej dostępności treści. Przykład zastosowania: W przypadku strony e-commerce, gdzie obrazy produktów są kluczowe, odpowiednio zdefiniowany atrybut 'alt' pozwala osobom z ograniczeniami wzrokowymi na pełne zrozumienie oferty, co może wpłynąć na ich decyzje zakupowe.

Pytanie 4

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 2 razy
B. 3 razy
C. 26 razy
D. 27 razy
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 5

Wskaż zdanie, które jest fałszywe w odniesieniu do poniższej definicji funkcji w języku C++?

void zamien(float &x, float &y) {
    float tmp;
    tmp = x;
    x = y;
    y = tmp;
}
A. Funkcja korzysta z parametrów przez referencję
B. Funkcja nie zwraca żadnej wartości
C. Funkcja ma dwa argumenty
D. Funkcja zwraca wartość
Jednym z typowych nieporozumień jest mylne interpretowanie funkcji deklarowanych z użyciem 'void'. Wbrew niektórym założeniom, taka funkcja nie zwraca żadnych wartości. Jej celem jest wykonanie pewnych operacji na danych wejściowych, często poprzez modyfikację ich wartości, jak w tym przypadku, gdzie funkcja dokonuje zamiany. Pojęcie zwracania wartości należy do funkcji o określonym typie zwracanym, takich jak 'int', 'float', itp. Zrozumienie różnicy między przekazywaniem przez wartość a przekazywaniem przez referencję jest kluczowe. W sytuacji, gdy parametry są przekazywane przez referencję, jak w omawianym przykładzie, funkcja ma bezpośredni dostęp do zmiennych zewnętrznych, umożliwiając ich modyfikację bez zwracania żadnej wartości. To podejście jest często stosowane w przypadku operacji na dużych strukturach danych, gdzie kopiowanie może być kosztowne. Niepoprawne założenie, że funkcja nie posiada parametrów lub że nie operuje na nich przez referencję, wynika z braku zrozumienia odnośnie technik efektywnego zarządzania pamięcią i zasobami w C++. Programowanie z użyciem referencji jest bardziej wydajne i pozwala na tworzenie kodu, który jest zarówno szybki, jak i czytelny. Ważne jest, aby nie mylić pojęcia parametrów funkcji z wartością zwrotną, ponieważ prowadzi to do błędnych założeń i niepoprawnego działania kodu w praktyce.

Pytanie 6

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

A.
ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
B.
ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
C.
ol { list-style-type: upper-roman; } ul { list-style-type: square; }
D.
ol { list-style-type: square; } ul { list-style-type: upper-roman; }
Rodzaj punktora ustawia list-style-type. Dla listy numerowanej <ol> wielkie cyfry rzymskie to upper-roman, a dla punktowanej <ul> kwadraty to square. Dlatego poprawny jest ol { list-style-type: upper-roman; } ul { list-style-type: square; }.

Pytanie 7

Podczas edytowania grafiki w programie do obróbki rastrowej należy usunąć kolory z obrazu, aby uzyskać wizualizację w odcieniach szarości. W tym celu można zastosować funkcję

A. szumu RGB
B. filtru rozmycia
C. desaturacji
D. kadrowania
Desaturacja to proces, który polega na usunięciu kolorów z obrazu, co skutkuje uzyskaniem jego wersji w odcieniach szarości. W kontekście edytorów grafiki rastrowej, takich jak Adobe Photoshop lub GIMP, desaturacja jest kluczową funkcją, umożliwiającą szybkie przekształcenie zdjęcia kolorowego w monochromatyczne. Tego typu operacje są szczególnie przydatne w fotografii czarno-białej, w grafice artystycznej oraz w projektowaniu, gdzie kolor może odwracać uwagę od kompozycji lub detali. Aby wykonać desaturację, wystarczy zastosować odpowiednią funkcję menu, co pozwala na łatwe i efektywne pozbycie się kolorów. Dobrą praktyką jest również eksploracja różnych metod desaturacji, takich jak konwersja do skali szarości lub użycie filtrów, które mogą dać różne efekty wizualne. Warto również zaznaczyć, że desaturacja nie jest tym samym co konwersja do odcieni szarości, gdyż może zachować pewne informacje o luminancji, które są istotne w kontekście dalszej obróbki obrazu.

Pytanie 8

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
B. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
C. ulicy i miasta z pierwszego zwróconego rekordu.
D. ulicy i miasta ze wszystkich zwróconych rekordów.
Niestety, wybrałeś niepoprawną odpowiedź. W twoim fragmencie kodu PHP, wykonujesz zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. Niepoprawne odpowiedzi sugerują, że twój kod wypisze 'ulicę i miasto' lub 'miasto i kod pocztowy' ze wszystkich zwróconych rekordów, co jest nieprawdą. Niezrozumienie, jak funkcje PHP działają z MySQL i jaki jest ich wynik, może prowadzić do poważnych błędów w kodzie. Wskazane jest dokładne zrozumienie, jakie dane są zwracane przez SQL i jak je przetwarzać w PHP.

Pytanie 9

W HTML-u znacznik tekst będzie prezentowany przez przeglądarkę w sposób identyczny do znacznika

A. <big>tekst</big>
B. <sub>tekst</sub>
C. <h1>tekst</h1>
D. <b>tekst</b>
Znacznik <strong> w HTML jest używany do oznaczania tekstu, który ma być wyróżniony jako ważny. Jego domyślne stylizowanie w przeglądarkach polega na pogrubieniu tekstu, co jest również funkcją znacznika <b>. Oba znaczniki mają podobne zastosowanie, ale <strong> niesie dodatkowe znaczenie semantyczne, co oznacza, że informuje przeglądarki i maszyny o tym, że dany tekst jest istotny. Przykładem może być użycie <strong> w nagłówkach lub w miejscach, gdzie chcemy zwrócić uwagę na kluczowe informacje, jak np. 'Zamówienie <strong>pilne</strong> musi być dostarczone do jutra.' W kontekście dobrych praktyk zaleca się używanie znaku <strong> zamiast <b>, gdyż wspiera to dostępność i SEO - wyszukiwarki lepiej interpretują semantykę treści, co może wpłynąć na pozycjonowanie strony. Warto również pamiętać, że zgodnie z W3C, semantyka HTML ma kluczowe znaczenie dla strukturyzacji dokumentów oraz ich dostępności.

Pytanie 10

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. indeksem unikalnym
B. indeksem klucza
C. kluczem obcym
D. kluczem podstawowym
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE pozwala na zdefiniowanie unikalnego identyfikatora dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa wiersze nie mogą mieć tej samej wartości w kolumnie, co jest kluczowe dla zachowania integralności danych. Przykładem praktycznym może być stworzenie tabeli użytkowników, gdzie 'id_użytkownika' jest kluczem podstawowym. Taki klucz może być typu INTEGER z automatycznym inkrementowaniem, co oznacza, że dla każdego nowego użytkownika wartość 'id_użytkownika' wzrasta automatycznie. Standardy branżowe zalecają definiowanie klucza podstawowego dla każdej tabeli, aby upewnić się, że rekordy można w sposób jednoznaczny zidentyfikować, co jest niezbędne dla relacyjnych baz danych. Dodatkowo, klucz podstawowy automatycznie tworzy indeks na tej kolumnie, co przyspiesza operacje wyszukiwania. Ważne jest, aby klucz podstawowy był dobrze przemyślany, ponieważ jego zmiana w przyszłości może wiązać się z dużymi komplikacjami w bazie danych.

Pytanie 11

Który z poniższych kodów HTML spowoduje taki sam efekt formatowania jak na zaprezentowanym rysunku?

Ilustracja do pytania
A. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
B. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> tekstu w HTML</p>
C. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
D. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
Twoja odpowiedź jest w porządku, bo tag <i> w HTML rzeczywiście służy do pisania tekstu kursywą, a <b> do pogrubiania. Jak użyjesz tych znaczników razem, to zyskujesz fajny efekt, który widać na obrazku. Kawałek tekstu <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> sprawi, że cały fragment będzie w kursywie, ale tylko wyraz w <b> będzie pogrubiony. To jest spoko, bo pokazuje jak poprawnie używać znaczniki w HTML. Warto jednak pamiętać, żeby nie przesadzać z tymi znacznikami i używać ich tylko wtedy, gdy naprawdę chcesz wyróżnić coś w tekście. Dzisiaj większość stylizacji robi się przez CSS, co pozwala lepiej oddzielić strukturę od wyglądu dokumentu. Ale jak chcesz coś szybko wyróżnić w HTML, to użycie <i> i <b> jak najbardziej ma sens. To wszystko jest mega ważne, bo zrozumienie tych podstaw będzie przydatne, gdy będziesz budować strony.

Pytanie 12

Który format najlepiej nadaje się do zapisu RASTROWEGO obrazu z przezroczystością na stronę WWW?

A. PNG
B. SVG
C. JPG
D. BMP
Do rastrowego obrazu z przezroczystością przeznaczonego na stronę WWW najlepszy jest PNG - łączy kanał alfa, kompresję bezstratną i pełne wsparcie przeglądarek. Sprawdza się przy logo, ikonach i grafikach nakładanych na różne tła. Zapamiętaj: raster + przezroczystość + web = PNG.

Pytanie 13

Za pomocą którego protokołu można bezpiecznie (z szyfrowaniem) przesłać pliki strony internetowej na serwer WWW?

A. SFTP
B. Telnet
C. POP3
D. IMAP
SFTP (SSH File Transfer Protocol) przesyła pliki w ramach sesji SSH, dlatego cała komunikacja - zarówno dane plików, jak i login oraz hasło - jest szyfrowana. To właśnie czyni go bezpiecznym sposobem na wgranie plików witryny (HTML, CSS, JavaScript, grafik) na serwer WWW: nawet w sieci publicznej nikt postronny nie odczyta przesyłanej zawartości ani danych logowania. SFTP działa na jednym połączeniu (domyślnie port 22) i pozwala nie tylko kopiować pliki, ale też tworzyć katalogi, zmieniać nazwy czy usuwać pliki na serwerze. Dlatego przy publikacji strony, gdy zależy nam na poufności transferu, wybieramy SFTP zamiast klasycznego, nieszyfrowanego FTP.

Pytanie 14

Polecenie serwera MySQL postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
sprawi, że użytkownikowi tKowal zostaną
A. przydzielone uprawnienia do usuwania i aktualizowania danych w tabeli pracownicy
B. odebrane uprawnienia usuwania i modyfikowania danych w tabeli pracownicy
C. przydzielone uprawnienia do wszelkiej zmiany struktury tabeli pracownicy
D. odebrane uprawnienia usuwania i dodawania rekordów w tabeli pracownicy
Wszystkie niepoprawne odpowiedzi dotyczą różnych aspektów zarządzania uprawnieniami w MySQL, ale nie odzwierciedlają skutków działania polecenia REVOKE. W pierwszej z nieprawidłowych odpowiedzi stwierdza się, że użytkownik otrzymuje prawa do usuwania i aktualizowania danych w tabeli 'pracownicy'. Jest to nieprawda, ponieważ komenda REVOKE ma na celu odebranie, a nie przydzielenie jakichkolwiek uprawnień. Kolejna odpowiedź sugeruje, że użytkownik traci prawa do usuwania i dodawania rekordów w tabeli. Chociaż uprawnienie do usuwania jest słuszne, dodawanie rekordów (INSERT) nie zostało wymienione w poleceniu REVOKE, więc ta odpowiedź jest myląca. Ostatnia niepoprawna opcja wskazuje, że użytkownik zyskuje prawa do zmiany struktury tabeli 'pracownicy'. W rzeczywistości REVOKE nie ma nic wspólnego z uprawnieniami związanymi ze strukturą tabeli, takimi jak ALTER czy CREATE. Właściwe zrozumienie mechanizmów zarządzania uprawnieniami jest kluczowe dla zapewnienia bezpieczeństwa danych oraz skutecznego zarządzania bazą danych w MySQL.

Pytanie 15

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. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
B. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
C. Połączyć relacją pola ID z obu tych tabel
D. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
Dodanie pola klucza obcego do tabeli Klienci i połączenie go z ID tabeli Zamowienia nie jest poprawne ponieważ relacja jeden do wielu wymaga aby klucz obcy znajdował się po stronie tabeli która reprezentuje wiele elementów czyli w tym przypadku Zamowienia Jeśli połączymy relacją pola ID z obu tabel nie uzyskamy semantyki relacji jeden do wielu a jedynie relację równoważności co nie odzwierciedla rzeczywistego scenariusza w którym jeden klient może posiadać wiele zamówień Zdefiniowanie trzeciej tabeli z dwoma kluczami obcymi przypomina projektowanie tabeli asocjacyjnej stosowanej raczej w relacjach wiele do wielu niż jeden do wielu Taka konstrukcja jest bardziej skomplikowana i niepotrzebna w tym konkretnym przypadku wprowadza nadmiarowość oraz dodatkowe obciążenie operacyjne Takie błędne podejścia mogą wynikać z niezrozumienia podstawowych zasad modelowania danych oraz zaniedbania w stosowaniu dobrych praktyk projektowych takich jak normalizacja baz danych i optymalizacja struktury relacyjnej Prowadzą one do nieefektywnego przetwarzania danych i trudności w ich późniejszym zarządzaniu

Pytanie 16

W języku HTML, aby uzyskać następujący efekt formatowania, należy zapisać kod:

pogrubiony pochylony lub w górnym indeksie

A. <b>pogrubiony <i>pochylony</i></b> lub w <sub>górnym indeksie</sub>
B. <i>pogrubiony </i><b>pochylony</b> lub w <sub>górnym indeksie</sub>
C. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
D. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
Poprawna odpowiedź to: <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>. Ta odpowiedź prawidłowo wykorzystuje trzy kluczowe tagi HTML do formatowania tekstu: <b>, <i> i <sup>. Tag <b> służy do wyświetlania tekstu w pogrubionym formacie, co pozwala na podkreślenie istotnych fragmentów tekstu. Przykładem może być wyróżnienie tytułów, nagłówków lub kluczowych punktów w treści. Tag <i> jest używany do wyświetlania tekstu w formacie kursywy, co jest często używane do wyróżnienia tytułów książek, filmów, cytowań lub podkreślenia ważnych punktów. Tag <sup> jest używany do wyświetlania napisów jako tekst górnego indeksu, co jest często używane do wskazania numerów stron, przypisów, lub dla oznaczeń matematycznych lub naukowych. Pamiętaj, że prawidłowe użycie tych tagów jest kluczowe dla tworzenia jasnej, czytelnej i profesjonalnie wyglądającej strony internetowej.

Pytanie 17

1       <script>
2       const liczba = 1;
3       let gora = 10, dol = 1;
4       let podaj = parseInt(prompt("Podaj liczbę całkowitą z zakresu <1-10>"));
5       liczba = Math.random() * ( gora - dol + 1 ) + dol;
6       liczba = parseInt(liczba);
7       if (liczba == podaj) {
8           document.write("Liczba została odgadnięta");
9       } else {
10          document.write("Niestety nie tym razem");
11      }
12      </script>
Przedstawiony fragment kodu JavaScript powinien wylosować liczbę całkowitą z zakresu <1 , 10> i porównać ją z liczbą podaną przez użytkownika w oknie dialogowym. Skrypt po uruchomieniu generuje błąd, którego przyczyną jest
A. niepotrzebne użycie konwersji z funkcji prompt do liczby całkowitej.
B. przypisanie wartości do stałej liczba w piątej linii skryptu .
C. błędna składnia deklaracji zmiennych gora i dol w drugiej linii skryptu.
D. błędna składnia instrukcji warunkowej if ... else.
W tym zadaniu łatwo skupić się na szczegółach, które wyglądają podejrzanie, ale w rzeczywistości są poprawne. Wiele osób patrzy najpierw na deklarację zmiennych `gora` i `dol` w trzeciej linii, bo mamy tam dwa identyfikatory zadeklarowane w jednym wierszu: `let gora = 10, dol = 1;`. Taka składnia w JavaScript jest całkowicie poprawna i bardzo często spotykana w kodzie produkcyjnym. Standard ECMAScript dopuszcza deklarację wielu zmiennych w jednym instrukcie `let`, `const` czy `var`, oddzielonych przecinkami. To nie ma żadnego wpływu na poprawność działania skryptu, jest tylko kwestią stylu kodowania. Niektórzy lintersi zalecają jedną zmienną na linię, ale to jest wyłącznie konwencja, nie błąd.

Podobnie z instrukcją warunkową `if ... else`. Konstrukcja `if (liczba == podaj) { ... } else { ... }` jest jak najbardziej poprawna składniowo. Nawet użycie operatora `==` (zamiast bardziej restrykcyjnego `===`) nie powoduje tu błędu wykonania, najwyżej może być dyskusyjne ze względu na dobre praktyki, bo `===` nie robi konwersji typów. Jednak w tym konkretnym kodzie obie wartości są konwertowane do liczb, więc porównanie zadziała logicznie. Błąd wykonania nie ma więc źródła w warunku.

Czasem pojawia się też myśl, że problemem może być `parseInt(prompt(...))`, bo prompt zwraca tekst. Tymczasem właśnie dlatego używamy `parseInt`, żeby zamienić łańcuch znaków na liczbę całkowitą. Bez tej konwersji porównywalibyśmy liczbę z tekstem, co mogłoby dawać dziwne wyniki logiczne. Konwersja jest tu więc nie tylko „nie niepotrzebna”, ale wręcz wskazana. W nowoczesnym kodzie można by użyć np. `Number(prompt(...))` albo dodatkowo sprawdzić, czy użytkownik faktycznie podał liczbę, ale sam `parseInt` jest jak najbardziej OK.

Sednem problemu nie są więc ani deklaracje `gora` i `dol`, ani składnia `if ... else`, ani konwersja wartości z prompta, tylko próba nadpisania stałej. Z mojego doświadczenia wynika, że to bardzo typowy błąd przy nauce `const` i `let`: mylenie stałych z „zwykłymi” zmiennymi. Warto zawsze zadać sobie pytanie: czy ta wartość ma się zmieniać w czasie działania skryptu? Jeśli tak, używamy `let`. Jeśli nie, wtedy dopiero `const`. To prosta zasada, która pozwala uniknąć takich błędów logicznych i runtime'owych.

Pytanie 18

Obiekt Samochod ma metodę spalanie. Jak ją WYWOŁAĆ?

A.
Samochod()
B.
Samochod.spalanie()
C.
Samochod.kolor
D.
Samochod.spalanie_na100
Metodę obiektu wywołuje się przez nazwę obiektu, kropkę, nazwę metody i NAWIASY: Samochod.spalanie(). Nawiasy oznaczają wykonanie metody (i miejsce na ewentualne argumenty). Dlatego poprawne jest Samochod.spalanie().

Pytanie 19

Rozważ tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
B. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
C. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
D. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
Odpowiedzi, które sugerują, że kwerenda wyświetla wszystkie dane mieszkań z co najmniej 3 pokojami lub wszystkie dane oprócz adresu, są nieprawidłowe z kilku powodów. Przede wszystkim, operator '>' w kwerendzie oznacza, że zapytanie dotyczy jedynie mieszkań z większą liczbą pokoi niż 3, a więc tylko te, które mają 4 lub więcej pokoi będą brane pod uwagę. Odpowiedzi sugerujące, że zwracane są wszystkie dane mieszkań, nie uwzględniają, że kwerenda skupia się wyłącznie na kolumnach metraż i cena, co jest kluczowe w kontekście efektywności i przejrzystości zapytań. W kontekście SQL, wybór określonych kolumn jest bardzo istotny, ponieważ nie tylko zmniejsza objętość przesyłanych danych, ale również ułatwia ich analizę. Niezrozumienie tego aspektu może prowadzić do nieefektywnego korzystania z zasobów bazy danych. Ponadto, stwierdzenie, że kwerenda zwraca wszystkie dane oprócz adresu, jest mylne, ponieważ zapytanie w ogóle nie uwzględnia adresu ani innych informacji, a jedynie metraż i cenę. Tego typu nieprecyzyjne interpretacje mogą zniekształcić obraz tego, jak działa SQL i w jaki sposób można efektywnie zarządzać danymi.

Pytanie 20

W bazie MySQL zdefiniowano podczas tworzenia tabeli pole

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

Pytanie 21

W firmie zajmującej się technologiami informacyjnymi otwarta jest rekrutacja na stanowisko administratora e-sklepu. Do jego zadań należy instalacja i konfiguracja systemu zarządzania treścią, który jest przeznaczony jedynie dla sklepu internetowego, zmiana szablonów wizualnych oraz dostosowanie grafiki. Jakie umiejętności powinien posiadać nowy pracownik?

A. Photoshop, Gimp, JavaScript
B. CMS WordPress, HTML, Gimp
C. HTML, CSS, Photoshop
D. CMS PrestaShop, CSS, Gimp
Wybór odpowiedzi CMS PrestaShop, CSS, Gimp jest prawidłowy, ponieważ dokładnie odpowiada wymaganiom związanym z rolą administratora sklepu internetowego. PrestaShop to jeden z najpopularniejszych systemów zarządzania treścią (CMS) dedykowanych dla e-commerce. Jego znajomość jest kluczowa, gdyż pozwala na efektywną instalację i konfigurację platformy sklepowej, co jest jednym z głównych obowiązków administratora. CSS jest niezbędnym narzędziem do zmiany szablonów i dostosowania wyglądu sklepu zgodnie z wymaganiami klienta oraz standardami responsywnego designu, co zapewnia lepsze doświadczenia użytkowników na różnych urządzeniach. Gimp jako narzędzie graficzne umożliwia modyfikację grafik i tworzenie nowych elementów wizualnych, co jest istotne dla personalizacji sklepu. Dobrą praktyką w branży jest umiejętność integrowania graficznych oraz technologicznych komponentów w celu stworzenia atrakcyjnej i funkcjonalnej platformy handlowej, co znacząco wpływa na konwersje i wyniki sprzedaży. Ponadto, znajomość PrestaShop otwiera drzwi do wielu zasobów i społeczności, co dodatkowo wspiera rozwój zawodowy administratora.

Pytanie 22

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

A. uzyskiwanie danych z tabeli
B. usuwanie danych z tabeli
C. zmienianie danych w tabeli
D. generowanie tabeli
Przywilej SELECT w języku SQL, przyznawany przy użyciu polecenia GRANT, umożliwia użytkownikowi baz danych na wykonywanie operacji odczytu danych z określonych tabel. Oznacza to, że użytkownik może pobierać informacje zapisane w tabelach bazy danych, co jest kluczowe dla większości aplikacji korzystających z danych. Na przykład, w kontekście aplikacji analitycznych, dostęp do danych pozwala na generowanie raportów i analiz, które wspierają podejmowanie decyzji. W praktyce, przyznanie przywileju SELECT jest standardową procedurą zabezpieczającą, ponieważ pozwala na kontrolowanie, którzy użytkownicy mogą zobaczyć dane w bazie, minimalizując ryzyko nieautoryzowanego dostępu. Warto również zaznaczyć, że w bazach danych, takich jak MySQL, PostgreSQL czy Oracle, przywileje są zarządzane w sposób hierarchiczny, co oznacza, że użytkownik z przywilejem SELECT może dodatkowo dziedziczyć inne przywileje, co zwiększa elastyczność zarządzania dostępem.

Pytanie 23

Cookie stworzony za pomocą polecenia PHP

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po dobie od momentu jego utworzenia
B. będzie przechowywany na serwerze przez 24 godziny
C. wygaśnie po jednej godzinie od momentu jego utworzenia
D. będzie przechowywany na serwerze przez jedną godzinę
Odpowiedź wygaśnie po jednej dobie od jego utworzenia jest prawidłowa, ponieważ w funkcji setcookie() parametr time() + (3600 * 24) ustala czas wygaśnięcia ciasteczka na 24 godziny, licząc od momentu jego utworzenia. W praktyce oznacza to, że ciasteczko będzie dostępne dla przeglądarki przez całą dobę, co jest przydatne w wielu aplikacjach webowych. Ciasteczka są używane do przechowywania informacji o sesji użytkownika, preferencjach oraz stanach aplikacji. Przykładem zastosowania może być pamiętanie, że użytkownik jest zalogowany, co ułatwia korzystanie z serwisu. Zgodnie z najlepszymi praktykami, zaleca się ustawianie odpowiednich parametrów dla ciasteczek, takich jak HttpOnly i Secure, a także ich właściwe zarządzanie, aby nie narażać danych użytkowników na niebezpieczeństwo. Ponadto, dobrze jest regularnie przeglądać i aktualizować politykę dotycząca ciasteczek, aby spełniać wymogi przepisów o ochronie danych osobowych, takich jak RODO.

Pytanie 24

W języku HTML kolor biały można przedstawić przy użyciu wartości

A. rgb(255,255,255)
B. #000000
C. #255255
D. rgb(FFFF,FF)
Kolory w HTML można zapisać na kilka sposobów, ale nie każda opcja jest dobra. Zobaczmy błędne odpowiedzi. Pierwsza, #255255, jest zła, bo w systemie szesnastkowym (hex) kolory powinno się zapisywać w formacie #RRGGBB. Tutaj brakuje cyfr, więc to jest błędny zapis. Druga opcja, #000000, to kolor czarny. Wszędzie mamy 0, czyli brak światła w trzech kanałach RGB, co daje nam czarny, a nie biały. Ostatnia odpowiedź, rgb(FFFF,FF), też jest niepoprawna, ponieważ w rgb muszą być liczby całkowite od 0 do 255. Używanie szesnastkowych wartości tutaj to zły pomysł. Generalnie, zrozumienie jak poprawnie zapisywać kolory w HTML jest kluczowe, jeśli chcesz robić fajne i funkcjonalne projekty w sieci.

Pytanie 25

Aby zmienić wartość atrybutu elementu opisanego w CSS przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
B. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
C. document.getElementById(id).innerHTML = <nowa wartość>
D. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
Odpowiedzi, które nie zawierają poprawnego odniesienia do właściwości style, wskazują na istotne nieporozumienia dotyczące manipulacji elementami DOM w JavaScript. Użycie document.getElementById(id).innerHTML = <nowa wartość>; nie jest odpowiednie do zmiany elementów stylu, ponieważ innerHTML służy do modyfikacji zawartości HTML wewnątrz elementu, a nie jego stylów. Zmiana zawartości może prowadzić do nadpisania istniejących elementów i wprowadzenia niezamierzonych skutków, takich jak utrata zdarzeń przypisanych do tych elementów. Kolejny błąd tkwi w użyciu document.getElementById(id).<nazwa właściwości> = <nowa wartość>; gdzie <nazwa właściwości> może odnosić się do atrybutów DOM, ale nie do właściwości stylu CSS. Na przykład, ustawienie document.getElementById(id).className = 'newClass'; zmieni klasę CSS elementu, ale nie bezpośrednio jego styl. Ostatnia propozycja, document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>; jest również myląca, ponieważ nie odnosi się do modyfikacji stylów, lecz do manipulacji atrybutami HTML, co może prowadzić do nieprawidłowego działania strony. Zrozumienie zasadniczej różnicy między manipulowaniem treścią a stylem, a także umiejętność właściwego korzystania z DOM, są kluczowe dla skutecznego programowania w JavaScript.

Pytanie 26

Sprawdzanie poprawności wypełnienia formularza, które ma przebiegać po stronie klienta, powinno być wykonane w języku

A. PHP
B. CSS
C. Ruby on Rails
D. JavaScript
Zastosowanie CSS do weryfikacji formularzy jest nieodpowiednie, ponieważ CSS jest językiem stylizacji, a nie programowania. Jego głównym zadaniem jest określenie wyglądu i układu elementów na stronie, a nie logika operacji lub przetwarzanie danych. CSS nie ma możliwości interakcji z danymi użytkownika ani przeprowadzania jakichkolwiek obliczeń, co czyni go całkowicie nieadekwatnym narzędziem do walidacji formularzy. Z kolei PHP jest językiem skryptowym działającym po stronie serwera, co oznacza, że wszelkie operacje związane z weryfikacją danych musiałyby odbywać się po przesłaniu formularza, co prowadzi do złego doświadczenia użytkownika. Użytkownik musiałby czekać na odpowiedź serwera, co często wiąże się z opóźnieniami i frustracją. Ruby on Rails, jako framework do rozwijania aplikacji webowych, również nie jest odpowiednim rozwiązaniem do realizacji walidacji po stronie klienta. Jego zastosowanie koncentruje się głównie na logice po stronie serwera i tworzeniu aplikacji, a nie na interakcji użytkownika z interfejsem. Tym samym zarówno PHP, jak i Ruby on Rails nie są w stanie efektywnie zrealizować wymogu weryfikacji formularzy przed ich przesłaniem.

Pytanie 27

W sekcji nagłówka dokumentu HTML umieszczono

<title>Strona miłośników psów</title>
Zawarty tekst będzie widoczny
A. w polu adresowym, za wprowadzonym adresem URL
B. w treści witryny, w pierwszym ukazanym nagłówku
C. na pasku tytułu w przeglądarce
D. w treści witryny, na banerze witryny
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 28

W każdej iteracji wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik przesuwa się o jeden - aż do ostatniego elementu. Opis ten pasuje do instrukcji:

A.
switch
B.
if
C.
next
D.
foreach
Pozostałe instrukcje nie iterują po tablicy w opisany sposób. if to instrukcja warunkowa - wykonuje kod tylko, gdy warunek jest spełniony, i nie powtarza się w pętli. switch wybiera jedną z gałęzi w zależności od wartości wyrażenia, również bez iteracji po kolejnych elementach. next faktycznie przesuwa wewnętrzny wskaźnik tablicy o jeden, ale samodzielnie nie tworzy pętli przechodzącej przez całość - służy do ręcznego poruszania się po tablicy. Automatyczne przejście przez wszystkie elementy realizuje foreach, dlatego to ona jest poprawna.

Pytanie 29

Na ilustracji pokazano strukturę bloków witryny internetowej. Który z elementów stylu strony jest zgodny z podanym układem? Dla uproszczenia pominięto cechy koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy { width: 30%; }#drugi { width: 70%; }#trzeci { width: 70%; }#czwarty { width: 100%; }
B. #pierwszy{float:left; width:30%; }#drugi {clear:both; width:70%; }#trzeci {clear:both; width:70%; }#czwarty {float:left; width:100%; }
C. #pierwszy {float:left; width:30%;}#drugi {float:left; width:70%;}#trzeci {float:left; width:70%;}#czwarty {clear:both; }
D. #pierwszy {float:left; width:30%; }#drugi {clear:both; width:70%; }#trzeci {float:left; width:70%; }#czwarty {clear:both; }
Wybór błędnych odpowiedzi wynika z nieprawidłowego zastosowania właściwości CSS float i clear oraz niewłaściwego przydzielania szerokości elementów. Pierwsza odpowiedź błędnie wykorzystuje clear:both dla drugiego bloku, co spowodowałoby, że zawsze zaczynałby on nowy wiersz, niezgodnie z przedstawionym układem. Ponadto szerokości bloków zostały nieoptymalnie przypisane. Trzecia odpowiedź nie wykorzystuje float, co oznacza, że elementy będą się ustawiały w porządku blokowym, jeden pod drugim, zamiast w jednym rzędzie. Takie podejście nie pasuje do przedstawionego układu, gdzie pierwszy blok jest obok drugiego i trzeciego. Czwarta odpowiedź błędnie stosuje clear dla trzeciego bloku oraz float dla czwartego bloku, co również zaburzyłoby układ bloków, ponieważ clear:both sprawia, że element zaczyna nowy wiersz. Float w tej sytuacji nie jest potrzebny dla czwartego bloku, ponieważ powinien on zajmować całą szerokość. Typowym błędem w rozumowaniu może być niezrozumienie, jak właściwości float i clear wpływają na przepływ dokumentu oraz jak szerokości procentowe działają w kontekście układu strony. Zrozumienie tych zasad jest kluczowe dla tworzenia efektywnych i estetycznych układów stron.

Pytanie 30

Która wbudowana funkcja agregująca SQL oblicza średnią wartość w kolumnie?

A.
AVG
B.
MIN
C.
COUNT
D.
SUM
Funkcja agregująca AVG (od average) oblicza średnią arytmetyczną wartości w danej kolumnie, np. SELECT AVG(cena) FROM produkty; zwróci przeciętną cenę. Jak inne funkcje agregujące, działa na grupie wierszy i często łączy się ją z GROUP BY. Pomija wartości NULL. Dlatego średnią wartość w kolumnie oblicza AVG.

Pytanie 31

Zademonstrowano efekt stylizacji CSS oraz kod HTML. W jaki sposób należy ustawić styl, aby uzyskać takie formatowanie?

Ilustracja do pytania
A. #first-line {font-size: 200%; color:brown;}
B. p.first-line {font-size: 200%; color:brown;}
C. p::first-line {font-size: 200%; color:brown;}
D. .first-line {font-size: 200%; color:brown;}
Pozostałe odpowiedzi zawierają błędy koncepcyjne dotyczące zastosowania selektorów CSS. W przypadku odpowiedzi .first-line {font-size: 200%; color:brown;} zastosowano selektor klasy, który jest stosowany do elementów posiadających atrybut class. Jednak to nie dotyczy pierwszej linii tekstu, a całego elementu z przypisaną klasą. Z kolei #first-line {font-size: 200%; color:brown;} używa selektora identyfikatora, który jest unikalny dla całego dokumentu i odnosi się do konkretnego elementu z przypisanym id. Nie jest jednak przeznaczony do formatowania pierwszej linii tekstu. Odpowiedź p.first-line {font-size: 200%; color:brown;} błędnie łączy selektor elementu z klasą, sugerując, że wszystkie elementy <p> z klasą first-line będą tak sformatowane. Aby poprawnie sformatować pierwszą linię w paragrafie, należy użyć selektora pseudo-elementu ::first-line. Powszechnym błędem w rozumieniu tych koncepcji jest mylenie pseudo-elementów z klasami czy identyfikatorami, co prowadzi do błędnych założeń w stylizacji CSS. Zrozumienie różnic między selektorami i ich odpowiednie zastosowanie jest kluczowe w efektywnym projektowaniu stylów CSS, zgodnym z najlepszymi praktykami w branży.

Pytanie 32

W formularzu wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w sposób następujący:

var x = parseInt(a);
Jakiego typu będzie zmienna x?
A. napisowego
B. Nan
C. zmiennoprzecinkowego
D. liczbowego, całkowitego
Zmienna x, przypisana w wyniku zastosowania funkcji parseInt na zmiennej a, będzie typu liczbowego, całkowitego. Funkcja parseInt jest używana w JavaScript do konwersji wartości na liczbę całkowitą. Jeśli a jest wartością wprowadzoną przez użytkownika w polu input o typie number, to parseInt(a) zwróci wartość liczbową, eliminując wszelkie znaki niebędące cyframi. Wartością return będzie liczba całkowita, ponieważ parseInt zwraca tylko całkowite części liczb. Wartością zwróconą będzie NaN, jeśli a nie zawiera żadnych cyfr, co w tym kontekście nie ma miejsca, zakładając, że użytkownik wprowadził poprawne dane. Przykład: jeśli użytkownik wprowadzi '42.5', to parseInt('42.5') zwróci 42, eliminując część dziesiętną. Warto zaznaczyć, że parseInt może przyjąć drugi argument, który określa system liczbowy (bazę), w jakim liczba ma być interpretowana, co jest zgodne z wytycznymi ECMAScript. Poznanie możliwości i ograniczeń funkcji parseInt jest kluczowe w pracy z danymi liczbowymi w JavaScript, szczególnie w kontekście walidacji danych wejściowych.

Pytanie 33

Aby w języku HTML uzyskać formatowanie paragrafu przedstawione w ramce, należy zastosować kod

Ilustracja do pytania
A. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
B. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
C. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
D. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
Poprawnie wybrałeś kod z poprawnie zagnieżdżonymi i domkniętymi znacznikami: <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>. To dokładnie odpowiada temu, co widać na podglądzie: zwykły akapit, w nim jedno słowo podświetlone na żółto oraz inne wyróżnione kursywą. Znacznik <p> tworzy paragraf – podstawowy blok tekstu w HTML. W środku używasz elementów liniowych (inline): <mark> do zaznaczenia fragmentu tekstu jak zakreślaczem oraz <em> do zaznaczenia treści istotnej znaczeniowo, co domyślnie jest renderowane jako kursywa. Według specyfikacji HTML5 <mark> służy do semantycznego wyróżnienia tekstu związanego z kontekstem, np. wynik wyszukiwania na stronie czy aktualnie ważna informacja. <em> natomiast podkreśla akcent logiczny w zdaniu, a nie tylko ozdobne pochylenie, co jest dobrą praktyką dostępnościową. Ważne jest też poprawne zagnieżdżanie: najpierw otwierasz <mark>, potem go zamykasz </mark>, dopiero później otwierasz <em> i zamykasz </em>. Żaden z tych znaczników nie nachodzi na siebie w sposób krzyżowy. Tego pilnują walidatory W3C i warto się do tego przyzwyczaić od początku. W codziennej pracy taki kod możesz wykorzystać np. w artykułach, dokumentacji technicznej, materiałach szkoleniowych, gdzie chcesz: zakreślić słowo kluczowe (<mark>) i jednocześnie podkreślić termin ważny dla autora lub kontekstu (<em>). Moim zdaniem lepiej stosować <em> zamiast <i>, bo <em> niesie znaczenie semantyczne i czytniki ekranu potrafią je zinterpretować, co poprawia dostępność strony.

Pytanie 34

Kod w języku PHP przedstawia się następująco (patrz ramka): Zakładając, że zmienne a, b, c mają wartości numeryczne, wynik warunku będzie skutkował wypisaniem liczby:

if ($a > $b && $a > $c)
    echo $a;
else if ($b > $c)
    echo $b;
else
    echo $c;
A. nieparzystej.
B. najmniejszej.
C. największej.
D. parzystej.
Kod PHP używa instrukcji warunkowych if aby porównać wartości trzech zmiennych a b i c. Pierwsza instrukcja if sprawdza czy a jest większe od b i c. Jeśli tak to echo a wyświetla wartość a jako największą. Jeśli ten warunek nie jest spełniony sprawdzamy czy b jest większe od c za pomocą else if. Jeśli b jest rzeczywiście większe to echo b wyświetla wartość b. W przeciwnym razie instrukcja else zakłada że c jest największe i wyświetla echo c. To podejście jest powszechnie stosowane w programowaniu i opiera się na dobrej praktyce stopniowego eliminowania przypadków poprzez logiczne porównania. Znajomość takich konstrukcji jest kluczowa w codziennej pracy programisty umożliwiając tworzenie efektywnego i czytelnego kodu. Tego rodzaju struktura logiczna należy do podstawowych elementów algorytmiki w programowaniu proceduralnym i obiektowym. Rozumienie jak struktury kontrolne wpływają na przepływ programu jest podstawą efektywnego kodowania oraz rozwiązywania problemów poprzez algorytmy.

Pytanie 35

Jak można zmodyfikować nałożone na siebie fragmenty obrazu, nie zmieniając innych elementów?

A. Kanał przezroczystości
B. Warstwy
C. Przycinanie
D. Wykres histogramu
Warstwy są kluczowym elementem w edycji grafiki komputerowej, umożliwiając precyzyjne zarządzanie różnymi elementami obrazu. Dzięki zastosowaniu warstw, użytkownik może na przykład oddzielić tło od obiektów na pierwszym planie, co pozwala na edytowanie jednego z tych elementów bez wpływu na resztę kompozycji. Zastosowanie warstw jest szczególnie przydatne w programach graficznych, takich jak Adobe Photoshop, GIMP czy CorelDRAW, gdzie umożliwia łatwą manipulację oraz efektywną organizację projektu. Dzięki warstwom można również stosować różne efekty i style, takie jak cienie, przezroczystości czy gradienty, co pozwala na stworzenie bardziej złożonych i interesujących grafik. Warto również zauważyć, że korzystanie z warstw jest zgodne z najlepszymi praktykami w branży, jako że sprzyja to lepszej organizacji pracy oraz ułatwia wprowadzanie zmian w projekcie. Uczy to również umiejętności przydatnych w pracy zespołowej, gdzie różne osoby mogą pracować nad różnymi warstwami równocześnie, co zwiększa efektywność i kreatywność procesu twórczego.

Pytanie 36

W formularzu HTML wykorzystano znacznik <input>. Wyświetlane pole będzie przeznaczone do wprowadzania maksymalnie

Ilustracja do pytania
A. 20 znaków, które nie są widoczne w polu tekstowym
B. 20 znaków, które są widoczne podczas wpisywania
C. 30 znaków, które nie są widoczne w polu tekstowym
D. 30 znaków, które są widoczne podczas wpisywania
Zrozumienie działania atrybutów size i maxlength w znaczniku <input> jest kluczowe dla prawidłowego projektowania formularzy HTML. Atrybut size określa, ile znaków będzie widocznych w polu tekstowym, jednak to nie ogranicza faktycznej liczby znaków, które można wprowadzić. Działa to bardziej jako wskazówka dla użytkownika, jak szerokie może być pole, aby pomieścić określoną liczbę widocznych znaków. Dlatego odpowiedź, że size determinuje maksymalną ilość wprowadzanych znaków, jest błędna. Natomiast atrybut maxlength rzeczywiście ogranicza liczbę znaków, które można wprowadzić. Dzięki temu atrybutowi możemy kontrolować długość danych wejściowych, co jest często wykorzystywane w aplikacjach wymagających wprowadzania haseł lub innych danych tekstowych o określonej długości. W przypadku inputów typu password, wprowadzone znaki są maskowane, co oznacza, że użytkownik nie widzi tego, co wpisuje, a jego odpowiednik wprowadzenia tekstu typu tekstowego nie działa w ten sam sposób. Odpowiedzi zakładające, że dane są widoczne lub że size wpływa na długość wprowadzanych znaków, wynikają z niepełnego zrozumienia działania poszczególnych atrybutów HTML i ich roli w projektowaniu interfejsów użytkownika. Dobre praktyki projektowania formularzy wymagają jasnego rozróżnienia tych dwóch funkcji, co znacznie zwiększa użyteczność i dostępność aplikacji webowych oraz ułatwia użytkownikom korzystanie z formularzy zgodnie z ich przeznaczeniem.

Pytanie 37

Który atrybut kolumny zapewnia automatyczne nadawanie kolejnych, unikalnych wartości (np. dla klucza głównego)?

A.
NOT NULL
B.
UNIQUE
C.
AUTO_INCREMENT
D.
DEFAULT
Atrybut AUTO_INCREMENT (w MySQL) sprawia, że przy dodaniu nowego wiersza baza sama wstawia do kolumny kolejną, większą o jeden liczbę. Stosuje się go najczęściej dla numerycznego klucza głównego (id), by nie trzeba było ręcznie pilnować unikalności identyfikatorów. Dlatego automatyczne nadawanie kolejnych wartości zapewnia AUTO_INCREMENT.

Pytanie 38

Wskaż stwierdzenie, które jest prawdziwe dla następującej definicji stylu:

<style type="text/css">
<!--
  p {color: blue; font-size: 14pt; font-style: italic}
  a { font-size: 16pt; text-transform: lowercase; }
  td.niebieski { color: blue }
  td.czerwony { color: red }
-->
</style>
A. Odnośnik będzie pisany czcionką 14 punktów.
B. Zdefiniowano dwie klasy.
C. Jest to styl lokalny.
D. Akapit będzie transponowany na małe litery.
Gratulacje, dobrze odpowiedziałeś. W załączonym kodzie CSS zdefiniowano dwie klasy, a mianowicie 'niebieski' i 'czerwony'. Klasy te są przypisane do elementów TD, co oznacza, że komórki tabeli mogą mieć kolor niebieski lub czerwony w zależności od przypisanej klasy. Klasy CSS są jednym z podstawowych sposobów formatowania elementów na stronie internetowej, które pozwalają na stylizowanie grup elementów na podstawie wspólnego identyfikatora klasy. Zamiast formatować każdy element HTML osobno, możemy jednorazowo zdefiniować styl dla klasy, a następnie przypisać tę klasę do dowolnej liczby elementów. To jest zgodne z dobrymi praktykami programowania DRY (Don't Repeat Yourself), co zwiększa czytelność i utrzymanie kodu. W kontekście pytania, każda komórka tabeli przypisana do klasy 'niebieski' lub 'czerwony' będzie miała odpowiednio niebieski lub czerwony kolor.

Pytanie 39

Która definicja CSS wskazuje na formatowanie nagłówka h1: tekst z przekreśleniem, z odstępami między słowami wynoszącymi 10 px oraz w kolorze czerwonym?

Ilustracja do pytania
A. A
B. B
C. D
D. C
Odpowiedź A jest w porządku, bo dobrze odpowiada na to, co pytanie wymaga. Deklaracja 'text-decoration: overline;' dodaje linię nad tekstem, a nie pod nim. Właściwie to mega ważne, bo można łatwo pomylić nadkreślenie z podkreśleniem. Plus, 'word-spacing: 10px;' ustawia fajny odstęp między wyrazami, co sprawia, że nagłówki wyglądają lepiej i są bardziej czytelne. A jak ustawiłeś kolor tekstu na 'red', to wszystko jest super zgodne z tym, co miało być w zadaniu. Używanie takich definicji CSS to standard w tworzeniu stron, bo dobrze stylizowane nagłówki pomagają w organizacji treści i poprawiają wrażenia użytkowników. Pamiętaj, że sensowne i dobrze zdefiniowane style CSS to nie tylko wygoda, ale też ułatwiają późniejsze poprawki dla innych programistów.

Pytanie 40

Czym jest odpowiednik encji w relacyjnej bazie danych?

A. tabela
B. kolumna
C. wiersz
D. atrybut
Pozostałe pojęcia to mniejsze elementy. Wiersz (krotka) to pojedynczy egzemplarz encji, a nie cała encja. Kolumna i atrybut opisują pojedynczą cechę. Całej encji odpowiada tabela.