Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Zadanie 2. Firma

W firmie „Hexadecymalni” każdy ze 150 pracowników ma przypisany indywidualny kod zapisany w systemie szesnastkowym, którym posługuje się na terenie przedsiębiorstwa. Identyfikator zbudowany jest w następujący sposób:

  • cyfra na pozycji 1. oznacza numer stanowiska w firmie (od 1 do 5),

  • cyfra na pozycji 2. określa płeć (od 2 do F; liczby pierwsze są przypisywane kobietom, a złożone mężczyznom),

  • cyfry na pozycjach od 3. do 5. to rok urodzenia.

Kody pracowników ułożone są losowo, co powoduje duży chaos w dziale księgowym. Na wniosek szefa tego działu masz za zadanie:

  • kody pracowników posortować rosnąco według stanowisk;

  • w obrębie każdego stanowiska posortować pracowników niemalejąco względem czasu pozostałego do odejścia danej osoby na emeryturę (w pełnych latach pozostałych do przepracowania).

Ważne, aby uwzględnić różny wiek emerytalny dla kobiet i mężczyzn. Kobiety zatrudnione w firmie „Hexadecymalni” odchodzą na emeryturę wraz z końcem roku poprzedzającego ich 60. rok życia, zaś mężczyźni — wraz z końcem roku poprzedzającego ich 65. rok życia. Przyjmij, że szef działu księgowości zlecił ci zadanie w 2022 roku.

Przykład 1

Pracownik o numerze 167B5 jest mężczyzną (liczba 6Indeks dolny (16) = 6Indeks dolny (10) jest liczbą złożoną). Urodził się on w roku 7B5Indeks dolny (16) = 1973Indeks dolny (10), zatem 65. urodziny będzie obchodzić w roku 2038. Oznacza to, że jego ostatnim przepracowanym rokiem będzie rok 2037, a więc pełne przepracowane lata to lata od roku 2023 do roku 2037. Zgodnie z treścią zadania do emerytury pozostało mu 15 pełnych lat pracy.

W pliku pracownicy.txt zapisano kody wszystkich pracowników, każdy w osobnej linii. Każdej osobie w obrębie jednego stanowiska pozostał inny czas do uzyskania emerytury.

Rl9yMsft9VR7H

Przycisk umożliwiający pobranie pliku TXT z treścią zadania.

Plik TXT o rozmiarze 899.00 B w języku polskim
Polecenie 1

Napisz program, który uporządkuje identyfikatory pracowników według przedstawionych zasad. Wyniki zapisz do pliku wyniki2.txt.

Do oceny oddajesz:

  • plik wyniki2.txt zawierający odpowiedź (kody pracowników pogrupowane rosnąco według stanowiska i posortowane rosnąco względem czasu pozostałego do emerytury w obrębie jednego stanowiska)

  • plik(i) z komputerową realizacją zadania

Przedstaw rozwiązanie zadania w postaci programu w języku C++, Java lub Python. Zadbaj o prawidłowe wczytanie danych z pliku tekstowego do programu. Odpowiedź do zadania znajdziesz w osobnym pliku umieszczonym pod omówieniem pseudokodu.

Rozwiązanie

Polecenie 2

Zapoznaj się z rozwiązaniem zadania przedstawionym w postaci pseudokodu.

R1AvgYJsP0XCl1
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Odpowiedź do zadania dla danych zapisanych w pliku tekstowym pracownicy.txt:

R5hFJ60DBmOFU

Przycisk do pobrania pliku tekstowego TXT z wypisanymi ciągami znaków.

Plik TXT o rozmiarze 898.00 B w języku polskim