Prog Básica – Mod 04 – Ex 59

Home Fóruns Programação Básica Prog Básica – Mod 04 – Ex 59

Visualizando 2 respostas da discussão
  • Autor
    Posts
    • #99311
      Patrick Souza
      Participante

      Olá, Não consigo entender o porquê do programa não apresentar os alunos que ficaram acima da média. Alguém poderia me ajudar, por favor?

      programa
      {

      inclua biblioteca Util –> u
      inclua biblioteca Tipos –> t
      funcao inicio()
      {
      real m, s = 0.0
      inteiro c = 0, len, v[5]
      escreva(“================== \n”)
      escreva(“Escola Estudonauta \n”)
      escreva(“================== \n”)
      len = u.numero_elementos(v)

      para(c; c < len; c ++) {
      v[c] = sorteia(1, 10)
      u.aguarde(200)
      escreva(“Aluno da posição “, c, ” – Nota: “, v[c], “\n”)
      s += v[c]
      }
      escreva(“——————- \n”)
      escreva(“Média da turma: “, m = s / len, “\n”)
      escreva(“Os alunos que ficaram acima da média da classe foram: \n”)
      para(c; c < len; c ++) {
      se(t.inteiro_para_real(v[c]) > m) {
      u.aguarde(200)
      escreva(c, ” “)
      }
      }
      }
      }

    • #99439
      Tutora Jessica
      Moderador

      Olá Patrick,
      Você só precisa iniciar a sua variável C com 0 dentro do para, dessa forma:
      para(c = 0; c < len; c ++) {

      • #99458
        Patrick Souza
        Participante

        Oi Jéssica! Primeiramente muito obrigado pela resposta. Gostaria de entender, também, por que no 1º looping a varíavel c = 0 que declarei antes de tudo funcionou, já no 2º looping, tive que fazer essa declaração dentro dele? PS: Pensei que a declaração, logo no começo do escopo (linha 8, nesse caso) service para o programa inteiro.

    • #99464
      Tutora Jessica
      Moderador

      Olá Patrick,
      Funcionou, porque no primeiro loop você inicializou a sua variável C como 0 nesse trecho do código:

      inteiro c = 0, len, v[5]

      Quando o primeiro loop termina a sua variável C terá o valor diferente de 0, pois ele foi incrementado, por isso, no segundo loop nós “setamos” o valor de C novamente como 0, e ai, podemos iniciar um novo loop.

      Consegui te explicar? Depois nos dê um feedback!!
      Bons estudos 🖖

Visualizando 2 respostas da discussão
  • Você deve fazer login para responder a este tópico.