Algoritmo Validação CPF em C
Logo abaixo segue um código que faz a validação do CPF, mas mesmo que você queria desenvolver o seu próprio código, em javascript ou outra linguagem, abaixo segue uma breve explicação.
Esse algoritmo que é responsável pela validação do CPF foi feito de acordo com a regras do Ministério da Fazenda.
Conhecendo o cálculo do algoritmo do CPF
O CPF é composto por onze algarismos, onde os dois últimos são chamados de dígitos verificadores, ou seja, os dois últimos dígitos são criados a partir dos nove primeiros. O cálculo é feito em duas etapas utilizando o módulo de divisão 11.
Para exemplificar melhor, iremos calcular os dígitos verificadores de um CPF imaginário, por exemplo, 222.333.666-XX.
Fazendo o cálculo do primeiro dígito verificador
O primeiro dígito é calculado com a distribuição dos dígitos colocando-se os valores 10, 9, 8, 7, 6, 5, 4, 3, 2 conforme a representação abaixo:
Números do CPF 2 2 2 3 3 3 6 6 6
Valores definidos 10 9 8 7 6 5 4 3 2
para o cálculo
Na seqüência multiplicaremos os valores de cada coluna, confira:
Números do CPF 2 2 2 3 3 3 6 6 6
Valores definidos 10 9 8 7 6 5 4 3 2
para o cálculo
Total 20 18 16 21 18 15 24 18 12
Em seguida efetuaremos o somatório dos resultados (20+18+...+18+12), o resultado obtido (162) será divido por 11. Considere como quociente apenas o valor inteiro, o resto da divisão será responsável pelo cálculo do primeiro dígito verificador.
Vamos acompanhar: 162 dividido por 11 obtemos 14 de quociente e 8 de resto da divisão. Caso o resto da divisão seja menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso contrário subtrai-se o valor obtido de 11, que é nosso caso, sendo assim nosso dígito verificador é 11-8, ou seja, 3 (três), já temos parte do CPF, confira: 222.333.666-3X.
Fazendo o cálculo do segundo dígito verificador
Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante à anterior, só que desta vez usaremos na segunda linha os valores 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, já que estamos incorporando mais um algarismo para esse cálculo. Veja:
Números do CPF 2 2 2 3 3 3 6 6 6
Valores definidos 11 10 9 8 7 6 5 4 3 2
para o cálculo
Total 22 20 18 24 21 18 30 24 18 6
Na próxima etapa faremos como na situação do cálculo do primeiro dígito verificador. Multiplicaremos os valores de cada coluna e efetuaremos o somatório dos resultados obtidos: 22+20+18+24+21+18+30+24+18+4=201.
Números do CPF 2 2 2 3 3 3 6 6 6
Valores definidos 11 10 9 8 7 6 5 4 3 2
para o cálculo
Total 22 20 18 24 21 18 30 24 18 6
Agora pegamos esse valor e dividimos por 11. Considere novamente apenas o valor inteiro do quociente, e com o resto da divisão, no nosso caso 3, usaremos para o cálculo do segundo dígito verificador, assim como na primeira parte.
Caso o valor do resto da divisão seja menor que 2, esse valor passa automaticamente a ser zero, que é o nosso caso, caso contrário é necessário subtrair o valor obtido de 11 para se obter o dígito verificador.
Neste caso chegamos ao final dos cálculos e descobrimos que os dígitos verificadores do nosso CPF hipotético são os números 3 e 8, portanto o CPF ficaria assim: 222.333.666-38.
Essa explicação foi retirada do endereço: http://imasters.uol.com.br/artigo/2410/javascript/algoritmo_do_cpf/
Download código fonte em C do algoritmo.
Um comentário:
Valeu pela referencia http://softwareetecnologia.blogspot.com/2011/02/validacao-cpf-em-c.html
Postar um comentário