http://olinux.uol.com.br/artigos/434/print_preview.html



                    Curso de Algoritmo - Aula VII
             ...
PARA i <- 2 ATÉ VFim FAÇA
    S <- S + i
    FIMPARA
FIM ALGORITMO



Agora, basta alterar o valor de Vfim, para que a est...
Para 20 dígitos




                  Copyright (C) 1999- 2 0 0 0 Linux Solutions
Próximos SlideShares
Carregando em…5
×

Curso De Algoritmo Aula 7

778 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
778
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
26
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Curso De Algoritmo Aula 7

  1. 1. http://olinux.uol.com.br/artigos/434/print_preview.html Curso de Algoritmo - Aula VII Por: Jorge Luiz E. Souza ( 11/01/2002 ) Introdução Muito bem, como ficou acertado, veremos a resolução de exercícios matemáticos, para a escrita de algoritmos estruturados. Exemplo 1 Nosso primeiro exercício será a resolução de uma somatória de números. S = 1 + 2 + 3 + 5 + ... Até um total de 500 dígitos. Já ficou estabelecido o número de repetições, então, a melhor estrutura a ser utilizada para a resolução do problema é o PARA. Resolução Algoritmo Somatoria Declare S, i : Inteiro //Inicialização da variável acumuladora S <- 1 PARA i <- 2 ATÉ 500 FAÇA S <- S + i FIMPARA FIM ALGORITMO Pronto, a implementação para a solução deste problema é bem simples não?! E demonstra um pouco do poder de cálculo dos computadores. Para fazer esta soma, um computador levaria um milésimos de segundo. Aproveitando esta implementação, vejamos uma técnica para atualização rápida de estruturas PARA, em algoritmos mais complexos. Esta técnica é muito importante, pois imagine um código com 1500 (mil e quinhentas) linhas, e algumas estruturas PARA espalhadas, utilizando o mesmo valor de repetições. Você teria que procurar pelo código para encontrar as estruturas PARA e atualizar uma por uma caso o valor de repetição mudasse. A técnica é a seguinte: Ao invés de utilizarmos: PARA i <- 2 ATÉ 500 FAÇA Utilizaremos: PARA i <- 2 ATÉ VFim FAÇA Onde Vfim é uma variável que deve ser inicializada no início do programa com o valor de finalização da estrutura de repetição. Então teriamos: Algoritmo Somatoria Declare S, Vfim, i : Inteiro //Inicialização da variável acumuladora S <- 1 Vfim <- 500
  2. 2. PARA i <- 2 ATÉ VFim FAÇA S <- S + i FIMPARA FIM ALGORITMO Agora, basta alterar o valor de Vfim, para que a estrutura passe a calcular mais ou menos de 500 dígitos. Exemplo 2 Vejamos um algoritmo para resolver o seguinte problema: S <- 2 + 4 + 6 + 8 +... Para um total de 1000 dígitos. Algoritmo SomatoriaII Declare S, Vfim, i : Inteiro //Inicialização da variável acumuladora S <- 0 Vfim <- 1000 PARA i <- 1 ATÉ VFim FAÇA S <- S + (i*2) FIMPARA FIM ALGORITMO Note que a solução apresentada aqui, para este segundo exemplo, utiliza a própria variável da estrutura PARA, para obter os valores a serem somados. Assim, quando o valor de "i" for: I = 1 ------- S receberá seu valor atual (zero) + o valor obtido pela multiplicação de "i" por 2, isto é (dois). I = 2 ------- S receberá seu valor atual (dois) + o valor obtido pela multiplicação de "i" por 2, isto é (quatro). E assim por diante. Observe que foi utilizado parenteses para descrever a ordem de operações que deve ser seguida. Como na matemática, o computador, se não especificado, segue a seguinte ordem de operações matemáticas: 1. Raiz quadrada 2. Equações 3. Multiplicação e divisão 4. Soma e subtração 5. Operadores lógicos (AND,OR,XOR,NOT) Para determinar a ordem de uma expressão matemática utiliza-se os parenteses. Assim, dão resultados diferentes: 1. 5*5+15/20 é diferente de 5*(5+15)/20 que é diferente de (5*5+(15/20)). Conclusão Com esta aula, vimos que a implementação de uma somatória pode ser muito simples e rápida para o computador. E como uma técnica simples pode ajudar na manutenção de estruturas PARA em algoritmos mais complexos. Para exercitar, faça um algoritmo que calcule: S = 1+ 3+ 5 + 7+...
  3. 3. Para 20 dígitos Copyright (C) 1999- 2 0 0 0 Linux Solutions

×