Desenvolva por meio de modularização as operações abaixo para o arquivo ALUNOS.TXT.
a. Consultar o número de alunos que estejam reprovados.

Passo 1

Beleza, a questão pede que a gente crie um programa modularizado que leia o arquivo ALUNOS.TXT e “consulte” (ou seja, conte) quantos alunos estão reprovados. Isso envolve:
  • Conteúdo: modularização (funções/módulos), leitura de arquivo, loop e teste condicional.
  • O que vamos precisar:
    1. Um módulo para ler o arquivo e devolver uma lista de registros (nome + nota).
    2. Um módulo para contar quantos desses registros têm nota abaixo da média de aprovação.
    3. Um programa principal que chame esses módulos e mostre o resultado.

Passo 2

Vamos criar o módulo que lê o arquivo. Aqui é só abrir o ALUNOS.TXT, ler linha por linha, separar nome e nota e guardar numa lista. Em pseudocódigo fica assim:
função CarregaAlunos(arquivo: string): ListaDeAlunos
  abre o arquivo
  cria lista vazia
  enquanto não for fim do arquivo faça
    leia linha
    se linha não for vazia então
      separa linha em nome e nota
      converte nota para número
      adiciona (nome, nota) à lista
  fecha o arquivo
  retorna lista

Passo 3

Agora o módulo que conta os reprovados. Supondo que a nota de corte seja 6.0 (ou seja, quem tiver nota < 6.0 está reprovado):
função ContaReprovados(lista: ListaDeAlunos; corte: real): inteiro
  contador ← 0
  para cada aluno em lista faça
    se aluno.nota < corte então
      contador ← contador + 1
  retorna contador
Em linguagem matemática, o número total de reprovados N = sumi=1^n 1, & se notai < 6.0, 0, & caso contrário pode ser expresso como
á

Passo 4

Por fim, o programa principal (módulo main) só chama esses dois módulos e exibe o resultado:
programa principal
  alunos ← CarregaAlunos("ALUNOS.TXT")
  reprovados ← ContaReprovados(alunos, 6.0)
  escreva("Número de alunos reprovados: ", reprovados)

Resposta

Quando você rodar esse programa, ele vai imprimir na tela:
Número de alunos reprovados: X
onde
X = sumi=1^n 1, & se notai < 6.0, 0, & caso contrário á
Esse é exatamente a quantidade de alunos reprovados no seu ALUNOS.TXT.

Exercícios relacionados