AD2 PDA 2014 2 Questoes

805 palavras 4 páginas
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância

Curso de Tecnologia em Sistemas de Computação
Disciplina: Projeto e Desenvolvimento de Algoritmos
AD2 2° semestre de 2014
Nome –
Assinatura –

1a questão (valor 5.0)
O CPF é o número usado pela Receita Federal do Brasil para identificar os Contribuintes Pessoas Físicas. O
CPF é composto por 11 algarismos. Destes 11 algarismos os dois últimos são usados para verificar se os primeiros 9 foram digitados corretamente. Eles são chamados de algarismos verificadores. Por exemplo, considere o CPF exemplo 123.456.789-09. Este CPF na realidade é 123 456 789, os algarismos 0 e 9 servem para que os programas da Receita Federal verifiquem se os 9 primeiros estão corretos. Os algarismos 0 e 9 são gerados automaticamente pelos computadores da Receita quando alguém se inscreve como contribuinte.
O algoritmo de geração dos dois últimos algarismos é descrito a seguir.
Para o primeiro dígito verificador, o 0, no nosso exemplo, o algoritmo é o seguinte: multiplique o primeiro algarismo do CPF por 10, o segundo por 9, e assim sucessivamente até o nono algarismo do código e some todos estes resultados.
Neste exemplo teríamos, soma1 = (1*10) + (2*9) + (3*8) + ... + (9*2)
Calcule o resto da divisão inteira por 11 desta soma1. Se este resto for 0 ou 1 então o algarismo do primeiro dígito verificador é 0 caso contrário o algarismo é o resultado da subtração (11 – resto).
Para o segundo dígito verificador, no nosso caso o 9, o algoritmo é o seguinte: multiplique o primeiro algarismo por 11, o segundo por 10, e assim sucessivamente até o nono algarismo do código e some todos estes resultados. Neste exemplo teríamos soma2 = (1*11) + (2*10) + (3*9) + ... + (9*3)
Some este resultado ao dobro do primeiro dígito verificador que foi calculado
(valor = soma2 + 2 * digito1) . Calcule o resto da divisão inteira por 11 deste valor. Se este resto for 0 ou 1 então o algarismo é 0 caso contrário o algarismo é o resultado da subtração

Relacionados