Buscar

aula7 EstruturaRepeticao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
*
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
*
*
*
Estrutura de repetição com interrupção no início
repita
	se condição
		então interrompa
	fim se
fim repita
*
*
*
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
*
*
*
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
*
*
*
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
*
*
*
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
*
*
*
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
*
*
*
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. 
*
*
*
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 investido
		i: 	taxa de juros
		n: 	número de períodos decorridos (trimestres)
*
*
*
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
*
*
*
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. 
*
*
*
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.
*
*
*
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
*
*
*
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. 
*
*
*
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
*
*
*
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
*
*
*
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
*
*
*
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.
*
*
*
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
*
*
*
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
*
*
*
Algoritmo 2 completo
	{ Escrita do boi de maior peso}
	escreva GORDO, MAIORPESO
	{ Escrita do boi de menor peso}
	escreva MAGRO, MENORPESO
Fim Algoritmo
*
*
*
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.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais