Upload
gilberto-sousa-guterres
View
226
Download
2
Embed Size (px)
Citation preview
2
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
3
Estrutura de repetição com interrupção no início
repitase condição
então interrompafim se
fim repita
4
Exemplo com interrupção no início soma de números pares
Algoritmodeclare PAR, SOMA numéricoSOMA ← 0PAR ← 100repita
se PAR > 200então interrompa
fim seSOMA ← SOMA + PARPAR ← PAR + 2
fim repitaescreva SOMA
fim algoritmo
5
Estrutura de repetição com interrupção no interior
repitasequência A de comandosse condição
então interrompafim se
Fim repita
6
Exemplo com interrupção no interior
Algoritmodeclare PAR, SOMA numéricoSOMA ← 0PAR ← 98repita
PAR ← PAR + 2se PAR > 200
então interrompafim seSOMA ← SOMA + PAR
fim repitaescreva SOMA
fim algoritmo
7
Estrutura de repetição com interrupção no fim
repitasequência A de comandosse condição
então interrompafim se
fim repita
8
Exemplo com interrupção no fimAlgoritmo
declare PAR, SOMA numéricoSOMA ← 0PAR ← 100repita
SOMA ← SOMA + PARPAR ← PAR + 2se PAR > 200
então interrompafim se
fim repitaescreva SOMA
fim algoritmo
9
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.
10
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 montante após terem decorrido n meses.C: capital inicial investidoi: taxa de jurosn: número de períodos decorridos (trimestres)
11
Algoritmo 1Algoritmo
Defina o tipo das variáveisleia CAPITAL, TAXA, NUMEROANOSAtribua os valores iniciais necessáriosrepita
Calcule rendimento trimestralCalcule montante trimestralEscreva rendimento e montante trimestraisse TRIMESTRE = N
então interrompafim seModifique valor de TRIMESTRE
fim repitafim algoritmo
12
Refinamentos sucessivos do algoritmo 1
Ref. Modifique valor de TRIMESTRETRIMESTRE ← TRIMESTRE + 1
fim ref.Ref. Atribua valores iniciais necessários
MONTANTE ← CAPITALTRIMESTRE ← 1N ← 4 x NUMEROANOS
fim ref.Ref. Defina tipos das variáveis
declare CAPITAL, MONTANTE, N, RENDIMENTO, TAXA, TRIMESTRE, NUMEROANOS numérico
fim ref.
13
Refinamentos sucessivos do algoritmo 1
Ref. Calcule rendimento trimestralRENDIMENTO ← 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, MONTANTEfim ref.
14
Algoritmo 1 completoAlgoritmo
{ Definição do tipo das variáveis }declare CAPITAL, MONTANTE, N, RENDIMENTO, TAXA, TRIMESTRE, NUMEROANOS numéricoleia CAPITAL, TAXA, NUMEROANOS{ Atribuição dos valores iniciais necessarios }MONTANTE ← CAPITALTRIMESTRE ← 1N ← 4 x NUMEROANOSrepita
{ 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, MONTANTEse TRIMESTRE = N
então interrompafim seTRIMESTRE ← TRIMESTRE + 1
fim repitaFim algoritmo
15
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.
16
Algoritmo 2Algoritmo
Defina o tipo das variáveisAtribua os valores iniciais necessáriosrepita
se o numero de bois examidados eh 90entao interrompa
fim seLeia numero de identificacao e peso do boiDetermine o boi mais gordoDetermine o boi mais magroConte o boi
fim repitaEscreva o número e o peso do boi mais gordoEscreva o número e o peso do boi mais magro
Fim Algoritmo
17
Refinamentos sucessivos do algoritmo 2
Ref. Leia o no. Identificacao e peso do boileia NUMERO, PESO
Fim ref.Ref. Determine o boi de maior pesose PESO > MAIORPESO
entao MAIORPESO ← PESO GORDO ← NUMERO
fim seFim Ref
18
Refinamentos sucessivos do algoritmo 2
Ref. Determine o boi de menor pesose PESO < MENORPESO
entao MENORRPESO ← PESO MAGRO ← NUMERO
fim seFim RefRef. Conte este boiBOIS ← BOIS + 1
Fim RefRef. Escreva o no. e peso do boi mais gordoescreva GORDO, MAIORPESO
Fim Ref
19
Refinamentos sucessivos do algoritmo 2
Ref. Escreva o no. e peso do boi mais magroescreva MAGRO, MENORPESO
Fim RefRef. Atribua os valores iniciais necessáriosBOIS ← 0MAIORPESO ← 0MENORPESO ← 0
Fim Ref.Ref. Defina o tipo das variaveisdeclare BOIS, GORDO, MAGRO, MAIORPESO, MENORPESO, NUMERO, PESO numerico
Fim Ref.
20
Algoritmo 2 completoAlgoritmo
{ 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 ← 1MAIORPESO ← 0MENORPESO ← 0
21
Algoritmo 2 completoleia NUMERO, PESOMAIORPESO ← PESOMENORPESO ← PESOGORDO ← NUMEROMAGRO ← NUMEROrepita
se BOIS = 90entao 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 ← PESOGORDO ← NUMERO
fim se{ Determinacao do boi mais magro }se PESO < MENORPESO
entao MENORPESO ← PESOMAGRO ← NUMERO
fim seBOIS ← BOIS + 1
fim repita
22
Algoritmo 2 completo{ Escrita do boi de maior peso}escreva GORDO, MAIORPESO{ Escrita do boi de menor peso}escreva MAGRO, MENORPESO
Fim Algoritmo
23
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.