Processing math: 100%

CPF

Prof. Doherty Andrade

www.metodosnumericos.com.br

  1. Introdução.

O CPF é o Cadastro de Pessoa Física. Ele é um documento feito pela Receita Federal e serve para identificar os contribuintes. O CPF é uma numeração com 11 dígitos, que só mudam por decisão judicial.

O documento é emitido pela Receita Federal
Quando você faz o seu CPF, recebe os números que serão os seus durante toda a vida. E são diferentes para cada pessoa.

A principal função é servir de identificação dos contribuintes no Imposto de Renda. Tanto que os filhos, a partir dos 12 anos, precisam ter o próprio CPF para ser incluído na declaração de imposto dos pais.

Mas o documento não serve só pra isso. Se você quiser prestar um concurso público, se matricular em uma universidade, vai precisar ter o seu. E se quiser abrir conta em banco, fazer compras ou pedir um cartão de crédito também!

2. Dígitos verificadores do CPF

O CPF é uma sequência numérica de 11 dígitos, sendo que os dois últimos são dígitos verificadores. Como esses dígitos verificadores são obtidos? O método de elaboração desses dígitos verificadores utiliza aritmética módulo 11. Vamos mostrar como gerar os dígitos verificadores v1 e v2.

Suponha que os dígitos de um CPF genérico seja dado por
n1n2n8n9v1v2.
Como vamos precisar do primeiro dígito verificador v1 para gerar o segundo,
vamos explicar primeiro como obtê-lo odécimodígito.

Para gerar o primeiro dígito verificador v1, fazemos a seguinte conta:
N1=1n1+2n2++8n8+9n9.
Seja vN1mod(11).

v só pode assumir os valores 0,1,2,3,4,5,6,7,8,9,10.

Se v=10, então tomamos v1=0. Caso contrário, v1=v.

Tendo obtido o primeiro dígito verificador v1, vamos determinar o segundo dígito verificador v2. Para gerar o segundo dígito verificador v2, procedemos de modo análogo, mas utilizando o dígito verificador v1. Fazemos a seguinte conta:
N2=0n1+1n2++7n2+8n1+9v1.
Seja vN2mod(11).

Novamene, v só pode assumir os valores 0,1,2,3,4,5,6,7,8,9,10.

Se v=10, então tomamos v2=0. Caso contrário, v2=v.

3. Código Python

Clique aqui pra continuar lendo e ver o arquivo Python em Jupyter noteboo que verifica se um dado número de CPF é válido.

Tags :

Compartilhe:

2 respostas

  1. I truly love your website.. Great colors & theme.
    Did you develop this website yourself? Please reply back as I’m hoping to
    create my own site and would love to find out where you got this from or exactly what the theme is named.

    Thanks!

Deixe um comentário para Jackie Jordan Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *