MC102:
Algoritmos e Programação de Computadores - Turmas K e L
Zanoni Dias
(PED)
Quinto
Exercício de Laboratório
Alunos
Suponha que os dados relativos a um conjunto de alunos sejam fornecidos de tal forma que cada linha representa um aluno de acordo com o formato exemplificado a seguir:
998765 Maria Helena Fernandes 7.7
987534 Ana Maria Carvalho 3.5
005678 Joao Araujo da Silva Filho 10.0
O primeiro dado é o RA do aluno, seguido de um espaço em branco. O segundo dado é o nome completo do aluno, ocupando sempre 40 posições. Os nomes utilizarão apenas as letras comuns, minúsculas e maiúsculas, sem acentos. Finalmente, vem a nota do aluno, num campo de comprimento quatro, com um ponto decimal, e um dígito após o ponto.
O Programa
Escreva e teste um programa que:
· Lê as linhas correspondentes aos alunos, até que seja encontrada uma linha começando com o valor 000000 (o número máximo de alunos será 200).
· Imprime, em ordem decrescente de notas, os RAs, endereços eletrônicos e as notas de cada aluno (use a formatação ":4:1" para as notas), como no exemplo::
005678 Joao.Filho@unicamp.br 10.0
998765 Maria.Fernandes@unicamp.br 7.7
987534 Ana.Carvalho@unicamp.br 3.5
A parte de endereço eletrônico tem 40 posições. Note que para a composição do endereço eletrônico do aluno é usado seu primeiro e último nome, unidos por um ponto, e o dominio "unicamp.br".
· Imprime a média das notas dos alunos com dois dígitos de precisão (use a formatação ":2:2")
No caso do exemplo acima, a saída completa deve ser:
005678 Joao.Filho@unicamp.br 10.0
998765 Maria.Fernandes@unicamp.br 7.7
987534 Ana.Carvalho@unicamp.br 3.5
Media: 7.07
Sugestão: Guarde as informações relativas aos alunos num vetor de registros de tipo conveniente. Após a leitura, ordene os registros por base das notas. A média pode apresentar problemas de arredondamento, é normal, como já foi discutido em sala de aula. Para facilitar a compatibilidade não use funções de arrendamento como "int" ou "trunc", apenas formatação de impressão (usando o especificador ":").
Entrega
O programa é estritamente individual e deverá ser entregue até dia 03 de dezembro através da Web Page do curso (www.ic.unicamp.br/~zanoni/mc102). Maiores detalhes serão discutidos em sala de aula e no laboratório.