nš6
ISSN 0870-7669 Junho
1987
Folha Informativa
do Projecto "Computação no Ensino da Matemática"
QUESTÕES & RESPOSTAS
Nesta Secção o "nonius" tentará responder a todo o tipo de questões relacionados com a utilização dos computadores que qualquer interessado lhe envie.
P O que é um algoritmo? O que é que isso tem a ver com computadores?
I.M.
R - Perante um problema que se pretende resolver o que se faz? Lê-se o enunciado ou, no caso deste não existir, procura-se um enunciado que traduza o problema em causa. O enunciado de um problema especifica algumas condições ou propriedades conhecidas. De um modo geral o enunciado descreve tudo aquilo que se conhece acerca do problema. O mesmo enunciado especifica também o que se pretende atingir, qual a resposta que se procura. O que fazemos então perante um enunciado? Tentamos obter a resposta pedida partindo dos dados conhecidos que esse enunciado fornece. Se o enunciado traduz um problema de solução simples, evidente, então não há dificuldade! Dizemos que a solução é simples e evidente porque o método de chegar a essa solução nos aparece evidente,
Começamos então a tratar os dados que o enunciado fornece. Como sabemos as transformações a operar resolvemos o problema metodicamente. Isto é, se vamos precisar de alguma' coisa não fornecido directamente pelo enunciado. tratamos de deduzir essa propriedade ou condição antes de necessitarmos dela. Procedemos deste modo porque sabemos de antemão quais os passos que é necessário seguir para chegar à solução. Isto é, conhecemos o plano da resolução, Mas, como a resolução nos aparece evidente normalmente nem nos apercebemos de que, de facto, seguimos um plano de resolução, O que acontece se a solução não é simples? O que fazemos se os caminhos a seguir para obter a resposta não nos aparecem facilmente? Então pegamos nas condições ou propriedades que o enunciado do problema fornece e vamos tentando deduzir a resposta. Simplesmente, a resolução não aparece agora muito metódica.
Como não conhecemos de antemão quais os passos a percorrer para obter a resposta, é frequente necessitarmos de propriedades ou condições que o enunciado não fornece directamente. Há então que interromper o raciocínio que está a ser seguido para deduzir aquelas propriedades ou condições de que necessitamos para poder depois prosseguir. Isto é, não temos um plano de resolução Resolvemos o problema (vamos supor que o resolvemos mesmo!), mas a sua solução não fica certamente muito apresentável. Qualquer pessoa terá alguma dificuldade em ler e compreender a resolução apresentada Mesmo quem resolveu o problema certamente terá algumas dificuldades numa segunda resolução do problema. Para evitar ter dificuldades em futuras resoluções há que procurar o plano de, resolução para o problema. O plano de resolução não é mais do que o estabelecer de regras e definir passos a serem percorridos para chegar a respostas bem como o estabelecer a ordem pela qual as diversas acções devem ser efectuadas de modo a facilitar a resolução e torná-la mais facilmente compreensível. Repare-se que no fim de contas procura-se sempre um plano de resolução, conhecido ou a definir.
O que é então um algoritmo? Um algoritmo não é mais do que um plano de resolução. Um algoritmo é um conjunto de regras que permite resolver um dado problema. Esta designação aparece por deturpação do nome do matemático persa Muhammad iben Muça AI-Khuarizim (sec. IX), sujas obras foram traduzidos para o ocidente no seculo XII sob o titulo "Algorithmi de numero indorum", um livro de aritmética onde são Descritos os cálculos na numeração decimal. A partir defesa altura a palavra algoritmo passou a ser utilizada para designar os planos de resolução de algum problema.
O que é que os algoritmos têm a ver com computadores Quando se trata de programação têm tudo a ver com computadores. Um programa traduz para o computador um plano de resolução, isto é, um algoritmo para o problema, Programar não é mais do que estabelecer um algoritmo para o problema e depois traduzir esse algoritmo para a linguagem de programação escolhida. O essencial da programação está na determinação de um algoritmo. De tal modo que há quem ensine programação sem utilizar nenhuma linguagem de programação. Usa-se apenas uma linguagem algoritmica que e um conjunto de abreviaturas e sinais para descrever um algoritmo. Quando se pretende trabalhar no computador, então teremos de traduzir esse algoritmo para a linguagem de programação de que dispomos. Mas este trabalho é já essencialmente tradução. Para terminar esta resposta retirasse que existem linguagens de programação que servem também como linguagens algoritmicas. A mais popular dentre elas e o Pascal.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
[ Início do Número 6] [ Menu Principal ]