Conceito de Algortimo

Um algoritmo pode ser definido como uma sequência finita de passos (instruções) para resolver um determinado problema. Sempre que desenvolvemos um algoritmo estamos estabelecendo um padrão de comportamento que deverá ser seguido (uma norma de execução de ações) para alcançar o resultado de um problema.

Para o desenvolvimento de um algoritmo eficiente é necessário obedecermos algumas premissas básicas no momento de sua construção:

O algoritmo 1 é um exemplo simples de algoritmo (sem condições ou repetições) para troca de um pneu.


\begin{algorithm}
% latex2html id marker 438\caption{Troca de pneu do carro.}...
...com o macaco }
\STATE{guardar as ferramentas }
\end{algorithmic}\end{algorithm}

Os algoritmos são capazes de realizar tarefas como:

  1. Ler e escrever dados;
  2. Avaliar expressões algébricas, relacionais e lógicas;
  3. Tomar decisões com base nos resultados das expressões avaliadas;
  4. Repetir um conjunto de ações de acordo com uma condição;

No algoritmo 2 estão ilustradas as tarefas anteriormente mencionadas. Nas linhas de 2 a 4 pode-se observar a repetição de uma ação enquanto uma dada condição seja verdadeira, neste caso em específico, o algoritmo está repetindo a ação 'esperar ônibus' enquanto a condição 'ônibus não chega' permanecer verdadeira, assim que essa condição se tornar falsa (quando o ônibus chegar) o algoritmo deixará de repetir a ação 'esperar ônibus', e irá executar a linha 5.

Já nas linhas de 7 a 9, é possível observar um exemplo da execução (ou não execuão) de uma uma ação com base na avaliação de uma expressão. Nesse trecho, o algoritmo avalia se a expressão 'não tenho passagem' é verdadeira e em caso positivo, executa a acão 'pegar dinheiro'. Caso a expressão 'não tenho passagem' seja falsa (ou seja, a pessoa tem passagem) então o algoritmo irá ignorar a ação 'pegar dinheiro' e irá executar a linha 10.

Estas estruturas de controle serão estudadas em detalhe nos capítulos 6 e 7.


\begin{algorithm}
% latex2html id marker 458\caption{Pegar um onibus.}
\be...
...HILE
\par
\STATE{sentar}
\par
\STATE{$\ldots$}
\end{algorithmic}\end{algorithm}

root 2009-03-12