Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Aula nº 07 - Estruturas de Repetição * Estruturas de Controle Aula nº 07 Estrutura de repetição: while Aula nº 07 - Estruturas de Repetição * /17 Objetivos Entender as Técnicas Básicas de soluções de problemas; Ser capaz de desenvolver algoritmos usando refinamento top-down; Ser capaz de usar a estrutura de repetição while; Aula nº 07 - Estruturas de Repetição * /17 Estrutura de repetição while Uma estrutura de repetição permite que o programador indique que uma ação deve ser repetida enquanto alguma condição for verdadeira Enquanto houver itens na lista de compras Comprar próximo item e excluí-lo da lista Aula nº 07 - Estruturas de Repetição * /17 Enquanto houver itens na lista de compras Comprar próximo item e excluí-lo da lista Arroz Feijão Sabão em pó Maçã Banana Biscoito Aula nº 07 - Estruturas de Repetição * /17 Enquanto houver itens na lista de compras Comprar próximo item e excluí-lo da lista Arroz Feijão Sabão em pó Maçã Banana Biscoito Aula nº 07 - Estruturas de Repetição * /17 Exemplo: Considere achar a primeira potência de 2 maior do que 1000. 20 = 1 21 = 2 22 = 4 ... até quando? 20 = 1 F F F 1 > 1000 ? 21 = 2 2 > 1000 ? 22 = 4 4 > 1000 ? 210 = 1024 1024 > 1000 ? ... V Fim do processo !! Aula nº 07 - Estruturas de Repetição * /17 Exemplo: Considere achar a primeira potência de 2 maior do que 1000. 20 = 1 F F F 1 > 1000 ? 21 = 2 2 > 1000 ? 22 = 4 4 > 1000 ? 210 = 1024 1024 > 1000 ? ... V Calcule a primeira potência de 2 (20) Enquanto (potência <= 1000) calcule a próxima potencia de 2; Aula nº 07 - Estruturas de Repetição * /17 Exemplo: Considere achar a primeira potência de 2 maior do que 1000. Faça n=0; Faça potencia=2n ; Enquanto (potência <= 1000) Adicione 1 a n; Faça potencia = 2n Aula nº 07 - Estruturas de Repetição * /17 Em C++ #include <iostream> using namespace std; int main() { int potencia = 2; while (potencia <= 1000) potencia = 2 * potencia; return 0; } Aula nº 07 - Estruturas de Repetição * /17 while (cont) int potencia = 2; while (potencia <= 1000) potencia = 2 * potencia; potencia<=1000 potencia = 2*potencia true false Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1 Uma turma de dez estudantes resolve um teste. As notas (inteiros no intervalo de 1 a 100) alcançadas estão disponíveis para você. Determine a média das notas da turma. A média é aritmética Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1 Vamos usar uma repetição controlada por contador para fornecer as entradas (notas), uma de cada vez; Vamos usar um total para ir acumulando a soma das notas; Vamos guardar a nota média em media. Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1 refinamento top-down Inicializar as variáveis Receber os dados de entrada, somar e contar as notas Calcular e imprimir a média da turma Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1 refinamento top-down (cont) Inicializar as variáveis Inicializar total com zero Inicializar contador com zero Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1 refinamento top-down (cont) Receber os dados de entrada, somar e contar as notas Enquanto o contador for menor que 10 Receba como entrada a próxima nota Some a nota ao total Some um ao contador de notas Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1 refinamento top-down (cont) Calcular e imprimir a média da turma Atribua à média o total dividido por 10 Imprima a média Aula nº 07 - Estruturas de Repetição * /17 Estudo de caso 1(cont) Repetição controlada por contador Inicializar total com zero; Inicializar contador com zero; Enquanto o contador for menor que 10; Receba como entrada a próxima nota; Some a nota ao total; Some um ao contador de notas; Atribua à média o total dividido por 10; Imprima a média; Aula nº 07 - Estruturas de Repetição * /17 Exercícios Fazer programas em C++ para: Calcular a soma dos 100 primeiros números naturais. Calcular a média aritmética dos 100 primeiros nº naturais. Imprimir o menor inteiro positivo x cujo quadrado é superior a um valor L dado. * * * * * * * * * * * * * * * * * *