Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estruturas de Repetição Prof. Marcus Silva marcus.pantoja@estacio.br 26/10/2015 1 Prof. MSc. Marcus Silva 26/10/2015 2 Prof. MSc. Marcus Silva Estrutura de Repetição • Existem situações em que processar um valor ou uma instrução uma única vez não satisfaz um problema, temos que trabalhar com a mesma informação várias vezes, no mesmo algoritmo. •Uma estrutura de repetição é utilizada quando um trecho de algoritmo, precisa ser repetido. • A primeira estrutura de repetição que iremos abordar é a estrutura PARA (for). • Esta estrutura é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido. 26/10/2015 3 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) • Essa estrutura de repetição é usada quando se sabe o números de vezes em que um trecho do algoritmo deve ser repetido. •Ele deverá ter uma variável de controle, um valor inicial, um valor final e o valor do incremento – o passo – que essa variável receberá para sair do valor inicial até atingir o valor final. 26/10/2015 4 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Sintaxe Pseudo-Código PARA <variável> DE <valor inicial> ATÉ <valor limite> PASSO <incremento> FAÇA <comandos> FIM PARA 26/10/2015 5 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Exemplos 1) Faça um algoritmo que imprima os números de 1 até 10. 2) Faça um algoritmo que imprima os números de 2 até 20, de 2 em 2. 26/10/2015 6 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Pseudo-Código para Exemplo 1 Algoritmo DECLARE incremento NUMÉRICO PARA incremento de 1 até 10 passo 1 FAÇA ESCREVA incremento FIM FIM 26/10/2015 7 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Algoritmo implementado em C++ 26/10/2015 8 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Pseudo-Código para Exemplo 1 Algoritmo DECLARE incremento NUMÉRICO PARA incremento de 1 até 20 passo 2 FAÇA ESCREVA incremento FIM FIM 26/10/2015 9 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Algoritmo implementado em C++ 26/10/2015 10 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Acumuladores • Existem duas instruções comumente utilizadas nos comandos internos das estruturas de repetição denominadas acumuladores e contadores • Os acumuladores devem ser utilizados quando a realização de um cálculo precisa de valores obtidos a cada iteração. • O acumulador deve ser inicializado com um valor neutro para a operação em que será utilizado. Por exemplo, ser for utilizado em uma adição deve ser inicializado com zero, se for usado em uma multiplicação deve ser inicializado com 1. 26/10/2015 11 Prof. MSc. Marcus Silva Estrutura de Repetição Exemplo • Faça um programa que utiliza a estrutura de repetição for para realizar a soma dos número de 1 até 100. 26/10/2015 12 Prof. MSc. Marcus Silva Estrutura de Repetição Exemplo • Faça um programa que utiliza a estrutura de repetição for para calcular o fatorial de um número fornecido. Ex: Fatorial de 4 é 1x2x3x4 = 24 26/10/2015 13 Prof. MSc. Marcus Silva Estrutura de Repetição Exemplo 26/10/2015 14 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Exercícios 1) Faça um algoritmo que imprima os número de 10 até 1. 2) Faça um algoritmo que imprima todos os divisores de um dado número. 3) Faça um algoritmo que imprima todos os números de 1 até 100 e a soma deles. 4) Faça um algoritmo que imprima uma tabela de conversão de polegadas para centímetros. Deseja- se que na tabela conste valores de 1 polegada até 20 polegadas. Dado que 1 polegada = 2,54 cm. 26/10/2015 15 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Exercícios 5) Faça um programa que receba o número de vezes que se deseja imprimir a palavra ALGORITMO e imprimir. 6) Faça um programa que leia um nome e imprime tantas vezes quantos forem seus caracteres. Utilize a função length(). 7) Faça um algoritmo que receba o tamanho de um quadrado formado pelo caractere * e desenhe. Exemplo: n = 3; *** *** *** 26/10/2015 16 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Exercícios (BD) 1) Muitas séries matemáticas podem ser geradas com a estrutura do para/ for. Analise o código abaixo, supondo que você digitou 1 e 2 quando lhe foram solicitados dois números e selecione a opção que contém a série exibida pelo código. 26/10/2015 17 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) 26/10/2015 18 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) a) 1 2 1 3 2 5 3 8 b) 1 4 2 5 3 6 4 7 c) 1 4 3 -1 -4 -5 -9 -14 d) 1 2 3 1 4 3 7 4 e) 1 2 3 5 2 7 5 -2 26/10/2015 19 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) 2) Um aluno de Lógica de Programação após estudar a estrutura de repetição for resolveu fazer algumas experiências para tentar repetir um bloco dez vezes. Abaixo podemos ver os cinco trechos testados por ele. 26/10/2015 20 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Assinale a opção que apresenta aqueles que repetiram dez vezes. a) II e V b) I, II e VI c) II, III e IV d) I, IV e V e) I e IV 26/10/2015 21 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) 3) Crie um algoritmo que receba um número inteiro diferente de zero, e calcule o fatorial deste número. Ex: 3! (fatorial de 3 é igual a: 1x2x3 = 6) 4) Considere o trecho de código a seguir e indique o que será exibido ao término da execução. int x=1; int y=5; for (int i = y; i >0 ;i--) x = x * i; cout << "x= " << x; 26/10/2015 22 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) 5) Um número primo é aquele que é divisível apenas por um ou por ele mesmo. Implemente um programa em C++ que leia um número inteiro, verifique e informe se o valor lido representa um número primo. 6) Implemente um programa em C++ que receba o primeiro termo e a razão de uma P.A. e liste seus 30 primeiros termos, lembrando-se que um termo de uma P.A é gerado pela soma do termo anterior com a razão. 26/10/2015 23 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) 7) Considere: 26/10/2015 24 Prof. MSc. Marcus Silva Estrutura de Repetição Para (for) Dado o algoritmo representado na forma de português estruturado, o valor de saída contido na variável RESP é: a) 342 b) 6 c) 22 d) 86 e) 0 26/10/2015 25 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto •Sintaxe Pseudo-Código Enquanto <condição> faça comando 1; comando 2; ... Fim enquanto 26/10/2015 26 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto Esta estrutura é utilizada quando não se sabe o número de vezes em que um trecho do algoritmo deve ser repetido. Essa estrutura utiliza o teste de uma condição lógica para determinar quando deve parar de repetir, desta forma, ela não depende do conhecimento de quantas repetições ocorrerão e sim de uma condição que irá determinar a sua parada. 26/10/2015 27 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto FluxogramaCondição Comando fora do processo repetitivo Comando a ser repetido V F Laço, malha ou loop 26/10/2015 28 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto Exemplo Faça um algoritmo que imprima todos os divisores de um número inteiro positivo. Para o número n dado, o algoritmo deve verificar se cada número de 1 até n é ou não um divisor de n. 26/10/2015 29 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto Pseudo-Código Algoritmo Divisores de um número DECLARE numero, divisor, resto NUMÉRICO LEIA numero divisor <- 1 ENQUANTO (divisor <= numero) FAÇA resto <- numero MOD divisor SE (resto == 0) ENTÃO ESCREVA “Divisor encontrado” ESCREVA divisor FIM SE divisor <- divisor +1 FIM FIM 26/10/2015 30 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto (while) Algoritmo implementado em C++ 26/10/2015 31 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto (while) Exemplo Faça um algoritmo que imprima os n primeiros números ímpares. O número n deve ser informado pelo usuário. Os número ímpares tem a forma geral 2k + 1, deste modo podemos construir um algoritmo que utilize essa propriedade para imprimir os n primeiro números ímpares. 26/10/2015 32 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto (while) Pseudo-Código Algoritmo Números Ímpares DECLARE numero, impar NUMÉRICO LEIA numero impar <- 1 ENQUANTO (numero > 0) FAÇA Escreva impar impar <- impar + 2 n <- n -1 FIM FIM 26/10/2015 33 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto (while) Algoritmo implementado em C++ 26/10/2015 34 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto (while) Exercícios 1) Entrar com vários números positivos e imprimir a média dos produtos digitados. Quando algum número negativo for digitado, o programa deve exibir a média e terminar. 2) Criar um algoritmo que leia 10 números positivos e imprima a raiz quadrada de cada um deles. Para cada entrada de dados deve haver um trecho de proteção para que um número negativo não seja aceito. (Você deveria incluir a biblioteca “math.h”, ou seja, #include<math.h> e utilizar a função “sqrt”. 3) Escreva um programa que pergunte ao usuário quantos alunos tem na sua sala. Em seguida, através de um laço while, pede ao usuário para que entre com as notas de todos os alunos da sala, um por vez. Por fim, o programa deve mostrar a média aritmética da turma. 26/10/2015 35 Prof. MSc. Marcus Silva Estrutura de Repetição Enquanto (while) Exercícios 4) Uma empresa de fornecimento de energia elétrica faz a leitura mensal dos medidores de consumo. Para cada consumidor, são digitados os seguintes dados: • Número do consumidor • Quantidade de kWh consumidos durante o mês • Tipo (código do consumidor) 1. Residencial, preço em reais por kWh = 0,35 2. Comercial, preço em reais por kWh = 0,60 3. Industrial, preço em reais por kWh = 0,80 Os dados devem ser lidos até que seja encontrado um consumidor com número 0 (zero). Calcular e imprimir: • O custo total para cada consumidor • O total de consumo para os três tipos de consumidor • A média de consumo dos tipos 1 e 2.
Compartilhar