Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comandos de Repetição: do-while e for Programação de Computadores I Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto setembro 2009 Comandos de Repetição RELEMBRANDO A AULA PASSADA...: Foi dito que os comandos de repetição (loop) são um recurso que permite que um certo trecho do código de um programa seja repetido um certo número de vezes Na linguagem C++ existem três comandos de repetição: 1 while 2 do-while 3 for Comandos de Repetição RELEMBRANDO A AULA PASSADA...: Foi dito que os comandos de repetição (loop) são um recurso que permite que um certo trecho do código de um programa seja repetido um certo número de vezes Na linguagem C++ existem três comandos de repetição: 1 while 2 do-while 3 for Comandos de Repetição: do-while A forma geral do comando do-while é: do <comando1>; //comando que é repetido while(<condição>); <comando2>;//comando executado após o do-while Comandos de Repetição: do-while No lugar do comando1 no corpo do do-while pode ser colocado um bloco de comandos A forma geral do comando do-while ficaria assim: do{ <comando1>; <comando2>; <comando3>; }while(<condição>); <comando4>;//comando executado após o do-while Funcionamento do do-while 1 Executa os comandos dentro do bloco do-while; 2 Testa a condição; 3 Se a condição for falsa então: Passa a executar os comandos após o bloco do do-while 4 Se a condição for verdadeira então: volta ao passo 1 Comandos de Repetição: do-while x while Os comandos de repetição while e do-while possuem estruturas semelhantes No while a condição de continuação é testada no princípio do laço antes do corpo ser executado O do/while testa a condição de continuação do laço depois do laço ser executado Assim, no do/while sempre o laço será executado pelo menos 1 vez Exemplo 1 Encontrar a primeira potência de 2 maior do que 1000 utilizando while main( ){ int produto = 2; while(produto <= 1000){ produto = 2 * produto; } } Exemplo 1 Fluxograma do programa Exemplo 2 Encontrar a primeira potência de 2 maior do que 1000 utilizando do-while main( ){ int produto = 1; do{ produto = 2 * produto; }while(produto <= 1000); } Exemplo 2 Fluxograma do programa Exemplo 3 Fazer um programa parecido com o da aula anterior, porém agora utilizando do-while Problema: Faça um programa que leia as notas dos alunos de uma turma em um teste e 1 Calcula e imprime a soma de todas as notas; 2 Calcula e imprime a média da turma no teste. Exemplo 3 main( ){ int numAlunos = 0; float nota, media, total; total = 0; do{ cout<<“Insira uma nota ou -1 para sair: ”; cin>>nota; if(nota >= 0){ total += nota; //o mesmo que: total = total + nota; numAlunos++; //o mesmo que: numAlunos = numAlunos + 1; } }while(nota != -1); Exemplo 3 if(numAlunos > 0){ media = total/numAlunos; cout<<“A soma das notas e: ”<<total<<endl; cout<<“A media das notas e: ”<<media<<endl; } else cout<<“Nenhuma nota lida”<<endl; system(“pause”); } Comandos de Repetição: for Trata todos os detalhes da repetição controlada por contador A forma geral do comando for é: for(inicialização; condição; incremento/decremento) <comando1>; //comando que é repetido <comando2>;//comando executado após o for Comandos de Repetição: for for(inicialização; condição; incremento/decremento) <comando1>; //comando que é repetido inicialização é executada: Visa, geralmente, a declaração e/ou inicialização do valor da variável contadora; condição é verificada: Se é verdadeira, a repetição continua, senão a repetição é encerrada e o comando interno não é mais executado; incremento/decremento é executado: Altera o valor do contador; Exemplo 4 Problema: Imprimir todos os valores inteiros no intervalo [1, 10] main( ){ for( int counter = 1; counter <= 10; counter++ ) cout << counter << endl; system(“pause”); } Exemplo 4 Fluxograma do programa Exemplo 5 Problema: Dado um número inserido por teclado responder se ele é primo main( ){ int num, cont = 0; cout<<“Insere numero: ”; cin>>num; for (int i = 1; i <= num; i++) if(num % i == 0) cont++; if(cont <= 2) cout<<”Numero primo”<<endl; system(“pause”); }
Compartilhar