130 likes | 230 Views
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC. ESTRUTURAS DE CONTROLE Estruturas de Repetição Estruturas de Repetição Indefinidas. Estruturas de Repetição. Considere o seguinte algoritmo para o cálculo da média bimestral de um aluno:
E N D
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC • ESTRUTURAS DE CONTROLE • Estruturas de Repetição • Estruturas de Repetição Indefinidas
Estruturas de Repetição • Considere o seguinte algoritmo para o cálculo da média bimestral de um aluno: • E se eu desejar calcular a média dos 25 alunos da turma? Uma solução é repetir o código acima 25 vezes; outra opção é rodar (executar) o programa acima 25 vezes.
Estruturas de Repetição No entanto, nem sempre essas soluções são viáveis. A idéia, então, é usar o mesmo trecho do código acima sem a necessidade de reescrevê-lo. As estruturas usadas para implementar essa idéia são chamadas Estruturas de Repetição. Elas podem ser divididas em dois tipos básicos: • Estruturas de Repetição Definidas • Estruturas de Repetição Indefinidas Essas estruturas são apresentadas na seqüência.
Estruturas de Repetição Indefinidas Estruturas de Repetição indefinidas são estruturas onde não se conhece, a priori, quantas repetições serão realizadas. Sua sintaxe é dada por: while( condição ) comando 1; comando 2; comando 3; end
Estruturas de Repetição Indefinidas • Exercício 01: Identificar o múltiplo de 7 mais próximo de 500 sem superá-lo. Variável de controle de repetições Atualização
Estruturas de Repetição Indefinidas • Exercício 02: Identificar se um número fornecido pelo usuário é primo. Variável-bandeira
Estruturas de Repetição Indefinidas • Uso do contador. • Atenção para a definição do valor inicial e do incremento a cada repetição! • Exemplo 01: Identificar a menor quantidade de termos até que a soma de múltiplos de 3 supere 500. Contador Elemento-neutro Acumulador
Estruturas de Repetição Indefinidas • As estruturas de repetição indefinidas também podem ser usadas em problemas com número de repetições conhecidas. • Exercício 02: Calcular a média anual de 10 alunos usando while.
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC • EXERCÍCIOS COMPLEMENTARES
Exercício 01: Imprensadinho • Mané escolhe um número entre 0 e 100. • Sem ver qual foi o número, Zé tenta adivinhar o número gerado. • Zé não pode dizer o número que ele pensa que Mané escreveu. Zé deve prender o número escolhido por Mané ao dizer seu antecessor e seu sucessor. • A cada tentativa, deve-se informar a Zé para chutar mais baixo ou mais alto ou se ele perdeu ou venceu. • Se Zé acertar o número, declarar que Mané venceu e mostrar o número de tentativas. • Se restar apenas uma opção para chute, declarar que Zé venceu por Mané ter ficado preso. • Informar o número escolhido por Mané quando o jogo tiver terminado.
clear, clc disp ('Imprensadinho. Jogo para 2 jogadores, denominados Mané e Zé, onde Mané escolhe') disp (‘um número num intervalo conhecido e Zé não pode acertar o número. Zé tenta prender') disp('o número escolhido por Mané ao dizer o antecessor e o sucessor do número escolhido'); teste = 0; soma = 0; Min = 0; Max = 100; segredo = input('Mané, escreva um número entre 0 e 100: '); clc while( teste == 0 ) fprintf ('Zé, os limites para chute são %i e %i\n', Min, Max); chute = input('Escolha um número no intervalo especificado: '); if ~((chute<Max)&(chute>Min)) fprintf('Chute direito, Zé!\n'); else soma = soma + 1; if( chute == segredo ), teste = 1; fprintf('Perdeu, Zé! Acertaste em cheio! Número de tentativas: %i\n', soma); elseif( (chute < segredo) ) if( (Max-chute) == 2 ), teste = 1; fprintf('Perdeu, Mané! Ficaste preso! Número de tentativas: %i\n', soma); else disp('Zé, chute mais alto'); Min = chute; end else if( (chute-Min) == 2 ), teste = 1; fprintf('Perdeu, Mané! Ficaste preso! Número de tentativas: %i\n', soma); else disp('Zé, chute mais baixo'); Max = chute; end end end end fprintf('O número escolhido por Mané foi %i\n',segredo);
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC • Desafios
Estruturas de Repetição Indefinidas • Exercício 01: Programe o jogo da forca • Exercício 02: Monte programaqueconvertanúmeroescrito no sistema decimal parabinário • Exercício 03: Monte programaqueconvertanúmeroescrito no sistemabináriopara decimal