14.03.2015 Views

ILA - Unisinos

ILA - Unisinos

ILA - Unisinos

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (<strong>ILA</strong>) - Página 50<br />

Escrever “Digite os números”<br />

Para i = 1 até n<br />

Ler Num<br />

Soma = Soma + Num<br />

Proximo<br />

Media = Soma/n<br />

Escrever “Média dos números dados: “, Media<br />

Fim<br />

7. O exemplo acima tem o inconveniente de que sua execução exige que se saiba<br />

anteriormente a quantidade de números. Naturalmente, isto não ocorre na maioria dos casos.<br />

Vejamos então um programa para determinar a média de uma relação de números dados, sem que se<br />

conheça previamente a quantidade deles. Neste caso, não podemos utilizar o comando Para<br />

proximo, pois não sabemos o número de repetições! Assim, o comando Faca enquanto deve ser<br />

utilizado e uma pergunta deve ser formulada: qual a expressão lógica que controlará a estrutura? A<br />

solução é "acrescentar" à relação um valor sabidamente diferente dos valores da relação e utilizar<br />

este valor para controlar a repetição. Este valor aqui referido é conhecido como flag. Como dito<br />

logo acima, deve-se ter certeza que o flag não consta da relação. Isto não é complicado, pois ao se<br />

escrever um programa se tem conhecimento de que valores o programa vai manipular e a escolha do<br />

flag fica facilitada. Por exemplo, se o programa vai manipular números positivos pode-se usar -1<br />

para o flag. Além do flag, o programa necessita de uma variável que determine a quantidade de<br />

números da relação, valor este que será utilizado no cálculo da média.<br />

//Programa que determina a média aritmética de uma relação de números dados<br />

Variaveis<br />

Numerico Num, Soma, Media, Quant<br />

Inicio<br />

Soma = 0<br />

Quant = 1<br />

Escrever "Digite os números (-1 para encerrar)"<br />

Ler Num<br />

Faca enquanto Num -1<br />

Soma = Soma + Num<br />

Quant = Quant + 1<br />

Ler Num<br />

Fim_enquanto<br />

Quant = Quant - 1<br />

Media = Soma/Quant<br />

Escrever "Média dos números dados: ", Media<br />

Fim<br />

Vale observar que o comando Quant = Quant - 1 é necessário pelo fato de que o flag foi<br />

computado como elemento da relação. Isto poderia ser evitado, inicializando-se a variável Quant<br />

com zero. Porém, quando estivermos no capítulo 6 estudando vetores a inicialização aqui adotada<br />

será importante.<br />

8. Na seção 1.6 apresentamos o algoritmo de Euclides para a determinação do máximo divisor<br />

comum de dois números dados. Para relembrar, vejamos como calcular o máximo divisor comum<br />

de 204 e 84.<br />

204 84 36 12 0<br />

2 2 3<br />

O algoritmo é o seguinte: divide-se 204 por 84 obtendo-se resto 36; a partir daí repete-se<br />

divisões até que o resto seja zero, sendo o dividendo da divisão atual o divisor da divisão anterior e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!