Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm “简单的排序方法”;投标书;400名学生?_Algorithm_Sorting_Google Apps Script_Google Apps For Education - Fatal编程技术网

Algorithm “简单的排序方法”;投标书;400名学生?

Algorithm “简单的排序方法”;投标书;400名学生?,algorithm,sorting,google-apps-script,google-apps-for-education,Algorithm,Sorting,Google Apps Script,Google Apps For Education,我是一名高中老师,在学生分类问题上需要帮助 每6周,学生将收到100个“代币”,用于竞标约30个不同的项目 他们通过一个谷歌表单出价,该表单要求他们根据兴趣“消费”代币 这将生成一个Google工作表,其中有30列(每个项目1列)和373行(每个学生一行) 我需要自动排序这张表,这样我就有了一个新的表,其中有分配给每个项目的学生 目标: 最大数量的学生被安排在他们的顶级“投标”项目中 任何项目中的学生不超过25人 被划分为“一级”的学生只分配到一个项目,而被划分为“二级”的学生则在两个项目的

我是一名高中老师,在学生分类问题上需要帮助

  • 每6周,学生将收到100个“代币”,用于竞标约30个不同的项目
  • 他们通过一个谷歌表单出价,该表单要求他们根据兴趣“消费”代币
  • 这将生成一个Google工作表,其中有30列(每个项目1列)和373行(每个学生一行)
我需要自动排序这张表,这样我就有了一个新的表,其中有分配给每个项目的学生

目标:

  • 最大数量的学生被安排在他们的顶级“投标”项目中
  • 任何项目中的学生不超过25人
  • 被划分为“一级”的学生只分配到一个项目,而被划分为“二级”的学生则在两个项目的名册上。此级别连接到随表单提交的电子邮件
  • 任何出价超过最大100个代币的学生都会被随机分配到项目中的一个开放点
  • 项目名册平均分为5个“小时”,没有学生冲突。例如,如果“科学项目”和“数学项目”名册上没有相同的学生,那么他们可以同时参加。如果他们有相同的学生,他们将在不同的时间
  • 在发生冲突的情况下,学生将获得下一个最高出价。在没有下一个最高出价的冲突情况下,学生被分配一个随机项目,该项目有一个点。
    • 例1:26名学生在一个项目上投标100个代币。26个项目中的1个被放置在随机项目中
    • 例2:24名学生在一个项目上投标100个代币。5名学生在同一个项目上投标99枚代币。5个项目中有4个被分配到他们投标1个令牌的项目,如果这足以让他们“合格”。如果不合格,他们被随机分配到其他项目
  • 我可以用各种谷歌表格公式手动排序,但大约需要3个小时。有人给了我一个报价,说我需要一个工具来实现自动化,但这超出了我的价格范围。一位朋友建议我在这里发帖。有人愿意接受吗?不要求施舍。我还可以分享一份谷歌表格和示例数据


    编辑:删除学生信息后使用的流程。一个挑战是,当我删除学生信息时,我在其中填入了“student1”等。但在每张表格中,“student1”不是同一个学生,因此跟踪起来有点困难。这就解释了我的过程。如果你有问题或想法,请告诉我

    如果您还可以与表单(可能是一张旧的表单,您已经应用了所需的公式以获得所需的输出)一起共享该表单,则会有所帮助。就个人而言,我希望能够在这个项目上提供帮助(我的兴趣达到顶峰):)请分享一份表格和表格的副本。当然,删除任何私人/个人信息。嗯,这是一个有趣的项目,我想,没有简单的解决方案。在一般情况下,我可能会首先让所有学生出价最高(从该项目出价最高的学生开始),如果满了,在下一个项目中,如果满了,或者在下一个项目中有时间冲突等等。随机分配应该在最后完成。但在很多情况下,这种方法可能效果不太好,因为学生一次只能选择一到两种活动,所以还有另一种可能的解决方法。预先将项目分为小时,并让项目在小时下有多项选择答案。项目已满时,使用脚本从选项列表中删除项目。(我认为还有一个附加功能)。由于这将优先考虑先到先得的服务,当你通过电子邮件向学生发送报名表时,学生可以使用当年的代币进行竞标。哇,非常感谢大家的回复!我在删除学生信息的情况下使用的过程。一个挑战是,当我删除学生信息时,我在其中填入了“student1”等。但在每张表格中,“student1”不是同一个学生,因此跟踪起来有点困难。这就解释了我的过程。如果你有问题或想法,请告诉我!如果您还可以与表单(可能是一张旧的表单,您已经应用了所需的公式以获得所需的输出)一起共享该表单,则会有所帮助。就个人而言,我希望能够在这个项目上提供帮助(我的兴趣达到顶峰):)请分享一份表格和表格的副本。当然,删除任何私人/个人信息。嗯,这是一个有趣的项目,我想,没有简单的解决方案。在一般情况下,我可能会首先让所有学生出价最高(从该项目出价最高的学生开始),如果满了,在下一个项目中,如果满了,或者在下一个项目中有时间冲突等等。随机分配应该在最后完成。但在很多情况下,这种方法可能效果不太好,因为学生一次只能选择一到两种活动,所以还有另一种可能的解决方法。预先将项目分为小时,并让项目在小时下有多项选择答案。项目已满时,使用脚本从选项列表中删除项目。(我认为还有一个附加功能)。由于这将优先考虑先到先得的服务,当你通过电子邮件向学生发送报名表时,学生可以使用当年的代币进行竞标。哇,非常感谢大家的回复!我在删除学生信息的情况下使用的过程。一个挑战是,当我删除学生信息时,我在其中填入了“student1”等。但在每张表格中,“student1”不是同一个学生,因此跟踪起来有点困难。这就解释了我的过程。如果你有问题或想法,请告诉我!