Este artigo foi desenvolvido juntamente com os colegas da faculdade: Bruno Alisson, Higor Vinicius, Jean Silvestre. Ele pretende mostrar a importância da otimização de algoritmos e a definição de algoritmo e de otimização.
"O dicionário da língua portuguesa editado pelo Ministério da Educação define algoritmo (termo matemático) como um processo formal de cálculo." (GOLDBARG e LUNA, 2006:599).
"Diversos autores denominam os problemas que não podem ser selecionados através de processos formais de cálculo como problemas não decidíveis. Nesse caso, os algoritmos são estratégias para solução de problemas decidíveis, ou seja, para problemas cuja a solução admita um processo formal de ações." (GOLDBARG e LUNA, 2006:600).
A figura 1 representa um algoritmo em linguagem natural:
Figura 1. Esquema de um algoritmo em linguagem natural
Fonte: (Dias, 2006:5)
Entendamos por algoritmo todo e qualquer procedimento capaz de solucionar um determinado problema, através de passos previamente elaborados por alguém que entenda bem deste. O algoritmo deve ser capaz de resolver todas as instâncias, entenda-se por instância os valores de entrada a serem processados, do problema a ele proposto, basta que uma instância falhe para o algoritmo ser classificado como ineficiente.
O estabelecimento de uma ordem de instruções, por si só não significa que tenhamos um método eficiente. A finalidade maior de um algoritmo é a solução de um problema com uma maior precisão em todas as fases do processo. Por isso é de grande importância o emprego de uma otimização eficiente nos mesmos.
[5] Comentário enviado por jcaj em 18/07/2006 - 10:39h
Caro tobias_felipe a intenção não era de disfarçar e sim passar o conhecimento que obtivemos fazendo o trabalho. Se você acha que trabalho escolar não é interessante ficar exposto aqui no site, de onde você acha que vem o avanço da tecnologia?
[6] Comentário enviado por Ragen em 18/07/2006 - 11:02h
jcaj,
O artigo é bastante didatico, mas muito superficial. Você poderia ter abordado questões mais práticas e aplicadas ao desenvolvimento real de softwares.
Por exemplo: abordado pre-processamento e pre-caching, praticas que se adaptam a quase qualquer tipo de problema.
[10] Comentário enviado por htampieri em 04/08/2006 - 20:16h
a importancai de artigo nao é esclarecer todas as duvidas do leitor mas sim acrescentar conteudo ao seu intelectuo. nao vejo diferença em puplicar um artigo cientifico de faculdade pois a maioria deles são mesmo de faculdade. o que importa é conteudo.
[11] Comentário enviado por ubuntuvitor em 17/09/2007 - 19:40h
Gente vamos com calma porque, o connhecimento se adquire com pequenas coisas, sei que o trabalho dos colegas esta superficial so que lembre-se sempre temos novos cadastro no site de pessoas que estão começando a programar. Por isso se ao é do seu interesse o material apenas agradeça a pessoa porque ele ao menos teve a boa vontade de ajudar.
" ninguem sabe tudo mas todos juntos sabem tudo"
Vitor Cloves
[12] Comentário enviado por vagnerpolles em 07/07/2009 - 11:50h
Acredito que todos os artigos na area de logica sao bem vindos, o processo de adquirir conhecimento e algo ciclico, comeca com pequenos passos.
Nos instigamos por algum assunto;
Aprendemos algo;
Aplicamos este conhecimento;
Temos novas interesses;
Nos instigamos por algo novo... e repetimos o processo inúmeras vezes.
Caro Joao Carlos, nao se deixe influenciar pelo negativismo e aprenda com todos os comentários.
O Sabio tem certeza apenas de uma coisa: Que ele nao sabe tudo!