MAC-IME-USP IMRE SIMON CARLOS EDUARDO FERREIRA
SALA 290A TEL.: 3818 6142
SALA 297A TEL.: 3818 6140
EMAIL is@ime.usp.br
E-MAIL cef@ime.usp.br
MONITORA: ELIDIA Y. ITIKAWA
MONITOR: MARCIO C. CABRAL
Uma tarefa que todo ano é executada pelas seções de alunos das unidades é verificar quais alunos completaram o curso e deverão portanto colar grau naquele ano, e quais ainda estão devendo disciplinas. O objetivo deste exercício-programa é automatizar esta tarefa.
Seu programa deverá ler um arquivo curriculo.txt contendo a estrutura curricular de um curso no seguinte formato:
#obrig #optativas #créditos em opt na área #créditos em fora de área obrig. 1 obrig. 2 . . . opt. 1 opt. 2 . . .
Na primeira linha é dado o número de disciplinas obrigatórias, disciplinas optativas, número de créditos em optativas na área e o número de créditos em disciplinas fora de área necessários para que o aluno se forme. No caso do currículo do BCC, o arquivo de entrada contendo o currículo seria o abaixo. Você pode supor que fora de área é qualquer disciplina que não aparece nas tabelas acima (a regra do BCC diz que fora de área é qualquer disciplina de sigla diferente de MAC, MAE, MAP e MAT. Se quiser, implemente esta regra).
31 55 32 6 MAC110 MAE121 . . . MAC499 MAC310 MAC322 . . . PCS308
Além disso, seu programa deverá ler um arquivo alunos.txt contendo as informações dos alunos do curso. As informações armazenadas para cada aluno são seu nome, data de nascimento, NUSP, número de disciplinas em que o aluno obteve aprovação e a lista destas disciplinas, contendo, para cada uma, a sigla da disciplina e o número de créditos. Abaixo segue um pedaço do arquivo correspondente a um determinado aluno:
. . José da Silva 21 12 1979 3267962 11 MAC110 4 MAE121 4 MAT131 12 MAE221 4 MAT138 4 MAC122 4 MAC323 4 MAC442 4 PCS305 4 FLM112 3 PST110 2 . .
Seu programa deverá ler todas as informações e produzir um relatório contendo a lista de alunos formados do ano, ordenada em ordem alfabética, e uma outra lista, também em ordem alfabética com os alunos que ainda não se formaram, indicando, para cada aluno, o que ainda precisa ser cursado. Note que os arquivos de entrada não precisam estar ordenados de nenhuma forma.
A entrada correspondente ao aluno acima deverá ser algo como:
. . José da Silva 21/12/1979 3267962 Deve as obrigatórias: MAT139 MAT213 ... MAC499 Deve 24 créditos em optativas na área Deve 1 crédito em optativas fora da área . .
Observações