Desenvolva por meio de modularização as operações abaixo para o arquivo ALUNOS.TXT.
b. Calcular a média geral dos alunos

Passo 1

O enunciado pede pra gente criar um programinha modular (ou seja, dividido em funções) que abra o arquivo ALUNOS.TXT, leia as notas de cada aluno e, ao final, calcule a média geral da turma.
Conteúdo: entrada e saída de arquivo, loop de leitura, acumulação de soma e contador, e uma função que calcula média. Vamos precisar saber como ler linha a linha de um arquivo, extrair a nota, somar tudo e depois dividir pelo número de alunos.

Passo 2

Vamos dividir em módulos (funções) assim:
  1. abreArquivo(): abre o ALUNOS.TXT e retorna o handle.
  2. lerLinha(arquivo): lê a próxima linha, extrai a nota e retorna essa nota (ou sinaliza fim de arquivo).
  3. calcularMedia(soma, contador): recebe soma das notas e número de alunos e devolve a média.
  4. fechaArquivo(arquivo): fecha o arquivo.
  5. main(): coordena tudo, chamando esses módulos em sequência.

Passo 3

Explicando cada módulo na prática:
  1. abreArquivo()
    • Usa a função padrão do idioma (por ex. fopen em C, open em Python) pra abrir “ALUNOS.TXT” em modo leitura.
    • Se não conseguir abrir, exibe erro e encerra.
    • Retorna o ponteiro/objeto do arquivo.
  2. lerLinha(arquivo)
    • Lê uma linha do arquivo (ex.: fgets ou readline).
    • Se for fim de arquivo, retorna um sinalizador (por ex. None ou EOF).
    • Caso contrário, faz o “split” da linha para separar campos (nome, matrícula, nota etc.), pega o campo da nota (supondo que seja o último) e converte pra número.
    • Retorna essa nota.
  3. calcularMedia(soma, contador)
    • Aqui a gente aplica o conceito de média aritmética: barM = soma das notasnúmero de alunos ú
    • Recebe dois números (soma e contador) e devolve esse quociente.
  4. fechaArquivo(arquivo)
    • Fecha o arquivo (ex.: fclose ou file.close()).

Passo 4

Escrevendo o pseudocódigo completo:
função main()
    arquivo ← abreArquivo("ALUNOS.TXT")
    somaNotas ← 0
    qtdAlunos ← 0

    enquanto true
        nota ← lerLinha(arquivo)
        se nota é EOF então
            sai do loop
        fim se
        somaNotas ← somaNotas + nota
        qtdAlunos ← qtdAlunos + 1
    fim enquanto

    fechaArquivo(arquivo)

    mediaGeral ← calcularMedia(somaNotas, qtdAlunos)
    imprime("Média geral da turma = ", mediaGeral)
fim função
Detalhes:
  • No enquanto, cada chamada de lerLinha devolve uma nota ou EOF.
  • A cada nota válida, acumulamos em somaNotas e incrementamos qtdAlunos.
  • Depois do loop, fechamos o arquivo e chamamos calcularMedia.

Resposta

A média geral da turma é dada por:
boxed barM ;=;sumi=1^N notaiN
onde é o número total de alunos lido do arquivo.

Exercícios relacionados