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