package lp2.lab10;
public class DisciplinaTrimestral extends Disciplina{
private final int CARGA_HORARIA = 30;
public DisciplinaTrimestral(String nome, String periodo) {
super(nome, periodo);
// TODO Auto-generated constructor stub
}
@Override
public double calculaMediaParcial() {
mediaParcial = 0.0;
if(listaNotas.size() == 0){
return mediaParcial;
}
if (listaNotas.size() == 1){
mediaParcial = ((getNota(1) * 4)/(4+6));
}mediaParcial = (((getNota(1) * 4) + (getNota(2) * 6))/(4+6));
return mediaParcial;
}
@Override
public double calculaMediaFinal() {
if(precisaDeFinal() && notaProvaFinal > 0.0){
mediaFinal = ((calculaMediaParcial()*6) + (notaProvaFinal * 4)) / 10;
setStatusDisciplina(statusDisciplina.CONCLUIDA);
return mediaFinal;
}else{
mediaFinal = mediaParcial;
setStatusDisciplina(statusDisciplina.CONCLUIDA);
return mediaFinal;
}
}
@Override
public void concluiDisciplina() {
if((listaNotas.size() == 2) && (calculaMediaFinal() >= 7.0)){
setStatusDisciplina(StatusDisciplina.CONCLUIDA);
}else if(calculaMediaComProvaFinal() >= 5){
setStatusDisciplina(StatusDisciplina.CONCLUIDA);
}else if(calculaMediaFinal() < 4){
setStatusDisciplina(StatusDisciplina.CONCLUIDA);
}
}
@Override
public String toString() {
if(listaNotas.size() == 0){
return "DISCIPLINA: " + nome + " PERIODO: " + periodo + " -> " + "NOTA 1: - " + " NOTA 2: - " + " - MEDIA: " + calculaMediaParcial();
}else if(listaNotas.size() == 1){
return "DISCIPLINA: " + nome + " PERIODO: " + periodo + " -> " + "NOTA 1: " + getNota(1) + " - NOTA 2: - " + " - MEDIA: " + calculaMediaParcial();
}else{
return "DISCIPLINA: " + nome + " PERIODO: " + periodo + " -> " + "NOTA 1: " + getNota(1) + " - NOTA 2: " + getNota(2) + " - MEDIA: " + calculaMediaFinal();
}
}
}