PCS–3111:
R
ECUPERAÇÃO
03/02/2015
A
LEXANDREH
ENRIQUEC
OSTAR
OSSI:
4,35
Funcionamento (0,0)
Código não compila (-1,5)
o CursoExtensao.h: Faltou declarar o método getMedia o CursoExtensao.cpp: faltou um “;”
o CursoExtensao.cpp: O atributo “nome” é privado e não poderia ser usado. o Disciplina.cpp: O método getNome recebe um vector
o CursoGraduacao.cpp: faltou fazer um include de vector e de disciplina o CursoGraduacao.cpp: não é possível declarar o vector nome no construtor o CursoGraduacao.cpp: o método push_back deveria receber um ponteiro de
disciplina.
o CursoGraduacao.cpp: o “for” deve usar o “;” como separador de comandos. Idem para o “for” da impressão das médias;
o CursoGraduacao.cpp: os métodos recebem um “vector” nome ao invés da “string” nome
o CursoGraduacao.cpp: faltou “;” no método “getMedia; o main.cpp: curso -> Curso
o main.cpp: o vector é de objetos Curso e não de ponteiros de Curso. o main.cpp: variável “c0” não declarada
Erro ao adicionar disciplina ao curso de graduação: o curso não tem um vector de disciplinas que pode ser usado (-0,25)
o Além disso, o nome da disciplina é o nome do curso (não é usado o nome da disciplina informado)
Erro ao apresentar a média dos cursos: para chamar a média é passado o nome (-0,25)
Aplicação dos conceitos OO (3,9)
O construtor de CursoExtensao não deveria usar o atributo nome, já que ele é privado (-0,25)
O vector de disciplinas deveria ser um atributo do Curso de Graduação (-0,75)
Os métodos setMedia e setCreditos de CursoGraduação são desnecessários. Ao adicionar uma disciplina o Curso de Graduação deveria calcular isso (-0,5)
O método “setMedia” no CursoExtensao é desnecessário. Uma vez definida a média no construtor, ela não precisa ser alterada (-0,1)
Os métodos “adicionarDisciplina” e “calcularMedia” não deveriam receber um “vector nome” (e o vector seria as disciplinas)
o No caso do adicionar disciplina, deveria ser o nome (-0,25)
o No caso do calcular média, o parâmetro não é necessário: o atributo deveria ser usado (-0,25)
O método getMedia do CursoGraduacao chama o calcularMedia, mas não passa um parâmetro (que ele precisa) (-0,25)
Faltou criar o objeto disciplina no método “adicionarDisciplina” (-0,5)
CursoExtensao e CursoGraduacao: não deveria ser declarado o atributo nome, já que ele está definido na classe pai (-0,25)
Adequação de código (0,45)
O atributo “contator” de CursoGraduacao é desnecessário, já que o vector gerencia isso (-0,1)
o Idem para o “contadorDisciplina” no main (-0,1)
O atributo “nome” passado para o adicionarDisciplina é a “string” nome – e não um vector (-0,25)
o No main, ao criar um curso de graduação, o “nome” não é o nome do curso, mas um objeto curso.
O método “calcularMedia” é desnecessário no CursoGraduacao (-0,1)
A
LEXANDREY
EONGC
HANC
HO:
1,5
Funcionamento: 0,0
Código não compila (-1,5)
o main.cpp: o vector é de string, mas tenta-se adicionar um curso o main.cpp: é feito um push_back em uma posição especifica do vector. o main.cpp: a classe Curso é usada como “curso”
o main.cpp: o vector curso é um ponteiro, então deve ser usado o “->” o main.cpp: disciplina não deveria ser adicionada ao vector de curso
Erro ao adicionar curso de graduação: para adicionar em um vector é necessário usar o método push_back (-0,25)
Erro ao calcular a média do curso de graduação: é usada uma matriz que não existe (-0,25)
Erro ao apresentar as médias dos cursos de graduação: “curso.at(j) << ": " << curso[j].at(0)” não imprime o nome e a média do curso (-0,25)
Aplicação dos conceitos OO (0,75)
O arquivo "Curso.h" não deveria ser alterado (-1,0)
o O método “getMedia” não deveria ser comentado. Isso tornou a classe concreta.
Faltou criar classes para Curso de graduação e curso de extensão (-4,0)
Cada curso de graduação deveria ter um conjunto de disciplinas diferente (-0,75) o Ou seja, deveria ser criado um vector como atributo na classe de curso de
graduação
A lógica de cálculo da média não deveria ficar no main (mas em uma classe para o curso de graduação) (-0,5)
Adequação de código (0,75)
H
ELOISAG
USMAOB
UONONATO:
5,75
Funcionamento: 0,0
Código não compila (-1,5)
o main.cpp: a separação do “for” é com “;”
o main.cpp: faltou um “;” depois do cout da impressão dos cursos o main.cpp: variável “c”não foi declarada
Erro ao apresentar a média dos cursos: o “while” não varre os cursos (-0,25)
Erro ao iniciar o programa: a inicialização da mediac gera erro já que o arranjo não tem objetos criados (-0,25)
Erro ao adicionar cursos de extensão: dentro do case é criado um novo arranjo c1 (-0,25)
Erro ao adicionar disciplinas ao curso de graduação: como sempre é criado um novo arranjo, as disciplinas que foram colocadas antes são perdidas (-0,25)
Aplicação dos conceitos OO: (4,75)
Deveria ser usado um vector para guardar os cursos (-0,75)
Deveria ser usado um vector para guardar as disciplinas (-0,75)
Cursoext: O atributo “mediac” deveria ser privado ou protegido (-0,25) o O ideal seria passar a media para o construtor da classe.
Cursograd: o arranjo de disciplinas deveria ser privado ou protegido (-0,25) o Deveria haver um método para adicionar uma disciplina ao curso.
Cursoext e cursograd: não deveria ser declarado o atributo nome, já que ele está definido na classe pai (-0,25)
Adequação de código (1,0)
Cursograd: evite usar “m” e “n” como nomes de variáveis.
L
AISH
ARUMIF
UKUJIMAA
GUIAR:
7,35
Funcionamento (0,5)
Código não compila (-1,5)
o CursoGraduacao.h: faltou o include do vector o CursoGraduacao.h: erro de digitação (cresitos)
o CursoGraduacao.h e CursoExtensao.h: faltou include de Curso o CursoGraduacao.cpp: discp não declarado (é “nomeDisciplina”) o CursoExtensao.cpp: não deve ser colocado “virtual” na implementação o Curso.h: faltou parametrizar o tipo do vector
o Curso.cpp: método getMedia não deveria ser implementado o main.cpp: faltou instanciar corretamente o vector
o main.cpp: faltou declarar CursoExtensão como ponteiro o main.cpp: existe um “*” sobrando ao adicionar disciplina o main.cpp: adicionar disciplina não recebe ponteiro
o main.cpp: assinatura de “AdicionarDisciplina” recebe um valor, mas é passado um ponteiro
o main.cpp e CursoGraduacao.cpp: a separação do “for” é com “;” o main.cpp e CursoGraduacao.cpp: size é um método de vector. o main.cpp: erro de digitação (“temprario”)
o Disciplina.cpp: o destrutor não está no .h, então não precisa ser implementado.
Aplicação dos conceitos OO (6,2)
Curso: método getMedia é abstrato, portanto não deveria ser implementado (-0,5)
CursoGraduação: o atributo “média” é desnecessário, já que ele é sempre calculado (o valor não é necessário entre chamadas de métodos) (-0,1)
CursoGraduação não tem créditos (são as disciplinas quem tem) (-0,25)
o Além do que é não é somado os créditos da disciplina “disciplina->getCreditos()”
Adequação de código (0,65)
Faltou parametrizar o tipo do vector (-0,25)
CursoGraduacao.h: o parâmetro de “AdicionarDisciplina” não é um nome de disciplina, mas uma disciplina (-0,1)
L
EONARDOM
IRANDAL
APA:
2,5
Funcionamento: 0,0
O código não compila (-1,5)
o main.cpp: O vector de cursos deveria ser “vector<Curso*>” para poder adicionar um curso de extensão criado com new.
o main.cpp: Tanto o vector disciplina quanto o curso de graduação são chamados de “g”
o main.cpp: Os comandos “g->Curso(nome);” e “d->Disciplina(nome, creditos, media);” não são chamadas do construtor
o main.cpp: curso não tem o atributo “créditos”
o Curso.cpp: os métodos implementados não estão definidos no Curso.h
Não permite o cadastramento de cursos (nem de graduação e nem de extensão) (-0,5)
Erro ao apresentar a média do curso de extensão (-0,25)
o Não se sabe o tipo do curso através do créditos ser NULL ou não: se for um Curso não tem o atributo (poderia ser usado um dynamic_cast, mas o polimorfismo seria a forma mais elegante de resolver)
Erro ao apresentar a média do curso de graduação: É considerado apenas 1 vector com todas as disciplinas de todos os cursos (é o vector “c”
(-0,25)
Erro ao cadastrar disciplinas em um curso de graduação: as disciplinas são destruídas ao sair do “case” já que o vector é declarado dentro do “case” (-0,25)
Aplicação dos conceitos OO (1,75)
O arquivo "Curso.h" não deveria ser alterado (-1,0)
o Ele só tem o construtor – e nenhum outro método.
O arquivo "Disciplina.h" não deveria ser alterado (-1,0) o Disciplina não é um curso! São conceitos diferentes.
A classe Curso não tem atributos e nem métodos: só tem um construtor (-1,0)
Faltou criar uma classe específica para o curso de graduação (-1,0)
A lógica de cálculo da média não deveria ficar no main (mas em uma classe para o curso de graduação) (-0,5)
O vector de disciplinas deveria ficar no Curso de Graduação e não no main. Cada curso de graduação tem um conjunto de disciplinas diferente (-0,75)
Adequação de código (0,75)
Os vectors de disciplina e de curso deveriam ser de ponteiro de Curso e de disciplina para receber um objeto (e não fazer cópia) (-0,25)
L
UCAS DES
ANTANAS
COCCA:
2,9
Funcionamento (2,0)
Sem comentários
Aplicação dos conceitos OO (0,0)
O arquivo "Curso.h" não deveria ser alterado (-1,0) o O método “getMedia” deveria ser abstrato. o O método “setMedia” não deveria existir. o O atributo “media” não deveria ser adicionado.
Faltou criar classes para Curso de graduação e curso de extensão (-4,0)
Deveria ser usado um vector para guardar as disciplinas (-0,75)
Deveria ser usado um vector para guardar os cursos (-0,75)
O vector de disciplinas deveria ficar no Curso de Graduação e não no main. Cada curso de graduação tem um conjunto de disciplinas diferente (-0,75)
A lógica de cálculo da média não deveria ficar no main (mas em uma classe para o curso de graduação) (-0,5)
Adequação de código (0,9)
Coloque o “;” na mesma linha do comando.
Use nomes adequados para variável ao invés de aux, aux2 e aux3.
A variável “aux3” na criação de curso de extensão é desnecessária (-0,1)
M
ARCOSV
INICIUSN
OGUEIRA DAC
RUZ(2,75)
Funcionamento (0,25)
Não permite o cadastramento de cursos (nem de graduação e nem de extensão) (-0,5)
Não calcula a média do curso de graduação (-0,5)
Não adiciona a disciplina a um curso de graduação (-0,25)
Aplicação dos conceitos OO (1,5)
Faltou criar classes para Curso de graduação e curso de extensão (-4,0)
O vector de disciplinas deveria ficar no Curso de Graduação e não no main. Cada curso de graduação tem um conjunto de disciplinas diferente (-0,75)
O método getMedia do Curso não deveria ser implementado, já que ele é abstrato (-0,25)
São definidas variáveis globais em Disciplina.cpp que são iguais aos atributos da classe (-0,5)
Adequação de código (1,0)
Sem comentários.
R
ICARDOC
AMARGOL
EMOS:
5,1
Funcionamento (0,0)
Código não compila (-1,5)
o Declaração de classe filha incorreta. O correto seria: “class CursoExtensao : public Curso”.
o CursoGraduacao.h: listaDeDisciplinas deveria ser vetor de ponteiros o CursoGraduacao.h: faltou incluir Disciplina
o CursoGraduacao.cpp: erro de digitação (CursoGraducao)
o CursoGraduacao.cpp: faltou tipos dos parâmetros no método adicionarDisciplina
o CursoGraduacao.cpp: faltou tipo de retorno no getMedia o CursoGraduacao.cpp: faltou o “()” ao chamar o getMedia o CursoGraduacao.cpp : erro de digitação “lisaDeDisciplinas” o Curso.cpp: faltou definir o tipo do parâmetro no construtor
o CursoExtensao.cpp: faltou definir o tipo do parâmetro no construtor o Disciplina.cpp: erro na assinatura do construtor
o main.cpp: listaDeCursos deveria ser um vetor de ponteiros
o main.cpp e CursoGraduacao.cpp: o comando “for” deve separa elementos com “;”
o main.cpp e CursoGraduacao.cpp: faltou declarar a variável “i” do “for”.
Erro ao adicionar curso de graduação: tenta-se usar o método “adicionarDisciplina”, mas ele é chamado para uma posição do vetor que é do tipo Curso! (-0,25)
Erro ao apresentar a média: a atribuição “i=numeroDeCursos” gera um loop infinito (-0,25)
Erro ao calcular a média de curso de graduação: a atribuição “i=numeroDeCursos” gera um loop infinito (-0,25)
o Outros erros: o “for” precisaria começar com a posição 1; faltou inicializar o valor da variável “soma”.
Aplicação dos conceitos OO (4,9)
Deveria ser usado um vector para guardar as disciplinas (-0,75)
Deveria ser usado um vector para guardar os cursos (-0,75)
Construtor do CursoExtensão e CursoGraduação deveria chamar o construtor de Curso, já que é uma classe filha (-0,25)
Construtor do CursoExtensão e CursoGraduação não deveria usar o nome do Curso, já que o atributo é privado (-0,25)
Faltou implementar o destrutor de Curso (-0,1)
o (Ele deveria ser vazio, mas precisa ser implementado)
Adequação de código (0,7)
Deselegante declarar variáveis globais no main.cpp: listaDeCursos e numeroDeCursos (-0,1)
A lista de cursos começa na posição 1 e não na 0 (-0,1)
CursoGraduacao: a variável mediaFinal em getMedia é desnecessária (-0,1)
V
ICTORS
CAVONE(3,0)
Funcionamento (0,0)
Código não compila (-1,5)
o CURSO.cpp: os métodos são definidos dentro do construtor Idem para DISCIPLINA.cpp
o DISCIPLINA.cpp: retorno de getMedia inadequado (doubleiplina) o DISCIPLINA.cpp: faltou “;” em getNome
o DISCIPLINA.cpp: faltou definição de um bloco em getCreditos
Não permite o cadastramento de cursos (nem de graduação e nem de extensão) (-0,5)
Não calcula a média do curso de extensão (-0,5)
Não calcula a média do curso de graduação (-0,5)
Não permite cadastrar disciplinas em um curso de graduação (-0,5)
Aplicação dos conceitos OO (2,25)
Faltou criar classes para Curso de graduação e curso de extensão (-4,0)
Faltou implementar os construtores de Disciplina e Curso (-0,5)
Faltou implementar o destrutor do Curso (-0,25)
Adequação de código (0,75)
Disciplina.h e Curso.h alterados para renomear as classes (desnecessário, contra a especificação e deselegante – nomes em letras maiúsculas) (-0,25)
W
ILLIAMT
AMBERG:
2,3
Funcionamento: 0,0
Código não compila (-1,5)
o Curso.h: faltou parametrizar o tipo do vector
o Curso.cpp: os métodos a mais não foram implementados. o Curso.cpp: o construtor é incompatível com o definido no .h o Curso.h: faltou o tipo de retorno de addDisciplina
o CExtensao.h e CGraduacao.h: faltou include de Curso.h
o CExtensao.h e CGraduacao.h: o método getMedia não foi declarado o CExtensao.cpp: o método getMedia não foi implementado
o CGraduação.h: “for” do getMedia não foi implementado. o main.cpp: erro na chamada do construtor do curso o main.cpp: erro na criação do vetor de cursos
Não permite o cadastramento de cursos (nem de graduação e nem de extensão) (-0,5)
Não apresenta a média do curso de extensão (-0,5)
Não apresenta a média do curso de graduação (-0,5)
Não permite cadastrar disciplinas em um curso de graduação (-0,5)
Aplicação dos conceitos OO: 1,75
O arquivo "Curso.h" não deveria ser alterado (-1,0)
Deveria ser usado um vector para guardar os cursos (-0,75)
Cursos de extensão não deveriam ter disciplinas (-1,0)
o Curso tem o “addDisciplina” e herda o vector de disciplinas
Método para adicionar uma disciplina em um curso de graduação não foi implementado (-1,0)
Faltou definir o construtor de CGraduação e CExtensão e chamar o construtor da classe pai (-0,5)
Método para calcular a média não foi implementado: graduação e extensão (-0,5)
A herança de Curso em CExtensao e CGraduação deveria ser pública (-0,25)
O construtor do Curso não define o tipo (não tem como saber) (-0,25)
Adequação de código: 0,55
Método setTipo desnecessário: deveria ser usado o dynamics_cast (-0,1)
CExtensao.h: o método setTipo não deveria retornar o tipo, mas definir o tipo (-0,1)
Faltou parametrizar o tipo do vector (-0,25)