设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2286|回复: 3
打印 上一主题 下一主题

[讨论] 咿咿...求制作《数学题系统》显示带数学符号的题目的思路

[复制链接]

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
跳转到指定楼层
1
发表于 2015-4-25 14:11:06 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 正太君 于 2015-4-26 09:14 编辑

咿咿...最近聪聪有一个想法呢,那就是做一个《数学题系统》,里面预存各种各样的数学题(以某个module下的常数存储)
RUBY 代码复制
  1. module Chuyi
  2.   TIMU ={}
  3. end
  4. module Chuer
  5.   TIMU ={}
  6. end
  7. module Chusan
  8.   TIMU = {
  9.     0 => ["已知函数f(x)=(√(1-(cosx)^2+x^2)/2,那么当x=1时的函数值是______", "(√2)/2"]
  10.     1 => ["......","......"]
  11.     2 => ["......","......"]
  12.     ......
  13.   }
  14. end

然后系统会随机抽题,答对就有奖励,用以激发学习兴趣...但是现在无法解决公式的显示问题咿咿,请大家帮忙想想办法...
这里引入三个名词:显示语言、输入语言、脚本语言
【输入语言】:输入到TIMU中使用的语言,不同的输入方式会影响到显示语言的显示,比如√a和a^(1/2)是有区别的,前一个显示根号,后一个显示1/2为指数...
【显示语言】:完全数学公式化后显示给玩家看的最终效果的语言...
【脚本语言】:系统读的语言,无需再次翻译就可以直接进行脚本运算...
语言写法比较
输入语言“已知函数f(x)=(√(1-(cosx)^2+x^2)/2,那么当x=1时的函数值是______"
显示语言
脚本语言f =(Math.sqrt(1-(Math.cos(x))**2)+x**2)/2

现在难点就在于怎么把【输入语言】翻译成【显示语言】,求大神指点迷津...
显示根号和分数线估计是必须用到图形绘制、然后还要计算翻译之后公式的高度和宽度,调整显示语言的行间距,公式前后的文字间距...

把【输入语言】翻译成【脚本语言】相对容易,暂时不问这个...
把【显示语言】翻译成【脚本语言】是判断填空题答案正确性的一种方法,但是难上加难,所以暂时不奢求这个...

点评

写了一个小时回帖,可以看看了  发表于 2015-4-27 19:16

评分

参与人数 1星屑 +30 收起 理由
恐惧剑刃 + 30 .

查看全部评分

聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 15:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表