Alguém consegue fazer?

10 respostas
só-o-enunciado
Erinaldo_Nascimento
 ArrayList alunos (Uma lista para armazenar todos os alunos que fazem

determinada disciplina).

 ArrayList notas (Uma lista para armazenar as notas dos alunos na disciplina. Essa lista deverá ter sempre o mesmo tamanho da lista alunos e o valor de

notas.get(i) corresponde ao valor da nota do aluno na posição alunos.get(i)).

 ArrayList frequencias (Uma lista para armazenar as frequências

dos alunos na disciplina. Essa lista deverá ter sempre o mesmo tamanho da lista alunos

e, portanto, o valor de frequencia.get(i) corresponde à frequencia do aluno na

posição alunos.get(i)).

 Disciplina(String nome, int periodo, int numAulasSemana,

int numSemanas) (Um construtor que permita criar uma disciplina com nome, período e número de aulas especificados. O valor do inteiro numSemanas refere-se ao número de semanas que acontecerão as aulas e, portanto,

numTotalAulas = numAulasSemana*numSemanas

Nesse construtor deve-se construir o objeto alunos, o objeto notas, o objeto frequencias

e armazenar no atributo professor o valor null, indicando que a disciplina ainda não

tem professor).

 Disciplina(String nome, int periodo, int numAulasSemana,

int numSemanas, Professor professor) (Um construtor que permita criar

uma disciplina com nome, período, número de aulas e o professor responsável. Nesse construtor deve-se construir o objeto alunos, notas e frequencia. O valor do atributo

numTotalAulas também deve ser configurado adequadamente, conforme descrito na

descrição do construtor anterior).

 matricularAluno(Aluno aluno):boolean (Um método que permita matricular um aluno na disciplina. Ao matricular aluno deve-se registrar uma posição em notas

e em frequencias iguais a zero, isto é, adicionar em notas e em frequencias o

valor zero. O método retorna true se o aluno foi matriculado e false, caso contrário.

Não poderão ser matriculados alunos com o mesmo valor de ra).

2

 desmatricularAluno(int posAluno):boolean (Um método que permite desmatricular um aluno. Este método deve receber como parâmetro a posição do aluno na lista

(posAluno) a ser removido. Consulte na documentação da classe ArrayList um método que permita remover objetos do ArrayList. Você também deverá remover a nota

do aluno na lista de notas e sua frequência na lista de frequência, caso contrário, ambas

ficarão inconsistente. O método retorna true se o aluno foi desmatriculado e false,

caso contrário).

 setProfessor(Professor professor):void (Um método que aloca à disciplina a um professor.).

 removerProfessor():void (Um método que remove um professor da disciplina.

Uma disciplina não possui professor se o atributo professor é null).

 getNumeroAlunos():int (Um método que permite retornar o número de alunos

matriculados na disciplina).

 addNota(int posAluno, double nota):boolean (Um método que permite

configurar para o aluno na posição posAluno a sua nota (nota) na disciplina. Retorne

verdadeiro ou falso se isso for possível. O valor para nota deve estar no intervalo [0,10]).

 addFrequencia(int posAluno, int frequenciaTotal):boolean (Um

método que permite configurar para o aluno na posição posAluno da lista, a sua frequência total na disciplina. Retorne verdadeiro ou falso se isso for possível. O valor de frequenciaTotal

deve estar no intervalo [0,numTotalAulas]).

 estaAprovado(int posAluno):boolean (Um método que permite verificar se

o aluno na posição posAluno da lista está ou não aprovado na disciplina. O método

retorna true se aprovado e false, caso contrário. Um aluno aprovado possui nota maior

OU igual a 6 e frequência maior ou igual a 75%).

 exibirReprovados():void (Um método que permite exibir todos os alunos aprovados na disciplina. Se não houverem alunos reprovados, então deve-se imprimir Não

 alunos reprovados.. Se não houver alunos matriculados na disciplina imprimir Disciplina não possui alunos matriculados).

 exibirAprovados():void (Um método que permite exibir todos os alunos aprovados. Se não houverem alunos aprovados, então deve-se imprimir Não  alunos

aprovados.. Se não houver alunos matriculados na disciplina imprimir Disciplina

não possui alunos matriculados).

 calcularMedia():double (Um método que retorna a média das notas de todos os

alunos matriculados na disciplina. Esse valor é a média total da turma).

 exibirMaiorNota():void (Mostra as informações do aluno com a maior nota na

disciplina).

 exibirMenorNota():void (Mostra as informações do aluno com a menor nota na

disciplina).

 getQuantidadeReprovados():int (Método que retorna um inteiro que corresponde à quantidade de alunos reprovados.).

 getQuantidadeAprovados():int (Método que retorna um inteiro que corresponde à quantidade de alunos aprovados.).

3

 exibirProfessor():void (Método para mostrar as informações do professor responsável pela disciplina. Se a disciplina não houver um professor então deve-se exibir

Disciplina não possui professor).

 getAproveitamentoAluno(int posAluno):double (Método que retorna o

aproveitamento de um aluno na posição posAluno da lista. O aproveitamento do aluno

é determinado a partir da sua frequência total. Um aluno que nunca faltou tem aproveitamento de 100% e um aluno que faltou metade do número total de aulas tem aproveitamento

de 50%. Nesses casos o método retorna os valores 100 e 50, respectivamente).

 getNotaAluno(int posAluno):double (Método que retorna a nota de um aluno

na posição posAluno da lista.).

 exibirAlunosAcimaMedia():void (Método para exibir todos os alunos acima

da média total da turma. Por exemplo, se a média for 7.2, então todos os alunos com nota

maior OU igual a 7.2 devem ser exibidos. Se não houver alunos matriculados na disciplina

imprimir Disciplina não possui alunos matriculados).

 exibirAlunosAbaixoMedia():void (Método para exibir todos os alunos abaixo

da média total da turma. Se não houver alunos matriculados na disciplina imprimir Disciplina

não possui alunos matriculados).

 exibirAlunoNotaAproveitamento():void (Método para exibir apenas o nome

dos alunos, suas respectivas notas e aproveitamento na disciplina. Se não houver alunos matriculados na disciplina imprimir Disciplina não possui alunos matriculados).

 desmatricularAlunos():void (Um método que permite desmatricular todos os

alunos matriculados na disciplina).

 exibirOrdenadosPorNota():void (Um método para exibir apenas o nome dos

alunos e suas respectivas notas. A exibição deverá ser feita de forma decrescente as nota, isto

é, o aluno com a maior nota deverá ser o primeiro a ser exibido, seguido do aluno com a segunda maior nota e assim até o aluno com a menor nota. Se não houver alunos matriculados

na disciplina imprimir Disciplina não possui alunos matriculados).

 exibirDisciplina():void (Um método para exibir todas as informações da disciplina. Deverá ser exibido as informações do professor e dos alunos, a nota e a frequência

de cada aluno na disciplina. Imprimir a média total da turma, a quantidade de alunos a

quantidade de alunos reprovados e aprovados. Quando não houver alunos matriculados

imprimir apenas Disciplina não possui alunos matriculados).

No pacote ifsuldeminas.main deve-se implementar a classe Main e fazer as seguintes

simulações:

1 Crie um objeto que represente uma disciplina do primeiro período. Configure o nome, o

número de aulas na semana e o período da disciplina;

2 Crie 10 objetos Aluno do primeiro período;

3 Matricule todos os 10 objetos Aluno no objeto disciplina do passo 1;

4 Configure para cada objeto aluno uma nota e uma frequencia total;

5 Crie um objeto para representar um professor;

4

6 Aloque o professor ao objeto disciplina criado no passo 1.

7 Crie um objeto da classe Scanner que permita fazer leitura de dados do teclado;

8 Armazene em uma variável opcao um valor inteiro fornecido pelo teclado;

9 Enquanto opcao for diferente de zero. Permita que:

 opcao == 1: Imprimir informações da disciplina;

 opcao == 2: Apresentar número de alunos na disciplina, número de reprovados e

número de aprovados;

 opcao == 3: Imprimir aprovados;

 opcao == 4: Imprimir reprovados;

 opcao == 5: Imprimir aluno com a maior e o aluno com menor nota;

 opcao == 6: Imprimir o professor responsável;

 opcao == 7: Imprimir média total da turma e listar todos os alunos acima da média;

 opcao == 8: Imprimir média total da turma e listar todos os alunos abaixo da

média;

 opcao == 9: Imprimir nome dos alunos e suas respectivas notas e aproveitamento;

 opcao == 10: Imprimir alunos ordenados por nota.

 opcao == 11: Matricular aluno. Deve-se ler o nome, registro acadêmico e curso

do aluno usando o objeto Scanner. Como a disciplina é uma disciplina do primeiro

período, assume-se que o aluno é do primeiro período e, portanto, não  necessidades

de ler seu período. Em seguida deve-se criar o objeto que represente o aluno e então

matriculá-lo na disciplina; depois deve-se ler a nota e a frequência total do aluno na

disciplina, esses valores deverão ser corretamente registrados para o aluno. Solicite ao

usuário um valor válido a ser informado. Por exemplo: o registro acadêmico deve estar no intervalo [0, 9999], a nota deve estar no intervalo [0,10] e frequencia total não

pode ser maior que o número total de aulas da disciplina. Apresente para o usuário se

o aluno foi ou não matriculado com sucesso. Perceba que se o registro acadêmico fornecido pelo usuário for igual ao de um aluno  matriculado, então deverá ser exibido

para o usuário que o aluno não foi matriculado, pois seu RA é semelhante ao de um

aluno matriculado na disciplina.

10 Quando opcao for igual a zero, desmatricular todos os alunos, remover o professor da

disciplina e finalizar a execução do programa.

10 Respostas

Lucas_Camara

Eu consigo.

Em qual parte vc está com dificuldades?

Erinaldo_Nascimento

Rapaz, onde começa 1- crie um objeto que represente a disciplina até o 10.

Lucas_Camara

Posta ai o que tu jah fez, e onde vc está com dificuldades.

Erinaldo_Nascimento

public class Main{

public static void main(String[]args) {

Aluno alu1= new Aluno("José", 1240, "Informatica");
Professor professor= new professor( "Erinaldo", 1995);
Disciplina disciplina=new disciplina("Matemática" 3, 30, 5,professor);

}

Lucas_Camara

E o que vc não está conseguindo fazer?

Erinaldo_Nascimento

do 1 ao 10

Erinaldo_Nascimento
1 Crie um objeto que represente uma disciplina do primeiro período. Configure o nome, o

número de aulas na semana e o período da disciplina;

2 Crie 10 objetos Aluno do primeiro período;

3 Matricule todos os 10 objetos Aluno no objeto disciplina do passo 1;

4 Configure para cada objeto aluno uma nota e uma frequencia total;

5 Crie um objeto para representar um professor;

4

6 Aloque o professor ao objeto disciplina criado no passo 1.

7 Crie um objeto da classe Scanner que permita fazer leitura de dados do teclado;

8 Armazene em uma variável opcao um valor inteiro fornecido pelo teclado;

9 Enquanto opcao for diferente de zero. Permita que:

 opcao == 1: Imprimir informações da disciplina;

 opcao == 2: Apresentar número de alunos na disciplina, número de reprovados e

número de aprovados;

 opcao == 3: Imprimir aprovados;

 opcao == 4: Imprimir reprovados;

 opcao == 5: Imprimir aluno com a maior e o aluno com menor nota;

 opcao == 6: Imprimir o professor responsável;

 opcao == 7: Imprimir média total da turma e listar todos os alunos acima da média;

 opcao == 8: Imprimir média total da turma e listar todos os alunos abaixo da

média;

 opcao == 9: Imprimir nome dos alunos e suas respectivas notas e aproveitamento;

 opcao == 10: Imprimir alunos ordenados por nota.

 opcao == 11: Matricular aluno. Deve-se ler o nome, registro acadêmico e curso

do aluno usando o objeto Scanner. Como a disciplina é uma disciplina do primeiro

período, assume-se que o aluno é do primeiro período e, portanto, não  necessidades

de ler seu período. Em seguida deve-se criar o objeto que represente o aluno e então

matriculá-lo na disciplina; depois deve-se ler a nota e a frequência total do aluno na

disciplina, esses valores deverão ser corretamente registrados para o aluno. Solicite ao

usuário um valor válido a ser informado. Por exemplo: o registro acadêmico deve estar no intervalo [0, 9999], a nota deve estar no intervalo [0,10] e frequencia total não

pode ser maior que o número total de aulas da disciplina. Apresente para o usuário se

o aluno foi ou não matriculado com sucesso. Perceba que se o registro acadêmico fornecido pelo usuário for igual ao de um aluno  matriculado, então deverá ser exibido

para o usuário que o aluno não foi matriculado, pois seu RA é semelhante ao de um

aluno matriculado na disciplina.

10 Quando opcao for igual a zero, desmatricular todos os alunos, remover o professor da

disciplina e finalizar a execução do programa.

[/quote]
Fefo80

Eu também consigo. :stuck_out_tongue:

@Erinaldo_Nascimento por gentileza, me esclarece o que você espera desse fórum, sobre seu 1 ao 10?

Zeca_Peteca

Eu também :sunglasses:

Mano, sinceramente, você espera o código pronto? Não fazemos isso aqui.
Se você olha pra esse enunciado e não consegue pensar em nada, absolutamente nada, então eu acho que vc deveria deixar isso de lado e ir treinar sua lógica com algo mais simples, muito mais simples.

Fefo80

*lógica de programação (que é a base para etapas mais avançadas em programação), só pra deixar claro :sweat_smile:

Se quiser, podemos indicar uns vídeos.

Criado 30 de agosto de 2021
Ultima resposta 31 de ago. de 2021
Respostas 10
Participantes 4