![]() |   |
|
|||||||
| Outros Fórum destinado a tudo sobre programação que não se encaixe nas demais categorias acima. Visual Basic, Ruby, Assembly, etc... |
![]() |
| Opções do Tópico | Modos de Exibição |
| #1 | |
| Membro Membro desde Abr/2003 Goiania/Go Mensagens: 147 | <font color='#000000'>Estou precisando de ajuda na montagem de um algoritmo que faça validação de CPF. Faço curso de lógica de programação e tenho um trabalho para ser entregue amanhã (15/10/2003). Estou utilizando o programa Projeto Ambap, mas acho que ele não usa vetores, então vou ter que fazer manuscrito. Alguém me ajuda? * </font> __________________ Visitem meu site sobre World of Warcraft: www.alvo.eti.br O conteúdo depende de vocês! |
| |
Este anúncio só é mostrado a usuários não cadastrados. Cadastre-se hoje mesmo para não ver mais essa propaganda. |
| #2 | |
| Membro Membro desde Nov/2002 Mensagens: 454 | <font color='#000000'>Não estou certo se é isso que você quer, mas eu tenho esse código em Python que você pode portar para a linguagem que quiser. Acredito que não terá problemas em entendê-lo. Ele gera o próximo número da sequência de CPF, então para validar um número XXX.XXX.XXX-YY, você passa XXX.XXX.XXX para a função e ela deve retornar o primeiro dígito Y, em seguida você repete com XXX.XXX.XXX-Y e ela deve retornar o último dígito. Código: def _gen(cpf): * *res = [] * *for i in range(len(cpf)): * * * *a = cpf[i] * * * *b = (len(cpf) + 1 - i) * * * *res.append(b * a) * * * * * *res = reduce(int., res) * *res = res % 11 * * * * * * * * * *if res > 1: * * * *return (11 - res) * *else: * * * *return 0 __________________ "One World, One Web, One Program" Bill Gates "Ein Volk, Ein Reich, Ein Fuhrer" Adolf Hitler |
| |
| #3 | ||
| Membro Membro desde Mai/2002 Maceió Mensagens: 337 | <font color='#000000'> Citação:
a sintaxe é: matriz numerico <expr1>[<expr2>,<expr3>] , matriz caracter <expr1>[<expr2>,<expr3>] ou matriz logico <expr1>[<expr2>,<expr3>] Ex: Vetor de 10 posições Variaveis * * matriz numerico v[10] Matriz 2x2 Variaveis * * matriz numerico m[2,2]</font> | |
| |
| #4 | |
| Membro Membro desde Abr/2003 Goiania/Go Mensagens: 147 | <font color='#000000'>Galera, valeu d++++!! consgui montar o algoritmo para validação de CPF e ordenação de vetores!! Confiram: Ordenação de Vetores: //algoritmo feito em ila, sem utilizar procedimentos para ordenação de vetores. variaveis numerico a,b,c,m,aux,menor matriz numerico num[100] inicio //nesta linha deverão ser digitados os números que serão ordenados. escrever "digite a quantidade de numeros que serão ordenados: " ler a para b de 1 ate a *escrever "digite o ",b,"º numero:" *ler num[b] *próximo //este laço é executado até que (B) seja igual ao índice do penúltimo elemento do vetor. *para b de 1 ate a-1 //na linha abaixo (menor) recebe o valor de (B) * *menor:=b //no laço abaixo © recebe o valor de (a) e será executado até que © seja igual a (b+1), trazendo o menor elemento para //as posições inicias sucessivamente voltando ao para da linha acima até que todos os valores do vetor tenha sido movidos //para as posições de ordem correta. * *para c de a ate b+1 passo -1 //a linha abaixo testa o menor valor. * * *se num[c]<num[menor] então //se a expressão for verdadeira (menor) recebe o valor de © senão volta ao para e executa até fechar o laço e encontra o //menor numero. * * * * *menor:=c * * *fim_se * *proximo //nas linhas abaixo o menor valor é trazido para a primeira posição, voltando ao primeiro para do laço, passando pelo //segundo para testando o segundo o segundo menor numero, retornando as linhas abaixo para mover o segundo menor //numero para a segunda posição assim sucessivamente. * *aux:=num[b] * *num[b]:=num[menor] * *num[menor]:=aux * *proximo * * * *para b de 1 ate a * * * * *escrever num[b] * * * *proximo fim Validação de CPF: //Algoritmo para validação de cpf. variaveis numerico dv,dv1,soma,soma1,divi,divi1,multi,mult1,rest, matriz numerico cpf[11] inicio escrever "digite o CPF, após cada numero tecle enter: " ler cpf[1] ler cpf[2] ler cpf[3] ler cpf[4] ler cpf[5] ler cpf[6] ler cpf[7] ler cpf[8] ler cpf[9] ler cpf[10] ler cpf[11] soma:=(cpf[1]*10)+(cpf[2]*9)+(cpf[3]*8)+(cpf[4]*7)+(cpf[5]*6)+(cpf[6]*5)+(cpf[7]*4)+(cpf[8]*3)+( cpf[9]*2) rest:=resto(soma,11) *se (rest=0) ou (rest=1) então * * dv:=0 * * senao * * dv:=(11-rest) *fim_se soma:=(cpf[1]*11)+(cpf[2]*10)+(cpf[3]*9)+(cpf[4]*8)+(cpf[5]*7)+(cpf[6]*6)+(cpf[7]*5)+(cpf[8]*4)+ (cpf[9]*3)+(dv*2) rest:=resto(soma,11) *se (rest=0) ou (rest=1) então * * dv1:=0 * * senao * * *dv1:=(11-rest) * fim_se *se (dv=cpf[10]) e (dv1=cpf[11]) então * * escrever "CPF ok!" * * senao * * escrever "CPF invalido!" *fim_se fim</font> __________________ Visitem meu site sobre World of Warcraft: www.alvo.eti.br O conteúdo depende de vocês! |
| |
| #5 | |
| Membro Membro desde Mai/2003 Campinas, SP Mensagens: 2.467 | Legal! Mais caso encerrado! Se precisar acrescentar mais alguma coisa ou reabrir este tópico por qualquer outro motivo, basta entrar em contato com a moderação. Obrigado! :** __________________ -> não respondo mais dúvidas por MP, usem o Forum. -> ao me adicionar no MSN, envie uma mensagem identificando-se (pedidos sem identificação serão bloqueados). |
| |
![]() |
| Bookmarks |
| Opções do Tópico | |
| Modos de Exibição | |