Arkusz INF.03 : 2024 - czerwiec - zad. 12 (js)
Oznaczenie: INF.03-12-24.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Folder z rezultatami pracy oraz płytę należy opisać numerem zdającego, którym został podpisany arkusz, czyli numerem PESEL lub w przypadku jego braku numerem paszportu. Dalej w zadaniu numer ten jest nazwany numerem zdającego.
Wykonaj aplikację nakładającą filtry na obrazki, wykorzystując pakiet XAMPP, edytor grafiki rastrowej 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 PlikiCz202412 zabezpieczone hasłem: #TransfoRm@cje
Archiwum należy rozpakować.
Na pulpicie konta Egzamin należy utworzyć folder. Jako nazwy folderu należy użyć numeru zdającego. Rozpakowane pliki należy umieścić w tym folderze. Po skończonej pracy wszystkie wyniki należy zapisać w tym folderze.
Operacje na bazie danych
Baza danych jest zgodna ze strukturą przedstawioną na Obrazie 1. Pole staz oznacza liczbę lat stażu pracy.
Obraz 1. Baza danych

Za pomocą narzędzia phpMyAdmin wykonaj operacje na bazie danych:
- Utwórz bazę danych o nazwie
baza, z zestawem polskich znaków (np.utf8_unicode_ci) - Do bazy zaimportuj tabele z pliku
baza.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie
PNGi nazwijimport. 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 SQL działające na bazie
baza. Zapytania zapisz w plikukwerendy.txt. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacieJPEGi nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.- Zapytanie 1: wybierające jedynie
imięipensjępracowników zestażemmniejszym niż5 lat - Zapytanie 2: liczące
średnią pensjępracowników ze względu narodzaj stanowiska. Zapytanie pokazujeśrednią pensjęna danym stanowisku inazwę stanowiska. Należy posłużyć sięrelacją - Zapytanie 3: wybierające jedynie
imię,nazwiskoipensjępracownika, którego pensja jestnajwyższa. Zapytanie musi mieć charakter uniwersalny, a najwyższa pensja powinna zostać wyliczona np. przez zagnieżdżone zapytanie (podzapytanie) - Zapytanie 4: aktualizujące
stażwszystkich pracowników, nowa wartość stażu jestwyższaojeden rok
- Zapytanie 1: wybierające jedynie
Witryna internetowa
Obraz 2. Witryna internetowa. Stan początkowy

Cechy grafiki:
- Grafikę
pszczola.jpgnależy przeskalować z zachowaniem proporcji do szerokości500 px.
Cechy witryny:
- Składa się ze strony o nazwie
obrazki.htmlzapisanej w językuHTML5 - Ustawiony język zawartości strony na
polski - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Efekty obrazu”
- Arkusz stylów w pliku o nazwie
styl.cssprawidłowo połączony z kodem strony - Podział strony na
baner, poniżejcztery bloki, na dolestopka. Podział zrealizowany wyłącznie za pomocąsemantycznych znacznikówsekcji językaHTML5tak, aby po uruchomieniu w przeglądarce wygląd układu bloków był zgodny zObrazem 2 - Zawartość banera: nagłówek
drugiegostopnia o treści „Efekty na obrazach” - Zawartość pierwszego bloku:
- Obraz
pszczola.jpgz tekstem alternatywnym o treści „pszczoła na fioletowym kwiatku” - Poniżej trzy pola opcji: „Blur”, „Sepia” i „Negatyw”, zgrupowane tak, że jednocześnie może być wybrane tylko
jednopole - Poniżej przycisk „Zastosuj”, którego kliknięcie powoduje transformacje
obrazu 1
- Obraz
- Zawartość drugiego bloku:
- Obraz
pomarancza.jpgz tekstem alternatywnym o treści „drzewo pomarańczy” - Poniżej przycisk „Kolorowy” oraz przycisk „Czarno-biały”, ich kliknięcie powoduje transformację
obrazu 2
- Obraz
- Zawartość trzeciego bloku:
- Obraz
owoce.jpgz tekstem alternatywnym o treści „Kosz pełen owoców” - Poniżej pole edycyjne w postaci suwaka z wartością minimalną
0i maksymalną100, wartość ustawiona w stanie początkowym to100 - Poniżej przycisk „Zastosuj”, którego kliknięcie powoduje transformację
obrazu 3
- Obraz
- Zawartość czwartego bloku:
- Obraz
zolw.jpgz tekstem alternatywnym o treści „Żółw w wodzie” - Poniżej pole edycyjne w postaci suwaka z wartością minimalną
0i maksymalną250 - Poniżej przycisk „Zastosuj”, którego kliknięcie powoduje transformację
obrazu 4
- Obraz
- Zawartość stopki:
- Paragraf (akapit) z odnośnikiem do adresu
http://www.css.com/, o treści „Zobacz inne efekty obrazu”. Odnośnik otwiera się wnowej karcieprzeglądarki - Paragraf o treści: „Stronę wykonał: ”, dalej wstawiony
numer zdającego
- Paragraf (akapit) z odnośnikiem do adresu
Styl CSS witryny internetowej
Styl CSS zdefiniowany jest w całości w zewnętrznym pliku o nazwie styl.css. Cechy formatowania CSS, działające na stronie:
- Domyślne formatowanie wszystkich selektorów: krój czcionki
Century, w przypadku jego brakuSerif, wyrównanie tekstudo środka - Wspólne dla banera i stopki: kolor tła
Indigo,białykolor czcionki, tekstpochylony, marginesy wewnętrzne2 px - Wspólny dla czterech bloków: szerokość
50%, wysokość470 px - Dla selektora obrazu: marginesy wewnętrzne
3 px, zewnętrzne10 px, obramowanie liniąkreskowąo grubości2 pxkoloruSlateBlue - Dla odnośnika:
białykolor czcionki - Dla przycisków: kolor tła
SlateBlue,białykolor czcionki, brak obramowania, marginesy wewnętrzne górny i dolny10 px, lewy i prawy20 px, margines zewnętrzny górny10 px - W momencie, gdy kursor myszy znajdzie się na przycisku, jego kolor tła zmienia się na
Indigo - Jedynie dla pól edycyjnych w postaci suwaka: szerokość
80%
- UWAGA!
- Styl CSS obrazu należy zdefiniować wyłącznie przy pomocy selektora znacznika obrazu. Jest to uwarunkowane projektem późniejszej rozbudowy witryny.
Skrypt
Wymagania dotyczące skryptu:
- Napisany w języku JavaScript
- Należy stosować znaczące nazewnictwo wszystkich zmiennych i funkcji
- Realizuje transformacje obrazów. Przykładowe wyniki transformacji są umieszczone w
Tabeli 1.Tabela 3specyfikuje wartości właściwościfilter, którą należy zastosować w skryptach - Transformacje obrazu 1:
- Gdy zaznaczono pole
Blurna obraz jest nakładany filtrrozmyciao dowolnej wartości z przedziału4 px ÷ 8 px - Gdy zaznaczono pole
Sepiana obraz nakładany jest filtr kolorówsepii(efekt starej fotografii) o wartości100% - Gdy zaznaczono pole
Negatywna obraz nakładany jest filtrodwrócenia kolorów(negatyw) w100%
- Gdy zaznaczono pole
- Transformacje obrazu 2:
- Po wciśnięciu przycisku „Kolory” obraz ma
zdjętyfiltrodcieni szarości - Po wciśnięciu przycisku „Czarno-biały” na obraz jest
nakładanyfiltrodcieni szarościo wartości100%
- Po wciśnięciu przycisku „Kolory” obraz ma
- Transformacje obrazu 3: Po wciśnięciu przycisku „Zastosuj” na obraz jest
nakładanyfiltrprzezroczystościo wartości, która została wskazana suwakiem - Transformacje obrazu 4: Po wciśnięciu przycisku „Zastosuj” na obraz jest
nakładanyfiltr zmianyjasnościo wartości, która została wskazana suwakiem
Tabela 1. Efekty filtra, kolejno: blur, sepia, negatyw, odcienie szarości, przezroczystość, zmiana jasności

- 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.
- UWAGA!
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego, powinny znajdować się pliki: import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg kwerendy.txt, obrazki.html, owoce.jpg, pomarancza.jpg, pszczola.jpg, przeglądarka.txt, styl.css, zolw.jpg, 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 będzie podlegać 5 rezultatów:
- operacje na bazie danych
- zawartość witryny internetowej
- działanie witryny internetowej
- styl CSS witryny internetowej
- skrypt.
Tabela 2. 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 3. Przykłady zastosowania właściwości CSS filter ze strony w3schools
| Filter | Description |
|---|---|
| none | Default value. Specifies no effects |
| blur(px) | Applies a blur effect to the image. A larger value will create more blur. |
| brightness(%) | Adjusts the brightness of the image. 0% will make the image completely black. 100% is default and represents the original image. Values over 100% will provide brighter results. |
| contrast(%) | Adjusts the contrast of the image. 0% will make the image completely black. 100% (1) is default, and represents the original image. Values over 100% will provide results with more contrast. |
| grayscale(%) | Converts the image to grayscale. 0% (0) is default and represents the original image. 100% will make the image completely gray (used for black and white images). Note: Negative values are not allowed. |
| invert(%) | Inverts the samples in the image. 0% (0) is default and represents the original image. 100% will make the image completely inverted. Note: Negative values are not allowed. |
| opacity(%) | Sets the opacity level for the image. The opacity-level describes the transparency- level, where: 0% is completely transparent. 100% (1) is default and represents the original image (no transparency). |
| sepia(%) | Converts the image to sepia. 0% (0) is default and represents the original image. 100% will make the image completely sepia. Note: Negative values are not allowed. |
Examples
Apply a blur effect to the image: img { filter: blur(5px); }
Adjust the brightness of the image: img { filter: brightness(200%); }

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!