Algoritmo e Estrutura de Dados I Aula 7
- Slides: 23
Algoritmo e Estrutura de Dados I Aula 7 – Estrutura de repetição Márcia Marra marsha@dcc. ufmg. br
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 + 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 + 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 + 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. Conte este boi BOIS ← BOIS + 1 Fim 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. Atribua os valores iniciais necessários BOIS ← 0 MAIORPESO ← 0 MENORPESO ← 0 Fim 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
- Série estatística conjugada
- Tradutor de brainfuck
- Quicksort estrutura de dados
- Estrutura de dados
- Estrutura de dados
- Estrutura de dados
- Estrutura de dados
- Estrutura de dados
- Estrutura sequencial algoritmo
- Dados los intervalos
- Banco de dados
- Interface de dados
- Instrumento de coleta de dados questionário
- Dependência funcional
- Uno de los jovenes ha decidido mostrar a sus compañeros
- Simave banco de itens 2021
- Modelagem de dados
- Elemento representativo ou de transição
- Uma pessoa de estatura mediana pretende fazer um alambrado
- Observe a tirinha
- Tabela de recursos humanos
- Arquitetura paralela banco de dados
- Banco de dados e sistemas de informações de rh
- Intersecção e reunião de intervalos