Arkusz INF.04 : 2026 - styczeń - zad. 02
Oznaczenie: INF.04-02-26.01-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Numer, którym został podpisany arkusz egzaminacyjny (PESEL lub w przypadku jego braku, numer paszportu) jest w zadaniu nazywany numerem zdającego.
Wykonaj aplikację konsolową oraz mobilną według wskazań. Wykonaj testy aplikacji konsolowej oraz dokumentację aplikacji mobilnej zgodnie z opisem w części III instrukcji do zadania. Wykorzystaj konto Egzamin bez hasła.
Utwórz folder i nazwij go numerem zdającego. W folderze utwórz podfoldery: konsolowa, mobilna, dokumentacja.
Część I. Aplikacja konsolowa
Wykorzystując zasady programowania obiektowego zaprogramuj klasy do realizacji quizu o nazwach: Pytanie oraz PytanieZamkniete.
Założenia do programu:
- Program wykonywany w
konsoli - Zastosowany
obiektowyjęzyk programowania zgodny z zainstalowanym na stanowisku egzaminacyjnym: C++ lub C#, lub Java, lub Python - Program powinien podejmować zrozumiałą komunikację z użytkownikiem
- W programie może być zastosowane angielskie lub polskie nazewnictwo zmiennych i funkcji
- Program powinien być zapisany czytelnie, z zachowaniem zasad czystego formatowania kodu, należy stosować znaczące nazwy pól i metod
- Uruchomienie programu i sprawdzenie działania klas zgodnie z poleceniami w
części IIIarkusza
Klasa Pytanie, której obiekt nie może być powołany, zawiera:
- Pola dostępne jedynie w klasie oraz w klasach potomnych, przechowujące:
- Wartość
tekstowąz treścią pytania - Nazwę pliku zawierającego
zdjęciedo pytania - Informację czy odpowiedź na pytanie jest poprawna, typu
logicznego
- Wartość
- Konstruktor
dwuargumentowy, którego argumentami sątreść pytaniainazwa plikudla pytania- Na podstawie argumentów ustawia wartości pól
- Ustawia pole logiczne: odpowiedź na pytanie nie jest poprawna
- Metodę abstrakcyjną typu
logicznego, sprawdzającą odpowiedź. Metoda ma jeden argument o typieznakowym, który przyjmuje wartości ‘A’ lub ‘B’ lub ‘C’ (odpowiedzi użytkownika na pytanie quizu). Metoda nie zawiera domyślnej implementacji
Klasa PytanieZamkniete dziedzicząca po klasie Pytanie. Klasa zawiera:
- Pola dostępne jedynie w klasie, niedostępne w klasach potomnych, przechowujące:
- Treść odpowiedzi A
- Treść odpowiedzi B
- Treść odpowiedzi C
- Informację o poprawnej odpowiedzi (znak ‘A’ lub ‘B’ lub ‘C’)
- Konstruktor
sześcioargumentowy, o argumentach: treść pytania, nazwa pliku graficznego dla pytania, treść odpowiedzi A, treść odpowiedzi B, treść odpowiedzi C, odpowiedź poprawna- Konstruktor wywołuje
konstruktorklasy, po której dziedziczy - Przypisuje treści odpowiedzi oraz poprawną odpowiedź do pól klasy
- Konstruktor wywołuje
- Implementację metody abstrakcyjnej sprawdzającej odpowiedź, która:
- Sprawdza czy odpowiedź jest
poprawnai w zależności od wyniku, przypisuje odpowiednią wartość do polalogicznego - Zwraca wartość pola
logicznego
- Sprawdza czy odpowiedź jest
Kod aplikacji przygotuj do nagrania na płytę. W folderze konsolowa powinno znaleźć się archiwum całego projektu o nazwie konsola.zip, skopiowany z projektu plik z kodem źródłowym programu oraz plik wykonywalny, jeżeli istnieje.
Część II. Aplikacja mobilna
Za pomocą środowiska programistycznego dostępnego na stanowisku egzaminacyjnym wykonaj aplikację mobilną quizu dotyczącego gór. Do zbudowania aplikacji zastosuj obrazy i treść pytań z archiwum PlikiSt202602INF04.zip zabezpieczonego hasłem ?Quiz5
Pobierz PlikiSt202602INF04.zip
Podczas programowania aplikacji zmiany kodu rejestruj za pomocą repozytorium wersji Git. Po przygotowaniu projektu utwórz lokalne repozytorium wersji Git, podczas pracy utwórz co najmniej 2 zapisy wersji: po utworzeniu widoku aplikacji oraz po zapisaniu działania aplikacji. Komentarze migawek (commit) powinny być znaczące. Skonfiguruj repozytorium Git: jako nazwę użytkownika użyj numer zdającego, jako email użytkownika egzamin@poczta.pl
Obraz 1. Stany aplikacji mobilnej w Android Studio

Obraz 2. Stany aplikacji mobilnej w .NET MAUI lub XAMARIN

Elementy aplikacji z wartościami początkowymi:
- Obraz z wartością początkową
zad1.jpg - Pole
tekstowez treścią pytania: „Które to schronisko?” - Trzy pola
radioz odpowiedziami: „Na Rysiance.”, „Na Wielkiej Raczy.”, „Na Wielkiej Rycerzowej.” - Przycisk
DALEJ
Założenia dotyczące widoku:
- Interfejs użytkownika zapisany za pomocą
języka znacznikówwspieranego w danym środowisku (np. XAML, XML) - Zastosowany dowolny rozkład pozwalający na rozmieszczenie elementów zgodnie z obrazami
1lub2 - Tło okna lub rozkładu
#2E7CB8 Białykolor czcionki dla elementów- Rozmiar czcionki z treścią pytania większy niż pozostałe treści
- Jednocześnie można wybrać
tylko jednopole radio Wyśrodkowanew poziomie obraz, treść pytania i przycisk- Wyrównane
do lewejstrony pola typuradio
- UWAGA!
- Po utworzeniu widoku aplikacji zapisz stan kodu za pomocą Git
Działanie aplikacji (można wykorzystać klasy Pytanie, PytanieZamkniete z aplikacji konsolowej):
- Treść pytań i odpowiedzi można skopiować z pliku
pytania.txtwypakowanego z archiwum ZIP - Wszystkie pytania należy zapisać w
tablicy, liście lub innej kolekcji. Aplikacja jest uniwersalna - zawsze działa na wszystkich elementach kolekcji - Po wybraniu przycisku DALEJ:
- Inkrementowana jest
liczba punktów, jeśli wybrano prawidłową odpowiedź - Jeżeli istnieją następne pytania w quizie, wyświetlane jest kolejne pytanie
- W przeciwnym wypadku wyświetlane jest ponownie
pytanie pierwsze - Wszystkie pola radio
nie są zaznaczone
- Inkrementowana jest
- Aplikacja powinna być zapisana czytelnie, z zachowaniem zasad czystego formatowania kodu, należy stosować znaczące nazwy zmiennych i funkcji
- UWAGA!
- Po zaprogramowaniu aplikacji zapisz stan kodu za pomocą Git
Podejmij próbę kompilacji i emulacji aplikacji. Informacje dotyczące dokumentacji umieszczono w części III zadania.
Kod aplikacji przygotuj do nagrania na płytę. W folderze mobilna powinno znaleźć się archiwum całego projektu o nazwie mobilna.zip, skopiowane pliki z kodem źródłowym, które były modyfikowane.
Część III. Testy aplikacji i dokumentacja
Sprawdź działanie klas zaimplementowanych w I części egzaminu.
Zweryfikuj możliwość utworzenia obiektu klasy Pytanie. Po próbie uruchomienia programu wykonaj zrzut ekranu z otrzymanym błędem i zapisz pod nazwą test1.png w folderze dokumentacja. Następnie umieść ten kod w komentarzu.
W programie głównym zainicjuj obiekt klasy PytanieZamkniete, dane do konstruktora wczytaj z klawiatury. Wczytaj z klawiatury odpowiedź na pytanie. Sprawdź za pomocą metody poprawność odpowiedzi i wyświetl na ekranie tekst „Odpowiedź prawidłowa” lub „Odpowiedź nieprawidłowa”. Wykonaj zrzut ekranu o nazwie test2.png.
Zrzuty zapisz w folderze dokumentacja. Na zrzutach należy umieścić okno z wynikiem działania programu oraz otwarte środowisko programistyczne 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.
Wykonaj zrzuty ekranu dokumentujące działanie aplikacji mobilnej: mobile1, mobile2 ... (np. stan początkowy, po wybraniu odpowiedzi i wciśnięciu przycisku, z kolejnym pytaniem). Zrzuty powinny zawierać cały obszar ekranu z widocznym paskiem zadań. Zrzuty zapisz w folderze dokumentacja
Wykorzystując polecenia Git lub wbudowane narzędzia systemu kontroli wersji w środowisku programistycznym wypisz wszystkie zapisane stany kodu (migawki) wraz z komentarzami oraz z konfiguracją użytkownika Git (email i nazwa). Wykonaj zrzut/zrzuty ekranu dokumentujące tą czynność. Zrzuty nazwij git1.png, git2.png, ... i zapisz w folderze dokumentacja
Utwórz plik tekstowy z dokumentacją i nazwij go egzamin. Dokument powinien zawierać informacje o narzędziach wykorzystanych na egzaminie:
- Nazwę systemu operacyjnego
- Nazwy środowisk programistycznych
- Nazwę emulatora dla aplikacji mobilnej
- Nazwy języków programowania
Zrzuty ekranu i dokument zapisz w folderze dokumentacja.
- UWAGA!
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego powinny się znajdować foldery: dokumentacja, konsolowa, mobilna. W folderze dokumentacja: pliki ze zrzutami, plik egzamin. W folderze konsolowa: spakowany cały projekt aplikacji konsolowej, pliki źródłowe, plik wykonywalny jeśli istnieje. 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ę numerem zdającego i pozostaw na stanowisku, zapakowaną w pudełku wraz z arkuszem egzaminacyjnym.
Czas przeznaczony na wykonanie zadania wynosi 180 minut.
Ocenie podlegać będą 4 rezultaty:
- implementacja, kompilacja, uruchomienie programów
- aplikacja konsolowa
- aplikacja mobilna
- testy aplikacji i dokumentacja.


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!