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 48<br />

Escrever "Digite o número (zero para encerrar)"<br />

n = 1<br />

Faca enquanto n 0<br />

Ler n<br />

Metade = Inteiro(n/2)<br />

Escrever "Os divisores de ", n, " são "<br />

Para i = 1 ate Metade<br />

Se Resto(n, i) = 0 entao<br />

Escrever i<br />

Fim_se<br />

Proximo<br />

Escrever n<br />

Fim_enquanto<br />

Fim<br />

Vale observar que, ao contrário do que foi dito na seção 2.9, os valores de saída deste<br />

programa não estão sendo armazenados. O que acontece é que ainda não temos condições de<br />

armazenar uma quantidade indefinida de elementos. Este problema será resolvido no capítulo 6.<br />

Vale observar também que, como a variável de controle do comando Para próximo pode receber<br />

valores fracionários, o cálculo de Inteiro(n/2) é desnecessário, podendo-se usar diretamente<br />

Metade = n/2. A função inteiro foi colocada ali pelo fato de que a maioria dos sistemas faz diferença<br />

entre números inteiros e números fracionários e, em alguns casos, a variável de controle de uma<br />

estrutura do tipo Para próximo só pode receber valores inteiros.<br />

3. Na seção 1.5 discutimos um algoritmo que determinava o quociente e o resto da divisão<br />

entre dois inteiros positivos dados. Embora o <strong>ILA</strong> possua uma função pré-definida que calcula o<br />

resto de uma divisão inteira e já mostramos como calcular o quociente, utilizando esta função,<br />

vamos apresentar a implementação do algoritmo referido.<br />

//Programa que retorna o quociente e o resto da divisão de dois inteiros dados<br />

Variaveis<br />

Numerico Dividendo, Divisor, Rest, Quoc<br />

Caracter r<br />

Inicio<br />

r = "S"<br />

Faca enquanto (r = "S") ou (r = "s")<br />

Escrever "Digite o dividendo e o divisor"<br />

Ler Dividendo<br />

Ler Divisor<br />

Faca enquanto Divisor = 0<br />

Se Divisor = 0 entao<br />

Escrever "O divisor tem que ser não nulo"<br />

Fim_se<br />

Ler Divisor<br />

Fim_enquanto<br />

Quoc = 1<br />

Faca enquanto Quoc*Divisor

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

Saved successfully!

Ooh no, something went wrong!