aula 51

Estrutura de repetição ENQUANTO em PORTUGOL

Nem sempre nós sabemos quantas vezes nosso código precisa ser repetido. No exemplo anterior nós sabíamos, uma vez que para calcular a média de 20 notas precisamos ler 20 notas.

Contudo, se estabelecermos que uma nota válida precisa obrigatoriamente estar no intervalo entre 0 e 10, quantas vezes precisamos repetir a leitura de uma nota até garantir que foi digitada uma nota válida?

A verdade é que não sabemos. Pode ser digitada uma nota válida já na primeira vez, como também podem ser digitadas 3 ou 4 notas inválidas para então digitar uma nota válida.

Neste caso não é possível utilizar a estrutura de repetição PARA, uma vez que não sabemos quantas vezes será executado.

Perceba que no exemplo apresentado a leitura da nota precisa ser repetida ENQUANTO a nota digitada for menor que zero ou maior que 10, ou seja, ENQUANTO a nota for inválida.

programa{
	// calcular a média de 20 notas vãlidas
	
	funcao inicio(){
		real nota, media, somaNotas = 0.0
		inteiro contador

		para(contador = 1; contador <= 20; contador += 1){
			escreva("\nDigite uma nota: ")
			leia(nota)
			// garantindo que a nota é válida
			enquanto(nota < 0 ou nota > 10){
				escreva("Nota inválida!\nDigite uma nota entre 0 e 10: ")
				leia(nota)
			}
			somaNotas = somaNotas + nota
		}
		media = somaNotas / 5
		escreva("Média: ", media)
	}
}


Deixe um comentário

4 × 2 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.