23
Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra [email protected]

Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra [email protected]

Embed Size (px)

Citation preview

Page 1: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

Algoritmo e Estrutura de Dados I

Aula 7 – Estrutura de repetição

Márcia [email protected]

Page 2: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 3: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

3

Estrutura de repetição com interrupção no início

repitase condição

então interrompafim se

fim repita

Page 4: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 5: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

5

Estrutura de repetição com interrupção no interior

repitasequência A de comandosse condição

então interrompafim se

Fim repita

Page 6: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 7: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

7

Estrutura de repetição com interrupção no fim

repitasequência A de comandosse condição

então interrompafim se

fim repita

Page 8: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 9: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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.

Page 10: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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)

Page 11: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 12: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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.

Page 13: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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.

Page 14: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 15: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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.

Page 16: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 17: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 18: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 19: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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.

Page 20: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 21: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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

Page 22: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

22

Algoritmo 2 completo{ Escrita do boi de maior peso}escreva GORDO, MAIORPESO{ Escrita do boi de menor peso}escreva MAGRO, MENORPESO

Fim Algoritmo

Page 23: Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc.ufmg.br

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.