Prévia do material em texto
<p>Prof.ª Me Elda Nunes de Carvalho</p><p>elda.carvalho@uninorte.com.br</p><p>LÓGICA DE PROGRAMAÇÃO ALGORITMICA</p><p>Aula: ESTRUTURA DE REPETIÇÃO</p><p>Conteúdo Programático</p><p>2</p><p>ESTRUTURA DE REPETIÇÃO</p><p>1. Estrutura de repetição com teste no inicio – enquanto</p><p>2. Estrutura de repetição com teste no final e variável</p><p>de controle – repita ... Até</p><p>3. Conceitos de contadores e acumuladores.</p><p>4. Estrutura de repetição por contagem - para</p><p>Objetivos de Aprendizagem</p><p>3</p><p>1.Identificar os princípios básicos das formas de</p><p>construção de algoritmos usando laço de repetição.</p><p>2. Desenvolver algoritmos com estruturas de repetição.</p><p>Linguagem Estruturada</p><p> É uma forma de Programação de Computadores que</p><p>recomenda que todos os programas possíveis podem ser</p><p>reduzidos a apenas três estruturas.</p><p> Sequência</p><p> Decisão</p><p> Iteração</p><p>Linguagem Estruturada ...</p><p>5</p><p>1. Estrutura Sequencial</p><p>Linguagem Estruturada ....</p><p>6</p><p>Estrutura de Seleção</p><p>Linguagem Estruturada ....</p><p>7</p><p>Estrutura de Seleção</p><p>Linguagem Estruturada ....</p><p>8</p><p>Estrutura de Repetição</p><p>• Permitem que uma sequência de comandos seja</p><p>executada repetidamente, até que determinada</p><p>condição de interrupção seja satisfeita.</p><p>• São também conhecidas como laços ou malhas.</p><p>• Cada repetição do conjunto de comandos é chamada</p><p>iteração.</p><p>Estruturas de Repetição</p><p>9</p><p>Estrutura de Repetição</p><p>• A repetição de comandos em um laço pode seguir um</p><p>dos diferentes critérios:</p><p>• Por Condição (Verificação no início)</p><p>• Por Condição (Verificação no fim)</p><p>• Por Contagem</p><p>Teste no inicio</p><p>10</p><p>Verificação no Início</p><p>• Verifica primeiro, executa depois;</p><p>• Repete somente enquanto <condição> = verdade;</p><p>Estruturas de Repetição</p><p>11</p><p>Comando enquanto ... faca</p><p>Exemplo:</p><p>• Faça um programa que mostra na tela os números de 1 a 100.</p><p>• A solução acima é inviável para valores grandes. Precisamos de</p><p>algo mais eficiente e inteligente.</p><p>Teste no inicio</p><p>12</p><p>Exemplo:</p><p>• Conta de 1 até 10.</p><p>Estruturas de Repetição</p><p>13</p><p>Comando enquanto ... faca</p><p>Exemplo:</p><p>Teste no final</p><p>14</p><p>Verificação no Fim</p><p>• Executa primeiro, verifica depois:</p><p>• Repete somente enquanto: <condição> = falso;</p><p>Teste no final</p><p>15</p><p>Exemplo:</p><p>• Conta de 1 até 10.</p><p>Teste no final</p><p>16</p><p>Exemplo:</p><p>Estruturas de Repetição</p><p>17</p><p>Verificação no Fim X Verificação Início</p><p>• Verificação no início</p><p>• Condição é verificada</p><p>antes do conjunto de</p><p>instrução.</p><p>• Verificação no fim</p><p>• O conjunto de instruções</p><p>será executado pelo menos</p><p>uma vez.</p><p>• Condição é verificada depois</p><p>do conjunto de instruções</p><p>Estruturas de Repetição</p><p>18</p><p>Verificação no Fim X Verificação Início</p><p>Estruturas de Repetição</p><p>19</p><p>Estrutura de Repetição :: Exemplo</p><p>• Faça um programa para ler 5 números e mostrar o</p><p>resultado da soma desses números.</p><p>Acumuladores e Contadores 20</p><p>Acumuladores e contadores</p><p>• Contagens, somas e multiplicações acumulativas:</p><p>• São utilizadas com frequência em algoritmos;</p><p>• Geralmente associadas à repetições;</p><p>• São representadas por variáveis numéricas;</p><p>• E são incrementadas/alteradas conforme padrões</p><p>recorrentes ocorrem.</p><p>Acumuladores e Contadores</p><p>21</p><p>Acumuladores e contadores</p><p>• Contagem:</p><p>• É usada para, por exemplo:</p><p>• contabilizar o número de execuções de uma repetição;</p><p>• determinar o número de vezes que um particular valor</p><p>(ou ação) ocorre em uma determinada sequência;</p><p>• entre outros;</p><p>• A variável associada geralmente inicia no valor zero</p><p>(elemento neutro da soma);</p><p>• Sempre que conveniente, acrescenta-se 1 ao contador.</p><p>Acumuladores e Contadores</p><p>22</p><p>Acumuladores e contadores</p><p>• Somas ou Produtos Acumulativos:</p><p>• São frequentes em cálculos de somatórios, produtos ou</p><p>consolidações de resultados (totais, médias, ...);</p><p>• Somatório:</p><p>• Geralmente são inicializadas no valor zero (elemento neutro da</p><p>soma);</p><p>• Sempre que apropriado, soma-se outros valores à própria variável;</p><p>• Produtos:</p><p>• São inicializadas usualmente com o valor um (elemento neutro da</p><p>multiplicação);</p><p>• Sempre quando necessário, são atualizadas com o resultado do</p><p>seu valor corrente multiplicado por um novo termo.</p><p>Acumuladores e Contadores</p><p>23</p><p>Exemplos:</p><p>• Exibir a tabuada de um número:</p><p>Acumuladores e Contadores</p><p>24</p><p>Exemplos:</p><p>• Capturar números inteiros do usuário até que ele digite 0 (zero);</p><p>• Informar a soma dos números e a média;</p><p>Estruturas de Repetição</p><p>25</p><p>Estrutura de repetição por contagem</p><p>• Repetição condicionada a uma contagem:</p><p>.</p><p>• O comando for cria um laço de repetição no fluxo do programa</p><p>baseado em três parâmetros:</p><p>• expressão inicial: Onde é executado apenas uma vez, na</p><p>entrada do laço.</p><p>• condição: É executado a cada iteração do laço e determina</p><p>quando o programa deve sair do mesmo. Caso a condição seja</p><p>verdadeira, repete-se os do laço uma vez, caso seja falsa, o</p><p>programa pula para a próxima instrução seguinte ao laço.</p><p>• incremento: É uma operação normal, executada a cada</p><p>iteração. Geralmente é usada para incrementar contadores ou</p><p>configurar variáveis.</p><p>Estruturas de Repetição</p><p>26</p><p>Estrutura de repetição: para ... faca</p><p>.</p><p>Contagem</p><p>27</p><p>Comando para ... faca</p><p>.</p><p>Exemplo: Imprimir de 1 até 19 de 2 em 2:</p><p>Estruturas de Repetição</p><p>28</p><p>Comando para ... faca</p><p>.</p><p>Exemplo: Somar 1+2+3+...+9+10. E ao final imprimir a</p><p>soma.</p><p>Estruturas de Repetição</p><p>29</p><p>Comando para ... faca</p><p>.</p><p>• Exemplo: Multiplicar dois números apenas com somas:</p><p>Estruturas de Repetição</p><p>30</p><p>Estrutura de Repetição</p><p>Para exercitar ...</p><p>31</p><p>Exercícios</p><p>1. Faça um algoritmo que escreva na tela os números de um número</p><p>inicial a um número final. Os números inicial e final devem ser</p><p>informados pelo usuário;</p><p>2. Escrever um algoritmo que imprima a tabuada de um número</p><p>informado pelo usuário;</p><p>3. Escrever um algoritmo que gera e escreve os números ímpares entre</p><p>100 e 200;</p><p>4. Em uma turma há 10 alunos. Cada aluno tem 2 notas. Um professor</p><p>precisa calcular a média das duas notas de cada aluno. Crie um</p><p>programa que resolve este problema.</p><p>5. Escrever um programa de computador que leia 10 números inteiros</p><p>e, ao final, apresente a soma de todos os números lidos;</p><p>6. Faça o mesmo que antes, porém, ao invés de ler 10 números, o</p><p>programa deverá ler e somar números até que o valor digitado seja</p><p>zero ( 0 ).</p><p>Para exercitar ...</p><p>32</p><p>Exercícios</p><p>7. Escreva um algoritmo que calcule a média dos números</p><p>digitados pelo usuário, se eles forem pares. Termine a leitura</p><p>se o usuário digitar zero (0);</p><p>8. Escreva um algoritmo que leia valores inteiros e encontre o</p><p>maior e o menor deles. Termine a leitura se o usuário digitar</p><p>zero (0);</p><p>9. Escreva uma programa que lê o sexo de uma pessoa. O sexo</p><p>deverá ser com o tipo de dado caractere e o programa deverá</p><p>aceitar apenas os valores “M” ou “F”.</p><p>10. Escreva um programa que leia dois valores reais. Ambos</p><p>valores deverão ser lidos até que o usuário digite um número</p><p>no intervalo de 1 a 100. Apresentar a soma dos dois valores</p><p>lidos.</p><p>Para exercitar ...</p><p>33</p><p>Exercícios</p><p>11. Escreva um programa que lido um número, calcule e</p><p>informe o seu fatorial.</p><p>Ex.: 5! = 5 * 4 * 3 * 2 * 1 = 120.</p><p>12. Escreva um programa que leia um valor correspondente ao</p><p>número de jogadores de um time de vôlei. O programa deverá</p><p>ler uma altura para cada um dos jogadores e, ao final, informar</p><p>a altura média do time.</p><p>13. Em um concurso de miss Uninorte –MAO, os jurados precisam</p><p>digitar o nome das 16 candidatas e suas respectivas notas (0</p><p>a 10). Crie um programa que leia estas informações e que, ao</p><p>final do programa, apresente apenas o nome e a nota da</p><p>vencedora.</p><p>Para exercitar ...</p><p>34</p><p>Exercícios</p><p>14. Uma loja deseja fazer a avaliação com base na opinião de seus</p><p>clientes. Para isto, ela irá disponibilizar um computador que irá</p><p>perguntar a cada cliente a sua idade e a nota que ele avalia a</p><p>loja. Você deverá elaborar o programa de computador que</p><p>fará a leitura da opinião dos 100 primeiros clientes e deverá</p><p>informar os dados solicitados abaixo:</p><p>NOTAS INFORMAÇÕES</p><p>A. Ótimo</p><p>B. Bom</p><p>C. Regular</p><p>D. Ruim</p><p>E. Péssimo</p><p>1. A quantidade de respostas A (Ótimo);</p><p>2. A média de idade das pessoas que responderam D (Ruim);</p><p>3. A percentagem de respostas E (Péssimo) e a menor idade</p><p>de</p><p>quem informou esta resposta;</p><p>4. A maior idade de quem respondeu A (Ótimo) e a maior</p><p>idade de quem respondeu D (Ruim);</p><p>Para exercitar ...</p><p>35</p><p>Exercícios</p><p>13. Em um concurso de miss IFSC – Lages, os jurados precisam</p><p>digitar o nome das 16 candidatas e suas respectivas notas (0</p><p>a 10). Crie um programa que leia estas informações e que,</p><p>ao final do programa, apresente apenas o nome e a nota da</p><p>vencedora.</p><p>14. Uma loja deseja fazer a avaliação com base na opinião de seus</p><p>clientes. Para isto, ela irá disponibilizar um computador que irá</p><p>perguntar a cada cliente a sua idade e a nota que ele avalia a</p><p>loja. Você deverá elaborar o programa de computador que</p><p>fará a leitura da opinião dos 100 primeiros clientes e deverá</p><p>informar os dados solicitados abaixo:</p><p>36</p><p>BIBLIOGRAFIA BÁSICA</p><p>• FORBELLONE, André Luiz Villar. Lógica de programação - A</p><p>construção de algoritmos e estruturas de dados. 3ª Edição. São</p><p>Paulo – Prentice Hall, 2005.</p><p>• MANZANO, J. A. N. G; OLIVEIRA, J. F.; Algoritmos: Logica para</p><p>Desenvolvimento de Programação de Computadores. 2. ed. São</p><p>Paulo Erica, 2008.</p><p>• GUIMARÃES, A. M; LAGES, A. C.; Algoritmos e Estruturas de Dados.</p><p>Rio de Janeiro: LTC, 1994.</p><p>• LOPES, A.; GARCIA, G. Introdução a Programação: 500 Algoritmos</p><p>Resolvidos. São Paulo: Campus, 2002.</p><p>37</p><p>BIBLIOGRAFIA COMPLEMENTAR</p><p>• SALVETTI, D. D.; Algoritmos. 1998, 273p.</p><p>• DEITEL, M.H; DEITEL, P. J. C++ Como Programar. Porto Alegre:</p><p>Bookman, 2006.</p><p>• SOUZA, M.A.F.; GOMES, M.M.; SOARES, M.V. Algoritmos e Logica</p><p>de Programação. São Paulo: Pioneira Thomson Learning, 2008.</p><p>• VILARIM, G. O.; Algoritmos: Programação para Iniciantes. 2004,</p><p>270p.</p><p>• CHAPMAN, S.J. Matlab programming for engineers. 4th ed.</p><p>Toronto: Pioneira Thomson Learning, 2008.</p><p>Então é isso ...</p><p>38</p><p>O QUE HOUVER...</p>