Desenvolva por meio de modularização as operações abaixo para o arquivo ALUNOS.TXT.
b. Calcular a média geral dos alunos
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.
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:
- abreArquivo(): abre o ALUNOS.TXT e retorna o handle.
- lerLinha(arquivo): lê a próxima linha, extrai a nota e retorna essa nota (ou sinaliza fim de arquivo).
- calcularMedia(soma, contador): recebe soma das notas e número de alunos e devolve a média.
- fechaArquivo(arquivo): fecha o arquivo.
- main(): coordena tudo, chamando esses módulos em sequência.
Passo 3
Explicando cada módulo na prática:
-
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.
- Usa a função padrão do idioma (por ex.
-
lerLinha(arquivo)
- Lê uma linha do arquivo (ex.:
fgets
oureadline
). - Se for fim de arquivo, retorna um sinalizador (por ex.
None
ouEOF
). - 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.
- Lê uma linha do arquivo (ex.:
-
calcularMedia(soma, contador)
- Aqui a gente aplica o conceito de média aritmética:
- Recebe dois números (soma e contador) e devolve esse quociente.
- Aqui a gente aplica o conceito de média aritmética:
-
fechaArquivo(arquivo)
- Fecha o arquivo (ex.:
fclose
oufile.close()
).
- Fecha o arquivo (ex.:
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 delerLinha
devolve uma nota ou EOF. - A cada nota válida, acumulamos em
somaNotas
e incrementamosqtdAlunos
. - Depois do loop, fechamos o arquivo e chamamos
calcularMedia
.
Resposta
A média geral da turma é dada por:
onde
é o número total de alunos lido do arquivo.