A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC

Apresentações semelhantes


Apresentação em tema: "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC"— Transcrição da apresentação:

1 Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
ESTRUTURAS DE CONTROLE Estruturas de Repetição Estruturas de Repetição Indefinidas

2 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. %Exemplo: P1 = input(‘Nota do trabalho: ’); P2 = input(‘Nota da prova: ’); Media = 0.3*P *P2; disp(Media);

3 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.

4 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

5 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 Workspace repetição x 1 7 2 14 3 21 72 504 x = 0; while( x <= 500 ) x= x+7; end disp(x-7); Atualização

6 Estruturas de Repetição Indefinidas
Exercício 02: Identificar se um número fornecido pelo usuário é primo. x = input(‘Insira o número’); flag=0;m=2; while (( flag == 0 )&(m<x)) if (mod(x,m)==0) flag=1; end m=m+1; if (flag==1) fprintf(‘%6i não é primo\n’, x); else fprintf(‘%6i é primo\n’, x); Variável-bandeira

7 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 cont= 0; soma = 0; while ( soma <= 500 ) cont = cont+1; soma = soma + 3*cont; end disp(cont); Elemento-neutro Acumulador

8 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. soma = 0; cont = 1; while( cont <= 10 ) m = input(‘Media: ’); soma = soma + m; cont = cont + 1; end media = soma/(cont – 1); disp(media);

9 Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
EXERCÍCIOS COMPLEMENTARES

10 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.

11 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); disp('Zé, chute mais alto'); Min = chute; end if( (chute-Min) == 2 ), teste = 1; disp('Zé, chute mais baixo'); Max = chute; fprintf('O número escolhido por Mané foi %i\n',segredo);

12 Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Desafios

13 Estruturas de Repetição Indefinidas
Exercício 01: Programe o jogo da forca Exercício 02: Monte programa que converta número escrito no sistema decimal para binário Exercício 03: Monte programa que converta número escrito no sistema binário para decimal


Carregar ppt "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC"

Apresentações semelhantes


Anúncios Google