Misja matura 3
Zadanie 3. System numeracji dokumentów
W pewnej firmie informatycznej od wielu lat stosuje się zasadę, zgodnie z którą każdy dokument musi mieć nadany numer, a wersja elektroniczna tego dokumentu (np. w postaci skanu, pliku tekstowego) ma być umieszczona na wspólnym serwerze, aby każdy pracownik miał swobodny dostęp do materiałów.
Do numeracji dokumentów wykorzystuje się liczby szesnastkowe. Ze względów bezpieczeństwa dokumenty nie są numerowanie po kolei.
Nadane numery mają szczególne znaczenie. Po konwersji liczby do systemu binarnego i zliczeniu jedynek, uzyskana wartość przechowuje informacje, do jakiego działu należy dokument.
Działy w firmie mają przydzielone następujące zapisy:
dział kadr – liczba jedynek z zakresu ,
dział księgowości – liczba jedynek z zakresu ,
dział programistów – liczba jedynek z zakresu ,
dział jakości – liczba jedynek z zakresu .
Numery dokumentów po przekonwertowaniu do systemu dziesiętnego przechowują dodatkową informację. Jeżeli uzyskana liczba jest parzysta, jest to dokument poufny, do którego wgląd mają tylko niektórzy pracownicy. Gdy liczba jest nieparzysta, do dokumentu ma dostęp każdy pracownik.
W pliku dane.txt zawartych jest 150 numerów dokumentów zapisanych w systemie szesnastkowym, po jednym w każdej linii. Każdy z numerów dokumentów zapisanych w pliku składa się z 3 lub 4 cyfr.
Zadanie 3.1
Korzystając z wybranego języka programowania, napisz program, który sprawdzi, ile dokumentów, któych numery spisano w pliku, należy do działu programistów.
Do oceny oddajesz:
plik
wynik.txtzawierający odpowiedź do zadania (jedną liczbę, czyli liczbę dokumentów należącą do działu programistów),
plik(i) z komputerową realizacją zadania (kodem programu).
Przedstaw rozwiązanie zadania, pisząc program w języku C++, Java lub Python. Odpowiedź do zadania znajdziesz pod sekcją ćwiczeń.
Przykładowe rozwiązania działają na tablicy liczby.
JĘZYK C++
Funkcja to_string() zamienia wartość liczbową zapisaną jako typ int na tę samą wartość liczbową zapisaną jako typ string.
Odpowiedź do zadania
Wynik dla danych z pliku:
Zadanie 3.2
Korzystając z wybranego języka programowania i numerów dokumentów w pliku dane.txt, podaj, ile dokumentów jest poufnych.
Do oceny oddajesz:
plik
wynik2.txtzawierający odpowiedź do zadania (jedną liczbę – liczbę dokumentów poufnych),
plik(i) z komputerową realizacją zadania (kodem programu).
Przedstaw rozwiązanie zadania, pisząc program w języku C++, Java lub Python. Odpowiedź do zadania znajdziesz pod sekcją ćwiczeń.
JĘZYK C++
Odpowiedź do zadania
Wynik dla danych z pliku: