列「キャンパス」と「gpa」を含む学生の詳細でいっぱいのテーブルがあります。グループには、A と B の 2 種類があります。
グループ A は複雑なプロジェクト用で、グループ B は複雑でないプロジェクト用です。これらのプロジェクトは、「projectdetails」というテーブルで指定されます。
学生をキャンパス別に並べ替え、GPA に基づいてグループ (A または B) に割り当てる必要があります。1 グループにつき最大 5 人の学生が参加できます。
グループ A グループの数は、複雑なプロジェクトの数に基づいています。そのため、上位 x (x= 複雑なプロジェクトの n * 5 人の学生) の学生を A クラスのグループに選択し、ランダムにグループに割り当てる必要があります。残りの生徒は、ランダムに B グループに割り当てられます。
学生をグループに割り当てる関数の背後にあるロジックを実装する方法を理解するのに少し苦労しています。手を貸してくれる人はいますか?
これは私がそれがどのように機能するかを想像する方法です-しかし、私は提案を受け入れています...
Sort by campus
Sort by gpa
Put each campus in separate array
for each campus {
Get the number of complex projects
x = complex projects * 5
select top x students {
they are type a
randomly assign to group (Max number of groups = number of complex projects)
}
select students that aren't type a {
they are type b
randomly assign to group (Max number of groups = number of type b students / 5)
}
前もって感謝します!