curso de algoritmo aula 7

3
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 http://olinux.uol.com.br/artigos/434/print_preview.html

Upload: felipe-santos

Post on 09-Jul-2015

688 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Curso De Algoritmo   Aula 7

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 acumuladoraS <- 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 acumuladoraS <- 1 Vfim <- 500

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

Page 2: Curso De Algoritmo   Aula 7

PARA i <- 2 ATÉ VFim FAÇA S <- S + i FIMPARAFIM 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 acumuladoraS <- 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+...

Page 3: Curso De Algoritmo   Aula 7

Para 20 dígitos

Copyright (C) 1999-2000 Linux Solutions