Arkusz INF.04 : 2021 - czerwiec - zad. 01

Oznaczenie: INF.04-01-21.06-SG   Limit czasu: 150 minut

Zadanie egzaminacyjne

Wykonaj aplikację konsolową oraz mobilną według wskazań. Udokumentuj obie aplikacje zrzutami ekranu i komentarzami zgodnie z opisem w części III instrukcji do zadania. W tym celu zaloguj się na konto Egzamin bez hasła.

Utwórz folder i nazwij go swoim numerem PESEL. W folderze utwórz trzy podfoldery: konsola, mobilna, dokumentacja. Po wykonaniu każdej aplikacji, jej pełny kod (cały projekt) skopiuj do odpowiedniego folderu. Dokumentację obu aplikacji w postaci zrzutów ekranu i dokumentu umieść w podfolderze dokumentacja.

Część I. Aplikacja konsolowa

Napisz program sortujący tablicę metodą przez wybieranie według zamieszczonej dokumentacji:

Sortowanie przez wybieranie - jedna z prostszych metod sortowania o złożoności O(n2). Polega na wyszukaniu elementu mającego się znaleźć na żądanej pozycji i zamianie miejscami z tym, który jest tam obecnie. Operacja jest wykonywana dla wszystkich indeksów sortowanej tablicy.

Algorytm przedstawia się następująco:

  1. wyszukaj minimalną wartość z tablicy spośród elementów od i do końca tablicy
  2. zamień wartość minimalną, z elementem na pozycji i

Gdy zamiast wartości minimalnej wybierana będzie maksymalna, wówczas tablica będzie posortowana od największego do najmniejszego elementu.

Założenia do programu

  • Program wykonywany w konsoli
  • Obiektowy język programowania zgodny z zainstalowanym na stanowisku egzaminacyjnym: C++ lub C# lub Java lub Python
  • Sortowanie odbywa się malejąco, nie wykorzystuje gotowych funkcji do sortowania oraz do szukania maksimum
  • Sortowana jest tablica 10 liczb całkowitych. Tablica jest polem klasy
  • Tablica jest wczytywana z klawiatury po uprzednim wypisaniu odpowiedniego komunikatu
  • Wszystkie elementy posortowanej tablicy są wyświetlane na ekranie
  • Klasa zawiera co najmniej dwie metody: sortującą i szukającą wartość najwyższą. Widzialność metody szukającej ogranicza się jedynie do klasy
  • Metoda szukająca zwraca wartość, w zależności od przyjętej taktyki może być to wartość maksymalna lub index wartości maksymalnej
  • Program powinien być zapisany czytelnie, z zasadami czystego formatowania kodu, należy stosować znaczące nazwy zmiennych i funkcji
  • Dokumentacja do programu wykonana zgodnie z wytycznymi z części III zadania egzaminacyjnego

Kod aplikacji (cały folder projektu) przygotuj do nagrania na płytę (skopiuj do folderu z numerem PESEL, do podfolderu konsola).

Część II. Aplikacja mobilna

Wykonaj aplikację mobilną za pomocą środowiska programistycznego dostępnego na stanowisku egzaminacyjnym oraz uruchom ją w dostępnym emulatorze systemu mobilnego.

Obraz 1a. Emulacja na urządzeniu Nexus 5X API 29 x86. Aplikację utworzono w Android Studio

Obraz 1b. Emulacja na systemie Android Oreo. Aplikację utworzono w MS Visual Studio

Na obrazach 1a i 1b przedstawiono działanie aplikacji mobilnej. W zależności od użytego środowiska programistycznego oraz emulowanego systemu wynik końcowy może nieznacznie się różnić.

Opis wyglądu aplikacji

  • Napis „Rejestruj konto”
  • Napis „Podaj e-mail:”, a pod nim pole edycyjne z podpowiedzią o treści „email”
  • Napis „Podaj hasło:”, a pod nim pole edycyjne do wprowadzenia hasła, realizuje ukrywanie hasła jak na obrazach 1a i 1b
  • Napis „Powtórz hasło:”, a pod nim pole edycyjne do wprowadzenia hasła, realizuje ukrywanie hasła jak na obrazach 1a i 1b
  • Przycisk o treści „ZATWIERDŹ”, jest on wyśrodkowany
  • Obszar do wyświetlania komunikatów, jest on wyśrodkowany

Działanie aplikacji

  • Po wybraniu przycisku ZATWIERDŹ jest sprawdzane:
    • Czy e-mail zawiera znak @
    • Czy podane hasło jest równe powtórzonemu hasłu
  • W obszarze do wyświetlania komunikatów pojawia się napis:
    • Na początku działania aplikacji: „Autor”, dalej wstawiony numer PESEL zdającego
    • Po zatwierdzeniu, gdy e-mail jest niepoprawny: „Nieprawidłowy adres e-mail”
    • Po zatwierdzeniu, gdy hasła się różnią: „Hasła się różnią”
    • Po zatwierdzeniu, gdy nie wystąpiły błędy: „Witaj <e-mail>”, gdzie <e-mail> oznacza aktualnie wprowadzony adres e-mail

Założenia aplikacji

  • Interfejs użytkownika zapisany za pomocą języka znaczników wspieranego w danym środowisku (np. XAML, XML)
  • Zastosowany typ rozkładu liniowy (Linear / Stack lub inny o tej idei)
  • Zastosowany kolor tła dla napisu „Rejestruj konto”: Teal (#008080), zgodnie z Obrazem 1a
  • Zastosowany kolory czcionki: czarny i biały, zgodnie z Obrazem 1a
  • Czcionka napisu „Rejestruj konto” jest wizualnie większa od pozostałych
  • Pola edycyjne są rozciągnięte na całą szerokość ekranu
  • Aplikacja powinna być zapisana czytelnie, z zasadami czystego formatowania kodu, stosować znaczące nazwy zmiennych i funkcji
  • Dokumentacja do programu wykonana zgodnie z wytycznymi z części III zadania egzaminacyjnego

Kod aplikacji (cały folder projektu) przygotuj do nagrania na płytę (skopiuj do folderu z numerem PESEL, do podfolderu mobilna).

Część III. Dokumentacja utworzonych aplikacji

Wykonaj dokumentację aplikacji utworzonych podczas egzaminu. W kodzie źródłowym aplikacji konsolowej utwórz nagłówek metody sortującej i szukającej, według wzoru umieszczonego w listingu 1. Nagłówek powinien znaleźć się w kodzie źródłowym nad metodą. W miejscu nawiasów <> należy podać nazwę funkcji, nazwy parametrów (lub słowo „brak”) oraz zwięzłe informacje (kilka słów) – zgodnie ze wzorcem. W miejscu autor należy podać swój numer PESEL

Listing 1. Wzór dokumentacji funkcji

Wykonaj zrzuty ekranu dokumentujące uruchomienie aplikacji. Zrzuty powinny obejmować cały obszar ekranu 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. 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. Wymagane zrzuty ekranu:

  • z aplikacji konsolowej – konsola.jpg
  • z aplikacji mobilnej – mobilna.jpg

W edytorze tekstu pakietu biurowego utwórz plik z dokumentacją i nazwij go egzamin.

Dokument powinien zawierać podpisane zrzuty ekranu oraz zapisane informacje:

  • nazwę systemu operacyjnego, na którym pracował zdający
  • nazwy środowisk programistycznych, z których zdający korzystał na egzaminie
  • nazwy języków programowania użytych podczas tworzenia aplikacji
  • nazwę emulowanego urządzenia lub systemu, na którym uruchomiono aplikację mobilną
  • opcjonalnie komentarz do wykonanej pracy

Dokumentacja powinna się znajdować w podfolderze dokumentacja

UWAGA!
Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować podfoldery dokumentacja, konsola, mobilna. W folderze dokumentacja powinny znaleźć się pliki: konsola.jpg, mobilna.jpg, egzamin. W folderze konsola: cały projekt aplikacji konsolowej. W folderze mobilna: cały projekt aplikacji mobilnej, ewentualnie inne przygotowane pliki.
Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL 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.