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