ebaH Home
  • Blog
  • Novo usuário
Pesquisa avançada
Home » Pastas » Arquivo

Preview

Preview

Este é apenas um preview. Baixe o arquivo completo para ver o restante.
...software em que, mesmo sem saber qual será a linguagem de programaçãoa ser utilizada, se especifica completamente o software a ponto de na implementação serpossível traduzir diretamente essas especificações em linhas de código em alguma lin-guagem de programação como Pascal, C, Java e outras.Essa tarefa permite verificar, em um nível maior de abstração, se o software estácorreto ou não. Permite, inclusive, averiguar se o software atenderá às especificações4 Algoritmos e Lógica de Programaçãoori­ginalmente propostas. Assim, evita-se partir diretamente para a etapa de implementa-ção, o que poderá ocasionar mais erros no produto final.1.2.1 O significado de um algoritmoUm algoritmo representa um conjunto de regras para a solução de um problema. Essa éuma definição geral, podendo ser aplicada a qualquer circunstância que exija a descriçãoda solução. Dessa forma, uma receita de bolo é um exemplo de um algoritmo2, poisdescreve as regras necessárias para a conclusão de seu objetivo: a preparação de umbolo.Em um bolo, descrevem-se quais serão os ingredientes e as suas quantidades.Depois, quais são as regras para o seu preparo, como a seqüência de inclusão dos in-gredientes para bater as gemas cozimento e assim por diante, conforme a Figura 1.2.Figura 1.2 Uma receita de bolo é um algoritmo.A correta execução das instruções contidas na receita de bolo leva à sua prepara-ção. No entanto, se essas instruções tiverem sua ordem trocada ou a quantidade dosingredientes alterada, o resultado vai divergir do original. Existe, ainda, o perigo de oautor da receita não a ter testado previamente, o que poderá gerar, novamente, resultadosind­esejáveis3.Da mesma forma, em programação, o algoritmo especifica com clareza e de formacorreta as instruções que um software deverá conter para que, ao ser executado, forneçaresultados esperados (veja a Figura 1.3).2Na realidade, um algoritmo informal e impreciso.3Se o fogão estiver desregulado, também vai gerar problemas.Capítulo 1 ? Introdução 5Figura 1.3 A tarefa de especificar um algoritmo.Em primeiro lugar, deve-se saber qual é o problema a ser resolvido pelo software ? oseu objetivo. Daí, deve-se extrair todas as informações a respeito desse problema (dadose operações), relacioná-las com o conhecimento atual que se tem do assunto, buscandoeve­ntualmente informações de outras fontes. Essa fase representa a modelagem doproblema em questão e vai ser detalhada na Seção 1.4.2. A modelagem do problema éresultante de um processo mental de abstração, o qual será discutido na Seção 1.4.Depois, sabendo como resolver o problema, a tarefa consiste em descrever clara-mente os passos para se chegar à sua solução. Os passos por si só não resolvem oproblema é necessário colocá-los em uma seqüência lógica (veja Seção 1.4.3), que, aoser seguida, de fato o solucionará.Além disso, é importante que essa descrição possua algum tipo de convenção paraque todas as pessoas envolvidas na definição do algoritmo possam entendê-lo (veja aSeção 1.3). Chega-se, então, na especificação do algoritmo.1.2.2 Exemplo de algoritmoConsidere o problema das Torres de Hanoi. A proposição do problema é a seguinte:inicialmente têm-se três hastes, A, B e C, e na haste A repousam três anéis de diâmetrosdiferentes, em ordem decrescente por diâmetro (veja a Figura 1.4).6 Algoritmos e Lógica de ProgramaçãoA B CSituação inicial Situação finalA B CFigura 1.4 O problema das Torres de Hanoi.O objetivo é transferir os três anéis da haste A para B, usando C se necessário. Asregras de movimento são:? deve-se mover um único anel por vez? um anel de diâmetro maior nunca pode repousar sobre algum outro de diâmetromenor.As únicas informações para se resolver esse problema são as configurações inicial efinal dos anéis e as regras de movimento. Uma solução poderia ser a seguinte seqüênciade operações (veja o Algoritmo 1.1 e a Figura 1.5).Algoritmo 1.1 Algoritmo para resolver o problema das Torres de Hanoi.Início1. Mover um anel da haste A para a haste B.2. Mover um anel da haste A para a haste C.3. Mover um anel da haste B para a haste C.4. Mover um anel da haste A para a haste B.5. Mover um anel da haste C para a haste A.6. Mover um anel da haste C para a haste B.7. Mover um anel da haste A para a haste B.FimCapítulo 1 ? Introdução 7A B CInício Passo 1A B CPasso 2A B CPasso 3A B CPasso 4A B CPasso 5A B CPasso 6A B CPasso 7 SoluçãoA B CFigura 1.5 Solução do problema das Torres de Hanoi.8 Algoritmos e Lógica de ProgramaçãoComo se obteve essa solução? Primeiro, é importante entender o enunciado do pro-blema e as regras que foram impostas. Dessa forma, não é possível especificar os mo-vimentos nos quais uma peça que esteja abaixo de outra seja movida e nem mover maisde uma peça por vez. Segundo, é importante verificar a cada passo definido se a soluçãoestá se aproximando do objetivo final.O Algoritmo 1.2 define outra seqüência de operações para se solucionar o problema.Algoritmo 1.2 Outro algoritmo para as Torres de Hanoi.Início1. Mover um anel da haste...
Este é apenas um preview. Baixe o arquivo completo para ver o restante.

Descrição

Descrição

Arquivo adicionado em 8/12/08
por: Marcelo Pacifico
Curso: Informática e Computação
Quantidade de downloads: 12
Tamanho do arquivo: 416,9 kb
Descrição:
Possui apenas o capítulo I do Livro, Aborda a resolução do problema conhecido como Torres de Hanoi
Etiquetas: Endereço Permanente:

Ações

Licença

Licença

Creative Commons LicenseEsta obra está licenciada sob uma Licença Creative Commons.