
Boa leitura!
Nessa e nas próximas duas lições, veremos o uso do VBA para solucionar um exemplo prático. Vamos criar uma função personalizada, chamada ValidaCPF. Em seguida usaremos essa função para fazer o cálculo do DV de um conjunto de CPFs:
Importante: O algoritmo de cálculo do DV de CPFs e CNPJs é de domínio público, já tendo sido publicado no diário oficial da união e em diversas revistas de informática, de circulação nacional.
Nessa lição explicarei como funciona o cálculo do DV do CPF.
Como calcular o DV do CPF
Para entender o algoritmo de cálculo do CPF vamos utilizar um exemplo prático.
Considere o seguinte CPF (sem o DV): 333.444.555
Posição
1
2
3
4
5
6
7
8
9
Número
3
3
3
4
4
4
5
5
5
Começamos a multiplicar os dígitos do CPF, a partir da posição 9, ou seja, de trás para frente, por 2, 3, 4, 5 e assim por diante, conforme indicado na tabela a seguir:
Posição
1
2
3
4
5
6
7
8
9
Número
3
3
3
4
4
4
5
5
5
Multiplica por:
10
9
8
7
6
5
4
3
2
Resultado
30
27
24
28
24
20
20
15
10
Somo os resultados obtidos na quarta linha da tabela anterior:
Soma1 = 30+27+24+28+24+20+20+15+10
Soma1 = 198
Faço a divisão desta soma por 11 e determino o resto da divisão:
198/11 Resulta em uma divisão exata, com resto 0
Regra: Quando o resto é zero ou um, o DV é 0.
Quando o resto é diferente de zero ou um, o DV é
obtido fazendo-se: 11-resto
Neste caso como o resto foi zero, o primeiro DV é zero:
DV1=0
O DV1 calculado passa a fazer parte do CPF, conforme indicado pela tabela a seguir:
Posição
1
2
3
4
5
6
7
8
9
10
Número
3
3
3
4
4
4
5
5
5
0
Agora repetimos o processo anterior, porém já considerando o DV1 como parte integrante do CPF, conforme indicado pela tabela a seguir:
Posição
1
2
3
4
5
6
7
8
9
10
Número
3
3
3
4
4
4
5
5
5
0
Multiplica por:
11
10
9
8
7
6
5
4
3
2
Resultado
33
30
27
32
28
24
25
20
15
0
Somo os resultados obtidos na quarta linha da tabela anterior:
Soma2 = 33+30+27+32+28+24+25+20+15+0
Soma1 = 234
Faço a divisão desta soma por 11 e determino o resto da divisão:
234/11 Resulta em (21), com resto 3
Regra: Quando o resto é zero ou um , o DV é 0.
Quando o resto é diferente de zero ou um, o DV é
obtido fazendo-se: 11-resto
Neste caso como o resto foi 3, o segundo DV é :
DV2 = 11 - 3
DV2 = 8
Com isso o CPF, já com os dois DVs fica conforme indicado na tabela a seguir:
Posição
1
2
3
4
5
6
7
8
9
10
11
Número
3
3
3
4
4
4
5
5
5
0
8
Ou seja: 333.444.555-08
Os algoritmos para cálculo dos DVs do CNPJ são praticamente iguais. A única diferença é a quantidade de dígitos do CNPJ é diferente do CPF.
O serviço Xohm está bastante atrasado em relação à agenda original, mas o show deve continuar, de acordo com a fabricante.
O suporte financeiro para o novo serviço de WiMAX de alta velocidade sem fio, o Xohm, da Sprint Nextel, ainda pode ser questionado, mas a Motorola continua enxergando um mercado forte para a nova tecnologia, com ou sem a operadora.
“Seja com o suporte da Sprint ou sem ele, o WiMAX é um caminho sem volta”, diz Daniel Moloney, presidente da área de mobilidade doméstica e de redes da Motorola, divisão responsável pelos produtos WiMAX. “Existe um grande mercado global para essa tecnologia”, avalia.
A Motorola fabrica os produtos que a Sprint está implementando em seus testes e lançamentos do Xohm, e já provê os equipamentos para o desenvolvimento do serviço em outros países.
Moloney disse estar ciente dos esforços da Sprint para atrair investimentos de 1,5 bilhão de dólares ou mais pelas empresas de cabo na iniciativa Xohm, que deve custar 5 bilhões de dólares ao todo. Mas Moloney disse não estar por dentro dos detalhes sobre o andamento dessas negociações, nem os motivos pelos quais nenhum tipo de acerto foi concluído até a última segunda-feira (31), data limite imposta pela Sprint para as companhias de cabo envolvidas.