Prof.
André Backes
Repetição por Condição
Um conjunto de comandos de um algoritmo pode ser
repetido quando subordinado a uma condição:
enquanto condição faça
comandos;
fim enquanto
1
Repetição por Condição
De acordo com a condição, os comandos serão
repetidos
zero vezes (condição falsa)
ou mais vezes (enquanto a condição for verdadeira)
Essa estrutura normalmente é denominada laço ou
loop.
Repetição por Condição
Condição
qualquer expressão que resulte em um valor do tipo
lógico e pode envolver operadores aritméticos, lógicos,
relacionais e resultados de funções.
Ex:
x>5
(N < 60) and (N > 35)
2
Funcionamento
A condição da cláusula enquanto é testada.
Se ela for verdadeira os comandos seguintes são
executados em sequência como em qualquer algoritmo,
até a cláusula fim enquanto.
O fluxo nesse ponto é desviado de volta para a cláusula
enquanto e o processo se repete.
Se a condição for falsa (ou quando se tornar falsa), o
fluxo do algoritmo é desviado para o primeiro comando
após a cláusula fim enquanto.
Repetição por Condição
Relembrando
fluxogramas Leia A e B
Um processo pode
A <= B? Não
ser repetido até
atender ou não uma Sim
condição.
Imprima A
Some +1 em A
Fim
3
Loop Infinito
Um loop ou laço infinito ocorre quando cometemos
algum erro
ao especificar a condição lógica que controla a repetição
ou por esquecer de algum comando dentro da repetição
Loop Infinito
4
Exercício
Escreva, em pseudo-código, o algoritmo para calcular a
média de N números
Exercício
Leia n;
media recebe 0;
n1 recebe 0;
Enquanto (n1 < n)
Leia x;
media recebe media + x;
n1 recebe n1 + 1;
Fim enquanto
Imprima media/n;
5
Comando while
Equivale ao comando “enquanto” utilizado nos
pseudo-códigos
Repete uma sequência de comandos enquanto a
condição for verdadeira
Forma geral:
Exemplo while
Imprimindo os números entre A e B
Solução Saída
6
Exemplo while
Falso
Verdadeiro
Exercício
Escreva, usando while, o algoritmo para calcular a
média de N números
7
Exercício
Solução Saída
Comando for
O loop ou laço for é usado para repetir um conjunto de
instruções para uma lista de valores
O número de iterações da repetição está limitado pelo
comprimento da lista de valores
Forma geral
8
Comando for
Exemplo
Saída
Comando for
Exemplo
Saída
9
Função range
A função range() permite gerar sequências de valores
em progressão aritmética
Muito útil para gerar as listas de valores para o comando
for
Formas de uso
range(N): gera valores inteiros de 0 até N-1
range(I,N) : gera valores inteiros de I até N-1
range(I,N,D) : gera os valores inteiros I, I+D, I+2D, ...
inferiores a N.
Função range
Usando a função range() junto com o comando for
10
Exemplo for
Imprimindo os números entre A e B
Comando while
Comando for
Comando for
Diferença entre for e while
Comando while
Repete uma sequência de comandos enquanto uma condição for
verdadeira
Comando for
Repete uma sequência de comandos “N vezes” ou “para N valores”
Atenção
Podemos sempre re-escrever um comando for com while
Nem sempre podemos re-escrever um comando while como
um for
11
Exercício
Escreva, um programa para calcular o fatorial de um
número N. Tente fazer usando for e while.
Exercício
Comando while
Comando for
12
Comando break
O comando break serve para quebrar a execução de
um comando de repetição (for ou while)
O break faz com que a execução do programa continue
na primeira linha seguinte ao loop ou bloco de
comandos que está sendo interrompido
Comando break
13
Comando break
Falso
Verdadeiro
Verdadeiro Falso
Comando continue
O comando continue serve para interromper apenas a
iteração atual de um comando de repetição (for ou
while)
Pula essa iteração do loop
Os comandos que sucedem o comando continue no
bloco não são executados
14
Comando continue
Comando continue
Falso
Verdadeiro
Verdadeiro Falso
15
Material Complementar
Vídeo Aulas
Aula 13 - Comando while
https://youtu.be/LyHexIGdT-E
Aula 14 - Comando for
https://youtu.be/A9lJCksMaYE
Aula 15 - Comandos break e continue
https://youtu.be/1WtHaz0Pn70
16