Serwis używa plików cookies do analizy ruchu i poprawy działania. Szczegóły
E.14-02-22.01-SGStyczeń 2022 · 38 kroków · ok. 73 min · 36 kryteriów z klucza
Rozwiązanie krok po kroku: Hurtownia kawy z kalkulatorem zamówienia (Wersja podstawowa)
Witryna hurtowni kawy: strona główna index.html i podstrona zamowienia.html o tym samym układzie (menu i logo na górze, baner, blok lewy i prawy, stopka) - różnią się tylko blokiem lewym - oraz blog.html z jednym zdaniem. Do tego arkusz stylów styl.css z efektem po najechaniu na odnośnik, skrypt JavaScript liczący koszt zamówienia z numeru kawy i wagi, przeskalowane logo i obraz kawa.png - filiżanka i pochylony nad nią imbryk z napisem „Poczęstuj się kawą” na niewidocznym kole.
To arkusz E.14 ze stycznia 2022 - kwalifikacji formuły 2012, którą zastąpiła INF.03. Kroki idą zdanie po zdaniu za treścią arkusza - przy każdym jest polecenie z arkusza, a kod pokazuje dokładnie te linie, które je spełniają. Skrypt jest napisany najprościej (getElementById, drabinka if, innerHTML), a na końcu sprawdzony na błędnych danych i poprawiony.
To jest wersja podstawowa. W zakładce „Nowoczesny kod (flex, addEventListener)” jest drugi sposób rozwiązania tego samego arkusza: znaczniki semantyczne (<nav>, <main>, <aside>), układ flexbox, etykiety <label> i skrypt w osobnym pliku z cennikiem w słowniku - obie wersje są zgodne z kluczem.
Obrazy pochodzą z oryginalnego archiwum CKE (załącznik na stronie arkusza). Układ stron jest zmierzony w Chrome, a skrypt sprawdzony prawdziwym kliknięciem dla wszystkich cen z tabeli 1 i numeru spoza niej.
Jak liczą się punkty. Klucz ma 36 kryteriów (R.1.1 - R.5.4), każde za 1 punkt. Próg zdania części praktycznej to 75%, czyli 27 punktów - można stracić 9 kryteriów i nadal zdać. Przy każdym kroku jest napisane, które kryteria spełnia; egzaminator ocenia spełnienie kryteriów z klucza, nie zgodność z tym kodem.
Suwak i strzałki obok niego - albo ←→ na klawiaturze - przechodzą krok po kroku; wyjaśnienie, pliki i podgląd zmieniają się razem z krokiem.
Lista „Etap” przenosi od razu do wybranego etapu.
„Rozwiązuję samodzielnie” chowa rozwiązanie kroku - najpierw własna próba, potem odsłonięcie.
„Tryb prezentacji” pokazuje same kroki, bez menu strony - na rzutnik.
Etap 1: Grafika
Kroki 1-7 · po tym etapie masz 7 z 36 kryteriów (pkt)
Krok 1: Folder zdającego i archiwum pliki2
ok. 2 min
Polecenie z arkusza
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie pliki2.zip zabezpieczone hasłem: @K4wA! Archiwum należy rozpakować. Na pulpicie konta Egzamin utwórz folder. Jako nazwy folderu użyj numeru, którym został podpisany arkusz. Rozpakowane pliki umieść w tym folderze. Wyniki swojej pracy zapisz w tym folderze.
Na pulpicie tworzysz folder nazwany numerem, którym podpisano arkusz (PESEL) - w tym rozwiązaniu w jego miejscu stoi imię i nazwisko autora, Bartosz Bryniarski. Archiwum rozpakowujesz do tego folderu z hasłem @K4wA! (wielkość liter ma znaczenie). W środku są dwa obrazy: logo.png (220 × 122 px, napis „I ♥ COFFEE” z ziaren kawy) i ksztalty.png (414 × 492 px, naczynia kuchenne na przezroczystym tle).
Archiwum do pobrania jest na stronie arkusza w serwisie - CKE wydała je pod nazwą pliki4.zip przy zadaniu ze stycznia 2019, z tym samym hasłem i tymi samymi plikami.
Krok 2: logo.png: wysokość 110 px
Kryteria:
R.1.1 Obraz logo przeskalowano z zachowaniem proporcji tak, że jego wysokość wynosi 110 px, odpowiadająca temu szerokość wynosi 198 px (± 5 px)
ok. 2 min
Polecenie z arkusza
Obraz logo.png przeskaluj z zachowaniem proporcji tak, aby wysokość wynosiła dokładnie 110 px.
W edytorze grafiki rastrowej (np. GIMP): Obraz → Skaluj obraz, łańcuch między szerokością a wysokością zamknięty (to jest „zachowanie proporcji”), wysokość 110 px. Szerokość przelicza się sama: 220 × 110 / 122 = 198,4, czyli 198 px - dokładnie tyle podaje klucz (198 px ±5). Eksport pod tą samą nazwą: Plik → Nadpisz logo.png. Wysokość 110 px to także wysokość bloku menu i logo na stronie.
Typowe błędy
Rozpięty łańcuch i sama wysokość 110 px dają logo 220 × 110 - spłaszczone, bez punktu.
Podgląd strony po tym kroku
Krok 3: Wycięcie filiżanki i imbryka
ok. 4 min
Polecenie z arkusza
Z grafiki ksztalty.png wytnij kształt filiżanki i imbryka (obrazy 1a i 1b) z zachowaniem przezroczystości oraz tak, aby kształty były w całości i żadne fragmenty innych kształtów nie były widoczne.
W ksztalty.png naczynia leżą blisko siebie - imbryk sąsiaduje z dzbankiem i mleczniczką, a filiżanka ze spodkiem stoi tuż pod nim. W GIMP-ie narzędzie Zaznaczanie rozmytego kliknięte na imbryku zaznacza tylko jego (przezroczyste tło oddziela kształty); pokrywka i ucho są połączone z korpusem, więc wejdą w zaznaczenie w całości. Edycja → Kopiuj i Edycja → Wklej jako → Nowy obraz - nowy obraz zachowuje przezroczystość. To samo z filiżanką: kliknięcie zaznacza ją razem ze spodkiem.
Na podglądzie oba wycięte kształty na szachownicy (tak edytor pokazuje przezroczystość) - bez fragmentów sąsiednich naczyń.
Typowe błędy
Zaznaczenie prostokątne zostawia w rogach kawałki dzbanka albo mleczniczki - klucz R.1.4 wymaga, by żadne fragmenty innych kształtów nie były widoczne.
Podgląd strony po tym kroku
Krok 4: Obraz kawa: filiżanka i pochylony imbryk
Kryteria: ,
R.1.3 Obraz z R.1.2 jest przezroczysty
R.1.4 Na obrazie umieszczono kształt filiżanki i imbryka. Imbryk znajduje się po prawej stronie, jest pochylony, tak jakby jego zawartość wlewała się do filiżanki oraz kształty są w całości i żadne fragmenty innych kształtów nie są widoczne
ok. 4 min
Polecenie z arkusza
Za pomocą edytora grafiki wektorowej przygotuj nowy obraz zgodny z obrazem 1c. Uwzględnij wymagania: obraz jest przezroczysty; widoczne są na nim kształt filiżanki i imbryka. Imbryk znajduje się po prawej stronie, jest obrócony, tak jakby jego zawartość wlewała się do filiżanki.
Kompozycję składasz w edytorze grafiki wektorowej (np. Inkscape) - jest potrzebny do napisu na kole. Nowy dokument, Plik → Importuj oba wycięte kształty (PNG zachowa przezroczystość). Filiżankę ustaw po lewej, niżej, imbryk po prawej, wyżej. Imbryk obróć narzędziem zaznaczania: drugie kliknięcie na obiekcie pokazuje strzałki obrotu - w tym rozwiązaniu o 30 stopni w lewo, tak że dziobek opada nad filiżankę, jakby kawa się z niego wlewała (obraz 1c). W Inkscape obrót o konkretny kąt daje Obiekt → Przekształć → Obrót.
Tło dokumentu zostaje przezroczyste - w Inkscape strona nie ma tła, dopóki go nie ustawisz.
Krok 5: Napis „Poczęstuj się kawą” na niewidocznym kole
Kryteria: ,
R.1.5 Na obrazie umieszczono napis koloru brązowego (dowolny odcień) o treści: „Poczęstuj się kawą” oraz tekst jest zapisany dowolną czcionką typu Serif (widoczne szeryfy)
R.1.6 Tekst jest opisany na kole i koło nie jest widoczne
ok. 5 min
Polecenie z arkusza
Widoczny jest napis koloru brązowego o treści „Poczęstuj się kawą”. Tekst zapisany jest dowolną czcionką typu Serif. Na obrazie 1c jest to Georgia, dopuszczalne również inne czcionki Serif, np. Times New Roman. Tekst jest opisany na kole, koło jest niewidoczne.
W Inkscape:
narzędziem Elipsa z klawiszem Ctrl rysujesz koło wokół filiżanki i imbryka,
narzędziem Tekst piszesz Poczęstuj się kawą, krój Georgia (szeryfowy), duży rozmiar, kolor brązowy (tu #8b5a00),
zaznaczasz tekst i koło (Shift) i wybierasz Tekst → Wstaw na ścieżkę - litery układają się wzdłuż okręgu,
koło ma zostać niewidoczne: zaznacz je (np. w panelu Obiekty) i zdejmij mu obrys i wypełnienie (X na pasku kolorów przy wciśniętym Shift usuwa obrys). Nie usuwaj koła - tekst zniknąłby razem ze ścieżką.
Początek tekstu przesuwasz, obracając koło - napis ma biec od lewego dołu przez górę na prawo, jak na obrazie 1c. Tu został wyśrodkowany na łuku od 120 do 25 stopni (licząc zgodnie z ruchem wskazówek zegara od godziny 3).
Typowe błędy
Usunięte koło zabiera ze sobą tekst na ścieżce. Koło z widocznym obrysem to strata R.1.6.
Podgląd strony po tym kroku
Krok 6: Zrzut ekranu edytor.png
Kryteria:
R.1.7 Czynność umieszczenia tekstu na kole udokumentowano zrzutem ekranu w pliku edytor.png , na którym widoczny jest edytor grafiki wektorowej i funkcja wstawiająca tekst na ścieżkę
ok. 2 min
Polecenie z arkusza
Aby udokumentować umieszczenie tekstu na kole wykonaj zrzut ekranu, na którym będzie widoczne środowisko edytora grafiki wektorowej oraz funkcja (np. menu ze wskazaną funkcją) realizująca to zadanie. Zrzut zapisz w formacie PNG i nazwij edytor. Nie kadruj zrzutu. Powinien on obejmować cały ekran, z widocznym paskiem zadań.
Zrzut robisz w chwili, gdy na ekranie widać okno Inkscape i rozwinięte menu Tekst z podświetloną pozycją Wstaw na ścieżkę - najprościej tuż przed jej kliknięciem w poprzednim kroku. Klawisz Print Screen kopiuje cały ekran (z paskiem zadań), wklejasz go jako nowy obraz w GIMP-ie (Edycja → Wklej jako → Nowy obraz) i eksportujesz jako edytor.png.
Ten zrzut zależy od Twojego stanowiska, dlatego rozwiązanie nie zawiera pliku - to praca do wykonania na egzaminie.
Typowe błędy
Zrzut samego okna (Alt+Print Screen) albo przycięty - bez paska zadań - nie jest oceniany (uwaga w kluczu przy R.1).
Krok 7: Zapis kawa.png, wysokość najwyżej 400 px
Kryteria:
R.1.2 Obraz kawa zapisano w formacie umożliwiającym zapis przezroczystości, np. PNG oraz jego wysokość jest nie większa niż 400 px
ok. 2 min
Polecenie z arkusza
Utworzony obraz należy zapisać jako kawa w formacie umożliwiającym zapisanie przezroczystości. Obraz kawa powinien mieć wysokość nie większą niż 400 px.
Plik → Eksportuj (w Inkscape panel eksportu), format PNG - zapisuje przezroczystość; obszar eksportu: rysunek (sama treść, bez pustej strony). Wysokość ustawiasz w polach rozmiaru eksportu, tu 380 px przy szerokości 439 px - mniej niż dopuszczalne 400 px. Nazwa pliku: kawa.png.
Typowe błędy
Eksport do JPEG wypełnia tło białym kolorem - przepada przezroczystość (R.1.3) i format (R.1.2). Eksport całej strony A4 daje obraz wyższy niż 400 px.
Podgląd strony po tym kroku
Etap 2: Strona index.html
Kroki 8-19 · po tym etapie masz 14 z 36 kryteriów (pkt)
Krok 8: Plik index.html
ok. 1 min
Polecenie z arkusza
Cechy witryny: strona główna o nazwie index.html oraz podstrony zamowienia.html i blog.html. Strona główna oraz podstrona zamówienia są identyczne, za wyjątkiem panelu lewego.
W edytorze zaznaczającym składnię tworzysz plik index.html ze szkieletem HTML5 (<!DOCTYPE html>, <html lang="pl">, <head>, <body>). Strona główna powstaje pierwsza: podstrona zamówień będzie jej kopią z innym blokiem lewym, więc wszystko, co wspólne, wpisujesz tylko raz.
Cechy wspólne dla stron index.html i zamówienia.html: zastosowany właściwy standard kodowania polskich znaków.
<meta charset="UTF-8"> na początku <head> (plik zapisany w UTF-8). Bez tego „Sklep z kawą” i „Poczęstuj się” mogą wyświetlić się z krzakami. Klucz R.2.1 ocenia kodowanie razem z nazwami trzech plików - punkt przyjdzie po utworzeniu blog.html.
R.2.3 Wygląd przynajmniej jednej strony zdefiniowano dzieląc ją na bloki: menu, logo, baner, lewy, prawy, stopka. Zastosowano znaczniki sekcji
ok. 2 min
Polecenie z arkusza
Podział strony na bloki: na górze dwa bloki: menu i logo, poniżej baner, poniżej dwa bloki: lewy i prawy oraz na dole stopka. Podział zrealizowany za pomocą znaczników sekcji tak, aby układ bloków strony po uruchomieniu w przeglądarce, był zgodny z Obrazem 2.
Bloki w kolejności czytania obrazu 2: menu i logo (<section> z identyfikatorami menu i logo), baner <header>, blok lewy i prawy (<section>left i right) i stopka <footer>. Identyfikatory są potrzebne, bo bloki mają różne style. Obok siebie ustawi je CSS.
Zawartość bloku menu: odnośnik „Strona główna”, prowadzący do pliku index.html; odnośnik „Zamówienia”, prowadzący do pliku zamowienia.html; odnośnik „Blog”, prowadzący do pliku blog.html; odnośnik „Gatunki kawy”, prowadzący do strony http://gatunki-kawy.pl/
Cztery znaczniki <a> jeden za drugim - odstępy między nimi da styl odnośnika (marginesy 30 px). Trzy pierwsze prowadzą do plików w folderze zdającego (adres względny, sama nazwa pliku), czwarty do innej witryny - adres bezwzględny, z http://. Podstrony zamówień i bloga jeszcze nie istnieją, więc te dwa odnośniki zadziałają po ich utworzeniu.
Typowe błędy
Adres gatunki-kawy.pl bez http:// przeglądarka potraktuje jak nazwę pliku w folderze zdającego.
R.2.5 Na przynajmniej jednej stronie w bloku prawym zapisano listę punktowaną o elementach: „Arabica”, „Robusta”, „bezkofeinowa”, „zielona”, zastosowano znaczniki <ul>, <li> oraz ich zamknięcia
ok. 2 min
Polecenie z arkusza
Zawartość bloku prawego: lista punktowana (nieuporządkowana) o elementach: „Arabica”, „Robusta”, „bezkofeinowa”, „zielona”.
Lista punktowana (nieuporządkowana) to <ul>, elementy - <li>, każdy z zamknięciem </li> (klucz wymaga zamknięć). Trzeci element dostaje identyfikator decaf - w CSS tylko on będzie przekreślony.
R.2.9 Na przynajmniej jednej stronie w stopce umieszczono numer zdającego zapisany czcionką pogrubioną
ok. 1 min
Polecenie z arkusza
Zawartość stopki: tekst „Stronę przygotował: ”, dalej wstawiony numer zdającego, numer jest zapisany czcionką pogrubioną.
Na egzaminie wpisujesz swój numer (PESEL) - w tym rozwiązaniu w jego miejscu stoi imię i nazwisko autora. Pogrubienie <b> to jedyne formatowanie, które klucz pozwala zrobić w HTML.
Kroki 20-24 · po tym etapie masz 19 z 36 kryteriów (pkt)
Krok 20: Plik zamowienia.html
Kryteria:
R.3.2 Na przynajmniej jednej stronie kliknięcie odnośnika „Strona główna” otwiera plik index.html i kliknięcie odnośnika „Zamówienia” otwiera zamowienia.html
ok. 1 min
Polecenie z arkusza
Strona główna oraz podstrona zamówienia są identyczne, za wyjątkiem panelu lewego.
Zapisujesz index.html jako zamowienia.html i opróżniasz blok lewy - dostanie formularz. Teraz działają odnośniki „Strona główna” i „Zamówienia” na obu stronach.
R.2.8 Na stronie zamówień w bloku lewym umieszczono dwa pola edycyjne i przycisk "Zamów"
ok. 2 min
Polecenie z arkusza
Poniżej przycisk o treści „Zamów”, kliknięcie przycisku powoduje wywołanie skryptu.
onclick="order()" wywoła funkcję order ze skryptu (napiszesz ją po stylach). Pusty paragraf result pod przyciskiem to miejsce na „Koszt zamówienia wynosi: …” - arkusz każe wypisać wynik pod przyciskiem.
R.2.1 Witrynę internetową zapisano w plikach index.html, zamowienia.html i blog.html oraz w przynajmniej jednym pliku zastosowano właściwy standard kodowania polskich znaków
R.3.3 Na przynajmniej jednej stronie działa przynajmniej jeden odnośnik z: „Blog” - blog.html lub „Gatunki kawy” - http://gatunki-kawy.pl/
ok. 1 min
Polecenie z arkusza
W pliku blog.html należy umieścić jedynie tekst „Strona w trakcie budowy”.
Plik blog.html z jednym zdaniem - „jedynie tekst”, więc bez szkieletu HTML; przeglądarka i tak go wyświetli. Teraz są wszystkie trzy pliki witryny i działa odnośnik „Blog”.
blog.htmlHTMLnowy plik
Strona w trakcie budowy
Podgląd strony po tym kroku (blog.html)
Etap 4: Styl CSS
Kroki 25-33 · po tym etapie masz 31 z 36 kryteriów (pkt)
Krok 25: Plik styl.css: krój Garamond
Kryteria: ,
R.4.1 Ustawiono domyślny krój czcionki dla całej strony na Garamond (dla * lub html, lub body, lub kontenera całej strony)
R.3.6 Strona zawiera działające połączenie z zewnętrznym arkuszem stylów o nazwie styl.css , formatowanie pochodzi jedynie z tego arkusza (poza pogrubieniem numeru zdającego) Uwaga: kryterium to nie jest spełnione również, gdy źle przypisano co najmniej jeden selektor do bloku (np. kropka zamiast #)
ok. 1 min
Polecenie z arkusza
Cechy formatowania CSS: wspólne dla całej strony: krój czcionki Garamond.
Plik styl.css, selektor * - wszystkie elementy strony, także pola i przycisk formularza. Od tej chwili obie strony mają działający arkusz stylów.
styl.cssCSSnowy plik
* {font-family: Garamond;}
Podgląd strony po tym kroku (index.html)
Krok 26: Bloki logo i menu
ok. 2 min
Polecenie z arkusza
Dla bloku logo: kolor tła Olive; szerokość 25%, wysokość 110 px. Dla bloku menu: kolor tła Olive; szerokość 75%, wysokość 110 px.
Olive, SaddleBrown, Wheat, LightGrey to nazwy kolorów CSS - wpisujesz je wprost, tak jak w arkuszu. Szerokości 75% i 25% razem dają cały wiersz.
R.4.3 Ustawiono biały kolor czcionki dla bloków banera i stopki
R.4.7 Ustawiono marginesy wewnętrzne (padding) 30px dla banera i stopki
ok. 2 min
Polecenie z arkusza
Wspólne dla banera i stopki: kolor tła SaddleBrown, biały kolor czcionki, wyrównanie tekstu do środka, marginesy wewnętrzne 30 px.
Brązowe tło, biały tekst, wyśrodkowanie i dopełnienie 30 px ze wszystkich stron. Wysokości arkusz nie podaje - baner i stopka mają tyle, ile treść plus dopełnienie.
R.4.2 Ustawiono kolor tła Olive dla bloku logo i menu oraz SaddleBrown dla banera i stopki, oraz Wheat dla bloku lewego i prawego
R.4.4 Ustawiono wysokość bloków logo i menu na 110px oraz bloków lewego i prawego na 450px
R.4.5 Ustawiono szerokość logo na 25%, menu na 75%, bloków lewego i prawego na 50%
R.4.6 Ustawiono wyrównanie tekstu do środka dla banera, bloku lewego i stopki oraz rozmiar czcionki 150% bloku lewego i prawego
ok. 2 min
Polecenie z arkusza
Wspólne dla bloku lewego i prawego: kolor tła Wheat, szerokość 50%, wysokość 450 px, rozmiar czcionki 150%. Dodatkowo dla bloku lewego: wyrównanie czcionki do środka.
Wspólna reguła dla obu bloków i osobna, krótka reguła tylko dla lewego - wyśrodkowanie. Wszystkie kolory, szerokości i wysokości z arkusza są już ustawione.
R.3.1 Układ bloków po uruchomieniu przynajmniej jednej strony w przeglądarce jest zgodny z Obrazem 2 w arkuszu egzaminacyjnym
ok. 3 min
Polecenie z arkusza
Podział strony na bloki: na górze dwa bloki: menu i logo, poniżej baner, poniżej dwa bloki: lewy i prawy oraz na dole stopka. Podział zrealizowany za pomocą znaczników sekcji tak, aby układ bloków strony po uruchomieniu w przeglądarce, był zgodny z Obrazem 2.
float: left dla menu, logo, bloku lewego i prawego - bloki stają obok siebie, dopóki mieszczą się w szerokości strony (75% + 25% i 50% + 50%),
clear: both dla banera i stopki - schodzą pod bloki opływane i zajmują całą szerokość.
Menu stoi w HTML przed logo, więc jest po lewej - jak na obrazie 2. Pomiar w Chrome przy oknie 1280 px: menu 948 px, logo 316 px (oba 110 px wysokości), blok lewy i prawy po 632 × 450 px.
Typowe błędy
Logo przed menu w HTML-u ustawi logo po lewej - układ niezgodny z obrazem 2.
R.4.8 Ustawiono cechy: odległość między literami 12px dla selektora h1 oraz wysokość linii 110px, bez podkreślenia dla selektora a
ok. 2 min
Polecenie z arkusza
Dla selektora odnośnika: kolor czcionki LightGrey, marginesy zewnętrzne 30 px, rozmiar czcionki 150%, wysokość linii 110 px, bez podkreślenia.
Selektor a obejmuje wszystkie odnośniki - na stronie są tylko te w menu. line-height: 110px to wysokość linii równa wysokości bloku menu, dzięki czemu napisy stoją dokładnie w połowie jego wysokości. Marginesy 30 px rozsuwają odnośniki w poziomie (górny i dolny margines elementu w linii tekstu nie zmienia układu), text-decoration: none zdejmuje podkreślenie.
⚠️ Rozbieżność w kluczu: kryterium R.4.8 łączy odstęp liter nagłówka z wysokością linii i brakiem podkreślenia odnośnika, a R.4.10 sprawdza te dwie cechy odnośnika jeszcze raz, razem z resztą jego stylu. Kryteria się pokrywają - oba są spełnione przez ten sam kod.
R.4.10 Dla odnośnika ustawiono: kolor czcionki LightGrey, rozmiar czcionki 150%, marginesy zewnętrzne 30 px, oraz wysokość linii (line-height) 110px, bez podkreślenia dla selektora a (text-decoration: none) oraz gdy kursor znajdzie się na odnośniku jego kolor czcionki zmienia się na biały oraz dodawane jest jedynie dolne obramowanie 1 px, linią ciągłą o białym kolorze
ok. 2 min
Polecenie z arkusza
Gdy kursor znajdzie się na odnośniku jego kolor czcionki zmienia się na biały oraz dodawane jest jedynie dolne obramowanie 1 px, linią ciągłą o białym kolorze.
Pseudoklasa :hover działa, gdy kursor jest nad elementem. border-bottom: 1px solid white dodaje tylko dolną krawędź - ciągłą, białą, grubości 1 px (jak przy „Blog” na obrazie 2). Najedź kursorem na odnośnik w podglądzie.
Typowe błędy
border: 1px solid white rysuje ramkę ze wszystkich stron - arkusz wymaga „jedynie dolnego” obramowania.
R.4.9 Ustawiono styl tekstu przekreślonego, który zastosowano tylko do trzeciego elementu listy "bezkofeinowa"
ok. 1 min
Polecenie z arkusza
Dla elementu nr 3 („bezkofeinowa”) listy umieszczonej w bloku lewym: tekst przekreślony.
text-decoration: line-through przekreśla tekst. Selektor identyfikatora #decaf trafia tylko w trzeci element listy - pozostałe zostają bez zmian (sprawdzone w Chrome: przekreślony jest wyłącznie trzeci).
⚠️ Rozbieżność arkusz-klucz: arkusz pisze o liście „umieszczonej w bloku lewym”, ale jedyna lista na stronie stoi w bloku prawym (blok lewy ma obraz kawa albo formularz zamówienia). Klucz R.4.9 mówi po prostu o trzecim elemencie listy „bezkofeinowa” - przekreślenie dostaje element listy z bloku prawego.
Kroki 34-36 · po tym etapie masz 36 z 36 kryteriów (pkt)
Krok 34: Funkcja order: odczyt obu pól
Kryteria: , ,
R.5.1 Skrypt napisano w języku JavaScript, zawiera on przynajmniej jedną zgodną ze składnią instrukcję
R.5.2 Skrypt prawidłowo pobiera wartości z pól edycyjnych
R.3.5 Kliknięcie przycisku powoduje wywołanie skryptu (nazwa funkcji w skrypcie jest skojarzona z odpowiednim zdarzeniem przycisku)
ok. 3 min
Polecenie z arkusza
Wymagania dotyczące skryptu: wykonywany po stronie przeglądarki; wywoływany na stronie zamowienia.html po kliknięciu przycisku „Zamów”.
Skrypt JavaScript na końcu <body> strony zamówień. Funkcja order - ta z onclick przycisku „Zamów” - odczytuje oba pola: getElementById znajduje pole po identyfikatorze, a .value to wpisana w nim wartość (tekst).
R.5.3 Skrypt oblicza całkowity koszt kawy mnożąc wagę i cenę kawy ustaloną na podstawie numeru kawy (1 - 5zł, 2 - 7zł, 4 - 6zł, inne - 0 zł)
ok. 3 min
Polecenie z arkusza
Skrypt pobiera wartości z obu pól edycyjnych i oblicza koszt kawy uwzględniając jej numer i wagę, zgodnie z tabelą 1; w przypadku, gdy podano inną wartość niż 1, 2, 4 cena wynosi 0 zł.
Drabinka if / else if / else to tabela 1 zapisana w kodzie: numer 1 - 5 zł, 2 - 7 zł, 4 - 6 zł, każdy inny (także 3 i puste pole) - 0 zł. Koszt to cena za dekagram razy waga; operator * sam zamienia tekst z pola na liczbę.
Typowe błędy
Numer 3 nie ma ceny w tabeli 1 (kawa bezkofeinowa jest przekreślona w ofercie) - według arkusza daje 0 zł, nie „brak wyniku”.
R.5.4 Wynik obliczeń jest wyświetlany pod przyciskiem w formacie: „Koszt zamówienia wynosi: <koszt> zł”, gdzie <koszt> oznacza obliczoną wartość
ok. 2 min
Polecenie z arkusza
Po obliczeniu całkowitego kosztu kawy jest wyświetlany wynik pod przyciskiem w formacie: „Koszt zamówienia wynosi: <koszt> zł”, gdzie <koszt> oznacza obliczoną wartość.
innerHTML wpisuje tekst do paragrafu pod przyciskiem, a + skleja początek, obliczoną liczbę i „ zł” (ze spacją przed). Sprawdzone kliknięciem w Chrome: numer 1 i 10 dag - „Koszt zamówienia wynosi: 50 zł” (jak na obrazie 3), 2 i 3 dag - 21 zł, 4 i 5 dag - 30 zł, numer 3 albo 9 - 0 zł.
Krok 37 · po tym etapie masz 36 z 36 kryteriów (pkt)
Krok 37: Walidacja wejścia: waga zamówienia
ok. 4 min
Polecenie z arkusza
Skrypt pobiera wartości z obu pól edycyjnych i oblicza koszt kawy uwzględniając jej numer i wagę, zgodnie z tabelą 1; w przypadku, gdy podano inną wartość niż 1, 2, 4 cena wynosi 0 zł.
Wersja z poprzednich kroków liczy z każdej wagi. Test w Chrome: kawa nr 1 i waga -4 - strona pokazuje „Koszt zamówienia wynosi: -20 zł”, a puste pole wagi daje „0 zł”, jakby zamówienie było darmowe. Pole type="number" przyjmuje liczby ujemne, a na stronie, która przyjmuje zamówienia, taki wynik mógłby trafić dalej (np. do koszyka).
Poprawka sprawdza wagę przed liczeniem: puste pole albo liczba nie większa od zera - zamiast kosztu komunikat „Podaj wagę większą od zera”. Przy okazji wynik trafia do paragrafu przez textContent zamiast innerHTML - wstawia zwykły tekst i nigdy nie wykona znaczników HTML, co ma znaczenie, gdy w komunikacie znajdzie się coś wpisanego przez użytkownika. Stare linie zostają w komentarzu. Na egzaminie wystarczy wersja wcześniejsza - klucz tego nie sprawdza.
Krok 38 · po tym etapie masz 36 z 36 kryteriów (pkt)
Krok 38: Plik przeglądarka.txt i nagranie płyty
ok. 3 min
Polecenie z arkusza
Po zakończeniu pracy utwórz w folderze z numerem, którym został podpisany arkusz, plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny. Nagraj płytę z rezultatami pracy. W folderze powinny się znajdować pliki: blog, edytor, index, kawa, logo, przeglądarka, styl, zamowienia, ewentualnie inne przygotowane pliki.
W przeglądarka.txt wpisujesz nazwę przeglądarki, w której sprawdzasz strony (otwierasz index.html dwuklikiem - witryna nie potrzebuje serwera).
W folderze zdającego muszą być: blog.html, edytor.png, index.html, kawa.png, logo.png (110 px wysokości), przeglądarka.txt, styl.css i zamowienia.html; ksztalty.png może zostać. Nagraj płytę, sprawdź jej odczyt i opisz ją numerem zdającego.
Symulacja ekranu w przeglądarce - w Android Studio / Visual Studio wygląd może się nieco różnić.
To jedno z możliwych rozwiązań. Egzaminator ocenia spełnienie kryteriów z klucza odpowiedzi, a nie zgodność z tym kodem - inna, poprawna droga też daje punkty.
Autor rozwiązania: Bartosz Bryniarski. Licencja CC BY-NC 4.0 - kopiowanie i przeróbki do celów niekomercyjnych, z podaniem autora i źródła (link do tej strony) (zasady wykorzystania). Treść arkusza i klucza oceniania pochodzi z CKE.