Buscar

ECT1103-Aula11-Estruturas_de_Repeticao_Condicional_sem_do_while

Prévia do material em texto

UFRN 
Escola de Ciências e Tecnologia 
Estruturas de Repetição 
ECT1103 – INFORMÁTICA FUNDAMENTAL 
2012.2 
• Manter o telefone celular sempre 
desligado/silencioso quando estiver em 
sala de aula; 
• Nunca atender o celular na sala de aula. 
Objetivo da Aula 
 
• Responder as seguintes perguntas: 
– Se eu quiser fazer uma determina instrução 10x eu preciso dar 
ctrlC/ctrlV 10x? e se elas não forem iguais e sim parecidas? 
– Se existe algo que facilite minha vida para resolver esse 
problema, como ele funciona? 
 
Exemplo de Programa 
Faça um algoritmo que dadas duas notas de um aluno, 
determine a média simples. 
Exemplo de Repetição 
Faça um algoritmo que dadas duas notas de 10 alunos, 
determine a média simples de cada um destes 10 alunos! 
 cout << "digite duas notas "<< endl; 
 cin >> N1; 
 cin >> N2; 
 media = (N1+N2)/2.0; 
 cout << "media =" << media << endl; 
 cout << "digite duas notas "<< endl; 
 cin >> N1; 
 cin >> N2; 
 media = (N1+N2)/2.0; 
 cout << "media =" << media << endl; 
Repetir o mesmo texto N vezes??????? 
... 
Estruturas de Repetição 
• São utilizadas para indicar que a execução de um bloco 
de instruções deve ocorrer mais de uma vez; 
• A repetição pode ser determinada por uma condição ou 
por uma contagem: 
– Repetição por condição: 
• A quantidade de repetições não é conhecida; 
• A condição é constantemente avaliada para saber se deve haver nova 
repetição. 
– Repetição por contagem: 
• A quantidade de repetições é previamente determinada; 
• Uma variável de controle pode ser utilizada para indicar a repetição 
atual. 
 
Estruturas de Repetição por Condição 
• Podem testar a condição antes ou após a realização de 
um conjunto de instruções: 
– Em ambos os casos, a condição pode ser definida com base em 
operadores relacionais e/ou lógicos. 
• sintaxe enquanto: 
 while (condição) { 
 comandos; 
 } 
Funcionamento dos laços enquanto (while) 
• while (condição verdadeira) { ... } 
– executa o bloco de comandos enquanto a condição for 
verdadeira 
– pode nem executar esse bloco de comandos se a condição for 
falsa inicialmente 
• Nos dois casos, somente finda a condição 
verdadeira é que as próximas instruções após o 
laço serão executadas 
Estruturas de Repetição por Condição 
• Exemplo: algoritmo para somar vários números informados 
pelo usuário até que ele digite o número 0 (zero). 
Estruturas de Repetição por Condição 
• Exemplo: algoritmo para somar vários números informados 
pelo usuário até que ele digite o número 0 (zero). 
Quando o bloco irá parar de 
repetir ? 
Exemplo usando Repetição 
 
while (true) { 
 
 
 
 
} 
// fim do programa 
 
float nota1,nota2,media; 
 
 
 cin >> nota1; 
 cin >> nota2; 
 media=(nota1+nota2)/2.0; 
 cout << media; 
 
 
Exemplo usando Repetição 
 
 
 
 
 
 
 
float nota1,nota2,media; 
int contador; 
contador = 0; 
while ( contador < 10 ) { 
 cin >> nota1; 
 cin >> nota2; 
 media=(nota1+nota2)/2.0; 
 cout << media; 
 
} // fim do laço 
 
Qual é o problema desta solução? 
Exemplo usando Repetição 
 
 
 
 
 
 
 
float nota1,nota2,media; 
int contador; 
contador = 0; 
while ( contador < 10 ) { 
 cin >> nota1; 
 cin >> nota2; 
 media=(nota1+nota2)/2.0; 
 cout << media; 
 
} // fim do laço 
 
Qual é o problema desta solução? 
contador = contador + 1; // faltou contar! 
Atividade 
(passando do rascunho no papel ou pseudo código para C++) 
Escreva um algoritmo que imprima na tela a soma dos 5 
primeiros números naturais. 
Atividade 
(passando do rascunho no papel ou pseudo código para C++) 
int soma, cont, N; 
 cin >> N; 
 soma = 0; 
 cont = 1; 
 while(cont <= N) { 
 soma = soma + cont; 
 cont = cont + 1; 
 } 
 cout << soma; 
Escreva um algoritmo que imprima na tela a soma dos 5 
primeiros números naturais. 
Atividade 
(passando do rascunho no papel ou pseudo código para C++) 
Escreva um algoritmo que imprima na tela a soma dos N 
primeiros números naturais. 
 
Atividade 
(passando do rascunho no papel ou pseudo código para C++) 
var soma, cont, n:inteiro 
inicio 
 soma <- 0 
 cont <- 0 
 leia(n) 
 enquanto (cont < n) faca 
 soma <- soma + cont 
 cont <- cont + 1 
 fimenquanto 
 escreva (soma) 
fimalgoritmo 
Escreva um algoritmo que imprima na tela a soma dos N 
primeiros números naturais. 
Atividade 
Faça um algoritmo que leia uma lista de números 
inteiros. A leitura de dados terminará quando for 
inserido o número zero (flag). Pede-se a soma e a média 
de todos os números lidos (excluindo o zero). 
Solução 
Atividade 
Faça um algoritmo que dadas três notas de N alunos, 
determine a média e imprima o conceito Aprovado ou 
Reprovado de cada aluno. 
Solução 
Identação: 
seja num if ou num while coloque 
o seu bloco de comandos 4 
espaços para dentro ou, melhor 
ainda, use a tecla TAB 
Dica Excelente: sempre que abrir 
chaves dê um enter e feche estas 
chaves imediatamente. 
Posteriormente, coloque o cursor 
após a abertura da chave e dê 
enter. Já fica tudo identado 
automaticamente! 
A maioria dos alunos se perde ao 
escrever programas não 
identados e ao tentar construir ou 
compilar somente ao final 
Atividade 
• Escreva um algoritmo para calcular o fatorial de N. 
– Lembrando que 5! = 5*4*3*2*1 = 120. 
Solução Usando o Enquanto (while) 
Atividade 
• Faça um programa que receba vários números, calcule e 
mostre: 
– A soma dos números digitados; 
– A quantidade de números digitados; 
• Finalize a entrada de dados com a digitação do número 
30000. 
Atividade 
• Suponha que no ano N a população americana seja maior 
que a brasileira. Sabendo-se que os Estados Unidos 
possuem um crescimento anual de 2% na sua população 
e que o Brasil tem crescimento anual de 4%, determinar o 
ano em que a população brasileira será maior ou igual a 
americana (em quantidade). São dados os números de 
habitantes dos Estados Unidos e do Brasil no ano N. 
Solução 
Atividade 
• Faça um programa que receba vários números, calcule e 
mostre: 
– A média dos números digitados; 
– O maior número digitado; 
• Finalize a entrada de dados com a digitação do número 
30000. 
Atividade 
• Faça um programa que receba vários números, calcule e 
mostre: 
– A média dos números pares; 
• Finalize a entrada de dados com a digitação do número 
30000. 
Atividade 
• Faça um programa que receba vários números, calcule e 
mostre: 
– A percentagem dos números ímpares entre todos os números 
digitados. 
• Finalize a entrada de dados com a digitação do número 
30000. 
Atividade 
• Uma empresa decidiu fazer um levantamento em relação 
aos candidatos que se apresentarem para preenchimento 
de vagas em seu quadro de funcionários. Faça um 
programa que leia, para cada candidato, a idade, o sexo 
(M ou F) e a experiência no serviço (S ou N). Para 
encerrar a entrada de dados, digite zero para a idade. O 
programa deve também calcular e mostrar: 
– O número de candidatos de cada sexo; 
– A idade média dos homens que já têm experiência no serviço; 
– A percentagem dos homens com mais de 45 anos entre o total 
de homens; 
– A menor idade entre as mulheres que já têm experiência no 
serviço. 
Site 
• http://www.ect.ufrn.br/modulo/ect1103/

Continue navegando