Escolar Documentos
Profissional Documentos
Cultura Documentos
Rodrigo M. Bacurau
Roteiro
Estruturas de controle de fluxo
Estrutura de repetição enquanto
2
Estruturas de Controle de Fluxo
Em certos algoritmos percebemos que a execução de
determinados trechos se faz necessária algumas
vezes.
Um exemplo que nós já tratamos é o caso do cálculo da
média aritmética entre alguns valores. Vimos que a
operação de leitura é repetida de acordo com o
número de valores que serviram de base para o cálculo
da média. Este fato gerou a criação das estruturas de
repetição, as quais veremos a seguir.
Dependendo do caso, o número de repetições pode ser
fixo ou estar atrelado a uma condição. Desta forma
existem estruturas para tais situações.
3
Estruturas de Repetição -
ENQUANTO
Sintaxe:
...
enquanto (<expressão-lógica>) faca
<seqüência-de-comandos>
fimenquanto
...
Exemplo:
O pseudocódigo e os fluxogramas a seguir
escrevem na saída padrão os números
inteiros contidos no intervalo [1, 10].
5
Estruturas de Repetição -
ENQUANTO
Exemplo:
falso falso
valor<=10 Fim Valor>0 Fim
verdadeiro verdadeiro
7
Estruturas de Repetição -
REPITA
Sintaxe:
...
repita
<seqüência-de-comandos>
ate (<expressão-lógica>)
...
Obs.: As instruções contidas no repita serão executadas
enquanto o resultado da avaliação da expressão lógica
resultar em falso. O fato da avaliação da expressão lógica
encontrar-se no final do laço faz com que, mesmo no caso da
expressão lógica nunca resultar em falso, a seqüência de
comandos seja executada ao menos uma vez.
8
Estruturas de Repetição -
REPITA
Exemplo
O pseudocódigo e os fluxogramas a
seguir escrevem na saída padrão os
números inteiros contidos no intervalo [1,
10].
9
Estruturas de Repetição -
REPITA
Exemplo
algoritmo "exemplo"
var
valor: inteiro
inicio
valor <- 0
repita
valor <- valor+1
escreval (valor)
ate (valor = 10)
fimalgoritmo
10
Estruturas de Repetição -
REPITA
Inicio Inicio
valor, “ ”
Valor <- valor-1
11
Estruturas de Repetição –
ENQUANTO e REPITA
Exercício:
Faça um algoritmo que recebe números naturais
fornecidos pelo usuário, quando o usuário quiser
parar a execução do algoritmo, o mesmo fornecerá
um numero negativo. O algoritmo deve retornar, ao
final de seu processamento, a quantidade de
números naturais fornecida pelo usuário. Fazer dois
algoritmos utilizando em cada um, uma das
estruturas de repetição vistas. Os algoritmos
desenvolvidos devem ser representados através de
um pseudocódigo e de um fluxograma.
12
Estruturas de Repetição –
ENQUANTO e REPITA
algoritmo "exercício laço de repetição repita a"
var num, contador: inteiro
inicio
contador <- 0
repita
escreva ("Entre com um número natural (entre
com um inteiro negativo para sair): ")
leia (num)
se (num>=0) entao
contador <- contador + 1
fimse
ate (num<0)
escreva ("Fora fornecidos " ,contador, " números
naturais pelo usuário ")
fimalgoritmo 13
Estruturas de Repetição –
ENQUANTO e REPITA
algoritmo " exercício laço de repetição repita b"
var num, contador: inteiro
inicio
contador <- -1
repita
escreva ("Entre com um número natural (entre
com um inteiro negativo para sair): ")
leia (num)
contador <- contador + 1
ate (num<0)
escreva ("Fora fornecidos " ,contador, " números
naturais pelo usuário ")
fimalgoritmo
14
Estruturas de Repetição –
Inicio ENQUANTO e REPITA
contador <- -1
num
num <- 1
contador <- -1
19
Estruturas de Repetição –
ENQUANTO e REPITA
falso
n1 n2<>0
“Digite o
Divisor:” n2
20
Estruturas de Repetição – PARA
Ao analisarmos o que ocorre nos laços de
repetição estudados, enquanto e repita,
perceberemos que, normalmente, ocorre uma
inicialização de uma variável, envolvida na
expressão lógica que controla o número de
repetições, e dentro do laço ocorre uma
atualização no valor da variável mencionada,
fazendo com que esta venha a tornar o
resultado da avaliação da expressão lógica falso,
finalizando assim a execução do laço de
repetição.
Com base nesta observação foi criado o laço de
repetição para.
21
Estruturas de Repetição – PARA
Sintaxe:
...
para <variável> de <valor-inicial> ate
<valor-limite> passo <incremento> faca
<seqüência-de-comandos>
fimpara
...
Exemplo:
25
Estruturas de Repetição – PARA
Exemplo Inicio
valor: inteiro
algoritmo "exemplo"
var Valor <- 1
inicio
valor<=10 Fim
fimpara
fimalgoritmo Valor <- valor+1
26
Estruturas de Repetição – PARA
Exercícios:
algoritmo "exercício"
var
valor: inteiro
inicio
para valor de 30 ate 1 passo -1 faca
escreval (valor)
fimpara
fimalgoritmo
28
Estruturas de Repetição – PARA
Exercício:
30
Referências
MEDINA, M.; FERTIG, C. Algoritmo e Programação:
Teoria e Pratica. 2ª ed. Novatec, 2006
31
OBRIGADO!
32