-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSistemaAprovacaoFuncoes.java
More file actions
91 lines (67 loc) · 3.46 KB
/
SistemaAprovacaoFuncoes.java
File metadata and controls
91 lines (67 loc) · 3.46 KB
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
86
87
88
89
90
public class SistemaAprovacaoFuncoes {
// CONSTANTES DO SISTEMA
public static final double NOTA_APROVACAO = 7.0;
public static final double NOTA_RECUPERACAO = 5.0;
public static final double FREQUENCIA_MINIMA = 75.0;
// FUNÇÃO PRINCIPAL DO SISTEMA (PROCESSA A TURMA)
public static void processarTurma(String[] nomes, double[] medias, double[] frequencias) {
System.out.println("=== SISTEMA DE APROVAÇÃO - TURMA 2026 ===\n");
int totalAprovados = 0;
int totalRecuperacao = 0;
int totalReprovados = 0;
int totalMencoes = 0;
for (int i = 0; i < nomes.length; i++) {
String situacao = verificarSituacao(medias[i], frequencias[i]);
String desempenho = classificarDesempenho(medias[i]);
String mencao = obterMencaoHonrosa(medias[i], frequencias[i]);
if (situacao.equals("Aprovado")) totalAprovados++;
else if (situacao.equals("Recuperação")) totalRecuperacao++;
else if (situacao.startsWith("Reprovado")) totalReprovados++;
if (mencao.equals("Sim")) totalMencoes++;
System.out.println("Aluno " + (i + 1) + ": " + nomes[i]);
System.out.println(" Média: " + medias[i]);
System.out.println(" Frequência: " + frequencias[i] + "%");
System.out.println(" Desempenho: " + desempenho);
System.out.println(" Situação: " + situacao);
System.out.println(" Menção Honrosa: " + mencao + "\n");
}
System.out.println("=== RESUMO DA TURMA ===");
System.out.println("Total de alunos: " + nomes.length);
System.out.println("Aprovados: " + totalAprovados);
System.out.println("Recuperação: " + totalRecuperacao);
System.out.println("Reprovados: " + totalReprovados);
System.out.println("Menções Honrosas: " + totalMencoes);
}
// FUNÇÃO 1: Verifica a situação final do aluno
public static String verificarSituacao(double media, double frequencia) {
if (media < 0 || media > 10) return "Média inválida";
if (frequencia < 0 || frequencia > 100) return "Frequência inválida";
if (media >= NOTA_APROVACAO && frequencia >= FREQUENCIA_MINIMA) {
return "Aprovado";
} else if (media >= NOTA_RECUPERACAO && media < NOTA_APROVACAO && frequencia >= FREQUENCIA_MINIMA) {
return "Recuperação";
} else if (media < NOTA_RECUPERACAO || frequencia < FREQUENCIA_MINIMA) {
return (frequencia < FREQUENCIA_MINIMA) ? "Reprovado por frequência" : "Reprovado por nota";
}
return "Situação indefinida";
}
// FUNÇÃO 2: Classifica o desempenho do aluno
public static String classificarDesempenho(double media) {
return (media >= 9.0) ? "Excelente" :
(media >= 7.0) ? "Bom" :
(media >= 5.0) ? "Regular" : "Insuficiente";
}
// FUNÇÃO 3: Verifica menção honrosa
public static String obterMencaoHonrosa(double media, double frequencia) {
return (media >= 9.0 && frequencia == 100.0) ? "Sim" : "Não";
}
}
// MAIN
public class Main {
public static void main(String[] args) {
String[] nomes = {"João Silva", "Maria Santos", "Pedro Costa", "Ana Paula", "Carlos Mendes"};
double[] medias = {8.5, 6.0, 4.5, 9.5, 8.0};
double[] frequencias = {90, 80, 85, 100, 70};
SistemaAprovacaoFuncoes.processarTurma(nomes, medias, frequencias);
}
}