Baixe o app para aproveitar ainda mais
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/
Compartilhar