首页 文章

需要帮助使用考试评分算法,使用基于所用问题的加权等级和困难[关闭]

提问于
浏览
-2

我目前正在创建一个用于创建和参加考试的程序集 . 我正在为我的一个客户创建这个,该客户经营一所技术学院,并希望他们的老师拥有标准化的测试环境,同时还减少了等级测试所需的工作时间等 .

我遇到的问题是我在数学上没有一点倾向 . 我想让我的程序足够动态,根据问题的数量(比如10~300个问题),问题类型和难度等级自动计算总分(1-5,1很容易,5个是挑战) - 但不能为我的生活找出一个公式来做这个计算 . 主要的是,无论问题的数量如何,所有测试都将标准化为总得分为500分 . 根据我的理解,这与认证考试的工作方式非常相似 .

如果有人可以帮我解决这个问题,即使是公式也会有很大帮助 .


更多细节:

  • 问题将根据难度等级加权 . 较高难度的问题应该得到更高的分数 . 例如,难度等级1的值将是难度为5的1/5,依此类推 .

  • 由于无法弄清楚这个问题的公式,我无法开始任何编码,只有视觉设计和布局,这对我来说不是问题 .

  • 我对该公式的最初想法是,基本公式将计算每个难度中每个问题的平均(Da)分数(D),然后将其除以总可能分数(500),然后将每个难度的分数相加一起分类并与可能的总分进行比较 .

pseudo code example: $score= for each difficulty(d1~d5), calculate (sum(D#)/Da)/500)+previous D#

问题是我的数学真的太糟糕了,我的公式并没有将问题和困难的x分数除以500 .

2 回答

  • 1

    根据您的问题中提供的少量信息,有一种天真的方式可以(或不适合)满足您的需求:

    一个简单的问题值得1分,一个具有挑战性的问题5,一个中等3等等 . 让我们说你想要一个有10个问题的测试:

    2 - 具有挑战性(2 * 5 = 10分)

    5 - 中等(5 * 3 = 15分)

    3 - 轻松(3 * 1 = 3分)

    积分总数为28.将500乘以28得到17.85 .

    如果一个学生说得对,可以说1个具有挑战性,3个中等和2个容易,他的分数将是5 9 2 = 16 .

    16 * 17.85得分基于总分500:285.6

    对于更多(或更少)问题,您只需要执行相同的过程,将总分(500)除以测试中的总分数,然后将其相乘以获得实际结果 .

    希望有所帮助 .

  • 0

    @Lucas Corsaletti的回答是正确的,但我想就如何达到它提供一个略微不同的观点 . 您正在设置一个具有一些最高分的测试 . 可以通过对所有问题的积分求和来计算该最大分数 . 每个参加考试的学生都会得到一些分数 . 因此,学生的表现如何,或者他们在考试中得到的百分比得分是:得分/ max_score . 您希望以0到500的等级呈现此分数,即您正在寻找值x使得得分/ max_score = x / 500.简单地乘以500得分* 500 / max_score = x,这是什么你想要计算 .

相关问题