O PIS/PASEP é um documento essencial para trabalhadores brasileiros, e sua validação é fundamental para evitar fraudes e erros em processos de cadastro. Validar o número do PIS/PASEP manualmente pode ser trabalhoso e propenso a erros. Utilizar um algoritmo para essa validação é a maneira mais eficaz, rápida e confiável de garantir a integridade dos dados. Este método automatiza o processo, eliminando a possibilidade de erros humanos e garantindo que apenas números válidos sejam aceitos.
O algoritmo de validação do PIS/PASEP utiliza um cálculo baseado nos 10 primeiros dígitos do número, aplicando pesos específicos e um módulo 11 para verificar o dígito verificador. O número do PIS/PASEP é composto por 11 dígitos, onde o último é o dígito verificador.
Algoritmo:
1. Multiplique cada um dos 10 primeiros dígitos por um peso específico.
2. Some os resultados.
3. Calcule o resto da divisão por 11.
4. Subtraia o resto de 11 para obter o dígito verificador.
5. Se o resultado for 10 ou 11, o dígito verificador será 0.
Para implementar o algoritmo em Python, você pode usar o seguinte código. Este script recebe um número de PIS/PASEP e retorna se ele é válido ou não.
def validar_pis(pis):
# Remover caracteres não numéricos
pis = ''.join(filter(str.isdigit, pis))
if len(pis) != 11:
return False
# Pesos para multiplicação
pesos = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
# Calcular soma dos produtos
soma = sum(int(pis[i]) * pesos[i] for i in range(10))
# Calcular resto da divisão por 11
resto = soma % 11
# Calcular dígito verificador
digito_verificador = 11 - resto if resto != 0 else 0
# Se o dígito verificador for 10 ou 11, considerar como 0
if digito_verificador == 10 or digito_verificador == 11:
digito_verificador = 0
# Comparar com o dígito verificador do PIS/PASEP
return digito_verificador == int(pis[10])
# Exemplo de uso
pis = "12345678919"
if validar_pis(pis):
print("PIS/PASEP válido")
else:
print("PIS/PASEP inválido")
Se você preferir usar o Excel, pode implementar o algoritmo usando uma fórmula. Suponha que o número do PIS/PASEP esteja na célula A1. Use a seguinte fórmula para validar:
=SE(NÚM.DE.DÍGITOS(SUBSTITUIR(A1; "."; ""); 1); FALSO;
SE(NÚM.DE.DÍGITOS(SUBSTITUIR(A1; "-"; ""); 1)<>11; FALSO;
SE(MOD(SOMA(POTENCIA(10; 9) * NÚM.CARACT(A1);
POTENCIA(10; 8) * NÚM.CARACT(A1);
POTENCIA(10; 7) * NÚM.CARACT(A1);
POTENCIA(10; 6) * NÚM.CARACT(A1);
POTENCIA(10; 5) * NÚM.CARACT(A1);
POTENCIA(10; 4) * NÚM.CARACT(A1);
POTENCIA(10; 3) * NÚM.CARACT(A1);
POTENCIA(10; 2) * NÚM.CARACT(A1);
POTENCIA(10; 1) * NÚM.CARACT(A1);
POTENCIA(10; 0) * NÚM.CARACT(A1)); 11) = 0; VERDADEIRO; FALSO)))
Veja abaixo uma tabela com exemplos de números de PIS/PASEP e seus resultados de validação:
| Número PIS/PASEP | Válido? |
|---|---|
| 12345678919 | Verdadeiro |
| 98765432101 | Falso |
| 11122233344 | Verdadeiro |
Com este método, você automatiza a validação do número do PIS/PASEP em segundos, evitando erros manuais e garantindo a integridade dos dados. Implementar este algoritmo em seu sistema ou planilha é uma maneira eficiente e confiável de lidar com a validação de documentos essenciais para trabalhadores brasileiros.