Segunda-feira, 20 de Março de 2006

 

Ian Liu, the Escalonator

O colega Ian Liu fez um programa em C capaz de escalonar qualquer matriz! Parabens! O programa está aqui. Esta bem comentado, será fácil de ler, mesmo para os que não conhecem bem a linguagem C. Ian preparou uma versão executável. Porém, sugiro que vocês mesmos compilem o programa. Assim, poderão implementar modificações, melhorando o programa do Ian. Este é o espirito do software livre, muito difundido no mundo científico. Qualquer sistema Unix tem um compilador C. No Windows, sugiro o LCC-Win32, que é grátis para aplicações acadêmicas.

Há algumas tarefas que poderiam ser feitas para melhorar o programa no Ian. São elas:
  1. A mais fundamental de todas: fazer com que o programa do Ian compile. Eu tentei, deu um monte de mensagens de erros relativas ao Window$. O mundo não se resume a Micro$oft, caros e caras. De fato, o mundo anda muito melhor sem ela. Sugiro que se retire do programa qualquer coisa supérflua relativo a janelas e coisas assim. Esse programa pode e deve rodar em modo texto (dos). Vamos tentar deixar o programa em linguagem C standard. (Resolvido, com a ajuda de uma certa politécnica. O Dev-C++ (grátis) é capaz de compilar o programa sem muitos transtornos. O executável, para quem quiser testar, está aqui.)
  2. Podemos implementar outras coisas interessantes. Suponha que seja dado também um vetor B, correspondente ao lado direito de um sistema linear. O programa poderia decidir se há ou não soluções? Poderia retornar os geradores no caso de infinitas soluções?
Quem for atacar os problemas, faça como o Ian. Comente toda e qualquer modificação feita no programa. Não faz mal se houver mais comentários do que comandos. De fato, é melhor assim. Mandem o programa modificado para mim, eu o coloco aqui no blog.

Ian Liu, the Escalonator, preparou um javascript com o escalonador. Está aqui. Funciona muito bem! Pelo menos eu não vi erro nenhum.... É só clicar!

Falta agora alguem pra fazer o item 2 acima....

Comments:
\o/

Professor, talvez as mensagens de erro se devem ao fato de que você está tentando compilar um arquivo .C, não? Eu escrevi em C++ e a sintaxe é um pouco diferente. Porém, não sei se isso afeta a compilação.

Abraços,
Ian Liu.
 
Não creio. Os erros são no include windows.h (obviamente de windows) e na sua função CLS(), que usa coisas que eu nunca vi, portanto creio que sejam de windows. Tentei simplesmente retirar essa função e o include do windows.h, mas outros erros apareceram.

Voce poderia fazer isso em javascript?
Assim não teríamos problemas com o compilador.
 
Saa, compila sim. Utilizei o Visua Studio C++, só que com arquivo .cpp e não .c
 
Sim, sei que compila, o Ian mandou um executável, mas o programa deve ser compilável sem usar o Visual Studio C++, que eu não tenho e não preciso. Esse programa não precisa de nenhum recurso específico do WIndows, então deveria ser escrito de uma maneira que pudesse ser compilado com qualquer compilador, em qualquer máquina, em qualquer sistema operacional.
 
Resolvida a questão da compilação, vejam o post original.
 
Fiz uma versão em JavaScript. Testei no Mozilla FireFox e no Internet Explorer. Ambos funcionaram. Não sei se o mesmo ocorre em outros browsers.
Como eu não sou muito bom em JS, o codigo ficou meio confuso creio eu.

Para ver o codigo fonte, clique com o botao direito na pagina e mande exibir o codigo fonte.

Aqui esta o link:
http://www.ianliu.art.br/trabalhos/Escalonador.html


ps.: Eu peguei aquela função de limpar a tela na internet, uma vez que o C++ nao tem (eu acho). Nao sei como funciona e nem quero saber. Cada nome estranho =]
 
Ian Liu, the Escalonator, melhorou, e muito, seu programa. Agora ele resolve sistemas com solução única. Confiram aqui.
 
Postar um comentário

Links to this post:

Criar um link



<< Home

This page is powered by Blogger. Isn't yours?