基于加减乘除的出题方法、及装置和计算机可读存储介质与流程

文档序号:15347050发布日期:2018-09-04 22:53阅读:160来源:国知局

本发明属于信息化数字教育领域,具体涉及一种基于加减乘除的出题方法、及装置和计算机可读存储介质。



背景技术:

伴随着计算机技术、移动设备的发展和网络时代的推进,人们的学习方法和方式已经悄然发生了变化,做练习题是学习过程中必不可少的一个重要环节。在互联网的题海里,出题者寻找合适难易程度的练习题和计算出正确答案都将花费较多的时间,对小学生而言,数学四则混合的口算运算题,口算是网上有很多的口算题,但基本都是遍历的方式,并且混合运算题较少(基本为固定题),导致出题者不能提取不同范围的混合运算题、口算题不能对结果进行限制校验。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的是提供一种基于加减乘除的出题方法、及装置和计算机可读存储介质。该方法及装置能够根据条件不同可灵活的调整配置规则并设置权重,展现不同复杂程度的加减乘除运算练习题,以满足用户的多重需要。

为达到以上目的,本发明采用的技术方案是:一种基于加减乘除的出题方法,包括以下步骤:

接收用户指令,根据用户指令获取相应的标准式;判断所述标准式是否含有二级嵌套子表达式;如果所述标准式没有二级嵌套子表达式,将所述标准式进行分割处理得到表达式因子;标记表达式因子的取值范围及权重;在取值范围内为各表达式因子随机赋值,所述赋值与用户指令匹配;计算结果,若结果在取值范围内,且所述取值范围和运算中间数匹配,则返回题目。

进一步,在所述接收用户指令,根据用户指令获取相应的标准式之前还包括:建立题库,所述题库中每种题型都建立有相应的标准式。

进一步,步骤(1)中,所述用户指令包括出题类型和出题难易程度。

进一步,步骤(3)中,所述如果所述标准式没有二级嵌套子表达式,将所述标准式进行分割处理得到表达式因子具体包括:如果所述标准式没有二级嵌套子表达式,根据预设符号将所述标准式分割为表达式和运算结果;将所述表达式根据预设符号进一步分割得到至少一个表达式条件和至少一个表达式结果,标记每个表达式结果的最大值、最小值、是否含有余数及权重;对所述表达式条件根据预设符号进一步分割,得到表达式因子。

更进一步,所述对所述表达式条件进一步分割,得到表达式因子还包括:若对所述表达式条件进一步分割得到的表达式中含有“{”,则将其与邻间的表达式用“@”与其合并,到“}”止,将组合后的表达式标记为表达式因子。

进一步,步骤(4)中,所述标记表达式因子的取值范围及权重具体包括:当所述表达式因子为加减乘除中的运算符时,标记运算符号及其权重;当所述表达式因子为“(”、“)”、“0”或“,”时,标记其最大值、最小值和权重。

更进一步,所述标记表达式因子的取值范围及权重还包括:

当表达式因子中含有“{”时,去掉表达式因子中的“{“,”}”,根据预设符号进一步分割,得到子表达式;

当所述子表达式包括加减乘除中的运算符时,标记运算符号及其权重;

当所述子表达式包括“(”、“)”、“0”或“,”时,标记其最大值、最小值和权重。

进一步,步骤(5)中,所述在取值范围内为各表达式因子随机赋值,所述赋值与用户指令匹配具体包括:若用户指令中出题难易程度为较难时,为表达式因子和权重取相应取值范围内的相匹配的值。

一种基于加减乘除的出题装置,所述出题装置包括依次电路连接的存储器、信息采集器、处理器,以及存储在所述存储器中并可在所述处理器上运行的计算器程序;所述信息采集模块用于收集用户输入指令;所述处理器执行所述计算机程序时实现如权利要求1-8任意任一所述方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能实现如权利要求1-8任一所述方法的步骤。

本发明的效果在于:采用本发明所述的方法及装置,可以根据条件不同可灵活的调整配置规则并设置权重,展现不同复杂程度的加减乘除运算练习题,以满足用户的多重需要。

附图说明

图1是本发明所述方法一实施例的流程示意图;

图2是本发明所述装置一实施例的结构示意图;

图3是本发明所述计算机可读存储介质一实施例的结构示意图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本发明保护的范围。

如图1所示,图1是本发明所述方法一实施例的流程示意图,一种基于加减乘除的出题方法,包括以下步骤:

步骤101:接收用户指令,根据用户指令获取相应的标准式。

首先建立题库,题库中每种题型都建立有相应的标准式。在一个具体的实施例中,当题型为乘法口诀时,其对应的标准式为:

[1~9]@[×]@[1~9]=[0~100];

当题型为整十数加、减整十时,其对应的标准式为:

[1~9]0@[+,-]@[1~9]0=[1~100];

当题型为乘加、乘减时,其对应的标准式为:

[2~9]@[×]@[2~9]@[+<80>,-<20>]@[10~99]=[0~100];

当题型为连加、连减和加减混合时,其对应的标准式为:

[1~100]@[+,-]@[1~20]@[+,-]@[1~100]=[1~100];

当题型为有余数的除法时,其对应的标准式为:

[10~89]@[÷]@[2~9]=[1~9]……[1-9];

当题型为整十、整百数乘一位数时,其对应的标准式为:

[1~9<60>,10~90<30>]0@[×]@[2~9]=[1000~10000]<30>||[1~1000]<70>;

当题型为双乘加、双乘减时,其对应的标准式为:

[2~9]@[×]@[2~9]@[+,-]@[2~9]@[×]@[2~9]=[0~60]<30>||[60~100]<70>;

当题型为加、减、乘、除混合时,其对应的标准式为:

[1~100]@[+,-]@[1~20]<30>||[2~10]@[*]@[2~20]<60>||[2~100]@[÷]@[1~9]<30>=[0~60]<30>||[60~100]<70>;

当题型为乘除混合与加减混合时,其对应的标准式为:

{[2~89]@[÷]@[1~9]<40>|[2~10]@[*]@[2~9]<70>}@[+,-]@{[2~89]@[÷]@[1~9]|[2~10]@[*]@[2~9]}=[1~50]<30>||[50-100]<70>;

当题型为带括号的混合运算时,其对应的标准式为:

[1~9]@[*]@([2~100]@[+<20>,-<70>]@[1~50])=[0~60]<30>||[60~100]<70>;

当题型为加减乘除混合运算时,其对应的标准式为:

{[2~89]0@[÷]@[1~9]<40>|[2~10]@[*]@[2~9]<70>}@[+<60>,-<30>]@[10~89]<30>||[1~9]@[*]@([2~100]@[+<20>,-<70>]@[1~50])<60>=[0~60]<30>||[60~100]<70>。

题库中包括多种题型,在本发明中不仅于上述实施例中的题型。关于标准式中的表达规则说明如下:

[1~9]:数据范围。详解:获取范围1到9的随机数。

@:分割符。详解:数与运算符之间的分割。

[+,-]:加减(乘除)混合运算。详解:随机获取运算符。

[1~9]……[1-9]:余数表达式。

[+<80>,-<20>]:加减(乘除)混合运算增加权重。详解:权重:即随机选择运算符后,随机选择100内的数据,如果小于权重,则选择的随机数生效,否则重新选择。

[1~9]0:整十的数据。详解:随机数据乘10。

[1~9<60>,10~90<30>]0:随机数据范围增加权重。详解:与运算符的权重一样

=[0~100]:校验结果。详解:答案的范围验证。

||:多个表达式混合含有相同的结果范围或多个结果混合,均可增加权重。

=[1000~10000]<30>||[1~1000]<70>:多个结果混合,可增加权重。

|,{,}:表达式中可含有多个子表达式,通过“|”进行混合,混合子表达式必需要用“{”“}”进行包围。

(,):运算法则里的括号。

需要说明的是,在标准式中的取值范围是可以改变的。举例来说,如[1~9]中的最小值为1,最大值为9,在其他实施例中,还可以为[1~10],又如[+<80>,-<20>]中,关于加法的权重为80,在其他实施例中也可以为70。同样的,标准式中的分割符是可以改变的。在一个具体的实施例中用“@”表示,在其他实施例中还可以用“#”表示,本发明在此不做限定。为了方便理解,在下文中都以上述标准式来说明。

接收用户指令,根据用户指令获取相应的标准式。其中用户指令包括出题类型和出题难易程度。在一个具体的实施例中出题难易程度可以划分为简单、适中及较难三个等级。在其他实施例中,出题难易程度也可以划分为等级,本发明在此不做限定。

具体的,当用户指令为加减乘除混合运算、较难时,获取其标准式为,{[2~89]0@[÷]@[1~9]<40>|[2~10]@[*]@[2~9]<70>}@[+<60>,-<30>]@[10~89]<30>||[1~9]@[*]@([2~100]@[+<20>,-<70>]@[1~50])<60>=[0~60]<30>||[6~10]0<70>。

步骤102:判断所述标准式是否含有二级嵌套子表达式。

判断所述标准式是否含有二级嵌套子表达式。具体的,判断标准式中是否有多于一种的嵌套子表达式。本实施例中无二级嵌套子表达式。

步骤103:如果所述标准式没有二级嵌套子表达式,将所述标准式进行分割处理得到表达式因子。

如果所述标准式没有二级嵌套子表达式,将所述标准式进行分割处理得到表达式因子具体包括:

首先如果所述标准式没有二级嵌套子表达式,根据预设符号将所述标准式分割为表达式和运算结果。

在一个具体的实施例中,预设符号为“=”,将标准式中“=”左边的标记为表达式,右边的标记为运算结果。即,表达式为

{[2~89]0@[÷]@[1~9]<40>|[2~10]@[*]@[2~9]<70>}@[+<60>,-<30>]@[10~89]<30>||[1~9]@[*]@([2~100]@[+<20>,-<70>]@[1~50])<60>,运算结果为[0~60]<30>||[6~10]0<70>。

然后,将所述表达式和运算结果根据预设符号进一步分割得到至少一个表达式条件和至少一个表达式结果,标记每个表达式结果的最大值、最小值、是否含有余数及权重。

在一个具体的实施例中,预设符号为“||”,将表达式和运算结果进一步分割得到至少一个表达式条件和至少一个表达式结果。标记每个表达式结果的最大值、最小值、是否含有余数及权重。根据标记的最大值、最小值能确定标准式结果的取值范围,配合不同取值范围的权重可以反向控制出题的难度,即通过限制计算结果来控制出题难易程度,具体的将在下文中详细说明。

即分割后得到,表达式条件1为

{[2~89]0@[÷]@[1~9]<40>|[2~10]@[*]@[2~9]<70>}@[+<60>,-<30>]@[10~89]<30>;表达式条件2为

[1~9]@[*]@([2~100]@[+<20>,-<70>]@[1~50])<60>;表达式结果1为[0~60]<30>,取值范围为0-60,权重为30;表达式结果2为[6~10]0<70>,取值范围为6-10,权重为70。

最后,对所述表达式条件根据预设符号进一步分割,得到表达式因子。在一个具体的实施例中,预设符号为“@”,表达式条件进一步分割。其中,当分割所得的表达式中含有“{”时,则将其与邻间的表达式用“@”与其合并,到“}”止,将组合后的表达式标记为表达式因子。将组合后剩下的分割部分标记也标记为表达式因子。

将表达式条件1进一步分割得到,“{[2~89]0”、“[1~9]<40>|[2~10]”、“[*]”、“[2~9]<70>}”、“[+<60>,-<30>]”、“[10~89]”,由于“{[2~89]0”中含有“{”,组合后得到表达式条件1的表达式因子为“{[2~89]0@[÷]@[1~9]<40>|[2~10]@[*]@[2~9]<70>}”、“[+<60>,-<30>]”及“[10~89]”。

步骤104:标记表达式因子的取值范围及权重。

具体的,当表达式因子包括加减乘除中的运算符时,标记运算符号及其权重;当表达式因子包括“(”、“)”、“0”或“,”时,标记其最大值、最小值和权重。

在其他实施例中,当表达式因子中含有“{”时,去掉表达式因子中的“{“,”}”,根据预设符号进一步分割,得到子表达式,预设符号为“@”。当子表达式包括加减乘除中的运算符时,标记运算符号及其权重;当所述子表达式包括“(”、“)”、“0”或“,”时,标记其最大值、最小值和权重。

通过这一步标记的最大值、最小值和权重,得到了各表达式因子的取值范围及权重取值。不具体展开阐述。

步骤105:在取值范围内为各表达式因子随机赋值,所述赋值与用户指令匹配。

若用户指令中出题难易程度为较难时,为表达式因子取相应取值范围内的相匹配的值,为权重取0-100内相匹配的值。具体的,表达式因子取值大小和权重取值大小与出题难易程度呈正相关。

步骤106:计算结果,若运算结果在取值范围内,且所述取值范围和运算中间数匹配,则返回题目。

随机给表达式因子赋值后,计算表达式的结果,并判断运算结果是否在取值范围内。若运算结果在取值范围内,进一步判断所述取值范围和运算中间数是否匹配。在一个具体的实施例中,若取值范围中取值都为正数,说明被出题者没有学过负数,那么相应的,在计算过程中得到的运算中间数也不能为负数,当两者匹配时,可以进入下一步。在其他实施例中,若取值范围中取值包括正数,说明被出题者学过负数,那么相应的,在计算过程中得到的运算中间数可以为负数,当两者匹配时,可以进入下一步。

然后,将赋值后表达式中的分割符去掉得到最终组织表达式。进一步判断最终组织表达式包括几个数据,随机将其中一个数据删去得到题目,并将题目返回给用户。

区别于现有技术,本发明提供的一种基于加减乘除的出题方法,能够根据条件不同可灵活的调整配置规则并设置权重,展现不同复杂程度的加减乘除运算练习题,以满足用户的多重需要。

如图2所示,图2是本发明所述装置一实施例的结构示意图,一种基于加减乘除的出题装置200,包括依次电路连接的存储器201、信息采集器202及处理器203。装置器200还包括存储在所述存储器中并可在所述处理器上运行的计算器程序,所述计算机程序被执行时用以实现上述方法实施例中的步骤。

所述基于加减乘除的出题装置200可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于加减乘除的出题装置200可包括,但不仅限于,存储器201、信息采集器202及处理器203。本领域技术人员可以理解,所述示意图仅仅是基于加减乘除的出题装置200的示例,并不构成对基于加减乘除的出题装置200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如基于加减乘除的出题装置200还可以包括输入输出设备、网络接入设备、总线等。

存储器201可用于存储所述计算机程序,所述处理器203通过运行或执行存储在所述存储器201内的计算机程序,以及调用存储在存储器内的数据,实现基于加减乘除的出题装置200的各种功能。存储器201可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

信息采集器202接收用户指令,具体的可以为触摸屏或键盘。

处理器203可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器203是基于加减乘除的出题装置200的控制中心,利用各种接口和线路连接整个基于加减乘除的出题装置200的各个部分。

通过上述描述可知,区别于现有技术的情况,本发明提供的一种基于加减乘除的出题装置,能够根据条件不同可灵活的调整配置规则并设置权重,展现不同复杂程度的加减乘除运算练习题,以满足用户的多重需要。

如图3所示,图3是本发明所述计算机可读存储介质一实施例的结构示意图,一种计算机可读存储介质300,存储介质存储有计算机程序301,计算机程序301被处理器执行时能实现如任一上述方法中的步骤。

在一个实施例中,具有计算机可读存储介质300可以是终端中的存储芯片、硬盘或者是移动硬盘或者优盘、光盘等其他可读写存储的工具,还可以是服务器等等。

通过上述描述可知,区别于现有技术的情况,本发明提供的一种计算机可读存储介质,能够根据条件不同可灵活的调整配置规则并设置权重,展现不同复杂程度的加减乘除运算练习题,以满足用户的多重需要。

本领域技术人员应该明白,本发明所述的方法和系统并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围,本发明的保护范围由权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1