10 de nov de 2009

Formas diferentes de programar - Cálculo digito verificador CPF

Aprendi a programar sozinho. Aos 7 anos de idade. E isso já se vão quase 25 anos. Muita coisa mudou, mas lógica é lógica, e não importa o quanto louca ela aparenta. Não que seja um programador infalível, muito pelo contrário. Mas gosto de pensar logicamente nas coisas. Pensar difícil para facilitar.

Esses dias vi um código em Java para calcular digito verificar de CPF. Até ai nada de mais. Mas fiquei encucado porque diaxos tinha 3 FOR e 2 SWITCH ????. O código é esse:



Então fiquei pensando... Sabe, como em xadrez. Não queria mudar nada do código. Tinha que fazer a mesma coisa com os mesmos comandos... receber os mesmos argumentos, usar a mesma saída. Isto é como montar um quebra-cabeça, mas misturando 2 conjuntos ;) e eu adoro !.
Pois bem, após 30 minutos só olhando para o código, a coisa saiu assim:




Gostei. Agora tem somente um FOR, uma ARRAY, e os SWITCH foram trocados por IF. De uma vez só, recebe, altera, calcula e apresenta! A mesma coisa, só que diferente.
Removi alguns espaços da formatação apenas para se ver melhor, mas está certo o código.

E acaba de sair o dígito verificador. Retorna uma STRING, pois fiz um programa completo (main void....)


PS: Estou começando com C#. Quero ver até onde vai.