Your SlideShare is downloading. ×
Curso De Algoritmo   Aula 7
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Curso De Algoritmo Aula 7

678

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
678
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. Para 20 dígitos Copyright (C) 1999- 2 0 0 0 Linux Solutions

×