domingo, 27 de julho de 2008

Noções para formulação de um Algoritmo.

Olá pessoal! Na postagem de hoje iremos continuar abordando os conceitos inicias de algoritmos. Tendo em vista que já foram apresentadas algumas definições do assunto nos sentimos à vontade para lançar as primeiras noções para formulação de um algoritmo.

"Num algoritmo (e em particular num programa) devemos distinguir claramente dois aspectos complemetares: um aspecto estático e um aspecto dinâmico.
-A formulação de um algoritmo geralmente consiste em um texto contendo comandos (instruções) que devem ser executados em uma ordem prescrita. Esse texto é uma representação concreta do algoritmo e tem caráter evidentemente estático, atemporal, expandindo somente no espaço (folha de papel).
-Por outra parte este texto não nos interessa em si, mas pelos efeitos que pode evocar sua execução no tempo, dado um conjunto de” valores inicias “. Cada execução de um algoritmo é um evento dinâmico evoluindo no tempo.

"A grande dificuldade na concepção e no entendimento de algoritmos é o problema do relacionamento desses aspectos, ou seja, como entender (“visualizar") as estruturas dinâmicas das possíveis execuções do algoritmo a partir da estrutura estática do texto do algoritmo".
Fonte:
Algoritmos e estuturas de dados, autor: Guimarães/Lages.


Tendo em vista o que foi apresentado neste trecho vamos dar uma dica ao internauta:
Para que você possa se acostumar com o tema e assim garantir uma melhor compreensão, passe a associar os algoritmos aos eventos do seu cotidiano. E assim você irá perceber que a maioria de suas ações podem ser descritas em uma seqüência lógica de comandos como por exemplo: abrir a porta de casa, ligar a televisão,vestir uma roupa...


" A maioria dos algoritmos contém decisões, por exemplo, para atravessar uma rua preciso verificar se o sinal de pedestres está verde e verificar se nenhum carro está avançando o sinal, somente após decidir se estes fatos se confirmaram poderei atravessar a rua.

Para considerar um algoritmo que inclua decisões vamos estudar um algoritmo que nos ajude a decidir o que fazer em um domingo. Um possível algoritmo poderia ser o seguinte:

  • Algoritmo de domingo.
    • Acordar.
    • Tomar o café.
    • Se estiver sol vou à praia senão leio o jornal.
    • Almoçar.
    • Ir ao cinema.
    • Fazer uma refeição.
    • Ir dormir.
  • Final do domingo.

A possibilidade de tomada de decisões é a característica mais importante de qualquer linguagem de programação. Ela permite ao computador simular aproximadamente uma característica humana que é a escolha de opções. Sem esta característica o computador seria pouco mais do que uma veloz máquina de calcular".
Fonte:
http://equipe.nce.ufrj.br/adriano/c/apostila/algoritmos.htm


Agora que já apresentamos uma parte significativa do assunto e que dará suporte para a compreensão do tema em geral deixaremos uma questão para vocês se divertirem tentando resolvê-la.O intuito dessa dinâmica é exercitar o pensamento lógico, por isso continuem praticando sempre que possível.

"Dispomos de duas vasilhas com capacidades de 9 e 4 litros respectivamente. As vasilhas não tem nenhum tipo de marcação, de modo que não é possível ter medidas como metade ou um terço. Mostre uma seqüência de passos, que usando as vasilhas de 9 e 4 litros encha uma terceira vasilha de medida desconhecida com seis litros de água".
Fonte:
http://equipe.nce.ufrj.br/adriano/c/apostila/algoritmos.htm


Aguardem a solução para o problema na próxima postagem.

OBS: Deve-se ressaltar que mais de uma solução é possível, pois o modo de raciocinar durante a resolução de um problema pode variar, independente disto o resultado encontrado será o mesmo.

Nenhum comentário: