DC-UFRPE/Bacharelado em Ciência da Computação/Algoritmos e Estruturas de Dados/Definição de Algoritmo
Definição de Algoritmo[editar | editar código-fonte]
Na ciência da computação e na matemática, algoritmo é uma sequência de instruções, ou ações executáveis que tem como objetivo solucionar um problema. Basicamente, eles descrevem um procedimento, não ambíguo, padronizado, eficiente e correto a ser executado.
O algoritmo é descrito como passos ou comandos que devem ser executados em uma determinada ordem. Ele deve ser finito, bem definidos e que resolva o problema. Normalmente, existe dados de entrada, os passos de execução e o(s) resultado(s) final na saída.
O conceito de algoritmo existe a século. A palavra "algoritmo" faz referência ao matemático AlKhowarizmi, que viveu no século IX e descreveu as regras para equações matemáticas.
Apesar de ser muito associado a área da computação ou matemática, algoritmos pode ser expresso na forma de uma receita, lista de tarefas domésticas, procedimentos médicos, ou seja, tudo que tenha um passo a passo a ser executado a fim de ter uma solução final.
Um exemplo, é a receita de bolo descrita como:
- Separe o fermento
- Na batedeira bata os demais ingredientes por aproximadamente 5 minutos
- Retire a tigela da batedeira, junte o fermento e misture cuidadosamente com uma colher
- Despeje a massa do bolo em uma forma de cone untada e enfarinhada
- Leve ao forno preaquecido a 180ºC por aproximadamente 35 minutos ou até que ao espetar um palito ele saia limpo
Em ciência da computação, algoritmos estão mais associados a códigos, normalmente em escrita em alguma linguagem de programação, que determinarão como um computador deve executar uma tarefa. Abaixo, um código que ordena uma lista de números:
Algoritmo "ordernar_numero_em_ordem_crescente" Var // Seção de Declarações das variáveis num1, num2, num3, ordem1, ordem2, ordem3: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||") escreval("| Vamos descobrir o menor número entre os 3 informados |") escreval("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||") escreval("Favor informar o Nº 1: ") leia(num1) escreval("Favor informar o Nº 2: ") leia(num2) escreval("Favor informar o Nº 3: ") leia(num3) se (num1 < num2) e (num1 < num3) entao ordem1 <- num1 se (num2 < num3) entao ordem2 <- num2 ordem3 <- num3 senao ordem2 <- num3 ordem3 <- num2 fimse fimse se (num2 < num3) e (num2 < num1) entao ordem1 <- num2 se (num1 < num3) entao ordem2 <- num1 ordem3 <- num3 senao ordem2 <- num3 ordem3 <- num1 fimse fimse se (num3 < num1) e (num3 < num2) entao ordem1 <- num3 se (num2 < num1) entao ordem2 <- num2 ordem3 <- num1 senao ordem2 <- num1 ordem3 <- num2 fimse fimse escreva("Os números em ordem crescente é: ", ordem1, ordem2, ordem3) Fimalgoritmo