Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * * Clique para editar o estilo do título mestre Clique para editar o estilo do subtítulo mestre Introdução à Programação em MATLAB Estruturas de Repetição Prof. Alexandre Silva alexandre.silva@area1fte.edu.br * * * Algoritmos sequênciais n1 = input(‘Digite a primeira nota do aluno: ’); n2 = input(‘Digite a segunda nota do aluno: ’); n3 = input(‘Digite a terceira nota do aluno: ’); media = (n1 + n2 + n3)/3; fprintf(‘A media do aluno e %f’, media); Do modo que se encontra, só é executado uma vez. O que faríamos se quisessemos calcular a média para todos os alunos de uma turma? * * * Poderíamos repetir o algoritmo para cada aluno. Para 2 alunos, certo. Mas e se fossem muitos? E se fosse um número inicialmente indeterminado? Solução Inviável! * * * Utilizar a mesma sequência de comandos novamente. Fazer com que o fluxo de execução repita um trecho do algoritmo para cada aluno, sem reescrevê-lo. A esses trechos do algoritmo que são repetidos, damos o nome de LAÇOS DE REPETIÇÃO (LOOP). O número de repetições pode ser indeterminado, porém necessariamente finito. Utilizado quando queremos que uma mesma ação seja repetida. * * * Estrutura de repetição enquanto (while) - Repetição com Teste no Início para (for) - Repetição com Variável de Controle * * * while enquanto Estrutura de repetição, onde a condição de interrupção é testada antes que os comandos a serem repetidos sejam executados. Devemos sempre ter cuidado no controle da condição de parada, pois muitas vezes a condição nunca é satisfeita e o programa entra em “loop”. Não precisamos condicionar a repetição com a quantidade de vezes que será executado o bloco de repetição. * * * while (condição) comando_1; ....... comando_n; end * * * Exemplo op = input(‘Deseja continuar? 1 – Sim; 2 – Não’); cont = 1; while (op == 1) op = input(‘Deseja continuar? 1 – Sim; 2 – Não’); cont = cont + 1; end fprintf(‘O trecho acima foi repetido %d vezes \n’, cont); * * * fprintf('Este programa mostra o nome AREA1 quantas vezes voce quiser \n'); op = 0; cont = 0; while (op ~= 2) % ~= lembrando que significa diferente op = input('Quer ver? 1 Sim 2 Nao: '); if (op ~= 2) fprintf('Area1 \n'); cont = cont + 1; end end fprintf('Foram mostradas %d vezes \n', cont); fprintf('Programa Finalizado \n'); * * * ano_nasc = input('Informe o seu ano de nascimento ou 0 para finalizar: '); while (ano_nasc ~= 0) idade = 2007 - ano_nasc; fprintf('Sua idade este ano: %d \n', idade); ano_nasc = input('Informe o seu ano de nascimento ou 0 para finalizar: '); end * * * Elabore um algoritmo que leia um número indeterminado de valores representando cada um a idade de um indivíduo. Caso o usuário não queira informar mais idades, deverá ser digitado -1. Utilizando o mesmo algoritmo, calcule e imprima a idade média deste grupo de indivíduos. Observação: Deverá ser usada um contador e um acumulador do somatório da idade. O valor -1, que finaliza a digitação das idades, não deve entrar nos cálculos * * * Encontrar a Maior e a Menor idade informada no algoritmo anterior. Observação: Deverá usar variáveis que guardem o maior e o menor valores em cada iteração Utilizando o algoritmo anterior, encontre também a média das idades informadas. * * * Encontrar o Maior, o Menor e a Média de um conjunto de números informados. Deve ser informado 0(zero) para terminar: * * * fprintf('Este programa mostra o maior, o menor e a media de um conj indeterminado de numeros digitados. \n Para finalizar, digite 0 \n'); numero = 1; cont = 0; soma = 0; while (numero ~= 0) numero = input('Digite o numero: '); if (numero ~= 0) cont = cont + 1; if (cont == 1) maior = numero; menor = numero; elseif (numero > maior) maior = numero; elseif (numero < menor) menor = numero; end soma = soma + numero; end end media = soma/cont; fprintf('Maior numero digitado: %.2f \n', maior); fprintf('Menor numero digitado: %.2f \n', menor); fprintf('Media dos numeros digitados: %.2f \n', media); * * * for para O comando PARA (FOR) permite que um ou mais comandos sejam executados um número específico de vezes. Uma variável de controle é incrementada de um valor inicial até um valor final. São utilizadas Início e Fim para delimitar o comando. * * * Modelo Genérico: para cont de vi até vf passo p faça início Comando1; Comando2; ... Comandon; fim cont variável de controle vi valor inicial vf valor final passo valor do incremento * * * for variável = vl_inicial:incremento:vl_final Comando1; ....... Comandon; end * * * Exemplo fprintf('Vou mostrar o nome AREA1 10 vezes \n'); for i = 1:1:10 fprintf('AREA1 %d vez(es) \n', i); end fprintf('Programa Finalizado \n'); * * * OBS: Quando o incremento é de 1, ele pode ser omitido Por exemplo: for i = 1:10 * * * Exercício fprintf('Este programa calcula a media de notas de 5 alunos \n'); for i=1:5 n1 = input('Digite a primeira nota do aluno: '); n2 = input('Digite a segunda nota do aluno: '); n3 = input('Digite a terceira nota do aluno: '); media = (n1 + n2 + n3)/3; fprintf('A media do aluno %d e %f \n', i, media); end * * * Elabore um algoritmo que some os números pares de 1 a 100. Imprima o resultado desta soma. fprintf('Este programa soma os numeros pares entre 1 e 100 \n'); soma = 0; for i = 2:2:100 soma = soma + i; end fprintf('A soma e: %d \n', soma); * * * Elabore um algoritmo que imprima os múltiplos de 5, entre 5 e um limite fornecido. fprintf('Este programa mostra os numeros multiplos de 5 entre 5 e um limite fornecido pelo usuario \n'); limite = input('Digite o limite: '); for i = 5:5:limite fprintf('Multiplo: %d \n', i); end * * * O que faz o fragmento de código abaixo? main () { int cont; for (cont=100;cont>=1;cont-=2) printf("O numero par eh: %d\n", cont); system("pause"); }
Compartilhar