Numery PESEL [2019] [PP]
W pliku dane.txt zapisano 1000 numerów PESEL osób urodzonych w latach 1945–2003, po jednym numerze w wierszu.
Fragment pliku dane.txt (10 pierwszych wierszy pliku):
87062374513
70042949368
57070843873
68100217281
80071113568
58121156393
55042672243
73091424567
89100324122
60062195366
Plik przyklad.txt zawiera 15 przykładowych numerów PESEL. Napisz program(y), za pomocą którego(ych) uzyskasz odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki6.txt, a odpowiedź do każdego zadania poprzedź numerem oznaczającym to zadanie.
Zadanie 6.1. (3 pkt)
Przedostatnia, dziesiąta cyfra numeru PESEL określa płeć jego właściciela. W numerach PESEL kobiet cyfra ta jest parzysta, u mężczyzn – nieparzysta. Podaj liczbę numerów PESEL kobiet i liczbę numerów PESEL mężczyzn z pliku dane.txt .
Przykład:
Dla numerów PESEL zawartych w pliku przyklad.txt odpowiedzią jest 8 numerów dla kobiet i 7 dla mężczyzn.
Zadanie 6.2. (3 pkt)
Cyfry trzecia i czwarta numeru PESEL oznaczają miesiąc urodzenia, przy czym osoby urodzone przed rokiem 2000 mają numer miesiąca podany w sposób naturalny, czyli od 01 do 12, a osoby urodzone w roku 2000 i później mają do numeru miesiąca dodaną liczbę 20, czyli od 21 do 32. Dla danych z pliku dane.txt podaj, ile osób łącznie urodziło się w listopadzie.
Przykład:
Dla numerów PESEL zawartych w pliku przyklad.txt odpowiedzią jest liczba 2.
Zadanie 6.3. (4 pkt)
Poprawność numeru PESEL można obliczyć według podanego poniżej algorytmu:
1⋅ a1 + 3⋅ a2 + 7⋅ a3 + 9⋅ a4 + 1⋅ a5 + 3⋅ a6 + 7⋅ a7 + 9⋅ a8 + 1⋅ a9 + 3⋅ a10 + a11,
gdzie ai – kolejne cyfry numeru PESEL
Jeżeli powyższy wynik jest liczbą podzielną przez 10, to numer PESEL jest poprawny, w przeciwnym razie jest błędny.
Podaj wszystkie błędne numery PESEL w pliku dane.txt.
Przykład:
Wśród numerów PESEL zawartych w pliku przyklad.txt błędny jest numer 97092746487.
Do pobrania: