Estrutura
de Repetição com teste no início:
Enquanto - Faça (While - Do)
Sintaxe:
enquanto
<condição> faca
C;
fim_enquanto;
Semântica:
Quando o controle entra na estrutura
é feito um testa na condição.
Se a condição for verdadeira o controle
executa a ação C até encontrar
o fim-enquanto. O controle então retorna
ao início da estrutura e passa a repetir
a seguinte seqüência.
1º -Testa se a condição
é verdadeira
2º -Executa a ação até
encontrar o fim-enquanto
3º -Retorna para o início da estrutura
Quando a condição
fornecer resultado falso o controle sai da estrutura
passando para o comando seguinte ao fim-enquanto.
Obs:
1º - Na ação
C tem que existir pelo menos um comando que altere
o estado de pelo menos uma das variáveis
da condição para que ela se torne
fala num determinado momento das repetições
e o controle possa sair da estrutura.
2º - Se 1º teste da condição
for falso o controle sai da estrutura sem executar
nenhuma vez a ação C.
Ex:
Soma
0; i ?1;
Enquanto i
20 faça
Leia (A);
Soma z
soma + A;
I
i + 1;
Fim-enquanto;
Em pascal:
soma:=0; i:=1;
While i ? 20 do
Begin
Readln(a);
Soma := soma +a;
I := i +1;
End;
Estrutura de Repetição
com Teste no Final Repita-Até (Repeat...
Until)
Sintaxe:
Repita
<Comandos>;
Ate <condição>
Em Pascal:
REPEAT
<Comandos>
UNTIL <Condição>
Semântica:
A ação será re-executada
até que a condição se torne
verdadeira quando, então, o controle sai
da estrutura.
Obs.:
1ª) A ação
C será executada pelo menos uma vez pois
o teste da condição é feito
no final da estrutra
2ª) Pelo menos um dos comandos a serem repetdos
deve alterar o estado de pelo menos uma das variáveis
da condição para que ela se trone
verdadeira em um determinado momento da execução
e o controle possa sair da estrutura
3ª) Essa estrutura equivale a
<comando>;
enquanto não
<condição> faça
<comandos>;
fim_enquanto;
Exemplo: Desenvolver
um programa para ler 500 valores inteiros e positivos,
calcular e imprimir todos os valores pares lidos
e a soma dos valores ímpares.
Algoritmo n500
int: num, soma,i;
inicio
c
0;
imprima('Digite um número inteiro e positivo');
repita
leia(num);
se n mod 2 = 0
então
imprima('O número é par', num);
else
soma
soma_num;
fim_se;
c
c+1;
ate c = 500;
imprima('soma',soma);
fim.
Exemplo: Fazer
um algoritmo que calcule e escreva o valor de S
onde:

Exemplo: Faça
um algoritmo que calcule a hipotenusa de 10 triângulos.
hipotenusa2 = cateto2 + cateto2
Estrutura de Repetição
com Variável de Controle Para-Faça
(For... To... Do)
Sintaxe:
para
V de I até L passo P faça
<comandos>
fim_para;
Em pascal:
a)
for V: = I to L do
<comando>;
b) for
<variável > : = <inicio> dowto
<fim> do
<comando>;
Onde V é uma variável
inteira chamada variável de controle e <fim>
e <n> são contastes, variáveis
ou expressões inteiras, chamadas parâmetro
da estrutura, sendo <inicio> o valor inicial
da <variável>, <fim> o valor
limite da <variável> e <n> o
acréscimo sofrido pela <variável>
ao término de cada execução
da ação <comando>
Semântica:
Quando o controle entra na estrutura <variável><
é inicializada com <inicio> e em seguida
serão repetidos os seguintes passos:
1º) < variável>
é comparada com <fim>, e se <variável>
for menor ou igual a <<fim> continua a
repetição
2º) Executa a ação <comando>
até atingir o fim_para.
3º) O controle retorna ao início da
estrutura e <variável é acrescida
de <n>
Quando <variável>
assumir um valor maior do que <fim> o controe
sai da estrutura para o comando seguinte ao fim_para.
Exemplo:
Somar todos os valores ímpar
de 0 a 20
Algoritmo imparsoma;
inteiro : impar;
real: soma;
Inicio
Soma
0;
Para impar de 1
ate 20 passo 2 faca
Soma
soma + impar;
Fim_para;
Imprima(soma);
Fim.
Obs.:
O para faça equivale
a
V
I
Enquanto V
L faça
C;
V
V+P;
Fim_enquanto;
Isto é:
o para_faça compacta a inicialização
da variável de controle, o teste para verificar
se ela ainda não atingiu um determinado limite
e o incremento de um valor constante sobre essa
variável.
Se P=1 o passo pode ser omitido
Ex: Para I de 1 até 100 faça
Imprima(I);
Fim-para
Se o passo P < 0 a condição
a ser testada será V
L, isto é , v vai decrescer de I até
no máximo L.
Todos os estruturas de repetição podem
ser "aninhadas", isto é, ser colocadas
uma dentro da outra.
Ex:
Para x de 1 ate 2 faça
Para y de 5 ate 7 faça
Para z de 10 ate 8 faça
Imprima(x,y,z);
Saída:
1 5 10
1 5 9
1 5 8
1 6 10
1 6 9
1 6 8
1 7 10
1 7 9
1 7 8
2 5 10
2 5 9
2 5 8
2 6 10
2 6 9
2 6 8
2 7 10
2 7 9
2 7 8
Exercício:
Desenvolver um algoritmo para ler um valor inteiro
n
1, calcular e imprimir o valor de S dado por

Exemplo: Apresentar
o resultado da tabuada de multiplicação
de um número qualquer.
|