07.02.2015 Views

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

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!