Buscar

Aula_07 - Estruturas de Controle (while)

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.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando