Mariangela de Oliveira Gomes Setti - Programa de Pós-Graduação ...
Mariangela de Oliveira Gomes Setti - Programa de Pós-Graduação ...
Mariangela de Oliveira Gomes Setti - Programa de Pós-Graduação ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
57<br />
treinada e po<strong>de</strong> ser representada em qualquer uma das inúmeras linguagens <strong>de</strong> programação<br />
existentes. Estas, por sua vez, são atreladas a uma gran<strong>de</strong> diversida<strong>de</strong> <strong>de</strong> <strong>de</strong>talhes<br />
computacionais, que pouco têm a ver com o raciocínio original. Para escapar <strong>de</strong>ssa torre <strong>de</strong><br />
Babel e, ao mesmo tempo, representar mais fielmente o raciocínio da lógica <strong>de</strong> programação,<br />
utilizamos o pseudocódigo.<br />
Farrer (1999, p. 16), <strong>de</strong>screve um algoritmo da seguinte forma: “Ação é um<br />
acontecimento que, a partir <strong>de</strong> um estado inicial, após um período <strong>de</strong> tempo finito, produz um<br />
estado final previsível e bem <strong>de</strong>finido. Portanto, um algoritmo é a <strong>de</strong>scrição <strong>de</strong> um conjunto<br />
<strong>de</strong> comandos que, obe<strong>de</strong>cidos, resultam numa sucessão finita <strong>de</strong> ações”.<br />
Como vimos, po<strong>de</strong>mos encontrar diversas <strong>de</strong>finições para o termo algoritmo. Todas<br />
concordam que um algoritmo <strong>de</strong>ve realizar um conjunto <strong>de</strong> tarefas para resolver um problema<br />
que esteja bem <strong>de</strong>finido. Na medida que precisamos especificar uma sequência <strong>de</strong> passos,<br />
precisamos or<strong>de</strong>nar o pensamento; portanto, precisamos elaborar um raciocínio lógico<br />
(FORBELLONE, 2000).<br />
Se pensarmos em ativida<strong>de</strong>s rotineiras que realizamos diariamente, po<strong>de</strong>mos constatar<br />
que, muitas vezes, estamos intuitivamente executando um algoritmo, ainda que nãoestruturado,<br />
por exemplo, quando utilizamos uma receita <strong>de</strong> bolo. Nela está <strong>de</strong>scrita uma série<br />
<strong>de</strong> ingredientes necessários e uma sequência <strong>de</strong> passos (ações) que <strong>de</strong>vem ser fielmente<br />
cumpridos para que se consiga fazer o bolo <strong>de</strong>sejado.<br />
Quando elaboramos um algoritmo, <strong>de</strong>vemos especificar ações claras e precisas, que, a<br />
partir <strong>de</strong> um estado inicial, após um período <strong>de</strong> tempo finito, produzem um estado final<br />
previsível e bem <strong>de</strong>finido. Isso significa que o algoritmo fixa um padrão <strong>de</strong> comportamento a<br />
ser seguido, uma norma <strong>de</strong> execução a ser trilhada, com vistas a alcançar, como resultado<br />
final, a solução <strong>de</strong> um problema, garantindo que, sempre que executado sob as mesmas<br />
condições, produza o mesmo resultado.<br />
Um algoritmo tem por objetivo <strong>de</strong>screver o raciocínio lógico envolvido na solução <strong>de</strong><br />
um problema. Dessa forma, viabiliza a abstração <strong>de</strong> uma série <strong>de</strong> <strong>de</strong>talhes computacionais,<br />
que po<strong>de</strong>m ser acrescentados mais tar<strong>de</strong>, o que nos permite focalizar nossa atenção naquilo<br />
que é importante: a lógica <strong>de</strong> programação.<br />
Um fator relevante na construção <strong>de</strong> algoritmos é que, uma vez concebida uma<br />
solução algorítmica para um problema, esta po<strong>de</strong> ser traduzida para qualquer linguagem <strong>de</strong>