Buscar

EMB5013 Aula teo 05 repeticao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estruturas de repetição
Introdução à programação de 
computadores – EMB 5013
Fluxo de execução
• Para que um conjunto de ações se torne viável é 
preciso definir como elas se relacionam, ou seja, é 
preciso definir o fluxo de execução do algoritmo;
• Estruturas básicas de controle de fluxo de execução (e 
a combinação delas) permitem que criemos 
algoritmos;
• Estruturas de controle de fluxo:
– Sequencial;
– Seleção;
– Repetição.
2
Estruturas de repetição
• As estruturas sequencial e de seleção resolvem os 
problemas individualmente, ou seja, processam apenas 
uma vez cada comando (ou teste);
• Para utilizar a mesma sequência de comandos várias 
vezes precisamos desviar o fluxo de execução do 
algoritmo para um ponto anterior;
• Trechos repetidos são chamados de laços de repetição;
• O número de repetições pode ser indeterminado, porém 
necessariamente finito;
3
Estruturas de repetição
• Repetição com teste no início:
– Estrutura de controle do fluxo de execução que permite 
repetir diversas vezes um mesmo trecho do algoritmo, 
porém, sempre verifica uma condição antes de cada 
execução;
– Para realizar repetição com teste no início utilizamos a 
estrutura enquanto faça, que permite que um bloco seja 
repetido enquanto uma determinada condição for 
verdadeira;
4
Estruturas de repetição
• Repetição com teste no início (cont.):
– Quando o resultado de <condição> for falso, o comando de 
repetição é abandonado;
– Resultado falso no primeiro teste faz com que os 
comandos não sejam executados nenhuma vez;
5
enquanto <condição> faça
ação1;
ação2;
ação3;
⁞
açãon;
fimenquanto;
Estruturas de repetição
• Repetição com teste no início (cont.):
– A estrutura enquanto faça não conta o número 
de vezes que um bloco é executado;
– Para estabelecer uma contagem é preciso contar 
com a ajuda de um contador:
6
inteiro: Contador; // declaração do contador
Contador ← 0; // inicialização do contador
Contador ← Contador + 1; // incrementa o contador de 1
Estruturas de repetição
• Repetição com teste no início (cont.):
– Exemplo 1:
• Escreva um algoritmo que calcule e imprima a média
individual de 50 alunos.
7
Início
real: N1, N2, N3, N4, MA;
inteiro: Contador; // contador
Contador ← 0;
enquanto (Contador < 50) faça
leia (N1, N2, N3, N4);
MA ← (N1 + N2 + N3 + N4)/4;
escreva (“Média = ”, MA);
Contador ← Contador + 1;
fimenquanto;
Fim.
Estruturas de repetição
• Repetição com teste no início (cont.):
– E se desejarmos calcular a média da turma?
• É preciso somar a média de todos os alunos e dividir 
pelo número de alunos;
– Nesta situação utilizamos uma variável 
denominada de acumulador:
8
inteiro: Acumulador, X; // declaração do acumulador e da
// variável que será acumulada
Acumulador ← 0; // inicialização do acumulador
Acumulador ← Acumulador + X; // acumula o valor da variável X
Estruturas de repetição
• Repetição com teste no início (cont.):
– Exemplo 2:
• Escreva um algoritmo que calcule a média das médias
de uma turma de 50 alunos e imprima o resultado.
9
Início
real: MA, MT, Acumulador; // variáveis e acumulador
inteiro: Contador; // contador
Contador ← 0;
Acumulador ← 0;
enquanto (Contador < 50) faça
leia (MA); // lê a média de um aluno
Acumulador ← Acumulador + MA; // acumula as médias
Contador ← Contador + 1;
fimenquanto;
MT ← Acumulador/50;
escreva (“Média da turma = ”, MT);
Fim.
Estruturas de repetição
• Repetição com teste no início (cont.):
– O conhecimento do número de alunos da turma permitiu 
escrever um algoritmo com um laço de repetição com 
quantidade predeterminada de execuções;
– Quando a quantidade de vezes que a repetição será 
executada é indeterminada define-se um critério de 
parada que encerra a execução do laço;
– Finalizador é um valor predefinido que quando atribuído 
à uma variável indica que o laço de repetição deve ser 
encerrado;
• Para o exemplo de cálculo da média da turma podemos utilizar 
como finalizador MA = -1;
10
Estruturas de repetição
• Repetição com teste no início (cont.):
– Exemplo 3:
• Escreva um algoritmo que calcule a média das médias
de uma turma em que o usuário indica quando já
forneceu as médias de todos os alunos. Imprima o 
resultado.
11
Estruturas de repetição
• Repetição com teste no início (cont.):
– Exemplo 3 (cont.):
12
Início
real: MA, MT, Acumulador; // variáveis e acumulador
inteiro: Contador; // contador
Contador ← 0;
Acumulador ← 0;
leia (MA); // lê a média do primeiro aluno
enquanto (MA <> -1) faça
Acumulador ← Acumulador + MA; // acumula as médias
Contador ← Contador + 1;
leia (MA);
fimenquanto;
se (Contador > 0) então
MT ← Acumulador/Contador;
escreva (“Média da turma = ”, MT);
senão;
escreva (“Nenhuma média válida fornecida!”);
fimse;
Fim.
Estruturas de repetição
• Repetição com teste no final:
– A estrutura repita permite que um bloco (ou ação 
primitiva) seja repetido até que uma determinada 
condição seja verdadeira;
– O bloco é executado pelo menos uma vez, independente 
da validade da condição;
• A inspeção da condição é feita após a execução do bloco, o que 
representa a característica principal desta estrutura de repetição;
13
repita
ação1;
ação2;
ação3;
⁞
açãon;
até <condição>;
Estruturas de repetição
• Repetição com teste no final (cont.):
– Exemplo 4:
• Escreva um algoritmo que calcule a média das médias
de uma turma de 50 alunos. Utilize a estrutura repita.
14
Início
real: MA, MT, Acumulador; // variáveis e acumulador
inteiro: Contador; // contador
Contador ← 0;
Acumulador ← 0;
repita
leia (MA); // lê a média de um aluno
Acumulador ← Acumulador + MA; // acumula as médias
Contador ← Contador + 1;
até (Contador >= 50);
MT ← Acumulador/50;
escreva (“Média da turma = ”, MT);
Fim.
Estruturas de repetição
• Repetição com variável de controle:
– Nas estruturas anteriores um bloco era executado: 
• enquanto uma condição era satisfeita (enquanto); ou
• até que uma condição fosse satisfeita (repita);
– A estrutura para repete a execução de um bloco 
um número predeterminado de vezes, não prevê 
condição, e possui limites fixos;
15
Estruturas de repetição
• Repetição com variável de controle (cont.):
– v é a variável de controle;
– vi é o valor inicial que será atribuído à variável v;
– vf é o valor final que será atribuído à variável v, ou seja, o 
valor até o qual ela vai chegar;
– p é o valor do incremento dado à variável v;
16
para v de vi até vf passo p faça
ação1;
ação2;
ação3;
⁞
açãon;
fimpara; 
• Repetição com variável de controle (cont.):
– Exemplo 5:
• Escreva um algoritmo que calcule a média das médias
de uma turma de 50 alunos. Utilize a estrutura para.
Início
real: MA, MT, Acumulador; // variáveis e acumulador
inteiro: V; // variável de controle
Acumulador ← 0;
para V de 1 até 50 passo 1 faça
leia (MA); // lê a média de um aluno
Acumulador ← Acumulador + MA; // acumula as médias
fimpara;
MT ← Acumulador/50;
escreva (“Média da turma = ”, MT);
Fim.
Estruturas de repetição
17
Estruturas de repetição
• Observações:
– Nem sempre a variável de controle atinge o valor final 
estabelecido. Isso pode ocorrer quando é utilizado um passo 
maior que 1;
• Exemplo:
para I de 1 até 10 passo 2 faça // a variável vai chegar até 9
– O laço de repetição sempre será executado pelo menos 1 vez;
• Exemplo:
para I de 1 até 10 passo 10 faça // a variável vai chegar até 1
18
Estruturas de repetição
• Observações:
– É possível utilizar um passo negativo, onde a variável de 
controle é decrementada a cada repetição
• Exemplo:
para I de 10 até 1 passo -1 faça// a variável vai chegar até 1
– É possível encadear (aninhar) laços de repetição:
19
para i de 1 até 10 passo 1 faça
ação;
para j de 1 até 100 passo 1 faça
ação1;
⁞
açãon;
fimpara;
fimpara;
Estruturas de repetição
• Comparação entre as estruturas de repetição:
– Todas permitem escrever algoritmos com laços de 
repetição;
– Características:
20
Estrutura Condição Quantidade de execuções Condição de existência
enquanto No início 0 ou muitas Condição verdadeira
repita No final Mínimo 1 Condição falsa
para Não tem ((vf - vi) div p)+ 1 v <= vf
Para passo p positivo
Estruturas de repetição
• Exercício:
– Escrever três algoritmos, cada um usando uma
estrutura de repetição diferente que calcule a 
tabuada de um número informado.
21
Estruturas de repetição
• Exercício (cont.):
– Tabuada usando enquanto:
22
Início
inteiro: Contador, Número; // contador
Contador ← 1;
leia (Número); // lê o número para o qual calcularemos
// a tabuada
enquanto (Contador <= 10) faça
escreva (Contador, “ * ”, Número, “ = ”, Contador * Número);
Contador ← Contador + 1;
fimenquanto;
Fim.
Estruturas de repetição
• Exercício (cont.):
– Tabuada usando repita:
23
Início
inteiro: Contador, Número; // contador
Contador ← 1;
leia (Número); // lê o número para o qual calcularemos
// a tabuada
repita
escreva (Contador, “ * ”, Número, “ = ”, Contador * Número);
Contador ← Contador + 1;
até (Contador > 10);
Fim.
Estruturas de repetição
• Exercício (cont.):
– Tabuada usando para:
24
Início
inteiro: Contador, Número; // contador
leia (Número); // lê o número para o qual calcularemos
// a tabuada
para Contador de 1 até 10 passo 1 faça
escreva (Contador, “ * ”, Número, “ = ”, Contador * Número);
fimpara;
Fim.
Exercícios
• 1 – Escreva um algoritmo (em pseudocódigo) que conte o total de 
números múltiplos de 3 entre dois números X e Y inteiros e 
positivos informados pelo usuário. Considere X > Y. 
• 2 - Escreva um algoritmo (em pseudocódigo) que leia 10 números 
inteiros fornecidos pelo usuário e informe ao final do 
processamento qual foi o maior número fornecido e qual foi o 
menor número fornecido. 
• 3 - Escreva um algoritmo em pseudocódigo que calcule o valor de a 
na série abaixo. O algoritmo deve solicitar para o usuário o número 
n e escrever na tela o resultado do cálculo da série matemática 
(valor de a). 
25
Avisos
• Conteúdo desta aula:
– Capítulo 3 do livro do Forbellone e Eberspacher
após “Exercícios de fixação 2”.
• Lista de exercícios:
– Disponível no moodle.
26

Outros materiais