INF.03-02-24.01-SGStyczeń 2024 · 41 kroków · ok. 76 min · 41 kryteriów z klucza
Rozwiązanie krok po kroku: Witryna pogotowia komputerowego (Wersja podstawowa)
Rozwiązanie buduje witrynę pogotowia komputerowego: najpierw grafika - ikona „IT”, dwa banery z myszą (raz obróconą, raz nie) i animacja GIF z tych banerów, potem dwie strony o wspólnym układzie (index.html i kontakt.html) z trzema blokami obok siebie, style w styl.css i skrypt JavaScript na stronie kontaktowej: po kliknięciu „Wyślij” wypisuje pod formularzem w trzech wierszach imię i nazwisko, adres e-mail małymi literami i wybraną usługę. Ten arkusz nie ma bazy danych ani PHP - strony otwierają się wprost z dysku.
To jest wersja podstawowa. W zakładce „Nowoczesny kod (grid, osobny skrypt)” jest drugi sposób rozwiązania tego samego arkusza: trzy bloki główne ułożone siatką CSS, kolory w zmiennych, formularz wysyłany przyciskiem submit i skrypt w osobnym pliku z nasłuchiwaczem zdarzenia - obie wersje są zgodne z kluczem.
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ą. Strona główna powstaje w całości, a kontaktowa powstaje z jej kopii - różni się tylko blokami głównymi. Skrypt jest najpierw pisany najprościej (onclick, innerHTML), a na końcu zostaje przerobiony na wersję z prawdziwych projektów.
Grafika pochodzi z prawdziwego archiwum materialy2 (załącznik do arkusza, hasło w treści zadania); banery i animacja są wykonane według obrazu 2. Skrypt jest sprawdzony na danych z obrazu 4 (Anna Nowak, adres wpisany wielkimi literami). W podglądzie strony kontaktowej można wypełnić formularz i kliknąć „Wyślij”.
Jak liczą się punkty. Klucz ma 41 kryteriów (R.1.1 - R.5.7), każde za 1 punkt. Próg zdania części praktycznej to 75%, czyli 31 punktów - można stracić 10 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 i animacja
Kroki 1-4 · po tym etapie masz 9 z 41 kryteriów (pkt)
Krok 1: Favicon: napis IT na całej grafice, 50 × 50 px
Kryteria: , ,
R.1.1 Przynajmniej jeden z obrazów: favicon, baner1 lub baner2 zapisano w formacie umożliwiającym zapis przezroczystości, np. PNG, tło przynajmniej jednego obrazu jest przezroczyste
R.1.2 Favicon zawiera napis "IT" w kolorze czerwonym, wypełniający całą przestrzeń grafiki
R.1.3 Favicon ma wysokość i szerokość 50 px (± 2 px)
ok. 5 min
Polecenie z arkusza
Wytyczne dla logo witryny internetowej: Cechy obrazu: tło przezroczyste, wysokość i szerokość: 50 px. Napis o treści „IT”, wypełnia całą przestrzeń grafiki, zgodnie z obrazem 1. Cechy tekstu: czcionka koloru ciemnoczerwonego. Nazwa pliku: favicon, format umożliwiający zapis przezroczystości.
narzędzie Tekst, kolor ciemnoczerwony (np. ae2500), pogrubiony krój, napis „IT”,
żeby napis wypełnił całą grafikę jak na obrazie 1, warstwę tekstu przerabiasz narzędziem Skalowanie (bez zachowania proporcji) tak, by litery dotykały wszystkich czterech krawędzi,
Napis wyśrodkowany z wolnym miejscem dookoła nie „wypełnia całej przestrzeni” (R.1.2).
Podgląd strony po tym kroku
Krok 2: Baner 1: dwie myszy i czerwony napis
Kryteria: , ,
R.1.4 Przynajmniej jeden obraz banera zawiera dwukrotnie umieszczony obraz z pliku mysz.jpg, po lewej stronie – obrócony o 180 stopni, po prawej - niezmieniony. Jest on umieszczony w banerze w całości (obie myszy są widoczne w całości)
R.1.5 Pliki banera zawierają napis o treści „POGOTOWIE KOMPUTEROWE”. Zastosowano czcionkę bezszeryfową, koloru czerwonego w pierwszym i koloru żółtego w drugim banerze
R.1.6 Plikom banera nadano wysokość 200 px (± 2 px) i szerokość 1000 px (± 2 px)
ok. 7 min
Polecenie z arkusza
Wspólne wytyczne dla dwóch banerów: Cechy obrazu: tło przezroczyste, wysokość 200 px, szerokość 1000 px. Plik mysz.jpg przeskalowany z zachowaniem proporcji do wysokości 200 px, umieszczony dwukrotnie na banerze: po lewej stronie – z odpowiednim obrotem oraz niezmieniony po prawej, zgodnie z obrazem 2. Pomiędzy obrazami znajduje się napis o treści „POGOTOWIE KOMPUTEROWE”. Dla banera1: czcionka Arial, pogrubiona, koloru czerwonego.
Plik → Otwórz jako warstwymysz.jpg (327 × 410), Warstwa → Skaluj warstwę: wysokość 200 z zamkniętym łańcuchem - szerokość wychodzi 160 px; warstwę dosuwasz do prawej krawędzi,
Warstwa → Duplikuj warstwę, na kopii Warstwa → Przekształć → Obróć o 180° - na obrazie 2 lewa mysz ma przewód u góry, czyli jest obrócona do góry nogami (klucz: obrót o 180 stopni, R.1.4); kopię dosuwasz do lewej krawędzi,
narzędzie Tekst pomiędzy myszami: „POGOTOWIE KOMPUTEROWE” w dwóch wierszach, Arial Bold, kolor czerwony (ff0000), wyśrodkowany,
Eksportuj jakobaner1.png. Plik .xcf zapisujesz też osobno - posłuży do banera 2.
Typowe błędy
Odbij poziomo zamiast obrotu o 180° zostawia przewód na dole - to inna operacja niż na obrazie 2.
Podgląd strony po tym kroku
Krok 3: Baner 2: żółty napis
Kryteria: ,
R.1.5 Pliki banera zawierają napis o treści „POGOTOWIE KOMPUTEROWE”. Zastosowano czcionkę bezszeryfową, koloru czerwonego w pierwszym i koloru żółtego w drugim banerze
R.1.6 Plikom banera nadano wysokość 200 px (± 2 px) i szerokość 1000 px (± 2 px)
ok. 2 min
Polecenie z arkusza
Dla banera2: czcionka Arial, pogrubiona, koloru żółtego, zgodnie z obrazem 2.
Z pliku banera 1 zmieniasz tylko kolor napisu na żółty, jak na obrazie 2. Eksportuj jakobaner2.png.
Podgląd strony po tym kroku
Krok 4: Animacja GIF z opóźnieniem 4000 ms
Kryteria: , ,
R.1.7 Animację zapisano jako animacja.gif
R.1.8 Animacja zawiera obrazy dwóch banerów wyświetlane na zmianę
R.1.9 Ustawiono opóźnienie między klatkami na 4000 ms (4 s), co udokumentowano zrzutem ekranu o nazwie klatki.jpg , na którym widać okno z wprowadzoną wartością opóźnienia. Zrzut obejmuje cały obszar ekranu z widocznym paskiem zadań
ok. 5 min
Polecenie z arkusza
Animację należy przygotować w programie do obróbki grafiki rastrowej. Animację stanowią obrazy baner1 i baner2 wyświetlane na zmianę. Cechy animacji: opóźnienie między klatkami 4000 ms (4 s). Czynność ustawienia opóźnienia należy udokumentować zrzutem ekranu o nazwie klatki.jpg. Nazwa pliku: animacja.gif.
W GIMP-ie każda warstwa to jedna klatka animacji:
otwierasz baner1.png, Plik → Otwórz jako warstwybaner2.png - obraz ma dwie warstwy,
Plik → Eksportuj jakoanimacja.gif, w oknie eksportu zaznaczasz Jako animację i Pętla nieskończona, Opóźnienie między klatkami, jeśli nie określono: 4000 ms, Rozmieszczenie klatek: Jedna klatka na warstwę (zastąpienie) - przy przezroczystym tle bez tego czerwony napis prześwitywałby pod żółtym,
zanim klikniesz Eksportuj, robisz zrzut całego ekranu z tym oknem i wpisanym 4000 - klatki.jpg, bez kadrowania, z paskiem zadań (R.1.9).
Podgląd: gotowa animacja - kolor napisu zmienia się co 4 sekundy.
Typowe błędy
Zrzut okna bez paska zadań albo wykadrowany nie spełnia R.1.9.
Podgląd strony po tym kroku
Etap 2: Strony HTML
Kroki 5-25 · po tym etapie masz 23 z 41 kryteriów (pkt)
Krok 5: Plik index.html w HTML5
Kryteria:
R.2.1 Witrynę internetową zapisano w plikach index.html i kontakt.html oraz zastosowano deklarację języka HTML5 <!DOCTYPE html> i zdefiniowano język witryny polski np. <html lang="pl"> oraz jawnie zastosowano właściwy standard kodowania polskich znaków
ok. 1 min
Polecenie z arkusza
Cechy witryny: Strona główna o nazwie index.html oraz podstrona kontakt.html. Cechy wspólne dla obu stron: Zapisane w języku HTML 5.
Zbuduj w całości index.html, a podstrona powstanie z jej kopii. <!DOCTYPE html> mówi przeglądarce, że to HTML5.
R.2.1 Witrynę internetową zapisano w plikach index.html i kontakt.html oraz zastosowano deklarację języka HTML5 <!DOCTYPE html> i zdefiniowano język witryny polski np. <html lang="pl"> oraz jawnie zastosowano właściwy standard kodowania polskich znaków
R.2.1 Witrynę internetową zapisano w plikach index.html i kontakt.html oraz zastosowano deklarację języka HTML5 <!DOCTYPE html> i zdefiniowano język witryny polski np. <html lang="pl"> oraz jawnie zastosowano właściwy standard kodowania polskich znaków
ok. 1 min
Polecenie z arkusza
Jawnie zastosowany właściwy standard kodowania polskich znaków.
<meta charset="UTF-8"> jako pierwszy element <head>.
R.3.5 Strona zawiera działające połączenie z zewnętrznym arkuszem stylów o nazwie styl.css , formatowanie CSS pochodzi jedynie z tego arkusza Uwaga: kryterium to nie jest spełnione również, gdy zdający źle przypisał co najmniej jeden selektor do bloku (np. kropka zamiast #)
ok. 1 min
Polecenie z arkusza
Arkusz stylów w pliku o nazwie styl.css prawidłowo połączony z kodem strony.
W tym arkuszu plik nazywa się styl.css.
Typowe błędy
Inna nazwa pliku (style.css, styles.css) odcina wszystkie style - kryterium R.3.5, a rezultat R.4 jest wtedy oceniany tylko z kodu.
R.2.4 Wygląd strony zdefiniowano dzieląc ją na bloki: kontener, w którym umieszczono: baner, menu, trzy bloki główne, stopkę. Zastosowano znaczniki sekcji
ok. 2 min
Polecenie z arkusza
Podział strony na bloki: kontener całej strony, w którym znajdują się: baner, poniżej menu, poniżej obok siebie trzy bloki główne oraz na dole stopka. Podział zrealizowany za pomocą znaczników sekcji tak, aby wygląd układu bloków strony po uruchomieniu w przeglądarce, był zgodny z Obrazem 3.
Kontener <div id="container"> obejmuje całą treść. W środku: <section id="banner">, <nav id="menu">, trzy bloki główne i <footer>. Bloki główne mają te same cechy, więc dostają wspólną klasęblock zamiast trzech identyfikatorów - jedna reguła CSS ustawi wszystkie trzy.
R.2.5 W banerze umieszczono obraz animacja.gif z tekstem alternatywnym "Pogotowie komputerowe" lub na stronie głównej w bloku głównym prawym znajduje się obraz favicon.png z tekstem alternatywnym "Doświadczenie i niezawodność"
ok. 1 min
Polecenie z arkusza
Zawartość banera: animacja.gif z tekstem alternatywnym „Pogotowie komputerowe”.
Animowany GIF wstawiasz zwykłym <img> - przeglądarka sama odtwarza klatki.
R.3.2 Na przynajmniej jednej stronie znajdują się odnośniki w bloku menu. Wybranie odnośnika "Strona Główna" otwiera stronę index.html ; "Kontakt" otwiera stronę kontakt.html
ok. 1 min
Polecenie z arkusza
Zawartość bloku menu: Odnośnik o treści „Strona Główna”, który prowadzi do strony index.html. Odnośnik o treści „Kontakt”, który prowadzi do strony kontakt.html.
Dwa <a> z nazwami plików z tego samego folderu. To samo menu będzie na obu stronach (R.3.2). W podglądzie kliknięcia są zablokowane.
R.2.7 W stopce umieszczono numer zdającego w znaczniku np. <em> (znacznik <i> jest błędem) oraz na stronie głównej paragraf o treści: ”Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.” oraz na podstronie linię poziomą <hr>
ok. 1 min
Polecenie z arkusza
Zawartość stopki: tekst „Autor: ”, dalej wstawiony numer zdającego. Numer zdającego jest pochylony za pomocą znacznika semantycznego.
Znacznik semantyczny, który przeglądarka pochyla, to <em> (tekst uwypuklony). Na egzaminie w środku stoi twój numer zdającego (PESEL), tu - autor rozwiązania.
Typowe błędy
<i> też pochyla, ale nie jest znacznikiem semantycznym - klucz wprost uznaje go za błąd (R.2.7).
R.2.6 Na stronie głównej w blokach głównych zapisano przynajmniej jeden nagłówek h3 z: „Kim jesteśmy?”, "Co robimy?", "Jaki jest nasz znak?" oraz na podstronie zapisano nagłówek h2: "Kontakt"
R.2.7 W stopce umieszczono numer zdającego w znaczniku np. <em> (znacznik <i> jest błędem) oraz na stronie głównej paragraf o treści: ”Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.” oraz na podstronie linię poziomą <hr>
ok. 1 min
Polecenie z arkusza
Zawartość trzech bloków głównych dla pliku index.html: Pierwszy blok: Nagłówek trzeciego stopnia o treści: „Kim jesteśmy?”. Paragraf (akapit) o treści „Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.”
R.2.8 Na stronie głównej w bloku głównym środkowym zapisano jedną listę punktowaną (nieuporządkowaną) z elementami: naprawa komputerów, odzyskiwanie danych, wirusy, konfiguracja LAN; zastosowano znaczniki <ul> i <li>
ok. 1 min
Polecenie z arkusza
Drugi blok: Nagłówek trzeciego stopnia o treści: „Co robimy?”. Lista punktowana (nieuporządkowana) z elementami: naprawa komputerów, odzyskiwanie danych, wirusy, konfiguracja LAN.
Lista nieuporządkowana to <ul> - z punktorami zamiast numerów.
R.2.5 W banerze umieszczono obraz animacja.gif z tekstem alternatywnym "Pogotowie komputerowe" lub na stronie głównej w bloku głównym prawym znajduje się obraz favicon.png z tekstem alternatywnym "Doświadczenie i niezawodność"
ok. 1 min
Polecenie z arkusza
Trzeci blok: Nagłówek trzeciego stopnia o treści: „Jaki jest nasz znak?”. Obraz favicon.png z tekstem alternatywnym „Doświadczenie i niezawodność”.
Ten sam plik favicon.png, który jest ikoną karty, tu jako zwykły obraz.
Krok 18: Podstrona kontakt.html: nagłówek, formularz, linia
Kryteria: ,
R.2.6 Na stronie głównej w blokach głównych zapisano przynajmniej jeden nagłówek h3 z: „Kim jesteśmy?”, "Co robimy?", "Jaki jest nasz znak?" oraz na podstronie zapisano nagłówek h2: "Kontakt"
R.2.7 W stopce umieszczono numer zdającego w znaczniku np. <em> (znacznik <i> jest błędem) oraz na stronie głównej paragraf o treści: ”Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.” oraz na podstronie linię poziomą <hr>
ok. 2 min
Polecenie z arkusza
Zawartość trzech bloków głównych dla pliku kontakt.html: Pierwszy i trzeci blok: puste. Drugi blok: Nagłówek drugiego stopnia o treści: „Kontakt”. Tabela o wymiarze 2 kolumny na 6 wierszy, wypełniona kontrolkami. Pozioma linia.
Zapisz jakokontakt.html z kopii szkieletu strony głównej: pierwszy i trzeci blok zostają puste, a w drugim nagłówek, tabela i linia. Tabelę obejmujesz znacznikiem <form> - bez formularza przycisk „Czyść” nie miałby czego czyścić.
Krok 24: Tabela, wiersz 6: Przyciski Czyść i Wyślij
Kryteria: , ,
R.2.9 Na podstronie w bloku głównym środkowym zapisano tabelę o 2 kolumnach i 6 wierszach, zastosowano znaczniki <table>, <tr>, <td>
R.2.10 Strona zawiera trzy pola edycyjne, jedno listy rozwijalnej, jedno wyboru oraz dwa przyciski
R.3.4 Jeden przycisk czyści dane z pól, drugi przycisk uruchamia skrypt (obsługa zdarzenia zdefiniowana np. inline w znaczniku jako atrybut onClick lub w skrypcie JS np.: element.addEventListener("click", funkcja); lub element.onClick = …)
ok. 2 min
Polecenie z arkusza
Tabela 1, wiersz 6: Pusta komórka, przycisk „Czyść” czyszczący kontrolki i przycisk „Wyślij”, którego wciśnięcie powoduje uruchomienie skryptu.
type="reset" - przycisk przywracający kontrolki formularza do stanu początkowego, bez skryptu (pole wyboru wraca do zaznaczonego, bo tak zaczynało),
type="button" - przycisk, który nie wysyła formularza; onclick="send()" wywoła funkcję skryptu. Domyślny submit przeładowałby stronę i skasował wynik.
Kroki 26-36 · po tym etapie masz 34 z 41 kryteriów (pkt)
Krok 26: Plik styl.css: cała strona
Kryteria:
R.4.1 Ustawiono dla całej strony (body lub html) krój czcionki Arial, wyrównanie tekstu do środka oraz kolor tła #E0F7FA
ok. 1 min
Polecenie z arkusza
Styl CSS zdefiniowany w zewnętrznym pliku o nazwie styl.css. Arkusz CSS zawiera formatowanie: Całej strony: kolor tła #E0F7FA, krój czcionki Arial, wyrównanie tekstu do środka.
Selektor body. Obie strony podpinają ten sam plik.
styl.cssCSSnowy plik
body {background-color: #E0F7FA;font-family: Arial;text-align: center;}
Podgląd strony po tym kroku (index.html)
Krok 27: Kontener
Kryteria: ,
R.4.4 Ustawiono szerokość kontenera strony na 95%, trzech bloków głównych na 33% (width lub grid-template-columns lub flex)
R.4.7 Ustawiono dla kontenera marginesy zewnętrzne (margin) na auto, oraz marginesy wewnętrzne (padding) dla bloku menu na 15px, dla stopki na 10px
ok. 1 min
Polecenie z arkusza
Kontenera całej strony: szerokość 95%, marginesy zewnętrzne wyliczone przez przeglądarkę.
margin: auto dzieli wolne 5% po równo na lewo i prawo.
styl.cssCSSzmienione: 4 linie
body {background-color: #E0F7FA;font-family: Arial;text-align: center;}#container {width: 95%;margin: auto;}
Podgląd strony po tym kroku (index.html)
Krok 28: Baner
Kryteria: ,
R.4.2 Ustawiono kolor tła: bloku banera na #00838F, bloków menu i stopki na #006064
R.4.5 Ustawiono wysokość bloku banera na 200px oraz trzech bloków głównych na 350px
ok. 1 min
Polecenie z arkusza
Banera: kolor tła #00838F, wysokość 200 px.
Animacja ma przezroczyste tło, więc kolor banera prześwituje wokół napisu. Animacja jest wyśrodkowana, bo text-align: center z body działa też na obrazy.
R.3.1 Układ bloków po uruchomieniu przynajmniej jednej strony w przeglądarce jest zgodny z Obrazem 3 w arkuszu egzaminacyjnym (prawidłowo zastosowano właściwości CSS układające bloki na stronie, np. float i clear albo display z wartością flex lub grid albo position, nie dotyczy bloku kontenera)
ok. 1 min
Polecenie z arkusza
Poniżej obok siebie trzy bloki główne oraz na dole stopka.
float: left stawia trzy bloki w jednym wierszu, a clear: both w stopce sprowadza ją pod nie.
R.5.3 Skrypt wyświetla dane wprowadzone do kontrolek: w pierwszej linii imię i nazwisko, poniżej email
R.5.4 Skrypt w trzeciej linii wyświetla napis "Usługa: ", następnie wartość wybranego pola listy rozwijalnej
R.5.5 Komunikat jest wyświetlany w paragrafie
R.5.6 Dla pola email zastosowano funkcję zmiany na małe litery
R.5.7 Zastosowano znaczące nazewnictwo dla wszystkich zmiennych i funkcji w języku polskim lub angielskim. Nazwy odzwierciedlają cel zastosowania
ok. 3 min
Polecenie z arkusza
Wyświetla komunikat pod linią poziomą, w paragrafie, w trzech wierszach, kolejno: imię i nazwisko, adres email – zapisany zawsze małymi literami, napis „Usługa: ”, następnie wartość wybranego pola listy rozwijalnej, zgodnie z obrazem 4.
trzy wiersze rozdziela znacznik <br> w napisie, dlatego wpisujesz przez innerHTML,
Wpisz w podglądzie Anna, Nowak, [email protected], wybierz „wirusy” i kliknij „Wyślij” - wynik jak na obrazie 4. Nazwy zmiennych i funkcji są po angielsku i mówią, co przechowują (R.5.7).
Typowe błędy
Bez <br> trzy informacje wychodzą w jednym wierszu - klucz wymaga ich w kolejnych liniach (R.5.3, R.5.4).
Krok 40 · po tym etapie masz 41 z 41 kryteriów (pkt)
Krok 40: Dane z formularza jako tekst, nie HTML; słuchacz zdarzenia
ok. 5 min
Polecenie z arkusza
Wykonywany po stronie przeglądarki na stronie kontakt.html, wywoływany przyciskiem „Wyślij”.
Trzy poprawki z prawdziwych projektów:
Dane z formularza nie trafiają do innerHTML. Imię wpisane jako <b>Jan</b> wersja egzaminacyjna pokaże pogrubione - przeglądarka wykonała znaczniki; tą drogą da się wstrzyknąć na stronę skrypt (atak XSS). Teraz replaceChildren wstawia napisy jako zwykły tekst, a łamania linii jako prawdziwe elementy <br> z createElement,
trim() przed toLowerCase() - usuwa przypadkowe spacje z początku i końca adresu,
addEventListener("click", send) zamiast onclick w HTML.
Sprawdzone na atrapie strony: dane z obrazu 4 dają ten sam wynik, a <b>Jan</b> zostaje tekstem. Stara linia zostaje w komentarzu. Na egzaminie wystarczy wersja wcześniejsza - klucz przyjmuje onclick i innerHTML.
Krok 41 · po tym etapie masz 41 z 41 kryteriów (pkt)
Krok 41: Plik przeglądarka.txt i nagranie płyty
ok. 5 min
Polecenie z arkusza
Po zakończeniu pracy utwórz w folderze z numerem zdającego plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowana była poprawność działania witryny. Nagraj płytę z rezultatami pracy.
W przeglądarka.txt wpisujesz nazwę przeglądarki.
W folderze: animacja.gif, baner1.png, baner2.png, favicon.png, index.html, klatki.jpg, kontakt.html, przeglądarka.txt, styl.css. 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.