为多项选择问题制作随机选项。(MCQ)

时间:2014-10-14 10:22:55

标签: javascript c# random logic random-sample

我正在尝试创建一个程序,它将为给定的排队创建4个随机选项,其中一个将是正确的答案。假设排队是两个数字的加法,那么应该根据正确的答案生成选项。

例如:假设问题是5 + 3 =?,这里正确的答案是8.现在基于这个程序应该生成一个选项,其中一个必然是一个有效的答案。每次将查询提交给用户时,都应随机生成选项。

Following are the different probablities for the optins for 5+8:

Probability 1:
a. 5                 b. 8
c. 4                 d. 10

Probability 2:
a. None of the above b. 7
c. 8                 d. 11

Probability 3:
a. 12                b. 9
c. 5                 d. None of the above

Probability 4:
a. 7                 b. 5
c. None of the above d. All of the above

Probability 5:
a. 8                 b. 7
c. None of the above d. All of the above

Now if suppose question is of type: 72 is divisible by___?
Then the probabilities can be:

Probability 6:
a. 8                 b. 6
c. None of the above d. All of the above

现在我想根据上述概率随机生成这些选项,而且错误的选项应该接近原始答案。 实现这一目标的最佳方法是什么。我不是在考虑完整的解决方案,而只是解决这个问题的方法。 任何帮助都会得到很大的帮助。

1 个答案:

答案 0 :(得分:0)

  1. 最重要的是,您应该能够评估给定的问题并以编程方式生成正确的答案。

  2. 得到答案后,检查它是字符串还是数字。如果是数字,请检查它是整数还是浮点数。

  3. 如果答案是字符串,除了更改字符外,您无法提供有意义的错误选项。

  4. 如果你得到整数,你可以从正确答案中加/减[1,5]。您可以设置0.3或0.2的比率来生成"以上都不是"。 "以上所有"只有当你得到答案清单时才会出现选项。

  5. 如果您获得浮点数作为答案,那么根据该数字的精确度,您可以按照步骤4.如果您得到4.567作为答案,则选项应为4.565 / 4.569 / 4.566左右。

  6. 我希望上面对你有帮助。但我认为,最棘手的部分是通过阅读问题来评估答案。