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

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 mensagem

Voltar para “ALGORITMOS E IMPLEMENTAÇÕES”