Ir ao conteúdo
  • Cadastre-se
alexsandroams

Recomeçar program do zero se a media der acima de 10 no visualg

Recommended Posts

algoritmo "exer 6"
var
n1,n2,n3,n4,media,erro:real
quatalunos,i:inteiro
nome:caracter

inicio

escreval (" o numero de alunos ")
leia (quatalunos)
      enquanto (i<=quatalunos) faca
      i<-i+1
          escreval (" o nome do aluno: ")
           leia (nome)
           escreval (" digite nota 1: ")
           leia (n1)
           escreval (" digite nota 2: ")
           leia (n2)
           escreval (" digite nota 3: ")
           leia (n3)
           escreval (" digite nota 4: ")
           leia (n4)
           media<-(n1+n2+n3+n4)/4
      se (media>=6) e  (media<=10) então
      escreval ("o aluno ",nome," teve media de  :",media," e está aprovado")
      senao
        se (media<6) e (media>=5)então
        escreval ("o aluno ",nome," teve media de  :",media," e está em recuperação")
        senao
        escreval ("o aluno ",nome," teve media de  :",media," e está reprovado")
          se (media > 10) então
          escreval (media," media inválida digite novamente")
   fimse
  fimse
 fimse
  fimenquanto
fimalgoritmo

 

 

 

se a media der acima de 10 ele tem que começar do zero

mas tentei varias formas e não consegui se tiver alguém pra dar uma luz agradeço.

att: Alexsandro 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Você quer que ele só comece de novo se for maior que 10? E nos outros casos so finalize?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

alexsandroams

coloque mais uma variável por exemplo x do tipo inteiro, e  no começo logo depois de leia (quatalunos) inicialize a variável i fazendo i <- 1
      E depois do enquanto coloque um repita, e em seguida inicialize as variáveis assim:

n1 := 0
n2 := 0
n3 := 0
n4 := 0
media := 0
nome := ""
x := 1

e coloque um se depois de media<-(n1+n2+n3+n4)/4 assim:

se ( media < 0 ) ou ( media > 10 ) então
  x := 2
fimse

e lá em baixo uma linha antes do fimenquanto coloque assim:

ate x = 1

e no lugar desses dois senao coloque fimse ; e deleta esses dois fimse que está aí no
final, e coloque esse escreval ("o aluno ",nome," teve media de  :",media," e está reprovado")
dentro de um se fimse
assim :

se media < 5 então
  escreval ("o aluno ",nome," teve media de  :",media," e está reprovado")
fimse

e dentro desse se (media>10)   , coloque assim :

i := i-1

desse jeito ele vai repetir, o mesmo aluno, se a media for maior que 10 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×