Arkusz INF.04 : 2024 - styczeń - zad. 02
Oznaczenie: INF.04-02-24.01-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Katalog 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ę konsolową oraz mobilną według wskazań. Wykonaj dokumentację do obu aplikacji zgodnie z opisem w części III instrukcji do zadania. Do pracy w systemie operacyjnym wykorzystaj konto Egzamin bez hasła.
Utwórz folder i nazwij go numerem zdającego. W folderze utwórz podfoldery: konsola, mobilna, dokumentacja. Po wykonaniu każdej aplikacji, jej pełny kod (cały folder projektu) spakuj do archiwum. Następnie pozostaw w podfolderze jedynie pliki źródłowe, których treść była modyfikowana, plik uruchomieniowy, jeśli jest to możliwe oraz spakowane archiwum.
Część I. Aplikacja konsolowa
Napisz program implementujący klasę z narzędziami dla typu łańcuchowego (string).
Założenia do programu:
- Program wykonywany
w konsoli - Zastosowany obiektowy język programowania zgodny z zainstalowanym na stanowisku egzaminacyjnym:
C++lubC#, lubJava, lubPython - Klasa ma charakter biblioteki narzędziowej, nie jest przewidziane powoływanie obiektów tej klasy, wszystkie jej metody są statyczne i są widzialne poza klasą
- Klasa zawiera dwie metody:
- Metoda licząca wszystkie
samogłoski:- Jako parametr przyjmuje zmienną typu
tekstowego - Zwraca
liczbę samogłosekznajdujących się w parametrze - Przez samogłoski rozumie się znaki:
„aąeęiouóyAĄEĘIOUÓY” - W przypadku, gdy parametrem jest pusty łańcuch znaków lub null, metoda zwraca
0
- Jako parametr przyjmuje zmienną typu
- Metoda
usuwająca powtórzeniaznaków występujące obok siebie:- Jako parametr przyjmuje
łańcuch, w którym będą szukane powtórzenia - Zwraca
łańcuch bez powtórzeń - W przypadku, gdy parametrem jest pusty łańcuch lub null, metoda zwraca
pusty łańcuch - Wszystkie znaki łańcucha są sprawdzane, czy znak następny jest tym samym znakiem. Jeśli tak, jest on pomijany w wyjściowym łańcuchu znaków. Przykłady:
- Jako parametr przyjmuje
- Metoda licząca wszystkie

- W programie głównym należy przetestować obie metody, wczytując łańcuch z klawiatury i wyświetlając liczbę samogłosek oraz łańcuch po eliminacji duplikatów
- Program powinien podejmować zrozumiałą komunikację z użytkownikiem
- W programie może być zastosowane angielskie lub polskie nazewnictwo
- Program powinien być zapisany czytelnie, z zachowaniem zasad czystego formatowania kodu, należy stosować znaczące nazwy zmiennych, klasy i metod
- Dokumentację aplikacji należy utworzyć zgodnie z opisem w
części IIItreści zadania
Kod aplikacji przygotuj do nagrania na płytę. W podfolderze konsola zapisz archiwum całego projektu o nazwie konsola.zip, plik z kodem źródłowym programu oraz plik uruchomieniowy, jeżeli istnieje.
Część II. Aplikacja mobilna
Za pomocą środowiska programistycznego dostępnego na stanowisku egzaminacyjnym wykonaj aplikację mobilną obsługującą zapisy na wizytę u weterynarza.
Obraz 1a. Środowisko AndroidStudio, stan początkowy. Emulacja Pixel 5

Obraz 1b. Środowisko MAUI, stan początkowy. Emulacja Pixel 5

Obraz 2a. Środowisko MAUI Zmiana wartości maksymalnej suwaka

Obraz 2b. Środowisko MAUI Po zatwierdzeniu, komunikat w oknie

Obraz 2c. Środowisko Android Studio Po zatwierdzeniu, komunikat pod przyciskiem

Stan początkowy aplikacji został przedstawiony na obrazach 1a i 1b. Interakcje w aplikacji zostały przedstawione na obrazach 2a, 2b, 2c. W zależności od zastosowanego środowiska programistycznego oraz emulowanego systemu wynik końcowy może nieznacznie różnić się od przedstawionego.
Elementy aplikacji:
Pole tekstowez tytułem „Wizyta u weterynarza”Pole edycyjnez podpowiedzią „Imię i nazwisko właściciela...”Pole tekstowe„Gatunek”Listaz elementami tekstowymi: „Pies”, „Kot”, „Świnka morska”- Jedno lub dwa
pola tekstoweo treści „Ile ma lat?” oraz „0” (wartość reprezentująca wiek zwierzęcia) Suwak, w postaci kontrolkiSliderlubSeekBaro wartości początkowej0i wartości maksymalnej20Pole edycyjnez podpowiedzią „Cel wizyty”- Pole dedykowane do
zapisu czasuz wartością początkową4:00PMlub16:00 Przycisko treści: „OK”- Rozmieszczenie elementów zgodne z obrazami
1alub1b
Działanie aplikacji:
- Po kliknięciu gatunku z listy, wartość maksymalna suwaka zmienia się na:
18dla psa20dla kota9dla świnki morskiej
- W momencie przesuwania suwaka zmienia się odpowiednio wartość wieku w polu tekstowym obok suwaka (
obraz 3). Wartość wieku jest zawsze liczbącałkowitą - Po kliknięciu przycisku, wartości z formularza:
imięinazwiskowłaściciela,gatunek,wiek,cel wizyty,czassą wyświetlane w postaci napisu pod przyciskiem albo w postaci okna z komunikatem. Poszczególne wartości są rozdzielone przecinkiem (obraz2bi2c) - Formularz nie musi być walidowany

Założenia aplikacji:
- Interfejs użytkownika zapisany za pomocą języka znaczników wspieranego w danym środowisku (np. XAML, XML)
- Zastosowany rozkład
liniowy wertykalny(Linear / Stack lub inny o tej idei), z zagnieżdżonym rozkłademliniowym horyzontalnymdla kontrolek dotyczących wieku (napisy i suwak) - Kolor głównego rozkładu:
LightGreen(#90EE90) - Cechy tytułu: zapisany czcionką
większąniż pozostałe kontrolki, kolor tła:SeaGreen(#2E8B57), marginesy wewnętrzne10 - Cechy listy: wysokość dopasowana do liczby elementów
- Aplikacja powinna być zapisana czytelnie, z zachowaniem zasad czystego formatowania kodu, należy stosować znaczące nazwy zmiennych i funkcji
Podejmij próbę kompilacji i emulacji aplikacji. Informacje dotyczące dokumentacji i zrzutów ekranowych umieszczono w części III zadania.
Kod aplikacji przygotuj do nagrania na płytę. W podfolderze mobilna zapisz archiwum całego projektu o nazwie mobilna.zip, plik (lub pliki) z kodem źródłowym interfejsu użytkownika (XAML lub XML) oraz plik źródłowy kodu skojarzonego z interfejsem użytkownika.
Część III. Dokumentacja aplikacji konsolowej
Wykonaj dokumentację do aplikacji utworzonych na egzaminie. W kodzie źródłowym aplikacji konsolowej utwórz komentarz do klasy, według wzoru z listingu 1. Komentarz powinien znaleźć się nad klasą lub pod jej nagłówkiem. W miejscu nawiasów <> należy podać odpowiednie opisy. W miejscu autor należy podać numer zdającego.
- UWAGA!
- Dokumentację należy umieścić w komentarzu (wieloliniowym lub kilku jednoliniowych). Znajdujący się w listingu 1 wzór dokumentacji jest bez znaków początku i końca komentarza, gdyż te są różne dla różnych języków programowania
Listing 1. Wzór dokumentacji klasy (liczba gwiazdek dowolna)

Wykonaj zrzuty ekranu dokumentujące uruchomienie aplikacji utworzonych podczas egzaminu. Zrzuty powinny obejmować cały obszar ekranu monitora z widocznym paskiem zadań. Jeżeli aplikacja uruchamia się, na zrzucie należy umieścić okno z wynikiem działania programu oraz otwarte środowisko programistyczne z projektem lub okno terminala z kompilacją projektu. Jeżeli aplikacja nie uruchamia się z powodu błędów kompilacji, należy na zrzucie umieścić okno ze spisem błędów i widocznym otwartym środowiskiem programistycznym. Należy wykonać tyle zrzutów ile interakcji podejmuje aplikacja.
Wymagane zrzuty ekranu:
- Aplikacja konsolowa – dokumentująca interakcje dowolna liczba zrzutów o nazwach
konsola1,konsola2, ... - Aplikacja mobilna – dokumentująca interakcje dowolna liczba zrzutów o nazwach
mobile1,mobile2, ... (co najmniej stan początkowy, zmiana wartości maksymalnej suwaka, np. dla psa, zmiany suwaka, po zatwierdzeniu przyciskiem)
W edytorze tekstu pakietu biurowego utwórz plik z dokumentacją i nazwij go egzamin. Dokument powinien zawierać podpisane zrzuty ekranu oraz zapisane informacje dotyczące narzędzi, z których korzystał zdający podczas egzaminu:
- Nazwę
systemu operacyjnego - Nazwy
środowisk programistycznych - Nazwy
języków programowania - Nazwę
emulatoradla aplikacji mobilnej
Zrzuty ekranu i dokument umieść w podfolderze dokumentacja.
- UWAGA!
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego powinny się znajdować podfoldery: konsola, mobilna, dokumentacja. W folderze dokumentacja: pliki ze zrzutami oraz plik egzamin. W folderze konsola: spakowany cały projekt aplikacji konsolowej, pliki źródłowe, opcjonalnie plik uruchomieniowy. W folderze mobilna: spakowany cały projekt aplikacji mobilnej, pliki z kodem źródłowym interfejsu i logiki. Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem zdającego i pozostaw na stanowisku, zapakowaną w pudełku wraz z arkuszem egzaminacyjnym.
Czas przeznaczony na wykonanie zadania wynosi 180 minut.
Ocenie będą podlegać 4 rezultaty
- Implementacja, kompilacja, uruchomienie programu
- Aplikacja konsolowa
- Aplikacja mobilna
- Dokumentacja aplikacji.



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!