ALGORITMOS E IMPLEMENTAÇÕESLinguagem PHP

Implementação de equações dentro da computação, programação e algoritmos.

Moderador: [ Moderadores TTB ]

Autor do Tópico
Deleted User 25727
6 - Doutor
Última visita: 31-12-69
Set 2021 26 21:00

Linguagem PHP

Mensagem não lida por Deleted User 25727 »

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.




Responder
  • Tópicos Semelhantes
    Respostas
    Exibições
    Última msg

Voltar para “ALGORITMOS E IMPLEMENTAÇÕES”