Linguagem C: Trabalho
Links Relacionados: Programação em C
Descrição
|
Faça um programa em C que leia um arquivo texto com os códigos, nomes (onde o cada palavra que compõem o nome é separada pelo caractere "_"), nota da 1a prova, 2a prova e 3a prova dos alunos de uma turma, conforme o exemplo abaixo.
20154099 Rei_Ayanami 9 7 10 20154992 Shinji_Ikari 4.5 0.5 1 20150584 Asuka_Langley_Soryu 7 8 9 20153030 Touji_Suzuhara 2.7 7 8.7 20153939 Kaworu_Nagisa 6.5 4.5 10 20159932 Misato_Katsuragi 8 8.5 9 20155332 Kensuke_Aida 4 5.5 3
O programa deve gerar um segundo arquivo com os mesmos dados do arquivo anterior mais a média das três provas, a média normalizada, o conceito, e um histograma dos conceitos. Um cabeçalho, contendo os dados de cada coluna, deve constar na primeira linha, conforme o exemplo abaixo.
CÓDIGO NOME N1 N2 N3 MÉDIA MÉDIA NOR. CONCEITO 20154099 Rei Ayanami 9.0 7.0 10.0 8.67 10.00 A 20154992 Shinji Ikari 4.5 0.5 1.0 2.00 2.31 D 20150584 Asuka Langley Soryu 7.0 8.0 9.0 8.00 9.23 A 20153030 Touji Suzuhara 2.7 7.0 8.7 6.13 7.08 C 20153939 Kaworu Nagisa 6.5 4.5 10.0 7.00 8.08 B 20159932 Misato Katsuragi 8.0 8.5 9.0 8.50 9.81 A 20155332 Kensuke Aida 4.0 5.5 3.0 4.17 4.81 D A ### B # C # D ##
A média normalizada é dada pela média multiplicada por 10 e dividida pela maior média. Ou seja,
Média Normalizadai = Médiai x 10 / Maior Média.
Os conceitos são atribuídos conforme abaixo:
- A Média Normalizada ∈ [10, 9]
- B Média Normalizada ∈ ]9, 8]
- C Média Normalizada ∈ ]8, 7]
- D Média Normalizada ∈ ]7, 0]
Avaliação
|
- O código não deve conter comentários na hora da apresentação;
- Todos os conceitos vistos na disciplinas até o momento podem ser cobrados;
- Pode ser cobrado que o aluno explique linha a linha o que cada função que está sendo utilizada faz;
- Durante a apresentação, pode ser requisitado ao aluno que escreva algumas linhas de código para complementar o programa desenvolvido;
Critérios de avaliação
Item | Descrição | Valor |
---|---|---|
1 | Sistema montado e funcionando | 2.0 |
2 | Uso adequado de estruturas de controle e repetição | 1.0 |
3 | Uso adequado de variáveis, vetores e/ou matrizes | 1.0 |
4 | Uso de strings e operações com strings | 1.0 |
5 | Uso de ponteiros e alocação dinâmica de memória | 1.0 |
6 | Funções com passagem de parâmetro por valor e por referência | 1.0 |
7 | Utilização de struct | 1.0 |
8 | Utilização de mais de uma arquivo fonte para o programa (.C e .H) | 1.0 |
9 | Código organizado, indentado e documentado | 1.0 |