Buscar

LP Parte 5 Cmdos de Repetição (2)

Prévia do material em texto

18/10/2017
1
Comandos de Repetição
Profa. Ana Rubélia
 Declaração de variáveis e constantes
 Comandos Sequenciais
◦ Entrada
◦ Saída
◦ Atribuição
 Comandos Condicionais
◦ Se...Então...Senão...
◦ Escolha...Caso...
 Comandos de Repetição
◦ Para ... de... até...Faça 
◦ Enquanto ... Faça
◦ Repita ... Até
 Os Comandos de Repetição permitem que um 
conjunto de instruções seja executado 
repetidamente até que uma determinada 
condição de interrupção seja satisfeita.
 Eles são utilizados quando se deseja executar um 
determinado conjunto de instruções um número 
definido ou indefinido de vezes, ou enquanto um 
determinado estado prevalecer ou até este ser
alcançado.
 Para número DEFINIDO de repetições e TESTE NO INÍCIO
◦ PARA ... FAÇA 
◦ em Pascal: FOR ... DO ... TO
 Para número INDEFINIDO de repetições e TESTE NO INÍCIO
◦ ENQUANTO ... FAÇA
◦ em Pascal: WHILE ... DO
 Para número INDEFINIDO de repetições e TESTE NO FINAL
◦ REPITA ... ATÉ
◦ em Pascal: REPEAT ... UNTIL
 É utilizado quando se sabe o número de vezes que 
um conjunto de instruções deve ser repetido.
 O teste de condição é feito no início de sua 
estrutura. 
◦ assim se a condição não for satisfeita logo na 
primeira comparação, nenhuma instrução dentro 
da estrutura PARA (FOR) será executada.
 Para número definido de 
repetições e teste no início
inicio
...
comandos
valorInical > 
valorFinal ?
...
fim
SIM
NAO
18/10/2017
2
 Em Pascal:
{Programa para imprimir valores de 1 até 10}
Program cmdRepeticaoFOR;
var i:integer;
Begin
FOR i:=1 TO 10 DO
writeln('valor de i:', i)
End.
i é a variável contador
Program tabuada;
var i, tab: integer;
Begin
writeln ('Digite um número para ter a 
tabuada');
write ('Tabuada do: ');
read (tab);
FOR i:=1 TO 10 DO
writeln (tab , ‘X‘ ,i, '= ‘ , tab*i);
End.
 Para número DEFINIDO de repetições e TESTE NO INÍCIO
◦ PARA ... FAÇA 
◦ em Pascal: FOR ... DO ... TO
 Para número INDEFINIDO de repetições e TESTE NO INÍCIO
◦ ENQUANTO ... FAÇA
◦ em Pascal: WHILE ... DO
 Para número INDEFINIDO de repetições e TESTE NO FINAL
◦ REPITA ... ATÉ
◦ em Pascal: REPEAT ... UNTIL
 É utilizado quando não se sabe o número de vezes 
que um conjunto de instruções deve ser repetido.
 Como no comando PARA, o teste de condição do 
comando ENQUANTO também fica logo no início de 
sua estrutura. 
◦ Assim, se a condição não for satisfeita logo na 
primeira comparação, nenhuma instrução dentro da 
estrutura ENQUANDO (WHILE) será executada.
 Para 
número 
indefinido
de 
repetições e 
teste no 
início
inicio
...
comandos
condição
...
fim
F
V
18/10/2017
3
{Programa para imprimir valores de 1 até 10}
Program CmdRepeticaoWHILE;
var i: integer;
Begin
i:=0;
WHILE (i<=10) DO
begin
writeln ('O valor de i é: ', i);
i:=i+1;
end;
End.
Inicializar a variável 
contador i
Program tabuada;
var i, tab: integer;
Begin
writeln('Digite um número para ter a tabuada');
write('TABUADA DO: ');
readln(tab);
i:=1;
WHILE i <=10 DO
begin
writeln(tab, 'x', i, '= ', i*tab);
i:=i+1;
end;
End.
 Para número DEFINIDO de repetições e TESTE NO INÍCIO
◦ PARA ... FAÇA 
◦ em Pascal: FOR ... DO ... TO
 Para número INDEFINIDO de repetições e TESTE NO INÍCIO
◦ ENQUANTO ... FAÇA
◦ em Pascal: WHILE ... DO
 Para número INDEFINIDO de repetições e TESTE NO FINAL
◦ REPITA ... ATÉ
◦ em Pascal: REPEAT ... UNTIL
 No comando de REPITA executa-se primeiro um 
conjunto de instruções e somente depois é 
realizado o teste de condição. 
 Se a condição for verdadeira, o fluxo do programa 
continua normalmente. 
 Caso contrário é processado novamente os 
comandos antes do teste da condição
 Note que os comandos são 
executados, e
 Só depois é feito o teste da 
condição. 
◦ Se a condição for verdadeira, 
os comandos são executados 
novamente, 
◦ caso seja falso é encerrado o 
comando.
 Para número indefinido de 
repetições e teste no final
inicio
...
comandos
condição
...
fim
F
V
18/10/2017
4
Program escrever_ate_10_REPEAT;
var i:integer;
Begin
i:=1;
REPEAT
writeln ('Valor de i: ',i);
i:=i+1;
UNTIL (i=10);
End.
Inicializar a variável 
contador i
Program tabuada;
var i, tab: integer;
Begin
writeln('Digite um número para ter a tabuada');
write('Tabuada do: ');
readln(tab);
i:=1;
REPEAT
writeln(tab, 'x', i, '= ', i*tab);
i:=i+1;
UNTIL (i >10);
End.

Continue navegando