Você está na página 1de 2

Repita...

at Teste condicional no finaL


Vamos ver, mais uma vez, o algoritmo da mdia:

algoritmo "media com repita...ate" var nota1, nota2, media : real //declarao das variveis do algoritmo contador : inteiro //declarao do contador inicio contador <- 1 //atribuio de valor ao contador repita //incio da estrutura de repetio 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 mdia igual a: ",media) contador <- contador + 1 ate contador > 50 fimalgoritmo

Estrutura REPITA...ATE

Na estrutura REPITA...AT, a repetio continua enquanto a condio (contador > 50) for falsa. E cessa quando essa condio se tornar verdadeira. Veja que o problema da mdia pde ser resolvido com qualquer uma das estruturas de repetio, 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 soluo de determinado problema. Ao contrrio do ENQUANTO, o teste da condio verifica, na estrutura REPITA...AT, se a condio falsa. O looping termina quando a condio verdadeira. Alm disso, a estrutura REPITA...AT sempre executa, pelo menos uma vez, os comandos, pois o teste da condio realizado no final. Essa estrutura pode ser utilizada, tambm, em menus. Veja o exemplo abaixo:

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")

Estrutura REPITA...ATE

escolha op caso "1" escreval caso "2" escreval caso "3" escreval caso "4" escreval caso "5" escreval fimescolha fimalgoritmo

("Voc escolheu Morango.") ("Voc escolheu Abacaxi.") ("Voc escolheu Chocolate.") ("Voc escolheu Caramelo.") ("Voc escolheu Salada de Frutas.")

Veja que, no algoritmo acima, as instrues vo repetir at que o usurio digite uma opo vlida. O comando REPITA, portanto, executa as instrues AT que a opo digitada seja vlida. Veja a sintaxe dessa estrutura:

PSEUDOCDIGO

FLUXOGRAMA

repita <instrues> ate <condio>