Arkusz INF.04 : 2023 - styczeń - zad. 01
Oznaczenie: INF.04-01-23.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 desktopową według wskazań. Wykonaj dokumentację do aplikacji konsolowej, 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: konsola, desktopowa, 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
Za pomocą narzędzi do tworzenia aplikacji konsolowych zaimplementuj algorytm Euklidesa do szukania największego wspólnego dzielnika z dwóch liczb – NWD(a, b). Algorytm przedstawiono na schemacie.
Algorytm Euklidesa

Założenia aplikacji:
- Obiektowy język programowania zgodny z zainstalowanym na stanowisku egzaminacyjnym:
C++lubC#, lubJava, lubPython - Implementacja algorytmu w pełni zgodna z przedstawionym na schemacie algorytmem
- Liczby
aibnależą do zbioru liczbcałkowitych dodatnich(odpowiedni typ lub kontrola poprawności wpisanej liczby) - Szukanie NWD zaimplementowane w funkcji o dwóch argumentach i zwracanej wartości największego wspólnego dzielnika. Funkcja nie może zawierać operacji wejścia - wyjścia
- Program główny testuje działanie funkcji i zawiera operacje wejścia - wyjścia
- Program powinien być zapisany czytelnie, z zachowaniem zasad czystego formatowania kodu, należy stosować nazwy zmiennych zgodne z nazwami zastosowanymi na schemacie blokowym, pozostałe nazwy muszą być znaczące
- Do kodu należy dołączyć
dokumentację, która została opisana wczęści IIIzadania egzaminacyjnego
Kod aplikacji przygotuj do nagrania na płytę. W folderze konsola powinno znaleźć się archiwum całego projektu o nazwie konsola.zip, plik z kodem źródłowym programu oraz plik uruchomieniowy, jeżeli istnieje.
Część II. Aplikacja desktopowa
Za pomocą dostępnego na stanowisku egzaminacyjnym środowiska programistycznego wykonaj aplikację desktopową do wprowadzania danych pracownika z możliwością generowania hasła.
Obraz 1. Stan początkowy aplikacji

Obraz 2. Fragment okna po wybraniu przycisku „Generuj hasło”

Obraz 3. Po wybraniu przycisku „Zatwierdź”

Na obrazie 1 przedstawiono ideę aplikacji desktopowej. W zależności od użytego środowiska programistycznego wygląd może nieznacznie się różnić.
Opis wyglądu aplikacji
- Okno o nazwie „Dodaj pracownika”. W nazwie okna należy wstawić także
numer zdającego - Kontrolki rozmieszczone zgodnie z
obrazem 1 - Kontrolki w grupie „Dane Pracownika”:
pole edycyjnepoprzedzone etykietą o treści „Imię”pole edycyjnepoprzedzone etykietą o treści „Nazwisko”lista rozwijalnapodpisana „Stanowisko” z elementami: Kierownik, Starszy programista, Młodszy programista, Tester
- Kontrolki w grupie „Generowanie hasła”:
pole edycyjnepoprzedzone etykietą o treści „Ile znaków?”- trzy
pola wyborupodpisane: „Małe i wielkie litery”, „Cyfry”, „Znaki specjalne”. Pierwsze pole jest domyślniezaznaczone przycisko treści „Generuj hasło”
- Na dole okna znajduje się
przycisk„Zatwierdź”, jest on wyraźnie dłuższy niż przycisk do generowania hasła - Okno ma tło koloru
LightSteelBlue(#B0C4DE) - Przyciski mają tło koloru
SteelBlue(#4682B4) ibiałykolor czcionki
Działanie aplikacji po wybraniu przycisku „Generuj hasło”:
- Generowane jest hasło o liczbie znaków określonej w polu edycyjnym
- Poszczególne znaki hasła są wybierane losowo z zestawu małych liter
- Jeżeli zaznaczono checkbox „Małe i wielkie litery”, jeden ze znaków jest losowany z zestawu
wielkich liter - Jeżeli zaznaczono checkbox „Cyfry”, jeden ze znaków hasła jest losowany z zestawu
cyfr - Jeżeli zaznaczono checkbox „Znaki specjalne”, jeden ze znaków hasła jest losowany z zestawu
znaków specjalnych - Dla uproszczenia zadania można przyjąć zawsze określony znak (np. pierwszy), który jest losowany z cyfr. Podobnie należy postąpić ze znakami specjalnymi (np. drugi znak)
- Hasło jest wypisywane jako komunikat zgodnie z
obrazem 2po wybraniu przycisku „Generuj hasło” - Za zestaw liter przyjmuje się wszystkie litery z klawiatury
małeiwielkiealfabetu łacińskiego - Za zestaw cyfr przyjmuje się kolejne cyfry od
0do9 - Za zestaw znaków specjalnych przyjmuje się znaki
!@#$%^&*()_+-= - Hasło oraz zestawy znaków są przechowywane w zmiennych typu
napisowego
Działanie aplikacji po wybraniu przycisku „Zatwierdź”:
- Wyświetlany jest komunikat z wypełnionymi danymi pracownika oraz wygenerowanym wcześniej hasłem, zgodnie z
obrazem 3
- UWAGA!
- Dla uproszczenia aplikacji nie trzeba sprawdzać czy pole edycyjne jest wypełnione i czy liczba znaków w haśle jest wystarczająca dla wstawienia małych, wielkich liter, liczb i znaków specjalnych
Aplikacja powinna być zapisana czytelnie, z zasadami czystego formatowania kodu, należy stosować znaczące nazwy zmiennych i funkcji.
Podejmij próbę kompilacji i uruchomienia aplikacji. Informacje dotyczące dokumentacji i zrzutu ekranowego umieszczono w części III zadania.
Kod aplikacji przygotuj do nagrania na płytę. W folderze desktopowa powinno znaleźć się archiwum całego projektu o nazwie desktopowa.zip, pliki źródłowe, które były modyfikowane (interfejs użytkownika i logika aplikacji) oraz plik uruchomieniowy, jeżeli to możliwe.
Część III. Dokumentacja utworzonych aplikacji
Wykonaj dokumentację do aplikacji utworzonych na egzaminie. W kodzie źródłowym aplikacji konsolowej utwórz nagłówek funkcji wyznaczającej NWD, według wzoru. Nagłówek powinien znaleźć się nad definicją funkcji. W miejscu nawiasów <> należy podać odpowiednie opisy. W miejscu autor należy podać numer zdającego.
Dokumentację 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 funkcji (liczba gwiazdek dowolna większa od 5)

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. Wykonać należy co najmniej tyle zrzutów, ile interakcji podejmuje aplikacja (np. stan początkowy, po wypisaniu hasła, po wyświetleniu danych itd.) Wymagane zrzuty ekranu:
- Aplikacja konsolowa – zrzuty nazwane:
konsola1,konsola2, ... - Aplikacja desktopowa – zrzuty nazwane:
desktop1,desktop2, ...
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 - Opcjonalnie komentarz do wykonanej pracy
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 desktopowa, dokumentacja, konsola. W folderze dokumentacja: pliki ze zrzutami oraz plik egzamin. W folderze konsola: spakowany cały projekt aplikacji konsolowej, źródło, opcjonalnie plik uruchomieniowy. W folderze desktopowa: spakowany cały projekt aplikacji desktopowej, pliki ze źródłami interfejsu i logiki, opcjonalnie plik uruchomieniowy. 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 będą podlegać 4 rezultaty:
- implementacja, kompilacja, uruchomienie programu
- aplikacja konsolowa
- aplikacja desktopowa
- 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!