Opracuj algorytm sprawdzania numeru PESEL. Narysuj schemat blokowy oraz napisz kod w języku Python. BARDZO PROSZĘ O SZCZEGÓŁOWE ROZPISANIE I WYJAŚNIENIE
Numer PESEL (Powszechny Elektroniczny System Ewidencji Ludności) jest identyfikatorem przypisanym każdej osobie w Polsce. Numer dziesięć zawiera informacje o dacie urodzenia, płci oraz numerze serii. Sprawdzenie numeru PESEL polega na weryfikacji jego poprawności pod kątem zgodności z algorytmami.
Poniżej znajduje się szczegółowy opis algorytmu sprawdzania numeru PESEL, jego schematu blokowego kodu oraz języka Python:
Algorytm sprawdzania numeru PESEL:
Sprawdź, czy numer PESEL składa się z dokładnie 11 cyfr.
Oblicz sumę kontrolną na podstawie 10 pierwszych cyfr numeru PESEL i przekształć ją na cyfrę kontrolną.
Porównaj obliczoną cyfrę kontrolną z 11. cyfrą numeru PESEL. Jeżeli są one zgodne, numer PESEL jest poprawny.
Schemat blokowy:
rdza
Skopiuj kod
START
|
|--> Wprowadź numer PESEL
|--> Sprawdź, czy PESEL składa się z 11 cyfr
| |
| |--> Tak --> Oblicz sumę kontrolną
| | |
| | |--> Oblicz sumę kontrolną na podstawie 10 pierwszych cyfr
| | |--> Przekształć sumę kontrolną na cyfrę kontrolną
suma_kontrolna = sum(int(pesel[i]) * wagi[i] for i in range(10))
cyfra_kontrolna = suma_kontrolna % 10
# Porównaj cyfrę kontrolną z 11. cyfrą numeru PESEL
if cyfra_kontrolna == int(pesel[10]):
return True
else:
return False
# Przykład użycia
numer_pesel = input("Podaj numer PESEL: ")
if sprawdz_pesel(numer_pesel):
print("Numer PESEL jest poprawny.")
else:
print("Numer PESEL jest niepoprawny.")
Ten kod w Pythonie implementuje algorytm sprawdzania numeru PESEL. Ostatnie sprawdzanie, czy PESEL ma długość i składa się tylko z cyfr, a następnie oblicza sumę kontroli i zabezpieczeń ją z 11. cyfrą PESEL. Jeśli są zgodne, numer PESEL jest odpowiednio za poprawny.
Odpowiedź:
Numer PESEL (Powszechny Elektroniczny System Ewidencji Ludności) jest identyfikatorem przypisanym każdej osobie w Polsce. Numer dziesięć zawiera informacje o dacie urodzenia, płci oraz numerze serii. Sprawdzenie numeru PESEL polega na weryfikacji jego poprawności pod kątem zgodności z algorytmami.
Poniżej znajduje się szczegółowy opis algorytmu sprawdzania numeru PESEL, jego schematu blokowego kodu oraz języka Python:
Algorytm sprawdzania numeru PESEL:
Sprawdź, czy numer PESEL składa się z dokładnie 11 cyfr.
Oblicz sumę kontrolną na podstawie 10 pierwszych cyfr numeru PESEL i przekształć ją na cyfrę kontrolną.
Porównaj obliczoną cyfrę kontrolną z 11. cyfrą numeru PESEL. Jeżeli są one zgodne, numer PESEL jest poprawny.
Schemat blokowy:
rdza
Skopiuj kod
START
|
|--> Wprowadź numer PESEL
|--> Sprawdź, czy PESEL składa się z 11 cyfr
| |
| |--> Tak --> Oblicz sumę kontrolną
| | |
| | |--> Oblicz sumę kontrolną na podstawie 10 pierwszych cyfr
| | |--> Przekształć sumę kontrolną na cyfrę kontrolną
| | |
| | |--> Porównaj cyfrę kontrolną z 11. cyfrą numeru PESEL
| | |
| | |--> Jeśli są zgodne --> PESEL jest poprawny
| |
| |--> Nie --> PESEL jest niepoprawny
|
STOP
Kod w Pythonie:
pyton
Skopiuj kod
def sprawdz_pesel(pesel):
# Sprawdź, czy PESEL składa się z 11 cyfr
if len(pesel) != 11 or not pesel.isdigit():
return False
# Oblicz sumę kontrolną
wagi = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3]
suma_kontrolna = sum(int(pesel[i]) * wagi[i] for i in range(10))
cyfra_kontrolna = suma_kontrolna % 10
# Porównaj cyfrę kontrolną z 11. cyfrą numeru PESEL
if cyfra_kontrolna == int(pesel[10]):
return True
else:
return False
# Przykład użycia
numer_pesel = input("Podaj numer PESEL: ")
if sprawdz_pesel(numer_pesel):
print("Numer PESEL jest poprawny.")
else:
print("Numer PESEL jest niepoprawny.")
Ten kod w Pythonie implementuje algorytm sprawdzania numeru PESEL. Ostatnie sprawdzanie, czy PESEL ma długość i składa się tylko z cyfr, a następnie oblicza sumę kontroli i zabezpieczeń ją z 11. cyfrą PESEL. Jeśli są zgodne, numer PESEL jest odpowiednio za poprawny.
Wyjaśnienie: