Você foi contratado para desenvolver em PHP o sistema de controle de alunos do
CEDERJ. Utilizando o paradigma de orientação a objetos, você mapeou as seguintes
classes: Aluno, Disciplina e TurmasDisciplina. A dinâmica é a seguinte: os
alunos se inscrevem nas disciplinas e o sistema deve informar quantas turmas serão
necessárias e quais os alunos inscritos em cada uma delas. O número de turmas
depende do número máximo de alunos por turma (nmax). Portanto, se o número de
inscrições passar o número máximo de alunos por turma, o sistema deve abrir uma nova
turma e assim por diante até que todos os alunos estejam em uma turma.
Os alunos são organizados por turma por ordem de CR (Coeficiente de Rendimento -
média ponderada de todas as disciplinas cursadas). Assim, os alunos com os nmax
maiores CRs são alocados na primeira turma e assim por diante. Ao final, garante-se que
todos os alunos são alocados em uma turma da disciplina. Não há limite máximo para o
número de turmas.
A listagem abaixo mostra os atributos das classes, o código usado para instanciar as
classes e testar a lógica da programação. Ao final, espera-se que seja exibido na tela o
número de turmas e a lista, por turma, de nomes de alunos e respectivos CRs. Pede-se
para apresentar a implementação completa, levando em conta que a listagem abaixo
pode omitir alguns métodos e atributos, que devem ser parte da resposta.
class Aluno {
private $nome, $cr;
public $getNome();
public inscreveDisciplina($disciplina);
...
class Disciplina {
private $alunosInscritos = array();
private $nomeDisciplina;
public getAlunosInscritos();
...
class TurmasDisciplina {
private $turmas = array(); // array de arrays de turmas
private $nmax;
public imprimeTurmas();
public calculaTurmas($disciplina);
...
$aluno1 = new Aluno ("João", 8.5);
$aluno2 = new Aluno ("Ana", 9.0);
$aluno3 = new Aluno ("Maria", 9.5);
...
$disciplina1 = new Disciplina("PAW");
$turmasDisciplina = new TurmasDisciplina(2); // $nmax = 2
$aluno1->inscreveDisciplina($disciplina1);
$aluno2->inscreveDisciplina($disciplina1);
$aluno3->inscreveDisciplina($disciplina1);
$turmasDisciplina->calculaTurmas($disciplina1);
$turmasDisciplina->imprimeTurmas();
// Imprime na tela o número de turmas e as listas de alunos com
respectivos CRs.
Olá, Comunidade!
Vocês devem ter notado que o site ficou um período fora do ar (do dia 26 até o dia 30 de maio de 2024).
Consegui recuperar tudo, e ainda fiz um UPGRADE no servidor! Agora estamos em um servidor dedicado no BRASIL!
Isso vai fazer com que o acesso fique mais rápido (espero )
Já arrumei os principais bugs que aparecem em uma atualização!
Mas, se você encontrar alguma coisa diferente, que não funciona direito, me envie uma MP avisando que eu arranjo um tempo pra arrumar!
Vamos crescer essa comunidade juntos
Grande abraço a todos,
Prof. Caju
Vocês devem ter notado que o site ficou um período fora do ar (do dia 26 até o dia 30 de maio de 2024).
Consegui recuperar tudo, e ainda fiz um UPGRADE no servidor! Agora estamos em um servidor dedicado no BRASIL!
Isso vai fazer com que o acesso fique mais rápido (espero )
Já arrumei os principais bugs que aparecem em uma atualização!
Mas, se você encontrar alguma coisa diferente, que não funciona direito, me envie uma MP avisando que eu arranjo um tempo pra arrumar!
Vamos crescer essa comunidade juntos
Grande abraço a todos,
Prof. Caju
ALGORITMOS E IMPLEMENTAÇÕES ⇒ Linguagem PHP
Moderador: [ Moderadores TTB ]
-
- Tópicos Semelhantes
- Respostas
- Exibições
- Última mensagem
-
- 3 Respostas
- 2123 Exibições
-
Última mensagem por Brunoranery
-
- 9 Respostas
- 5299 Exibições
-
Última mensagem por Catador