DC-UFRPE/Bacharelado em Ciência da Computação/Algoritmos e Estruturas de Dados/Definição de Algoritmo

Fonte: Wikiversidade

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