Buscar

Laços de Repetiçao

Prévia do material em texto

ALGORITMO COM 
REPETIÇÃO CONDICIONAL
1
Repetição com Teste no Início 
(Enquanto..Faça)
2
¨ Este comando de repetição permite que um 
determinado trecho seja executado diversas vezes, 
porém, sempre verificando antes de cada execução 
se é “permitido” repetir o mesmo trecho.
¨ O enquanto é uma estrutura de repetição cujo teste é 
realizado no início, e é executada enquanto uma 
determinada condição for verdadeira.
¨ Neste tipo de estrutura de repetição condicional não 
se sabe a quantidade de vezes que um determinado 
bloco será repetido, para tanto utiliza-se um teste 
lógico.
Repetição com Teste no Início 
(Enquanto..Faça)
3
¨ A Estrutura básica:
Repetição com Teste no Início 
(Enquanto..Faça)
4
¨ Onde:
¤ Condição: é uma expressão lógica que será avaliada, 
admitindo apenas 2 resultados: Verdadeiro ou Falso.
n Para verdadeiro: o bloco de comandos será executado.
n ao final do bloco, o fluxo do algoritmo retorna ao seu início e 
faz nova avaliação da condição, e continua executando o bloco 
até que a condição se torne falsa.
n Quando isto ocorre o fluxo do algoritmo segue para a primeira 
instrução após a marca de fim de bloco (}).
n Para falso: não executará nenhuma vez o bloco de 
comandos.
Exemplo: Faça um algoritmo que leia vários valores até que seja 
informado um valor negativo. Mostre a soma de todos os valores lidos.
5
OBS.: Se já na primeira vez, o resultado da condição for falso, 
os comandos não serão executados nenhuma vez.
6
Exemplo1:
...
soma:= 0
enquanto (soma > 0) {
leia (valor1, valor2)
soma:= valor1 + valor2
escreva (‘Soma: ’ , soma)
}
.....
Exemplo2:
...
valor:= -4
enquanto (valor >= 0) {
divisao:= valor div 2
escreva (‘Divisão: ’,
divisao)
}
.....
Fluxograma da Estrutura de Repetição 
Enquanto..Faça:
7
F
comando1
<condição>
V
comandoN
comandoA
Principais características
desta estrutura:
èA repetição é executada
enquanto a condição for
verdadeira.
èO teste da condição é
realizado no início.
èPode acontecer dos
comandos não serem
executados nenhuma vez.
Repetição com Teste no Início 
(Enquanto..Faça)
8
¨ IMPORTANTE:
¤ Uma vez dentro do laço, a execução somente 
abandonará o mesmo quando a condição for falsa.
¤ O usuário ao utilizar este tipo de repetição 
(condicional) deve estar atento à necessidade de que 
em algum momento a condição deverá ser avaliada 
como falsa.
¤ Caso contrário, o programa permanecerá infinitamente 
no interior do laço, o que é conhecido como Laço 
Infinito.
Algumas Regras
9
1) A condição deve ter a “chance” de sobrevivência.
2) A condição deve ter a “chance” de morte;
3) Para que o 1 ocorra a variável que compõe a 
condição deverá possuir um valor antes do teste 
condicional;
4) Para que o 2 ocorra (pra não entrar em logo infinito) 
a variável que compõe a condição devera ser passível de 
alteração em um dos comandos de laço.
1) Escreva um algoritmo que leia vários valores até que o valor zero seja fornecido.
Mostre a quantidade de valores positivos e a quantidade de valores negativos.
10
Exercícios:
11
1) Faça um algoritmo que leia um número 
indeterminado de valores até que o valor zero seja 
fornecido. Calcule e escreva a soma dos números 
lidos que são menores que 20.
2) Faça um algoritmo que leia várias idades até que 
seja fornecido um valor negativo para a idade. 
Calcule a média de todas as idades. 
Repetição com Teste no Final 
(Faça..Enquanto)
12
¨ A estrutura de repetição Faça..Enquanto também 
necessita de uma condição para ‘permitir’ que um 
determinado comando ou bloco de comandos seja 
executado.
¨ Esta estrutura possui a seguinte sintaxe:
¨ faca {
¤ <Comando1>
¤ <Comando2>
¤ ...
¤ <ComandoN>
¨ } enquanto(<Condição>)
Estrutura básica (Faça..Enquanto)
13
Repetição com Teste no Final 
(Faça..Enquanto)
14
¨ A estrutura de repetição utilizando o comando 
Faça..Enquanto permite que um bloco seja repetido 
até que uma determinada condição seja verdadeira.
¨ Pela sintaxe da estrutura, percebe-se que o bloco de 
comando (Comando1, Comando2 e ComandoN) é 
executado pelo menos uma vez, independente da 
validade da condição.
¨ Isto ocorre porque o teste da condição é feito após a 
execução do bloco.
Exemplo: Faça um algoritmo que leia vários valores até que seja 
informado um valor negativo. Mostre a soma de todos os valores lidos.
15
Repetição com Teste no Final 
(Faca..Enquanto)
16
V
comando1
<condição>
F
comandoN
comandoA
Principais características
desta estrutura:
è A repetição é executada
enquanto a condição for
verdadeira.
è O teste da condição é
realizado no fim.
è Os comandos serão
executados pelo menos uma
vez.
Sintetizando as diferenças entre os 
comandos de repetição condicional
17
¨ Faça...Enquanto:
¤ O teste é realizado no final;
¤ Garante que as instruções internas serão executadas, 
sempre, ao menos uma vez.
¤ A repetição é executada enquanto a condição for 
verdadeira;
¨ Enquanto... Faça:
¤ É o contrário, os passos podem nunca ser executados;
¤ A repetição é executada enquanto ela for verdadeira.
Exemplos de Algoritmos com a Repetição Repita..Até:
1) Escreva um algoritmo que leia vários valores até que o valor zero seja fornecido.
Mostre a quantidade de valores positivos e a quantidade de valores negativos.
18
Exemplos de Algoritmos com a Repetição Repita..Até:
2) Escreva um algoritmo que leia vários valores até que um valor negativo seja
fornecido. Some os valores pares. Mostre a soma calculada.
19
Exercícios2:
20
1) Faça um algoritmo que leia um número 
indeterminado de valores até que o valor zero seja 
fornecido. Calcule e escreva a soma dos números 
lidos que são menores que 20.
2) Faça um algoritmo que leia várias idades até que 
seja fornecido um valor negativo para a idade. 
Calcule a média de todas as idades. 
21
¨ As estruturas de Repetição Condicional (Enquanto..Faça e
Faça..Enquanto) se aplicam a qualquer tipo de caso.
¨ A estrutura Para..Faça limita-se apenas a casos em que se 
sabe exatamente o número de repetições, o que limita a sua 
aplicação.
¨ Os dois exemplos a seguir são resolvidos usando as três 
estruturas de repetição. 
¤ o primeiro, um caso com número de repetições previamente 
conhecido, é possível ser resolvido usando qualquer uma das 
estruturas.
¤ o segundo exemplo, só pode ser resolvido com as estruturas 
enquanto e repita, pois não se sabe previamente o número 
de repetições 
n A estrutura Para..Faça não pode ser usada, pois necessita que se 
informe o número exato de repetições.
Comparações Entre as Estruturas de 
Repetições
Exemplo1: Faça um algoritmo que leia 50 números inteiros e 
calcule a soma de todos os valores lidos.
22Enquanto... Faça Faça...Enquanto Para... Faça
programa {
funcao inicio() {
inteiro numero, contador = 0
inteiro soma = 0
enquanto (contador < 50) {
escreva (‘Digite um número: ’)
leia (numero)
soma = soma + numero
contador:= contador + 1
}
escreva (“Somatório = “, soma)
}
}
programa {
funcao inicio() {
inteiro numero, contador = 0
inteiro soma = 0
faca {
escreva (‘Digite um número: ’)
leia (numero)
soma = soma + numero
contador:= contador + 1
} enquanto (contador < 50)
escreva (“Somatório = “, soma)
}
}
programa {
funcao inicio() {
inteiro numero, soma = 0
para(inteiro contador = 0; contador
< 50; contador++ ){
escreva (‘Digite um número: ’)
leia (numero)
soma = soma + numero
contador:= contador + 1
} escreva (“Somatório = “, soma)
}
}
Exemplo2: Faça um algoritmo que leia diversos números e calcule o 
somatório destes números. Encerre quando o valor zero for digitado. 
23Enquanto... Faça Faça...Enquanto Para... Faça
programa {
funcao inicio() {
inteiro numero, soma = 0
numero = 1
enquanto (numero != 0) {
escreva (‘Digite um número: ’)
leia (numero)
soma = soma + numero
}
escreva (“Somatório = “, soma)
}
}
programa {
funcao inicio() {
inteiro numero, soma = 0
faca {
escreva (‘Digite um número: ’)
leia (numero)
soma = soma + numero
} enquanto (numero != 0)
escreva (“Somatório = “, soma)
}
}
programa {
funcao inicio(){
inteiro numero, soma = 0
para(inteiro contador = 0; contador
????
?
IMPOSSÍVELè
Número de repetições não
está definido.
EXERCÍCIOS
ESTRUTURAS DE REPETIÇÃO
24
1) Analise os algoritmos abaixo e mostre os valores que as variáveis
assumem ao longo do algoritmo. Mostre, também, o teste de mesa:
25
Algoritmo teste1
Variáveis
¤ Soma, i: inteiro
Início
¤ Soma:= 0
¤ Para i:= 1 to 5
¤ Faça soma:= soma + i
¤ Escreva (soma)
Fim
b) Algorítmo teste2
26
Variáveis
A, B, C, D, E: inteiro; X: real;
Início
A:= 5
B:= 200
C:= A * A
D:= 2
se (C mod 2) = 0 então
x:= B/A
senão
início
enquanto (D <= 6) faça
início
E:= E + D
C:= C + 1
D:= D + 1
fim
fim
Escreva (C); Escreva (E); Escreva (D); Escreva (X)
Fim
c) Algorítmo teste3
27
Variáveis
A, B, C, D, i, j: inteiro
Início
A:= 2
Para i:= 1 até 4 Faça
início
A:= A * i
B:= A - i
fim
C:= A - B
D:= C div 2
Para j:= C até (C+1) Faça
D:= D * C
C:= C + 1
B:= D - C
Escreva (A)
Escreva (B)
Escreva (C)
Escreva (D)
Fim
Faça os exercícios nas duas estruturas –
Enquanto..Faça e Faça..Enquanto
28
1. Escreva um algoritmo que leia 30 números e escreva a quantidade de 
números lidos que são maiores que 100.
2. Escreva um algoritmo que leia 10 valores e escreva os valores que são 
múltiplos de 3.
3. Escreva um algoritmo que leia vários números até que seja informado o 
valor zero para finalizar a leitura. Calcule e escreva a média de todos 
os valores lidos.
4. Faça um algoritmo que leia vários números inteiros. Calcule a média dos 
valores positivos. O final da leitura acontecerá quando for digitado um 
valor negativo. Mostre o resultado final.
5. Escreva um algoritmo que leia um número não determinado de valores e 
calcule a média aritmética dos valores lidos, a quantidade de valores 
positivos e a quantidade de valores negativos. Finalize a leitura com o 
valor igual a zero. Mostre os resultados.
29
6. Faça um algoritmo que leia vários números inteiros e calcule o somatório dos 
números negativos. O fim da leitura será indicado pelo número zero. Escreva 
o somatório.
7. Faça um algoritmo que leia o nome e o salário de vários funcionários de uma 
determinada empresa. Escreva o nome de todos os funcionários que possuem 
o salário maior ou igual a R$ 1000,00. Para encerrar a leitura, pergunte ao 
usuário se deseja continuar a entrada de dados.
8. Faça um algoritmo que leia duas notas de vários alunos. Calcule e escreva a 
média entre essas 2 notas de cada aluno e a mensagem conforme abaixo:
Média Mensagem
Média >= 0.0 e média < 5.0 reprovado
Média >= 5.0 e média < 7.0 exame
Média >= 7.0 e média <= 10.0 aprovado
9. Uma empresa deseja calcular o novo preço de venda de diversos produtos. 
Para isso, faça um algoritmo que leia o nome e o preço de custo de cada 
produto e calcule o novo preço, acrescentando 15% sobre o preço de custo. 
Mostre o nome e o novo preço de cada produto.
Faça os exercícios nas duas estruturas –
Enquanto..Faça e Faça..Enquanto

Continue navegando