SlideShare ist ein Scribd-Unternehmen logo
1 von 3
6.2 Repetição ou Ciclos
Em programação, uma sequência de instruções executada repetitivamente é chamada
de ciclo. Um ciclo é constituído por uma sequência de instruções, o corpo do
ciclo, e por uma estrutura que controla a execução dessas instruções,
especificando quantas vezes o ciclo deve ser executado.
Cada vez que as instruções que constituem o corpo do ciclo são executadas,
dizemos que se efectuou uma passagem pelo ciclo. As instruções que constituem o
corpo do ciclo podem ser executadas qualquer número de vezes (eventualmente
nenhuma), mas este número tem de ser finito. Há erros de semântica que podem
levar a execução interminável do corpo do ciclo, criando um ciclo infinito.
Neste webfolio, apresentaremos três instruções: "while", "repeat" e "for".
"WHILE"
A instrução "while" permite especificar a execução repetitiva de uma instrução
enquanto uma determinada expressão do tipo lógico tiver o valor verdadeiro.
Na definição sintáctica da instrução "while", instrução representa qualquer
instrução de Pascal e expressão representa uma expressão do tipo lógico.
A semântica da instrução "while" é a seguinte:
Ao encontrar a instrução "while <cond> do <inst>", o computador calcula o valor
de cond. Se o seu valor for "true", o computador efectua uma passagem pelo
ciclo, executando a instrução inst. Em seguida volta a calcular o valor de cond
e o processo repete-se enquanto o valor da cond for "true". Quando o valor de
cond for "false", a execução do ciclo termina.
A instrução que constitui o corpo do ciclo deve modificar o valor da expressão
que controla a execução do ciclo, caso contrário, o ciclo pode nunca terminar.
Exemplo de um programa que soma uma sequência de números inteiros. O fim da
sequência é determinado por um número negativo:
Program SomadeInteiros ;
var Soma, Numero : integer;
procedure Pergunte;
begin
writeln ('Escreva um número inteiro');
writeln ('Um número negativo termina a execução')
end; {pergunte}
Begin
Soma := 0;
Pergunte;
readln (Numero);
While Numero >= 0 do
begin
Soma := Soma + Numero;
Pergunte;
readln (Numero)
end;
writeln ('A soma é ' , Soma:3)
End.
"REPEAT"
A instrução "repeat" permite especificar a execução repetitiva de uma sequência
de instruções até que certa expressão do tipo lógico tenha o valor verdadeiro.
Na definição sintáctica da instrução "repeat", instrução representa qualquer
instrução em Pascal e expressão representa uma expressão do tipo lógico. Em
oposição à definição sintáctica de "while", a instrução "repeat" permite a
especificação de uma sequência de instruções a executar e não apenas de uma
instrução. Por esta razão, ao utilizarmos uma instrução "repeat" não
necessitamos de recorrer a uma instrução composta, quando o corpo do ciclo tem
mais de uma instrução. A razão desta decisão provém do facto de o corpo de ciclo
numa instrução "repeat" estar delimitado pelas palavras "repeat" e "until",
evitando assim qualquer tipo de ambiguidade quanto à determinação das instruções
que pertencem ao corpo do ciclo.
A semântica da instrução "repeat" é a seguinte:
Ao encontrar a instrução "repeat <instr> until <cond>", o computador começa por
executar as instruções que constituem o corpo do ciclo (instr), avaliando depois
a expressão cond. Se o seu valor for "false", o corpo do ciclo é executado de
novo e o processo repete-se. A execução do ciclo termina quando a cond produzir
um valor "true". Importa salientar que a execução do ciclo só termina após uma
passagem completa pelo ciclo.
Tal como acontece com a instrução "while", de um modo geral, o número de vezes
que o corpo de uma instrução "repeat" é executado não pode ser calculado de
antemão. Contudo, em oposição à instrução "while", o corpo do ciclo de uma
instrução "repeat" é sempre executado pelo menos uma vez, porque a expressão que
controla a execução do ciclo só é avaliada no fim do mesmo.
Exemplo de um programa com um ciclo "repeat".
Program Repeat ;
VAR
Num:INTEGER ;
Begin
Num:=100;
REPEAT
WRITE (Num,' ');
Num:=Num-2;
UNTIL (Num<1);
End.
"FOR"
Quando se pretende que um conjunto de instruções se repita um número de vezes
bem determinado, recorremos à instrução FOR.
A sintaxe desta instrução é a seguinte : FOR <variável> := <início> TO <fim> DO
A variável de ciclo mantém o número de repetições a efectuar, servindo de
contador. Esta variável pode ser qualquer tipo escalar, excepto REAL. De notar
que a variável de controlo do FOR nunca deve ser alterada dentro do ciclo, sob
pena de se perder por completo o número de execuções e chegarmos a resultados
bem diferentes dos pretendidos.
Exemplo correcto de utilização de um FOR :
Program ForExemplo;
VAR
valor : integer;
Begin
For valor := 1 to 10 do
Begin
Write ('Quadrado de ',valor,'=');
Writeln (valor * valor);
End;
Readln
End.
Exemplo incorrecto de utilização de um FOR :
Program ForExemplo;
VAR
valor : integer;
Begin
For valor := 1 to 10 do
Begin
Write ('Quadrado de ',valor,'=');
Writeln (valor * valor);
valor := valor + 1;
End;
Readln
End.
Saliente-se que o ciclo FOR pode assumir duas formas distintas de aplicação,
isto é, a variável de controlo pode ser incrementada a cada execução, como nos
exemplos anteriores, ou pode ser decrementada, sendo que neste caso a sintaxe
assume a forma :
FOR <variável> := <início> DOWNTO <fim> D

Weitere ähnliche Inhalte

Was ist angesagt? (12)

Linguagem de Programação - aula 03
Linguagem de Programação - aula 03Linguagem de Programação - aula 03
Linguagem de Programação - aula 03
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Pilhas
PilhasPilhas
Pilhas
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5
 
Processos e comando kill - Bóson Treinamentos
Processos e comando kill - Bóson TreinamentosProcessos e comando kill - Bóson Treinamentos
Processos e comando kill - Bóson Treinamentos
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
Escalonamento
EscalonamentoEscalonamento
Escalonamento
 
Shell script
Shell scriptShell script
Shell script
 
Cursor
CursorCursor
Cursor
 
Trabalho sobre o enchimento e o vacuo e como fazer
Trabalho sobre o enchimento e o vacuo e como fazerTrabalho sobre o enchimento e o vacuo e como fazer
Trabalho sobre o enchimento e o vacuo e como fazer
 

Ähnlich wie Instruçao repeat

Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Thalles Anderson
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
Carla Silva
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
Tácito Graça
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
AntonioSvio1
 

Ähnlich wie Instruçao repeat (20)

Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Aula 3 AEDI.pdf
Aula 3 AEDI.pdfAula 3 AEDI.pdf
Aula 3 AEDI.pdf
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdf
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.
 
05 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.005 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.0
 
Estruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILEEstruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILE
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Algoritmos Aula 09
Algoritmos Aula 09Algoritmos Aula 09
Algoritmos Aula 09
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
 

Kürzlich hochgeladen

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 

Kürzlich hochgeladen (20)

Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 

Instruçao repeat

  • 1. 6.2 Repetição ou Ciclos Em programação, uma sequência de instruções executada repetitivamente é chamada de ciclo. Um ciclo é constituído por uma sequência de instruções, o corpo do ciclo, e por uma estrutura que controla a execução dessas instruções, especificando quantas vezes o ciclo deve ser executado. Cada vez que as instruções que constituem o corpo do ciclo são executadas, dizemos que se efectuou uma passagem pelo ciclo. As instruções que constituem o corpo do ciclo podem ser executadas qualquer número de vezes (eventualmente nenhuma), mas este número tem de ser finito. Há erros de semântica que podem levar a execução interminável do corpo do ciclo, criando um ciclo infinito. Neste webfolio, apresentaremos três instruções: "while", "repeat" e "for". "WHILE" A instrução "while" permite especificar a execução repetitiva de uma instrução enquanto uma determinada expressão do tipo lógico tiver o valor verdadeiro. Na definição sintáctica da instrução "while", instrução representa qualquer instrução de Pascal e expressão representa uma expressão do tipo lógico. A semântica da instrução "while" é a seguinte: Ao encontrar a instrução "while <cond> do <inst>", o computador calcula o valor de cond. Se o seu valor for "true", o computador efectua uma passagem pelo ciclo, executando a instrução inst. Em seguida volta a calcular o valor de cond e o processo repete-se enquanto o valor da cond for "true". Quando o valor de cond for "false", a execução do ciclo termina. A instrução que constitui o corpo do ciclo deve modificar o valor da expressão que controla a execução do ciclo, caso contrário, o ciclo pode nunca terminar. Exemplo de um programa que soma uma sequência de números inteiros. O fim da sequência é determinado por um número negativo: Program SomadeInteiros ; var Soma, Numero : integer; procedure Pergunte; begin writeln ('Escreva um número inteiro'); writeln ('Um número negativo termina a execução') end; {pergunte} Begin Soma := 0; Pergunte; readln (Numero); While Numero >= 0 do begin Soma := Soma + Numero; Pergunte; readln (Numero) end; writeln ('A soma é ' , Soma:3) End. "REPEAT"
  • 2. A instrução "repeat" permite especificar a execução repetitiva de uma sequência de instruções até que certa expressão do tipo lógico tenha o valor verdadeiro. Na definição sintáctica da instrução "repeat", instrução representa qualquer instrução em Pascal e expressão representa uma expressão do tipo lógico. Em oposição à definição sintáctica de "while", a instrução "repeat" permite a especificação de uma sequência de instruções a executar e não apenas de uma instrução. Por esta razão, ao utilizarmos uma instrução "repeat" não necessitamos de recorrer a uma instrução composta, quando o corpo do ciclo tem mais de uma instrução. A razão desta decisão provém do facto de o corpo de ciclo numa instrução "repeat" estar delimitado pelas palavras "repeat" e "until", evitando assim qualquer tipo de ambiguidade quanto à determinação das instruções que pertencem ao corpo do ciclo. A semântica da instrução "repeat" é a seguinte: Ao encontrar a instrução "repeat <instr> until <cond>", o computador começa por executar as instruções que constituem o corpo do ciclo (instr), avaliando depois a expressão cond. Se o seu valor for "false", o corpo do ciclo é executado de novo e o processo repete-se. A execução do ciclo termina quando a cond produzir um valor "true". Importa salientar que a execução do ciclo só termina após uma passagem completa pelo ciclo. Tal como acontece com a instrução "while", de um modo geral, o número de vezes que o corpo de uma instrução "repeat" é executado não pode ser calculado de antemão. Contudo, em oposição à instrução "while", o corpo do ciclo de uma instrução "repeat" é sempre executado pelo menos uma vez, porque a expressão que controla a execução do ciclo só é avaliada no fim do mesmo. Exemplo de um programa com um ciclo "repeat". Program Repeat ; VAR Num:INTEGER ; Begin Num:=100; REPEAT WRITE (Num,' '); Num:=Num-2; UNTIL (Num<1); End. "FOR" Quando se pretende que um conjunto de instruções se repita um número de vezes bem determinado, recorremos à instrução FOR. A sintaxe desta instrução é a seguinte : FOR <variável> := <início> TO <fim> DO A variável de ciclo mantém o número de repetições a efectuar, servindo de contador. Esta variável pode ser qualquer tipo escalar, excepto REAL. De notar que a variável de controlo do FOR nunca deve ser alterada dentro do ciclo, sob pena de se perder por completo o número de execuções e chegarmos a resultados bem diferentes dos pretendidos.
  • 3. Exemplo correcto de utilização de um FOR : Program ForExemplo; VAR valor : integer; Begin For valor := 1 to 10 do Begin Write ('Quadrado de ',valor,'='); Writeln (valor * valor); End; Readln End. Exemplo incorrecto de utilização de um FOR : Program ForExemplo; VAR valor : integer; Begin For valor := 1 to 10 do Begin Write ('Quadrado de ',valor,'='); Writeln (valor * valor); valor := valor + 1; End; Readln End. Saliente-se que o ciclo FOR pode assumir duas formas distintas de aplicação, isto é, a variável de controlo pode ser incrementada a cada execução, como nos exemplos anteriores, ou pode ser decrementada, sendo que neste caso a sintaxe assume a forma : FOR <variável> := <início> DOWNTO <fim> D