Arkusz EE.09 : 2020 - czerwiec - zad. 04 (js)
Oznaczenie: EE.09-04-20.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową salonu kosmetycznego, wykorzystując pakiet XAMPP oraz edytor zaznaczający składnię.
Aby wykonać zadanie zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie kosmetyczka.zip zabezpieczone hasłem: Do{Rozp4kow4ni4}
Archiwum należy rozpakować.
Na pulpicie konta Egzamin utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL. Umieść w tym folderze rozpakowane pliki.
Po skończonej pracy wyniki zapisz również w tym folderze.
Operacje na bazie danych
Do wykonania operacji na bazie danych należy wykorzystać tabele uslugi i kadra przedstawione na Obrazie 1. W tabeli uslugi znajduje się pole rodzaj, które przyjmuje wartości: 1 – usługi kosmetyczne, 2 – usługi fryzjerskie, 3 – inne.
Obraz 1. Tabele bazy danych

Uruchom usługi MySQL i Apache za pomocą XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj podane operacje na bazie danych:
- Utwórz bazę danych o nazwie
egzamin1 - Do bazy
egzamin1zaimportuj tabele z plikuegzamin.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie JPEG o nazwie
egzamin, w folderze opisanym numerem PESEL. Nie kadruj zrzutu. Zrzut powinien obejmować cały ekran monitora, z widocznym paskiem zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel - Zapisz i wykonaj
zapytania SQLdziałające na bazieegzamin1. Zapytania zapisz w plikukwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie PNG i nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora, z widocznym paskiem zadań- Zapytanie 1: wybierające jedynie pola
nazwaicenaz tabeliuslugidla usług, którychcenajest niższa od30 zł - Zapytanie 2: liczące
sumę cendla wszystkich usługkosmetycznych(rodzaj odpowiada usługom kosmetycznym) - Zapytanie 3: tworzące użytkownika
kosmetyczkanalocalhostz hasłemKosmet34 - Zapytanie 4: nadające prawa
przeglądaniadanych iwstawianiarekordów do tabeliuslugibazyegzamin1dla użytkownikakosmetyczka
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa, strona index.html, kursor znajduje się na obrazie po lewej stronie

Przygotowanie grafiki:
- Plik
obraz1.jpg, wypakowany z archiwum, należy przeskalować z zachowaniem proporcji tak, aby jego wysokość wynosiła dokładnie250 px - Plik
obraz2.jpg, wypakowany z archiwum, należy przeskalować z zachowaniem proporcji tak, aby jego szerokość wynosiła dokładnie800 px
Cechy witryny:
- Składa się ze stron o nazwach
index.htmloraztwarz.html. Obie strony różnią się jedynie drugim blokiem prawym
Cechy wspólne dla obu stron:
- Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Usługi kosmetyczne”
- Arkusz stylów w pliku o nazwie
styl.cssprawidłowo połączony z kodem strony - Podział strony na bloki:
dwabloki polewejstronie idwapoprawej, poniżejstopka. Podział zrealizowany za pomocą znaczników sekcji, tak aby po uruchomieniu w przeglądarce układ bloków był zgodny zObrazem 2 - Zawartość pierwszego bloku po lewej stronie:
- Nagłówek
drugiegostopnia o treści „W ofercie” - Lista
punktowa(nieuporządkowana) z elementami: Zabiegi na twarz, Masaż, Diety oczyszczające- Element „Zabiegi na twarz” ma zagnieżdżoną listę
numerowaną(uporządkowaną) z elementami: Piling, Maska, Regulacja brwi - Tekst elementu „Zabiegi na twarz” jest równocześnie
odnośnikiemdo stronytwarz.html
- Element „Zabiegi na twarz” ma zagnieżdżoną listę
- Odnośnik o treści „Do strony głównej” do strony
index.html
- Nagłówek
- Zawartość pierwszego bloku po prawej stronie: nagłówek
pierwszegostopnia o treści „Salon Kosmetyczny” - Zawartość drugiego bloku po lewej stronie: obraz o nazwie
obraz1.jpgz tekstem alternatywnym „Kosmetyczka” - Zawartość stopki: akapit (paragraf) o treści „Autor: ”, dalej wstawiony
numer PESELzdającego
Zawartość drugiego bloku po prawej stronie dla index.html:
- Obraz o nazwie
obraz2.jpgz tekstem alternatywnym „Zabiegi kosmetyczne” - Akapit (paragraf) o treści zgodnej z
Obrazem 2, łamanie wiersza zgodne zObrazem 2 - Nagłówek
czwartegostopnia o treści „Telefon: 111 222 333”
| Treść akapitu: „Witaj! Miło nam, że odwiedziłeś nasz salon. Zapoznaj się z ofertą i sprawdź ceny zabiegów lub skontaktuj się z nami” |
Wygląd drugiego bloku po prawej stronie dla twarz.html przedstawiono na Obrazie 3, jego zawartość to:
- Nagłówek
drugiegostopnia o treści „Sprawdź cenę swojej wizyty” - Cztery pola
checkboxjeden pod drugim z podpisami: Piling, Maska, Masaż twarzy, Regulacja brwi - Poniżej
przycisko treści „Sprawdź cenę” - Poniżej wyniki działania skryptu
Obraz 3. Fragment strony twarz.html

Styl CSS witryny internetowej
Cechy formatowania CSS, działające na obu stronach:
- Domyślne dla całej strony: krój czcionki
Garamond - Dla pierwszego lewego bloku: wysokość
500 px, szerokość25%, kolor tłaLavender - Dla drugiego lewego bloku: wysokość
300 px, szerokość25%, kolor tłaLavender - Dla pierwszego prawego bloku: wysokość
150 px, szerokość75%, kolor tłaIndigo,białykolor czcionki, rozmiar czcionki200%, wyrównanie tekstudo środka - Dla drugiego prawego bloku: wysokość
650 px, szerokość75%, kolor tłaLavender, rozmiar czcionki200%,wyrównanie tekstudo środka - Dla stopki: kolor tła
Indigo,białykolor czcionki, wyrównanie tekstudo prawej strony - Dla listy punktowanej (nieuporządkowanej):
kwadratjako punktor - Dla obrazu: marginesy wewnętrzne
5 px, marginesy zewnętrzne10 px - W momencie, gdy kursor znajduje się na obrazie, styl obrazu zmienia się na: marginesy wewnętrzne
4 pxoraz obramowanie liniąciągłąo szerokości1 pxi kolorzeIndigo(efekt ten jest widoczny naObrazie 2)
Skrypt
Wymagania dotyczące skryptu:
- Napisany w języku wykonywanym po stronie przeglądarki
- Uruchamia się po wciśnięciu przycisku na stronie
twarz.html - Oblicza łączną cenę zabiegów wybranych za pomocą pól checkbox zgodnie z cennikiem w tabeli
- Wyświetla wynik działania pod przyciskiem według wzoru: „Cena zabiegów: <suma>”, gdzie <suma> oznacza całkowitą cenę wybranych zabiegów
| Usługa | Cena |
|---|---|
| Piling | 45 |
| Maska | 30 |
| Masaż | 20 |
| Regulacja brwi | 5 |
Wybrane pola i metody modelu DOM języka JavaScript
| Wyszukiwanie elementów |
|---|
| document.getElementById(Id) |
| document.getElementByTagName(TagName) |
| document.getElementsByClassName(ClassName) |
| Zmiana elementów |
|---|
| element.innerHTML = "nowa zawartość" |
| element.attribute = "nowa wartość" |
| element.setAttribute(atrybut,wartość) |
| element.style.property = "nowa wartość" |
| Dodawanie i usuwanie elementów |
|---|
| 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" |
| Wybrane zdarzenia HTML |
|---|
| Zdarzenia myszy: onclick, ondblclick, onmouseover, onmouseout |
| Zdarzenia klawiatury: onkeydown, onkeypress, onkeyup |
| Zdarzenia obiektów: onload, onfocusin, onresize, onfocusout / onblur |
| Elementy formularzy |
|---|
| Ważniejsze typy pola input: button, checkbox, number, password, radio, text |
| Inne elementy: select, textarea |
| Metody i pola obiektu string (JS) |
|---|
| length |
| indexOf(text) |
| search(text) |
| substr(startIndex, endIndex) |
| replace(textToReplace, newText) |
| toUpperCase() |
| toLowerCase() |
- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny. Nazwij plik przeglądarka.txt i zapisz go w folderze z numerem PESEL.
- Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować następujące pliki: index.html, twarz.html, egzamin.jpg, kw1.png, kw2.png, kw3.png, kw4.png, kwerendy.txt, obraz1.jpg, obraz2.jpg, przeglądarka.txt, styl.css, oraz ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i zapakowaną w pudełku pozostaw 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.

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!