Algoritmo e Estrutura de
Dados I
Aula 7 – Estrutura de repetição
Márcia Marra
[email protected]
Estrutura de repetição
• Permite que uma sequência de comandos
seja executada repetidamente até que
uma determinada condição de interrupção
seja satisfeita.
• Condição de interrupção é representada
por uma expressão lógica.
– Interrupção de início
– Interrupção no interior
– Interrupção de fim
2
Estrutura de repetição com
interrupção no início
repita
se condição
então interrompa
fim se
fim repita
3
Exemplo com interrupção no início
soma de números pares
Algoritmo
declare PAR, SOMA numérico
SOMA ← 0
PAR ← 100
repita
se PAR > 200
então interrompa
fim se
SOMA ← SOMA + PAR
PAR ← PAR + 2
fim repita
escreva SOMA
fim algoritmo
4
Estrutura de repetição com
interrupção no interior
repita
sequência A de comandos
se condição
então interrompa
fim se
Fim repita
5
Exemplo com interrupção no
interior
Algoritmo
declare PAR, SOMA numérico
SOMA ← 0
PAR ← 98
repita
PAR ← PAR + 2
se PAR > 200
então interrompa
fim se
SOMA ← SOMA + PAR
fim repita
escreva SOMA
fim algoritmo
6
Estrutura de repetição com
interrupção no fim
repita
sequência A de comandos
se condição
então interrompa
fim se
fim repita
7
Exemplo com interrupção no fim
Algoritmo
declare PAR, SOMA numérico
SOMA ← 0
PAR ← 100
repita
SOMA ← SOMA + PAR
PAR ← PAR + 2
se PAR > 200
então interrompa
fim se
fim repita
escreva SOMA
fim algoritmo
8
Algoritmo 1
• Uma pessoa aplicou seu capital a juros e
deseja saber, trimestralmente, a posição
de seu investimento C inicial. Sendo i a
taxa de juros do trimestre, escrever uma
tabela que apresente para cada trimestre
o rendimento auferido e o saldo
acumulado durante um período de X anos,
supondo que nenhuma retirada tenha sido
feita.
9
Algoritmo 1
• Algumas observações:
– Os valores C, I, X estão disponíveis em uma unidade
de entrada;
– A fórmula para capitalização composta é:
Mn = C (1 + i)n
Onde:
Mn
C:
i:
n:
montante após terem decorrido n meses.
capital inicial investido
taxa de juros
número de períodos decorridos (trimestres)
10
Algoritmo 1
Algoritmo
Defina o tipo das variáveis
leia CAPITAL, TAXA, NUMEROANOS
Atribua os valores iniciais necessários
repita
Calcule rendimento trimestral
Calcule montante trimestral
Escreva rendimento e montante trimestrais
se TRIMESTRE = N
então interrompa
fim se
Modifique valor de TRIMESTRE
fim repita
fim algoritmo
11
Refinamentos sucessivos do
algoritmo 1
Ref. Modifique valor de TRIMESTRE
TRIMESTRE ← TRIMESTRE + 1
fim ref.
Ref. Atribua valores iniciais necessários
MONTANTE ← CAPITAL
TRIMESTRE ← 1
N ← 4 x NUMEROANOS
fim ref.
Ref. Defina tipos das variáveis
declare CAPITAL, MONTANTE, N, RENDIMENTO,
TAXA, TRIMESTRE, NUMEROANOS numérico
fim ref.
12
Refinamentos sucessivos do
algoritmo 1
Ref. Calcule rendimento trimestral
RENDIMENTO ← TAXA x MONTANTE
fim ref.
Ref. Calcule o montante trimestral
MONTANTE ← CAPITAL x (1 + TAXA)TRIMESTRE
fim ref.
Ref. Escreva rendimento e montante trimestrais
escreva RENDIMENTO, MONTANTE
fim ref.
13
Algoritmo 1 completo
Algoritmo
{ Definição do tipo das variáveis }
declare CAPITAL, MONTANTE, N, RENDIMENTO, TAXA, TRIMESTRE,
NUMEROANOS numérico
leia CAPITAL, TAXA, NUMEROANOS
{ Atribuição dos valores iniciais necessarios }
MONTANTE ← CAPITAL
TRIMESTRE ← 1
N ← 4 x NUMEROANOS
repita
{ Cálculo do rendimento trimestral }
RENDIMENTO ← TAXA x MONTANTE
{ Cálculo do montante trimestral }
MONTANTE ← CAPITAL x (1 + TAXA)TRIMESTRE
{ Escrita do rendimento e montante trimestrais }
escreva RENDIMENTO, MONTANTE
se TRIMESTRE = N
então interrompa
fim se
TRIMESTRE ← TRIMESTRE + 1
fim repita
Fim algoritmo
14
Algoritmo 2
• Em um frigorífico existem 90 bois. Cada
boi traz preso em seu pescoço um cartão
contendo seu número de identificação e
seu peso. Faça um algoritmo que escreva
o número e o peso do boi mais gordo e do
boi mais magro.
15
Algoritmo 2
Algoritmo
Defina o tipo das variáveis
Atribua os valores iniciais necessários
repita
se o numero de bois examidados eh 90
entao interrompa
fim se
Leia numero de identificacao e peso do boi
Determine o boi mais gordo
Determine o boi mais magro
Conte o boi
fim repita
Escreva o número e o peso do boi mais gordo
Escreva o número e o peso do boi mais magro
Fim Algoritmo
16
Refinamentos sucessivos do
algoritmo 2
Ref. Leia o no. Identificacao e peso do boi
leia NUMERO, PESO
Fim ref.
Ref. Determine o boi de maior peso
se PESO > MAIORPESO
entao MAIORPESO ← PESO
GORDO ← NUMERO
fim se
Fim Ref
17
Refinamentos sucessivos do
algoritmo 2
Ref. Determine o boi de menor peso
se PESO < MENORPESO
entao MENORRPESO ← PESO
MAGRO ← NUMERO
fim se
Fim Ref
Ref. Conte este boi
BOIS ← BOIS + 1
Fim Ref
Ref. Escreva o no. e peso do boi mais gordo
escreva GORDO, MAIORPESO
Fim Ref
18
Refinamentos sucessivos do
algoritmo 2
Ref. Escreva o no. e peso do boi mais magro
escreva MAGRO, MENORPESO
Fim Ref
Ref. Atribua os valores iniciais necessários
BOIS ← 0
MAIORPESO ← 0
MENORPESO ← 0
Fim Ref.
Ref. Defina o tipo das variaveis
declare BOIS, GORDO, MAGRO, MAIORPESO,
MENORPESO, NUMERO, PESO numerico
Fim Ref.
19
Algoritmo 2 completo
Algoritmo
{ Declaracao do tipo das variaveis}
declare
BOIS,
{no. de bois examinados}
GORDO,
{no. do boi mais gordo}
MAGRO,
{no. do boi mais magro}
MAIORPESO,{peso do boi mais gordo}
MENORPESO,{peso do boi mais magro}
NUMERO,
{no. identificacao do boi}
PESO
{peso dos bois}
numerico
{ Atribuicao dos valores iniciais}
BOIS ← 1
MAIORPESO ← 0
MENORPESO ← 0
20
Algoritmo 2 completo
leia NUMERO, PESO
MAIORPESO ← PESO
MENORPESO ← PESO
GORDO ← NUMERO
MAGRO ← NUMERO
repita
se BOIS = 90
entao interrompa
fim se
{Leitura do no. identificacao e peso dos bois}
escreva “Entre com a identificacao e peso do boi”
leia NUMERO, PESO
{ Determinacao do boi mais gordo }
se PESO > MAIORPESO
entao MAIORPESO ← PESO
GORDO ← NUMERO
fim se
{ Determinacao do boi mais magro }
se PESO < MENORPESO
entao MENORPESO ← PESO
MAGRO ← NUMERO
fim se
BOIS ← BOIS + 1
fim repita
21
Algoritmo 2 completo
{ Escrita do boi de maior peso}
escreva GORDO, MAIORPESO
{ Escrita do boi de menor peso}
escreva MAGRO, MENORPESO
Fim Algoritmo
22
Pratique a estrutura de repetição
• Foi realizada uma pesquisa sobre as características
físicas de um determinada região. Foram perguntados:
–
–
–
–
Sexo (masculino, feminino);
Cor dos olhos (azuis, verdes, castanhos);
Cor dos cabelos (louros, castanhos, pretos);
Idade em anos.
• Para cada habitante, foi digitada uma linha com estes
dados e a última linha, que não corresponde a ninguém,
contêm o valor -1.
• Escreva um algoritmo que determine e escreva:
– O habitante de maior idade;
– O habitante de menor idade;
– A porcentagem de individuos do sexo feminino cuja idade está
entre 18 e 35 anos inclusive e que tenham olhos verdes e
cabelos louros.
23
Download

Algoritmos – Estrutura de Repetição