Upload
lyngoc
View
241
Download
0
Embed Size (px)
Citation preview
Algoritmos I Aula 10 – Estrutura de controle:
repetição
Professor: Max Pereira
http://paginas.unisul.br/max.pereira
Ciência da Computação
Estrutura de repetição
• São comuns as situações nas quais precisamos repetir determinadas ações enquanto não atingimos um objetivo.
• No desenvolvimento de algoritmos nos deparamos com situações nas quais precisamos repetir um conjunto de instruções até que uma determinada condição ocorra.
• Nessas situações, utilizamos os comandos de repetição, também conhecidos como laços ou loops.
Estrutura de repetição
• Repetição com teste no início
– Consiste em uma estrutura de controle do fluxo de execução que permite repetir diversas vezes um mesmo trecho do algoritmo, porém, sempre verificando antes de cada execução se é “permitido” executar o mesmo trecho.
– Para isso utilizamos a estrutura enquanto, que permite que um trecho seja repetido enquanto uma determinada condição for verdadeira.
Estrutura de repetição
• Repete uma sequência de comandos enquanto uma determinada condição (expressão lógica) for satisfeita.
• Quando o resultado da condição for falso, o comando de repetição é abandonado. Se já da primeira vez o resultado é falso, os comandos não são executados nenhuma vez.
enquanto <expressão-lógica> faca
<sequência de comandos>
fimenquanto
Estrutura de repetição Exemplo
algoritmo "Estrutura enquanto"
var
contador : inteiro
inicio
contador <- 1
enquanto contador <= 10 faca
escreva(contador)
contador <- contador + 1
fimenquanto
fimalgoritmo
Estrutura de repetição Exemplo
var
numero, resto : inteiro
inicio
numero <- 1
enquanto numero<>0 faca
escreva("Insira um número: ")
leia(numero)
resto <- numero%2
se resto = 0 entao
escreval("Par")
senao
escreval("Impar")
fimse
fimenquanto
fimalgoritmo
Estrutura de repetição
• Repetição com teste no final – Para realizar a repetição com teste no final utilizamos a
estrutura repita, que permite que um trecho seja repetido até que uma determinada condição seja verdadeira.
– A sequencia de comandos é executada pelo menos uma vez, independentemente da validade da condição.
repita
<sequencia de comandos>
ate <expressão-lógica>
Estrutura de repetição Exemplo
algoritmo "Estrutura repetição"
var
contador : inteiro
inicio
contador <- 1
repita
escreva(contador)
contador <- contador + 1
ate contador > 10
fimalgoritmo
Estrutura de repetição Exemplo
var
total, nota : real
contador : inteiro
inicio
repita
escreva("Informe a Nota: ")
leia(nota)
se nota <> 0 entao
total <- total + nota
contador <- contador + 1
fimse
ate nota = 0
escreva("Media: ", total/contador:2:2)
Estrutura de repetição
• Repetição com número conhecido de vezes.
– A estrutura de repetição para...faça é utilizada quando um determinado trecho do algoritmo deve ser repetido um número fixo conhecido de vezes
para <variável> de <valor inicial> ate <valor-limite> faca
<sequencia de comandos>
fimpara
Estrutura de repetição Exemplo
algoritmo "Estrutura de repetição"
var
contador : inteiro
inicio
para contador de 1 ate 10 faca
escreva(contador)
fimpara
fimalgoritmo
Estrutura de repetição Exemplo
var
alunos : inteiro
nota1, nota2, media : real
inicio
para alunos de 1 ate 5 faca
escreva("Insira a nota 1: ")
leia(nota1)
escreva("Insira a nota 2: ")
leia(nota2)
media <- (nota1 + nota2)/2
escreval("Média: ", media)
fimpara
fimalgoritmo
Estrutura de repetição
enquanto...faça repita...ate para...faça
var
c : inteiro
inicio
c <- 1
enquanto c <= 10 faca
escreva(c)
c <- c + 1
fimenquanto
fimalgoritmo
var
c : inteiro
inicio
c <- 1
repita
escreva(c)
c <- c + 1
ate c > 10
fimalgoritmo
var
c : inteiro
inicio
para c de 1 ate 10 faca
escreva(c)
fimpara
fimalgoritmo
Exercícios
• Escreva um programa para ler um número de 1 a 10 e calcular a sua respectiva tabuada. Imprima na tela os valores calculados.
• Escreva um programa para ler o valor de n números. Quando o valor for zero, imprima os valores do maior e menor.
• Escreva um programa para simular o processo de escolha das bolas azuis e vermelhas, nas suas respectivas caixas.
Exercícios
• Um exemplo clássico de algoritmo foi criado, entre 400 e 300 d.C. pelo matemático grego Euclides, para encontrar o máximo divisor comum entre dois inteiros positivos. Cálculo do máximo divisor comum (mdc) de dois números inteiros positivos a e b. 1. x = a e y = b
2. r = resto da divisão x / y
3. x = y e y = r
4. Se o valor r é nulo então mdc = x senão retorne ao passo 2.
Exercícios
• Escreva um programa para imprimir na tela um retângulo com 15 linhas e 60 colunas. A aparência do retângulo deve ser parecida com a figura abaixo. Preencha o retângulo com o caractere “+”.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + + + + + + + + + + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++