Arkusz INF.03 : 2026 - styczeń - zad. 12 (js)
Oznaczenie: INF.03-12-26.01-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Numer, którym został podpisany arkusz egzaminacyjny (PESEL lub w przypadku jego braku numer paszportu) jest w zadaniu nazywany numerem zdającego.
Wykonaj aplikację internetową studia tatuażu, wykorzystując edytor grafiki rastrowej, pakiet XAMPP oraz edytor zaznaczający składnię.
Aby wykonać zadanie, należy zalogować się na konto Egzamin bez hasła. Na pulpicie znajduje się archiwum zip o nazwie PlikiSt202612 zabezpieczone hasłem <Studio&T@tu>
Archiwum należy rozpakować.
Na pulpicie konta Egzamin należy utworzyć folder. Jako nazwy folderu należy użyć numeru zdającego. Wszystkie wyniki należy zapisać w tym folderze.
Operacje na bazie danych
Do wykonania operacji na bazie należy wykorzystać przedstawione na Ilustracji 1 tabele.
Ilustracja 1. Baza danych

Za pomocą narzędzia phpMyAdmin wykonaj następujące operacje na bazie danych:
- Utwórz bazę danych o nazwie
studiotatuazu, z zestawem polskich znaków (np.utf8_polish_ci) - Z rozpakowanego archiwum zaimportuj tabele z pliku
studiotatuazu.sqldo utworzonej bazy - Wykonaj zrzut ekranu po imporcie. Zapisz zrzut w formacie
PNGpod nazwąimport. Nie kadruj zrzutu. Powinien on obejmować cały ekran monitora, z widocznym paskiem zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel - Wykonaj
zapytania SQLdziałające na baziestudiotatuazu. Zapytania zapisz w plikukwerendy.txt. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formaciePNGi nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań- Zapytanie 1: wybierające jedynie
wzóricenętatuaży, dla tatuaży w kolorzeczarnym, których cena jest większa niż100 zł, posortowane wedługcenymalejąco - Zapytanie 2: wybierające
nazwękoloru tatuażu i zliczające ile jest tatuażydanego koloru. Należy zastosowaćgrupowanie - Zapytanie 3: wybierające jedynie
wzórtatuażu i odpowiadającą munazwę styludla tatuaży w kolorzezielonym. Należy posłużyć sięrelacją - Zapytanie 4: aktualizujące cenę tatuażu. Cena wzrasta o
10%dla tatuaży w kolorzeczerwonym
- Zapytanie 1: wybierające jedynie
Witryna internetowa
Ilustracja 2. Wygląd witryny internetowej w przeglądarce Chrome, z logo w lewym górnym rogu

Cechy grafiki logo.png (Ilustracja 2, lewy górny róg):
- Skadrowana do krawędzi kształtu ptaka i przeskalowana z zachowaniem proporcji do wysokości
300 px - W prawym dolnym rogu należy dodać litery „S” oraz „T”, litera „T” jest przesunięta w dół względem litery „S”. Litery są zapisane dowolną dostępną czcionką ozdobną. Należy wykonać zrzut ekranu z edytora grafiki z ustawioną widoczną nazwą czcionki i zapisać pod nazwą
czcionka.jpg. Spis dostępnych w systemie czcionek można uzyskać np. wPanelu Sterowania->Czcionki. NaIlustracji 2zastosowano czcionkęFreestyle Scriptw rozmiarze100.
Cechy witryny:
- Składa się ze strony
index.html - Zapisana w języku
HTML5 - Zadeklarowany
polskijęzyk zawartości witryny - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Tatuaże”
- Arkusz stylów w pliku o nazwie
styl.cssprawidłowo połączony z kodem strony - Podział strony na bloki zrealizowany za pomocą
semantycznych znacznikówbloków językaHTML5tak, aby po uruchomieniu w przeglądarce układ bloków na stronie był zgodny zIlustracją 3
Ilustracja 3. Układ bloków

- Zawartość bloku nagłówkowego 1: obraz
logo.pngz tekstem alternatywnym „salon” - Zawartość bloku nagłówkowego 2: nagłówek
pierwszegostopnia o treści „Studio Tatuażu” - Zawartość bloku sekcji:
- Nagłówek
drugiegostopnia o treści „Galeria” - Obraz
smok.pngz tekstem alternatywnym „smok.png”, z przypisaną klasąminiatury - Obraz
koliber.pngz tekstem alternatywnym „koliber.png”, z przypisaną klasąminiatury
- Nagłówek
- Zawartość bloku bocznego:
- Nagłówek
trzeciegostopnia o treści „Dodaj wzór” - Etykieta o treści „Wzór:”, powiązana z polem edycyjnym do podania
nazwy pliku - Poniżej pole edycyjne do wyboru pliku w oknie dialogowym, przyjmujące jedynie
obrazyw formaciePNG - Poniżej etykieta o treści „Kolor:”, powiązana z listą rozwijaną
- Poniżej lista rozwijana z opcjami: „Czarny”, „Czerwony”, „Zielony”, „Niebieski”
- Poniżej etykieta o treści „Cena:”, powiązana z polem edycyjnym do wpisania ceny
- Poniżej pole edycyjne typu
liczbowegoprzeznaczone do wpisywania ceny - Poniżej przycisk o treści „Dodaj Wzór”. Wciśnięcie przycisku powoduje wywołanie skryptu
- Nagłówek
- Zawartość stopki: paragraf o treści „Autor strony: ”, dalej wstawiony
numer zdającego
Styl CSS witryny internetowej
Styl CSS zdefiniowany jest w całości w zewnętrznym pliku o nazwie styl.css.
Wytyczne dotyczące czcionki:
- Styl CSS korzysta z kroju czcionki
Dancing Scriptznajdującej się w folderzeczcionki. Czcionkę należy dodać do projektu i zdefiniować jej stosowanie dla warianturegular(normal). W plikustyl.cssnależy zapisać reguły dla czcionki. Przykład znajduje się w plikustylesheet.css
Cechy formatowania CSS, działające na stronie:
- Dla selektora ciała strony: krój czcionki
Dancing Script, w przypadku brakuserif, rozmiar czcionki120%, wyrównanie tekstudo środka - Dla bloków nagłówkowego 1 i bocznego: kolor tła
RosyBrown, szerokość30% - Dodatkowo dla bloku bocznego: wyrównanie tekstu
do lewej strony, wysokość350 px - Dla bloku nagłówkowego 2: kolor tła
RosyBrown, szerokość70%, wysokość100 px - Dla bloku sekcji: szerokość
70%, wysokość550 px, paski przewijaniazawsze widoczne - Dla selektora etykiety: wysokość linii
50 px - Dla klasy miniatury przypisanej do obrazów generowanych skryptem: szerokość
150 px - W momencie, gdy kursor znajdzie się na elemencie z przypisaną klasą miniatury, kolor jego tła zmienia się na
Bisque, a szerokość na200 px. Zmiana szerokości ma zdefiniowane przejście z czasem trwania1 s(Ilustracja 4)
- UWAGA!
- Styl CSS ciała strony i etykiety należy zdefiniować wyłącznie przy pomocy selektora tych znaczników. Jest to uwarunkowane projektem późniejszej rozbudowy witryny.
Ilustracja 4. Działanie pseudoklasy

Ilustracja 5. Komunikat

Skrypt
W Tabeli 1 zamieszczono wybrane pola i metody modelu DOM w języku JavaScript.
Wymagania dotyczące skryptu:
- Wykonywany po stronie klienta, po kliknięciu przycisku
- Należy stosować znaczące nazewnictwo zmiennych i funkcji w języku polskim lub angielskim
- Pobiera dane z kontrolek
- Ustala nazwę pliku (bez ścieżki dostępu) na podstawie wartości przekazanej z pola do wyboru pliku
- Wyświetla komunikat: "Wzór: <nazwaPliku>, kolor <kolor> w cenie <cena> zł" gdzie pola <> pobrano z kontrolek oraz
nazwa plikunie zawieraścieżki dostępu(Ilustracja 5) - Tworzy element obrazu i dodaje go do bloku sekcji (
Ilustracja 6):- Źródłem i tekstem alternatywnym jest
nazwa pliku - Obraz ma przypisaną klasę
miniatury
- Źródłem i tekstem alternatywnym jest
Ilustracja 6. Wygląd bloku sekcji po dodanych kilku plikach

|
File Input Type <input> elements with type="file" let the user choose one or more files from their device storage. Once chosen, the files can be uploaded to a server using form submission, or manipulated using JavaScript code and the File API. Example: <input type=… accept="file_extension |audio/* |video/* |image/png| image/jpeg |media_type"> JS Value property of input file: C:\fakepath\fileName.png |
Tabela 1. Wybrane pola i metody modelu DOM języka JavaScript
| Wyszukiwanie elementów |
|---|
| document.getElementById(Id) |
| document.getElementByTagName(TagName) |
| document.getElementsByClassName(ClassName) |
| document.getElementsByName(ElementName) |
| document.querySelector(CSSselector) |
| document.querySelectorAll(CSSselector) |
| Zmiana elementów |
|---|
| element.innerHTML = "nowa zawartość" |
| element.attribute_name = "nowa wartość" |
| element.setAttribute(atrybut,wartość) |
| element.style.property_name = "nowa wartość" |
| Operacje na elementach dokumentu |
|---|
| document.createElement(element) |
| document.removeChild(element) |
| document.appendChild(element) |
| document.replaceChild(element) |
| document.write(text) |
| Wybrane właściwości obiektu style |
|---|
| backgroundColor |
| color |
| fontSize |
| fontStyle = "normal | italic | oblique | initial | inherit" |
| fontWeight = "normal | lighter | bold | bolder | value | initial | inherit" |
| listStyleType = "circle| decimal | disc | none | square | initial..." |
| Wybrane zdarzenia HTML |
|---|
| Zdarzenia myszy: onclick, ondblclick, onmouseover, onmouseout |
| Zdarzenia klawiatury: onkeydown, onkeypress, onkeyup |
| Zdarzenia obiektów: onload, onresize, onfocusin, onfocusout |
| Elementy formularzy |
|---|
| Ważniejsze typy pola input: button, checkbox, number, password, radio, text, range |
| Inne elementy: select, textarea |
| Metody i pola obiektu string (JS) |
|---|
| length |
| indexOf(text) |
| search(text) |
| substr(startIndex, endIndex) |
| replace(textToReplace, newText) |
| toUpperCase() |
| toLowerCase() |
Tabela 2. Semantic Elements in HTML
| Tag | Description |
|---|---|
| <article> | Defines independent, self-contained content |
| <aside> | Defines content aside from the page content |
| <details> | Defines additional details that the user can view or hide |
| <figcaption> | Defines a caption for a <figure> element |
| <figure> | Specifies self-contained content, like illustrations, diagrams, photos, code listings, etc. |
| <footer> | Defines a footer for a document or section |
| <header> | Specifies a header for a document or section |
| <main> | Specifies the main content of a document |
| <mark> | Defines marked/highlighted text |
| <nav> | Defines navigation links |
| <section> | Defines a section in a document |
| <summary> | Defines a visible heading for a <details> element |
| <time> | Defines a date/time |
- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowana była poprawność działania witryny. Umieść go w folderze z numerem zdającego.
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego, powinny znajdować się pliki: angel.png, celtic.png, czcionka.jpg, DancingScript-Regular.woff, DancingScript-Regular.woff2, delfin.png, import.png, index.html, koliber.png, kw1.png, kw2.png, kw3.png, kw4.png, kwerendy.txt, kwiat.png, kwiaty.png, logo.png, przeglądarka.txt, rozeta.png, smok.png, styl.css, tygrys.png, waz.png, ewentualnie inne przygotowane pliki. Po nagraniu płyty sprawdź poprawność jej odczytu. Opisz płytę numerem zdającego i pozostaw zapakowaną w pudełku na stanowisku wraz z arkuszem egzaminacyjnym.
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
Ocenie podlegać będzie 5 rezultatów:
- operacje na bazie danych
- zawartość witryny internetowej
- działanie witryny internetowej
- styl CSS witryny internetowej
- skrypt.

Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!
Kody zniżkowe - kup taniej
Mamy fajne rabaty dla widzów naszego kanału YouTube - otóż można zamówić dwa tomy książek "Wprowadzenie do bezpieczeństwa IT" (15% taniej) oraz książkę "Twierdza Linux. Bezpieczeństwo dla dociekliwych" (10% taniej) - użyjcie odpowiedniego kodu, wpisując go w specjalne pole w koszyku:
KOD: pasja
Dostajesz rabat -15%
KOD: pasja
Dostajesz rabat -15%
KOD: pasja-linux
Dostajesz rabat -10%
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Proszę, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!