1

我正在为 iOS 创建一个数学应用程序,其中包含儿童的简单任务。

我的目标是:将用户答案与特定任务中定义的答案进行比较。

例如:用户必须回答问题,例如 10 + 6 = 16、20 - 2 = 18 等...

但我也有用户必须通过几个步骤解决的任务。

例如:本走了 5 英里。第二天,他走了10英里。为了回家,他需要步行 20 英里。问题是——他需要步行多少英里才能回家?

所以接下来的解决方案是:

  1. 5 + 10 = 15
  2. 20 - 15 = 5

答案:5英里

好吧,我已经以 JSON 格式创建了所有任务,现在我可以根据字符串比较用户答案和正确答案。但现在我有一点问题。例如,如果我比较完整的字符串,这意味着我不允许用户移动组件。例如,用户可以创建下一个解决方案:

  1. 10 + 5 = 15 但他也可以创建另一个变体 5 + 10 = 15。
  2. 20 - 15 = 5

所以,如果我保留所有答案就没有问题,因为我会分析所有字符串,它会很完美。但我认为这是将所有答案保存在 JSON 中的糟糕解决方案(我的意思是所有变体答案)

但是,也许这只是一种解决方案。你怎么看?

4

2 回答 2

0

如果我们只是有数学问题,则可以即时验证答案。

使用 javascript 仔细检查用户输入是否与正确答案匹配

您可以使用它eval()来执行此操作

于 2012-09-13T15:06:24.770 回答
0

好的,所以您不想通过 JSON 格式传输太多数据。我建议使用方括号来确保操作顺序。评估答案以确保它是正确的。在服务器上,您可以运行一个脚本来删除数字并将它们放入某种数组列表中。然后检查正确答案中的所有数字是否都在用户提交的字符串中的数字中。如果你只做加法,那么你很好,但如果你引入新的操作,比如除法或模数,你需要使用括号通过扩展括号来评估每个操作。例如,你会得到像 10+(9+2) 这样的答案。首先评估 9+2 并确保括号中发生的所有操作都是正确的,然后评估该组括号中的答案以及外部的操作。大学教师' 不过,不要在手机上进行太多计算。祝你好运。

于 2012-09-13T15:18:07.993 回答