5

A matemática nos documentos.

#Python
C
Claudio Andrade

A matemática na verificação dos documentos.

Olá. 

Neste trabalho vou demonstrar através de um pequeno aplicativo, como a matemática é

importante na verificação de um documento tão importante e de uso amplo no nosso dia a dia, o

nosso CPF.

O CPF, Cadastro (Nacional) de Pessoas Físicas, é um documento bastante utilizado no

cotidiano brasileiro. Seja para abrir contas bancárias, cadastramento de aplicativos em geral, ou,

comprovar a sua existência, ele representa a pessoa em todas as situações mais necessárias da sua

vida.

O documento possui o nome completo da pessoa e sua representação numérica. Esta

representação numérica é composta de onze números, de 0 a 9, e, através deste número, também é

possível saber o Estado onde o documento foi feito. O código numérico é detalhado no exemplo

abaixo:

CPF = 280.012.389 - 38

Números Fornecidos Estados Primeiro Digito Verificador Segundo Digito Verificador

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11

28001238 9 3 8

O numeral possui dois dígitos verificadores. Tais dígitos são calculados da seguinte maneira:

Primeiro Digito Verificador:

2 8 0 0 1 2 3 8 9

X X X X X X X X X

1 2 3 4 5 6 7 8 9

2 16 0 0 5 12 21 64 81

Soma Total da Multiplicação acima: 201

Divisão da Soma Total por 11 para a obtenção do resto:

201 11

 91 18

 3

O resto é o primeiro digito verificador do exemplo acima:

O mesmo cálculo é realizado para o segundo dígito verificador, com pequenas alterações:

2 8 0 0 1 2 3 8 9 3

X X X X X X X X X X

0 1 2 3 4 5 6 7 8 9

0 8 0 0 4 10 18 56 72 27

Soma Total da Multiplicação acima: 195

Divisão da Soma Total por 11 para a obtenção do resto:

195 11

 85 17

 8

Neste segundo cálculo foi adicionado o primeiro digito verificador mas, o formato, continua o

mesmo. Com a obtenção do resto dos dois cálculos demonstrados, obtemos os dígitos verificadores.

A demonstração dos cálculos acima serve também como motivação para a criação de um

programa e ou aplicativo em uma linguagem de programação. Tal programa deve obter através da

digitação pelo usuário, a entrada do numeral. O programa deve receber o valor digitado, identificar

os possíveis Estados onde o documento foi feito e informar através do cálculo, a verificação dos

dois dígitos verificadores, validando o numeral fornecido. A automação desta tarefa, é também um

fator de motivação para a realização deste programa.

Para a prática, foi utilizada a linguagem Python. O numeral foi decomposto em seus dígitos

num dicionário. Para a realização dos cálculos, foram feitas cópias do mesmo. O comando for

específico utilizando a chave e o valor foi também de grande importância para a resolução do

cálculo. O resto é calculado com o operador %. A prática e o entendimento da linguagem, foram

fatores importantes nesta escolha.

Abaixo, as figuras mostram o programa em execução com o exemplo citado. Para criar a

parte gráfica com tela e botão, foi incluído o software QT Designer também. O software cria a parte

gráfica sem necessitar da habilidade de programação do usuário. O mesmo inclui comandos de CSS

que facilitam na modificação do visual da aplicação.


O código completo da aplicação se encontra no meu GitHub: 

<https://www.github.com/claudio-es-andrade/

Bons Estudos e Até Logo!

Cláudio

1
87

Comentários (1)

0
Rafael Alves

Rafael Alves

06/03/2021 23:47

Muito bom, nunca tinha parado para entender a "lógica" do CPF.

None

Brasil