ILA - Unisinos
ILA - Unisinos
ILA - Unisinos
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