Comando FOR
O FOR da linguagem PPL é muito semelhante ao C, porém a forma de incrementar/decrementar a variável var possui argumentos diferentes
Para incrementar a variável var, usamos a seguinte sintaxe:
FOR var FROM início TO m DO
comandos
END;
Define a variável var como início e, enquanto esta variável for igual ou inferior a fim executa a sequência de comandos e, em seguida, adiciona 1 (incremento) a var.
Exemplo:
EXPORT Repeticao1()
BEGIN
LOCAL i;
PRINT();
FOR i FROM 1 TO 10 DO
PRINT(i+"\n");
END;
END;
O resultado:
Alterado o passo de incremento
Se desejar alterar o incremento é inserido a diretiva STEP:
EXPORT Repeticao1()
BEGIN
LOCAL i;
PRINT();
FOR i FROM 1 TO 10 STEP 2 DO
PRINT(i+"\n");
END;
END;
O resultado:
Comando FOR decrescente
A sintaxe para o FOR na forma decrescente é:
FOR var FROM início DOWNTO fim [STEP incremento] DO
comandos
END;
Veja um exemplo:
EXPORT Repeticao2()
BEGIN
LOCAL i;
PRINT();
FOR i FROM 10 DOWNTO 1 STEP 2 DO
PRINT(i+"\n");
END;
END;
E a tela resultante:
Outro exemplo:
EXPORT Repeticao()
BEGIN
LOCAL inicio, fim, cresc, i;
PRINT();
INPUT({{inicio, [0], {30, 20, 0}}, {fim, [0], {30, 20, 1}}, {cresc, 1, {30, 20, 2}}}, "Opções do looping", {"Início:", "Fim:", "Crescente?: "}, {"Valor inicial", "Valor Final", "Crescente ou decrescente"});
PRINT("Início: "+ inicio + "\nFim: "+ fim + "\nCrescente: " + cresc+"\n\n");
IF cresc == 1 THEN
FOR i FROM inicio TO fim DO
PRINT(i+"\n");
END;
ELSE
FOR i FROM fim DOWNTO inicio DO
PRINT(i+"\n");
END;
END;
END;
Irá apresentar a tela:
Setando os valores 2 e 8 e deixando desmarcado a caixa "Crescente?":
Atividade
Construa os programas:
- 1. Faça um programa que leia
dois números do teclado, coloque-os em ordem crescente e imprime todos os números no intervalo entre eles.
- 2. Faça um programa que leia um número \(N\) do teclado
e utilizando dois comandos “for” apresente na tela a seguinte matriz,
onde \(N\) é o número lido e cada elemento da matriz é o resultado da operação indicada:
\(N + 1\) \(N + 2\) \(N + 3\) \(N + 4\) \(N + 2\) \(N + 3\) \(N + 4\) \(N + 5\) \(N + 3\) \(N + 4\) \(N + 5\) \(N + 6\) \(N + 4\) \(N + 5\) \(N + 6\) \(N + 7\) Por exemplo, se for digitado o número 10, deverá aparecer a tabela abaixo:
11 12 13 14 12 13 14 15 13 14 15 16 14 15 16 17