Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Estruturas de repetição

Enquanto...faça / Repita...até
by

Gustavo Castello

on 27 January 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Estruturas de repetição

Teste condicional no início

algoritmo "Média com Enquanto"
var
nota1, nota2, media : real
contador : inteiro
inicio
enquanto contador < 5 faca

escreval ("Digite as notas do aluno ",contador,":")
escreval ("Primeira nota:")
leia (nota1)
escreval ("Segunda nota:")
leia (nota2)
media <- (nota1+nota2)/2
escreval ("O aluno ",contador," teve média igual a: ",media)
contador <- contador + 1

fimenquanto
fimalgoritmo
Perceba que...

É de extrema importância que você se lembre de incrementar o contador, antes de finalizar a estrutura.
Veja que antes do comando fimenquanto, temos a seguinte expressão:


contador <- contador + 1
Analizando
Diferença
Outra diferença importante entre os comandos PARA e ENQUANTO é que o comando ENQUANTO pode ser utilizado em situações que não podem ser resolvidas com variável de controle. São situações em que não se sabe previamente a quantidade de repetições da estrutura. Veja:
Veja que o algoritmo acima, utilizando o comando ENQUANTO, faz a mesma coisa que o algoritmo que vimos na aula anterior, com os comandos PARA...FAÇA.
No algoritmo da média, sabemos previamente a quantidade de repetições, que equivale ao número de alunos da turma. Por isso, esse algoritmo pode ser resolvido com qualquer uma das duas estruturas de repetição: o PARA ou o ENQUANTO.
É importante, porém, observar um detalhe.
Você sabe que o comando PARA define o valor de incremento do contador antes do início da execução. Essa definição não é feita na sintaxe do comando ENQUANTO.
Estruturas de repetição
enquanto... faça
Teste condicional no final
algoritmo "media com repita...ate"
var
nota1, nota2, media : real
contador : inteiro
inicio
contador <- 1
repita
escreval ("Digite as notas do aluno ",contador,":")
escreval ("Primeira nota:")
leia (nota1)
escreval ("Segunda nota:")
leia (nota2)
media <- (nota1 + nota2)/2
escreval ("O aluno ",contador," teve média igual a: ",media)
contador <- contador + 1
ate contador > 5

fimalgoritmo
Diferenças
Ao contrário do ENQUANTO, o teste da condição verifica, na estrutura REPITA...ATÉ, se a condição é falsa. O looping termina quando a condição é verdadeira. Além disso, a estrutura REPITA...ATÉ sempre executa, pelo menos uma vez, os comandos, pois o teste da condição é realizado no final.

Essa estrutura pode ser utilizada, também, em menus.
Analizando
Menu

algoritmo "menu sorvetes"
var
op:caracter
inicio
repita
escreval ("Escolha um sabor de sorvete:")
escreval ("1- Morango")
escreval ("2- Abacaxi")
escreval ("3- Chocolate")
escreval ("4- Caramelo")
escreval ("5- Salada de Frutas")
leia (op)
ate (op = "1") ou (op = "2") ou (op = "3") ou (op = "4") ou (op = "5")
escolha op
caso "1"
escreval ("Você escolheu Morango.")
caso "2"
escreval ("Você escolheu Abacaxi.")
caso "3"
escreval ("Você escolheu Chocolate.")
caso "4"
escreval ("Você escolheu Caramelo.")
caso "5"
escreval ("Você escolheu Salada de Frutas.")
fimescolha
fimalgoritmo
enquanto <condição> faca
<instruções>
fimenquanto
Na estrutura REPITA...ATÉ, a repetição continua enquanto a condição (contador > 5) for falsa. E cessa quando essa condição se tornar verdadeira.
Veja que o problema da média pôde ser resolvido com qualquer uma das estruturas de repetição, alterando-se somente a sintaxe.
Apesar disso, nem sempre um problema, em algoritmos, poderá ser solucionado com qualquer uma das estruturas. Sempre haverá uma das estruturas que se enquadre melhor na solução de determinado problema.
Estruturas de repetição
repita...até
algoritmo "enquanto sem incremento"
var
num:inteiro
inicio
num <- 1
enquanto num > 0 faca
leia (num)
escreval (num^2)
fimenquanto
escreval ("Você digitou um valor negativo")
fimalgoritmo
O algoritmo acima solicita que o usuário digite um número e fornece o valor do quadrado do número digitado, enquanto esse número for positivo. No momento em que o usuário digitar um valor negativo, a estrutura encerra e aparece a mensagem de que o número digitado é negativo.
repita
<instruções>
ate <condição>
estrutura enquanto
estrutura repita
Full transcript