Você está na página 1de 2

Algoritmo

Um algoritmo uma sequncia no ambgua de instrues que executada at que determinada condio se verifique. Mais especificamente, em matemtica, constitui o conjunto de processos (e smbolos que os representam) para efectuar um clculo. O conceito de algoritmo freqentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iteraes) ou necessitar de decises (tais como comparaes ou lgica) at que a tarefa seja completada. Um algoritmo corretamente executado no ir resolver um problema se estiver implementado incorretamente ou se no for apropriado ao problema. Um algoritmo no representa, necessariamente, um programa de computador, e sim os passos necessrios para realizar uma tarefa. Sua implementao pode ser feita por um computador, por outro tipo de autmato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instrues em mais ou menos tempo, espao ou esforo do que outros. Tal diferena pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que voc vista primeiro as meias e os sapatos antes de vestir a cala enquanto outro algoritmo especifica que voc deve primeiro vestir a cala e depois as meias e os sapatos. Fica claro que o primeiro algoritmo mais difcil de executar que o segundo apesar de ambos levarem ao mesmo resultado. O conceito de um algoritmo foi formalizado em 1936 pela Mquina de Turing de Alan Turing e pelo clculo lambda de Alonzo Church, que formaram as primeiras fundaes da Cincia da Computao. A maneira mais simples de se pensar um algoritmo por uma lista de procedimentos bem definida, no qual as instrues so executadas passo a passo a partir do comeo da lista, uma idia que pode ser facilmente visualizada atravs de um fluxograma. Tal formalizao adota as premissas da programao imperativa, que uma forma mecnica para visualizar e desenvolver um algoritmo. Concepes alternativas para algoritmos variam em programao funcional e programao lgica. Fluxograma - um tipo de diagrama, e pode ser entendido como uma representao esquemtica de um processo, muitas vezes feita atravs de grficos que ilustram de forma descomplicada a transio de informaes entre os elementos que o compem. Podemos entend-lo, na prtica, como a documentao dos passos necessrios para a execuo de um processo qualquer. uma das Sete Ferramentas da Qualidade. Muito utilizada em fbricas e industrias para a organizao de produtos e processos. O Diagrama de Fluxo de Dados (DFD) utiliza do Fluxograma para modelagem e documentao de sistemas computacionais.

Anlise de Algoritmos
Em cincia da computao, a anlise de algoritmos tem como funo determinar os recursos necessrios para executar um dado algoritmo. A maior parte dos algoritmos so pensados para trabalhar com entradas (inputs) de tamanho arbitrrio. Em geral, a eficincia ou complexidade de um algoritmo funo do tamanho do problema, do nmero de passos necessrio (complexidade temporal) e da complexidade espacial ou de memria do sistema usado para executar o algoritmo.

Esta disciplina faz parte da mais vasta teoria da complexidade computacional, que permite fazer estimativas quanto aos recursos necessrios para que um algoritmo resolva um determinado problema computacional. Assim, o objetivo final fazer no apenas cdigos que funcionem, mas que sejam tambm eficientes. Para isso, deve-se estudar alguns tipos de problemas que podem ser resolvidos computacionalmente. Em seguida, deve ser visto como a abordagem adotada para resolver pode influenciar, levando a um algoritmo mais ou menos eficiente. "Ao verificar que um dado programa est muito lento, uma pessoa prtica pede uma mquina mais rpida ao seu chefe. Mas o ganho potencial que uma mquina mais rpida pode proporcionar tipicamente limitado por um fator de 10, por razes tcnicas ou econmicas. Para obter um ganho maior, preciso buscar melhores algoritmos. Um bom algoritmo, mesmo rodando em uma mquina lenta, sempre acaba derrotando (para instncias grandes do problema) um algoritmo ruim rodando em uma mquina rpida. Sempre." A anlise de algoritmos um ramo da cincia da computao que estuda as tcnicas de projeto de algoritmos e os algoritmos de forma abstrata, sem estarem implementados em uma linguagem de programao em particular ou implementadas de algum outro modo. Ela preocupa-se com os recursos necessrios para a execuo do algoritmo tais como o tempo de execuo e o espao de armazenamento de dados. Deve-se perceber que para um dado algoritmo pode-se ter diferentes quantidades de recursos alocados de acordo com os parmetros passados na entrada. Por exemplo, se definirmos que o fatorial de um nmero natural igual ao fatorial de seu antecessor multiplicado pelo prprio nmero, fica claro que a execuo de fatorial(10) consome mais tempo que a execuo de fatorial(5). Um meio de exibir um algoritmo afim de analis-lo atravs da implementao por pseudocdigo em portugus estruturado. O exemplo a seguir um algoritmo em portugus estruturado que retorna (valor de sada) a soma de dois valores (tambm conhecidos como parmetros ou argumentos, valores de entrada) que so introduzidos na chamada da funo:
funo SomaDeDoisValores (A numrico, B numrico) inicio declare SOMA numrico SOMA <-- A + B retorne (SOMA) fim

Bibliografia: www.google.com.br

Você também pode gostar