-
Notifications
You must be signed in to change notification settings - Fork 0
/
PI_CheckPoint_3.js
85 lines (78 loc) · 2.41 KB
/
PI_CheckPoint_3.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
function Aluno(nome, qntFaltas, notas) {
this.nome = nome;
this.qntFaltas = qntFaltas;
this.notas = notas;
this.calculaMedia = function () {
let soma = 0;
for (let i = 0; i < this.notas.length; i++) {
soma = soma + this.notas[i];
}
const media = soma / this.notas.length;
return media;
};
this.faltas = function () {
this.qntFaltas += 1;
return this.qntFaltas;
};
}
let aluno1 = new Aluno("carlos", 3, [9, 5, 6, 4]);
let aluno2 = new Aluno("dani", 2, [9, 2, 8, 4]);
let aluno3 = new Aluno("helter", 1, [5, 5, 8, 10]);
let aluno4 = new Aluno("marcio", 0, [6, 6, 0, 3]);
let aluno5 = new Aluno("guilherme", 7, [8, 5, 6, 8]);
console.log(aluno1.calculaMedia());
console.log(aluno1.faltas());
let listaAlunos = [aluno1, aluno2, aluno3, aluno4, aluno5];
let curso = {
nomeCurso: "",
notaAprovacao: 7,
faltasMax: 5,
listaAlunos: listaAlunos,
novoAluno(nome, qntFaltas, notas) {
let aluno = new Aluno(nome, qntFaltas, notas);
this.listaAlunos.push(aluno);
},
consultaAluno(nome) {
for (let i = 0; i < this.listaAlunos.length; i++) {
const aluno = this.listaAlunos[i];
if (aluno.nome === nome) {
return aluno;
}
}
},
resultado(nome) {
let aluno = this.consultaAluno(nome);
let media = aluno.calculaMedia();
let resultadoAluno = false;
if (media >= this.notaAprovacao && aluno.qntFaltas < this.faltasMax) {
console.log(`O(A) Aluno(a) ${aluno.nome} foi Aprovado(a)!`);
resultadoAluno = true;
} else if (
aluno.qntFaltas === this.faltasMax &&
media > this.notaAprovacao * 1.1
) {
console.log(
`${aluno.nome} esta com a media ${media} e ${aluno.qntFaltas} faltas.
Aluno(a) Aprovado(a)! Apesar de ter atingido o número máximo de faltas de ${
this.faltasMaximas
}
pois sua nota foi ${media / this.notaDeAprovacao}% acima da média!`
);
resultadoAluno = true;
} else {
console.log(`O(a) ${aluno.nome} foi reprovado(a).`);
}
return resultadoAluno;
},
listaAprovados() {
const listaAprovados = [];
for (let i = 0; i < this.listaAlunos.length; i++) {
const aluno = this.listaAlunos[i];
const situacaoFinal = this.resultado(aluno.nome);
listaAprovados.push(situacaoFinal);
}
return listaAprovados;
},
};
curso.novoAluno("daniela", 4, [5, 9, 9, 9]);
console.log(curso.listaAprovados());