Informática e Computação Aula 10 Estrutura de Repetição Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia Informática e Computação Estrutura de Repetição Aprender: •Como vincular a repetição de blocos à condições •Quando utilizar cada uma das estruturas disponíveis Informática e Computação Estrutura de Repetição Conteúdo: • Comando while • Comando do...while • Op. de incremento; formas simplificadas • Comando for Informática e Computação while Estrutura de Repetição • Executa sentenças (comandos) enquanto a condição for verdadeira. • Condição (expressão ou teste) é verificada antes do bloco de comandos. Sintaxe: início início; while (expressão) { comando 1; comando 2; ... } fim; expressão 1v Comandos fim 0 falso Informática e Computação Estrutura de Repetição Exemplo1 while MOSTRAR NA TELA OS NUMEROS DE 1 ATÉ 10 cab. etc.. inicio int numero = 1; while (numero <= 10) { cout << numero; numero = numero + 1; } fim início; while (expressão) { comando 1; comando 2; ... } fim; Resultado na tela: EXECUÇÃO 1 numero Sintaxe: 2 1 3 2 4 5 11 6 7 8 9 10 Informática e Computação Estrutura de Repetição Exemplo1 while MOSTRAR NA TELA OS NUMEROS DE 1 ATÉ 10 #include <iostream> using namespace std; main() { int NUMERO =1; while (NUMERO <=10) { cout<< NUMERO; NUMERO = NUMERO +1; } system ("PAUSE"); mostra numero.exe } Informática e Computação Estrutura de Repetição Exemplo2: while Calcular a soma dos números pares de 2 até 200 Solução: Iniciar o primeiro par = 2 e a soma= 0 Repetir enquanto o par <= 200 acumulamos o par na soma: soma = soma + par obtemos próximo par somando 2 ao par anterior par = par + 2 Informática e Computação Estrutura de Repetição Exemplo2: while Calcular a soma dos números pares de 2 até 200 #include <iostream > Sintaxe: using namespace std; Solução: main() início; Iniciar o primeiro par = 2 e a soma= 0 { while (expressão) { Repetir enquanto o par <= 200 int SOMA, PARES; acumulamos o par na soma: comando 1; soma = soma + par // inicialização das variáveis comando 2; obtemos próximo par som. 2 SOMA = 0; ... ao par anterior PARES = 2; par = par + 2 } while (PARES <= 200) fim; { SOMA = SOMA + PARES; // soma dos pares PARES = PARES + 2; // incremento para o próximo par } // mostra o valor acumulado na soma 2 cout << "A soma dos pares eh " << SOMA << ".“ << endl; PARES system (“PAUSE”); } somapares.exe SOMA 0 Informática e Computação Estrutura de Repetição Outro Exemplo // SOMA_PARES de um limite inferior até um limite superior #include <iostream> Sintaxe: using namespace std; início; PARES while (expressão) { main() comando 1; { SOMA 0 comando 2; int SOMA = 0, PARES, LIMSUP; ... cout << "digite o limite inferior e superior"<<endl; } cin >> PARES >> LIMSUP; fim; // enquanto (expressão ?) LIMSUP PRECISO DE LIMITE while (PARES <= LIMSUP) INFERIOR ?? NÃO! { POSSO USAR NO SOMA = SOMA + PARES; // soma dos pares INICIO EM PARES PARES = PARES + 2; // incremento para o próximo par } cout <<"A soma dos pares eh " << SOMA << "."<< endl; System (“PAUSE”); } somapares_limites.exe Informática e Computação Estrutura de Repetição do - while do-while Sintaxe: • Executa sentenças enquanto a condição for verdadeira. • Condição é verificada depois do bloco. início início; do { comando 1; comando 2; ... } while (expressão); fim; comandos 1 expressão 0 fim Tem o ; ponto e vírgula Informática e Computação Estrutura de Repetição Exemplo1 do-while MOSTRAR NA TELA OS NUMEROS DE 1 ATÉ 10 int numero = 1; do { cout << numero; numero = numero + 1; } while (numero <= 10); fim Resultado na tela: EXECUÇÃO numero 1 Inicio 1 11 2 3 4 5 6 7 8 9 10 Informática e Computação Estrutura de Repetição Exemplo2 do-while Código validação de dado de entrada: ex: nota de 0 a 10 float NOTA; cout<< "Digite uma nota: "<< endl; do { cin >> NOTA; } while ((NOTA < 0) || (NOTA > 10)); Se a nota digitada for ( menor que zero ou maior que 10) o programa não deve aceitar validacaonota.exe Informática e Computação Estrutura de Repetição Exemplo2 do-while Código validação de dado de entrada: ex: nota de 0 a 10 float NOTA; cout<< "Digite uma nota: "<< endl; Nota inválida o programa não aceita Mas podemos melhorar pedir que digite novamente do { cin >> NOTA; if ( (NOTA <0) || (NOTA> 10) ) cout<<"nota invalida, digite novamente"<<endl; } while ((NOTA < 0) || (NOTA > 10)); validacao_nota.exe Programação de Computadores – UCG Estrutura de Repetição Operadores de incremento: • Antes: • Agora: numero = numero + 1; ++numero; numero = numero - 1; - - numero; Informática e Computação Estrutura de Repetição Expressão Original Expressão Equivalente x=x+k x = x - k; x = x * k; x = x / k; x+ = k; x - = k; x * = k; x / = k; Informática e Computação Estrutura de Repetição Uma estrutura de repetição tem 4 componentes: 1. Inicialização int numero = 1; 2. Condição while (numero <= 10) { 3. Sentenças cout << numero; 4. Atualização numero = numero + 1; } Informática e Computação Estrutura de Repetição for • Executa sentenças (comandos) enquanto a condição (expressão ou teste) for verdadeira. • faz a inicialização o teste e atualização num início único comando início; for (inicialização; teste; atualização) Sintaxe: { comando 1; comando 2; ... } fim; inicialização 0 teste 1 comandos atualização fim Informática e Computação Estrutura de Repetição Exemplo1 for MOSTRAR NA TELA OS NUMEROS DE 1 ATÉ 10 inicio: int numero; for (numero=1 numero<=10; numero++ numero++) numero=1; numero<=10 { início; for (inicialização; teste; atualização) cout >> numero; { comando 1; } comando 2; ... } fim; EXECUÇÃO numero 1 11 Resultado na tela: 1 2 3 4 5 6 7 8 9 10 Estruturas de Repetição while do - while for