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 ESTRUTURAS DE CONTROLE Estruturas de Repetição Estruturas de Repetição Indefinidas Estruturas.

Apresentações semelhantes


Apresentação em tema: "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC ESTRUTURAS DE CONTROLE Estruturas de Repetição Estruturas de Repetição Indefinidas Estruturas."— 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 Estruturas de Repetição Definidas

2 São estruturas de controle para repetição de comandos por um número conhecido de repetições. Sua sintaxe é dada por: 2 para i de vi até vf com passo p faça comando 1; comando 2; comando 3; … fim i = variável de controle; vi = valor inicial atribuído a i; vf = valor final atribuído a i (condição de parada); p = incremento dado à variável i. for i=vi:p:vf comando 1; comando 2;... comando n; end

3 São estruturas de controle para repetição de comandos por um número conhecido de repetições. Sua sintaxe é dada por: 3 % Para p>0 i=vi; while (i<=vf) comandos i=i+p; end i=i-p; for i=vi:p:vf comando 1; comando 2;... comando n; end % Para p<0 i=vi; while (vf<=i) comandos i=i+p; end i=i-p;

4 4 for i = 1:1:10 p1 = input(Nota do Trabalho: ); p2 = input(Nota da Prova: ); media = 0.3*p *p2; fprintf(Media = %5.2f,media); end Exercício 01: Calcular a média bimestral de 10 alunos, sabendo que a nota do trabalho vale 30% e a nota da prova vale 70%.

5 Na prática, i assume um novo valor a cada repetição dos comandos internos. Em for i=1:2:6, teremos: 5 repetiçãovalor de i 1a1a 1=vi 2a2a 3=vi+p 3a3a 5=vi+2*p for i=vi:p:vf comando 1; comando 2;... comando n; end Os valores de i dependem da seguinte análise para execução / repetição de comandos internos à estrutura: Valor de pvalor condição positivoi<=vf negativovf<=i Se a condição não for satisfeita, os comandos internos à estrutura não são executados. Para vi =vf, os comandos internos não são repetidos.

6 6 for j = 1:1:10 fprintf(%2io aluno, j); p1 = input(Insira a nota do Trabalho: ); p2 = input(Insira a nota da Prova: ); media = 0.3*p *p2; fprintf(Media do %2io aluno = %5.2f,j,media); end Uso da variável de controle nos comandos internos à estrutura de repetição Exercício 02: Imprima na tela o aluno que o usuário fornecerá a nota

7 7 s = 0; for k = 1:1:10 m = input(media: ); s = s + m; end media = s / 10; fprintf(A média da turma é %5.2f,media); Acumulador Bloco que será repetido Uso do acumulador. Atenção para a definição do valor inicial! Dica: elemento-neutro Exemplo 01: Calcular a média anual de 10 alunos.

8 8 Funcionamento do acumulador: ims s = 0; for i = 1:1:10 m = input(media: ); s = s + m; end media = s / 10; disp(media); Entrada Acumulador Variável de controle Ao final da execução, a variável média vai armazenar o valor 63/10 = 6.3.

9 9 Exercício 03: Dado um número qualquer, calcular o seu fatorial. x = input(Entre com um numero: ) fat = 1; for i = 1:1:x fat = fat * i; end fprintf(O fatorial de %2i é %6i,x,fat); 2! = 2*1 = 2 3! = 3*2*1 = 6 4! = 4*3*2*1 = 24 5! = 5*4*3*2*1 = 120 Por que 1?

10 10 soma = 0; for i = 1:1:4 x=2*i; soma = soma + x; end disp(soma); Por que 4? Exercício 04: Calcular a soma dos 5 primeiros números pares não-negativos.

11 11 soma = 0; for i = 1:1:49 soma = soma + 2*i; end disp(soma); O x sumiu? E se desejássemos calcular a soma dos 50 primeiros números pares não-negativos? A alteração seria apenas no limite da estrutura de repetição.

12 Para agilizar cálculos, os valores de vi, vf e p podem ser definidos de maneira que a variável controle i seja usada diretamente no comando interno. 12 para i de vi até vf com passo p faça comando 1; comando 2; comando 3; … fim i = variável de controle; vi = valor inicial atribuído a i; vf = valor final atribuído a i (condição de parada); p = incremento dado à variável i. for i=vi:p:vf comando 1; comando 2;... comando n; end

13 13 soma = 0; for i = 2:2:8 soma = soma + i; end disp(soma); soma = 0; for i = 1:1:4 soma = soma + 2*i; end disp(soma); Pra onde foi o 2? Exemplo 02: Calcular a soma dos 5 primeiros números pares não-negativos.

14 14 if ( condição1 ) comando a1; comando a2; … comando an; elseif (condição 2 ) comando b1; for i=vi:p:vf comando b1a; comando b2a; … comando bna; end comando b2; else comando c1; comando c2; … comando cn; end for i=vi:p:vf if ( condição1 ) comando a1; comando a2; … comando an; elseif ( condição 2 ) comando b1; for j=vi2:p2:vf2 comando b1a; comando b2a; … comando bna; end comando b2; else comando c1; comando c2; … comando cn; end for i=vi:p:vf comando a1; comando a2;... comando an; for j=vi2:p2:vf2 comando an1a; comando an2a; … comando anma; end comando an+1; comando an+2;... comando an+q; end

15 15 soma = 1; for i = 1:1:4 fat=1; for j = 1:1:i fat=fat*j; end soma = soma + fat; end disp(soma); Por que 1? Exercício 05: Calcular a soma dos fatoriais dos 5 primeiros números inteiros não-negativos.

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

17 17 Exercício 01: No programa Topa tudo por dinheiro, o jogo do pin premiava os participantes que ao contar os números a partir de 1 substituíssem corretamente os múltiplos de 4 ou números terminados em 4 por pin. Exemplo: 1, 2, 3, pin, 5, 6, 7, pin, 9, 10, 11, pin, 13, pin, 15, pin, 17, Crie um programa que informe quantos pin existem entre 1 e 50, inclusive.

18 18 Exercício 02: A série de FETUCCINE é gerada da seguinte forma: os dois primeiros termos são fornecidos pelo usuário; a partir daí, os termos são gerados com a soma ou subtração dos dois termos anteriores, ou seja: para i ímpar; para i par. Criar um programa que imprima os 10 primeiros termos dessa série.

19 19 A1 = input(Digite o primeiro termo) A2 = input(Digite o segundo termo) Ai = 0; % Imprime primeiro e segundo termo disp(A1); disp(A2); for i=3:1:10 % Verifica se o número é par ou ímpar if ( mod(i,2) == 0 ) Ai = A2 – A1; else Ai = A2+ A1; end % Atualiza os valores de A1 e A2 A1 = A2; A2 = Ai; % Imprime termos disp(Ai); end

20 20 x = input(Entre com o valor do ângulo: ); c = 0; sinal = 1; for i = 0:1:19 fat = 1; for j = 1:1:2*i; fat = fat * j; end c = c + sinal * x^(2*i)/fat; sinal = -1 * sinal; end disp(c);


Carregar ppt "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC ESTRUTURAS DE CONTROLE Estruturas de Repetição Estruturas de Repetição Indefinidas Estruturas."

Apresentações semelhantes


Anúncios Google