Todos os programas com um loop for que escrevemos até agora não podem ser chamados de universais. Porque nós mesmos definimos o número de repetições do corpo do loop.
Mas e se o número de repetições depender de algum outro valor? Por exemplo, o próprio usuário deseja definir o número de repetições do ciclo.
O que fazer neste caso?
Tudo é muito simples. Em vez de valores iniciais e finais numéricos, podemos usar quaisquer variáveis que possam ser calculadas ou definidas pelo usuário.
Por exemplo, precisamos exibir os quadrados dos números de 1 a n, onde o valor da variável n é digitado no teclado pelo usuário.
O programa ficará assim:
var i, n :inteiro; // em colisão; variável de loop, n - o número máximo para o qual calculamos o quadrado
começar
ler(n); // insere n do teclado
for i := 1 to n do // loop: for all i from 1 to n - variável i assumirá sequencialmente valores de 1 a n
writeln('Kvadrat chisla ', i, ' raven ', i * i); // Emitindo o quadrado de um número em um formato específico e movendo para uma nova linha
fim.
Ao entrar no loop, a instrução i := 1 é executada e, em seguida, a variável i é incrementada em um (to) a cada etapa. O loop é executado enquanto a condição i <= n for verdadeira. No corpo do loop, a única instrução de saída imprime o próprio número e seu quadrado na tela de acordo com o formato especificado.
Para elevar ao quadrado ou outros expoentes baixos, é melhor usar a multiplicação.
Execute o programa e veja o resultado de seu trabalho com diferentes valores da variável n.