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]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