Algoritmo de CPF

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (4 votos, média: 5,00)
Loading ... Loading ...

Postado por Plinio Cruz em 22 de outubro de 2003 - Programação, Soluções | 2 Comentário para ler

 Uma rotina muito utilizada por programadores em softwares comerciais é a da validação do Cadastro de Pessoa Física (CPF). Muitos pegam estas rotinas prontas na internet, milhares de sites oferecem nas mais diversas linguagens de programação. Aos invés de você confiar seu software a essas rotinas que tal você mesmo desenvolver a sua tendo a certeza que a mesma está certa e funciona perfeitamente?

Para isso fomos atrás do algoritmo responsável pela validação de acordo com a regras do Ministério da Fazenda para você mesmo fazer seu algoritmo e ter certeza de que o mesmo funcionará corretamente além de ter o controle do mesmo para eventuais modificações.

 

Entendendo a Validação

 

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 hipotético, por exemplo, 222.333.666-XX.

 

Calculando o 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:

2 2 2 3 3 3 6 6 6
10 9 8 7 6 5 4 3 2

Na seqüência multiplicaremos os valores de cada coluna, confira:

2 2 2 3 3 3 6 6 6
10 9 8 7 6 5 4 3 2
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.

 

Calculando o 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 a 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:

2 2 2 3 3 3 6 6 6 3
11 10 9 8 7 6 5 4 3 2

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+6=201.

2 2 2 3 3 3 6 6 6 3
11 10 9 8 7 6 5 4 3 2
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 não é o nosso caso, no caso em questão é necessário subtrair o valor obtido de 11 para se obter o dígito verificador, ou seja, 11-3 (que foi o resto da divisão).

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.

 

Considerações Finais

 

Com essa explicação você poderá montar sua própria rotina, lembre-se de colocar antes de qualquer coisa o tratamento para o número de algarismos, pois se a entrada já não estiver com onze algarismos já está incorreto o número do CPF.

Outra boa sugestão é sempre a entrada sendo feita só com os algarismos, para só depois você fazer a entrada da máscara, fica mais fácil tanto para o programador quanto para o usuário.

MP3 Gain

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em - Aplicativos, Downloads, Multimídia | Seja o primeiro a comentar

 Esse pequeno freeware pode ser encontrado para download junto com suas referências nos seguintes endereços: http://www.replaygain.org/ ou http://www.geocities.com/mp3gain. Você pode ainda fazer um download direto do site do Clube. O MP3 GAIN é um freeware que soluciona o maior problema dos usuários que trabalham ou simplesmente guardam arquivos de mp3 de fontes diferentes: diferença de volumes.

A interface contém um menu completo e também seis grandes botões que fazem todo o processo para você nem precisar usar o menu. Isso torna o sistema perfeito e eficiente, ou seja, em pouco tempo aquela coleção enorme de MP3 fica com o mesmo volume.

O MP3 GAIN trás a opção de você escolher qual o nível de volume, isso é importante, pois você ainda pode analisar, sem alterar, os volumes de cada arquivo e escolher um valor que esteja na média, assim você consegue que arquivos mais baixos não distorçam quando seus volumes forem aumentados.

Você ainda pode alterar escolhendo arquivos individuais ou pastas inteiras, mas lembre-se que depois de você acionar o botão para normalizar os volumes a ação não pode ser desfeita, ou seja, para voltar ao volume original só se você souber qual é este e refazer o processo, pois o MP3 GAIN altera o arquivo que você escolheu, ele não cria uma cópia.

O Help é pequeno mas traz tudo que você precisa, explica os processos, dá uma pequena explicação como é feita a alteração e como aproveitar tudo que o software pode oferecer, ou seja, o freeware é uma das melhores descobertas do Clube da Informática em relação a MP3 além de resolver com certeza um dos maiores problemas dos fãs desse formato.