Exercício:

Declare a classe Curso para gerenciar uma lista de alunos de uma disciplina. A classe faz o controle de notas e faltas e imprime o relatório final. A quantidade máxima de alunos na disciplina deve ser informada por parâmetro no construtor. O construtor também deve receber a média mínima e a quantidade máxima de faltas para aprovação.


A classe que representa o aluno não está definida, mas deve implementar a interface declarada abaixo:

public interface IntAluno
{
    String getName();  // Retorna o nome do aluno
    String getRA();    // Retorna o RA
    double getMedia(); // Retorna a média
    int getFaltas();   // Retorna a quantidade de faltas
    void print();      // Imprime todas as informações disponíveis sobre o aluno
}

Métodos adicionais na classe Curso:

public int find(string RA)
Procura na lista um aluno com o RA informado.
Retorna o índice do aluno ou -1 se não encontrar.

public boolean Add(IntAluno aluno)
Adiciona um novo aluno na lista.
Verificar se já existe um aluno com o mesmo RA. Caso exista, não incluir e retornar false.

public double getMedia(String RA)
Retorna a média das notas do aluno informado.
Se o aluno não existe retorna -1.

public boolean aprovado(String RA)
Verifica se aluno foi aprovado.
Para ser aprovado a média tem que ser maior ou igual à nota mínima
e a qtd de faltas não pode ser maior que o máximo.

public void printAll()
Imprime todos os alunos, informando a média,
faltas e resultado (aprovado ou reprovado).