Eu, programador – MeM : HTS Programming 1
Cá estamos para a 2ª edição desta rubrica. O programa de hoje foi oferecido novamente pelo MeM e tem o nome HTS Programming 1, segue a descrição do Autor: O programa que vos trago é a solução a um desfio de um site no qual estou inscrito.
O desafio consiste em reordenar 10 palavras que nos são apresentadas assim que entramos na página da missão.
De 1275 palavras contidas num dicionário ao qual temos acesso prévio, são escolhidas 10 palavras ao acaso cujas letras estão colocadas de forma aleatória cada vez que entramos na página do desafio.
O objectivo consiste em reordenar as letras de cada palavra para que estas fiquem escritas numa única linha separadas por vírgula. O tempo disponível para concluirmos o desafio é de 30 segundos.
Posto as regras descritas acima, decidi por mãos à obra e tentar superar a missão.
Criei um programa que carrega para memória uma lista de todas as palavras contidas no dicionário, bastando para isso arrastar para cima da caixa de texto a vermelho o ficheiro que contêm as palavras correctas.
Já com o dicionário em memória percorro as palavras fornecidas e para cada uma delas reordeno as letras dessa mesma palavra e de cada uma das palavras do dicionário.
Finalmente basta ver qual a palavra do dicionário que coincide.
Caso coincida gravo a palavra numa lista final de palavras e quando já tiver percorrido todas as palavras é só imprimir a lista de correcta.
Para acederem ao código deste programa e perceberem melhor o algoritmo utilizado para passar esta missão vejam a hiperligação abaixo onde disponibilizo a solução.
Linguagem: C#
Download: Código HTS Programming 1 [20.48KB]
Atenção que o código não é “à prova de bala”, é possível que obtenha excepções na utilização do programa caso não o utilize correctamente ou o utilize para outros fins que não para passar a missão.
Caso queiram tentar este desafio ou muitos outros desafios aqui fica o link para o site Hack This Site.
Licença: Freeware Sistemas Operativos: Windows XP/Vista/Win7 Download: HTS Programming 1 [11.96KB] Homepage: HTS Programming
Este artigo tem mais de um ano
problemas de enconding!!
o programa tem problemas evidentes de encoding!
Dace… Basta ver a imagem para perceber que tem problemas de encoding… No entanto, se calhar não seria mau dar alguma palavra de apreço ao trabalho que teve a desenvolver. Digo eu… Que tal ajudar a corrigir esse problema? hmm? Isso não!
Se calhar, desenvolver uma função que verifique se a string está em ISO-8859-1 e se estiver, devolver em UTF-8 e usá-la sempre que se apresenta na form.
Não consegui ver o algoritmo que foi usado na ordenação (comparações com as palavras do dicionario; troca aleatoria das letras), mas seria porreiro expor aqui isso.
Fica aqui também o desafio ao pplware, de começar a publicar uns artigos de algoritmia e de algoritmos que podem ser utilizados nos projectos pessoais…
Resta-me dar os Parabéns ao programador pelo trabalho!
JMP
Bom post e bom site de desafios, já o conhecia mas se calhar muitas outras pessoas não o conhecem.
Quanto ao Encoding, sim têm problemas basta ver no print screen acima. O autor refere que o programa foi feito só para passar a missão, de qualquer maneira podem acrescentar o parâmetro Encoding.Default na chamada do método que lê o ficheiro.
Eu nao consigo abrir o project no visual basic 2008 😉
talvez porque a linguagem, seja, c# ? 😉
LOL
Boas o jogo ate e fixe!! não é grande altura para começar a jogar!!
http://rapidshare.com/files/243217767/hts_app_2.rar.html
ai esta a solução para o nivel2
Boas pessoal, e mais uma vez parabens pela iniciativa 😉
Tenho uma duvida em relação a programação, quando se trata de utilizar o visual studio. Quando realizamos o nosso programa, e geramos o seu executável, se enviarmos esse executavel para alguem, essa pessoa não consegue executar o software! A minha duvida reside nesse ponto! O que precisamos fazer para que, na geração do executavel, esse possa correr numa máquina que não possui o visual studio?!?!
Abraço ppl
Uma grande parte dos programas que utilizamos são criados com visual studio, para correr em qualquer máquina apenas e necessário garantir que as livrarias vão com o programa.
No caso do programa ser feito em c# o utilizador deve ter instalado o net.framework, que não deixa de ser uma livraria.
Já agora o meu programa não foi feito com o visual studio, mas sim com sharpdevelop, é opensource.
Viva!
Tive um problema identico..os programas apenas funcionavam na maquina onde tinham sido desenvolvidos..
Instala o Visual Studio Redistributable Package nas maquinas onde se quer executar a aplicação e, se tudo correr bem, os problemas desaparecerão.
Abraço
Obrigado pela resposta Nuno e Renato 😉
Irei testar isso 🙂
Abraço
este programa tem graves problemas de encoding e/ou detectcao de charset (???)
Ja agora aproveito e apresento um programa meu =P
EditCrypt
http://www.eskiso.net/editcrypt.htm
Um substituito para o bloco de notas com encriptação, exportação para PDF, etc