Algoritmos e Programação Thyago Maia Tavares de Farias Aula 7 Sumário Estruturas de Repetição; Repita...ate; Estruturas de Repetição Até o momento, quando existe a necessidade de repetir uma (ou mais) instruções, a única saída é repetir o(s) comando(s); Tal solução é ineficiente considerando que quanto maior o número de repetições maior será o número de instruções; Ex.: Escrever um algoritmo que exiba na tela a frase “Sport campeão de 87” 300 vezes; Solução: Utilizar estruturas de repetição; Estruturas de Repetição Saõ estruturas sintáticas que permitem que um trecho de algoritmo (lista de comandos) seja repetido em um determinado número de vezes; Em Portugol, temos três estruturas de repetição: repita...ate, enquanto...faca e para...faca; Repita...ate Nesta estrutura, todas as instruções são executadas e uma expressão lógica é avaliada; Isto se repete até que a avaliação da condição resulte em FALSO; Cada repetição da lista de instruções contidas na estrutura é chamada de iteração; A estrutura Repita...ate também é conhecida como laço de repetição; Repita...ate Utilizamos as palavras reservadas repita e ate para formar o laço de repetição; Forma geral: repita // Lista de instruções ate expressão lógica Repita...ate Exemplo - Algoritmo que escreve os números de 1 a 10: algoritmo “Mostra10” var numero: inteiro inicio numero <- 1 repita escreva(numero) numero <- numero + 1 // contador ate numero > 10 fimalgoritmo Repita...ate Exemplo 2 - Algoritmo que escreve os números PARES entre 1 e 10: algoritmo “Mostra10” var numero: inteiro inicio numero <- 1 repita se (numero % 2 = 0) entao escreva(numero) fimse numero <- numero + 1 // contador ate numero > 10 fimalgoritmo Repita...ate Atenção: Cuidado com laços infinitos! Devemos nos certificar que em algum momento a expressão lógica próxima a palavra reservada ate será FALSA! Repita...ate Exemplo 3 – Algoritmo com um laço infinito: algoritmo “lacoInfinito” var contador: inteiro inicio repita contador <- 1 escreva(contador) contador <- contador + 1 ate contador = 10 fimalgoritmo Repita...ate Exemplo 4 – Algoritmo com um menu: algoritmo “menu” var opcao: inteiro inicio repita escreval(“Cadastro de Clientes”) escreval(“1 - Incluir”) escreval(“2 - Alterar”) escreval(“3 - Consultar”) escreval(“4 - Excluir”) escreval(“5 - Sair”) leia(opcao) ate opcao = 5 fimalgoritmo Exercícios Escreva um algoritmo que some os números entre 1 e 10, escrevendo o resultado final; Faça um algoritmo que repita 10 vezes a seguinte frase: A CBF é uma vergonha! Faça um algoritmo que lê número inteiros até que um número negativo seja digitado; Faça um algoritmo que lê a idade de 15 pessoas e mostre a quantidade de pessoas que possui a idade entre 0 e 12 anos;