互动教学平台导入txt题库的方法
【技术领域】
本发明涉及互动教学平台,特别涉及一种互动教学平台导入txt题库的方法。
【背景技术】
互动教学平台为教师提供了课堂互动答题和考试的平台,但教师编辑题目时会遇到这样的问题:手头已有的txt格式的题库文件无法直接导入互动教学平台,还必须在互动教学平台进行逐题编辑。由于互动教学平台只把txt格式的题库文件当作文本文件进行处理,无法读取txt格式的题库文件中的具体内容并对具体内容进行解析,因而无法识别具体内容中各题目的属性信息,也就无法直接导入互动教学平台。互动教学平台只有在识别题目类型信息并且获取题目的属性信息后,才可直接导入。所述题目的属性信息包括:分数、答题时间、问题、答案、选项1、选项2、选项3、选项4、选项5以及选项6。有鉴于此,本发明人针对现有技术的缺陷深入研究并产生本案。
【发明内容】
本发明要解决的技术问题,在于提供一种互动教学平台导入txt题库的方法,教师在使用互动教学平台时对已有的txt格式的题库文件不用再进行二次编辑,实现直接导入。
本发明是这样实现的:
互动教学平台导入txt题库的方法,包括如下步骤:
步骤1、使用TstringList打开txt格式的题库文件;
步骤2、通过字符串读取方式读取所述题库文件的第一行,获取所述第一行中每个用制表符分隔的字符串;判断获取到的字符串的个数是否为10个,且从左往右的字符串依次为:分数,时间,题目,答案,选项1,选项2,选项3,选项4,选项5,选项6,若否,则该题库文件不符合互动教学平台的格式,无法导入互动教学平台,结束流程;若是,则该题库文件中的题目属性信息符合互动教学平台的格式,执行步骤3;所述题目属性信息为:分数,时间,题目,答案,选项1,选项2,选项3,选项4,选项5,选项6;
步骤3、通过所述字符串读取方式读取所述题库文件的第二行,获取该行中每个用制表符分隔的字符串,从而获取该行对应的题目的属性信息,然后执行步骤31-34,执行步骤31-34的过程中,任意一步骤识别出题目类型或判定为无法导入该题时,说明该行已处理完毕,结束判断;
然后通过所述字符串读取方式继续读取下一行,从而获取该行对应的题目的属性信息,然后执行步骤31-34,执行步骤31-34的过程中,任意一步骤识别出题目类型或判定为无法导入该题时,说明该行已处理完毕,结束判断,然后再读取下一行进行处理,直至所述题库文件中所有行都判断完毕,对判断出题目类型的题目,每一道题目在互动教学平台中建立一个页面中的问题对象,即导入该题,逐题导入后,则完成整个题库文件导入互动教学平台,结束流程;
步骤31、根据获取到的题目的属性信息,首先判断分数对应的字符串是否是数值且大于1小于所述互动教学平台的第一预设值,是,执行步骤32,不是,判定为无法导入该题,结束判断;
步骤32、判断时间对应的字符串是否是数值且大于1小于所述互动教学平台的第二预设值,是,执行步骤33,不是,判定为无法导入该题,结束判断;
步骤33、判断答案对应的字符串是否不为空,是,执行步骤34,不是,判定为无法导入该题,结束判断;
步骤34、进行题目类型判断:该题目类型判断具体包括步骤341至352:
步骤341、判断答案对应的字符串的长度是否为1,是,则执行步骤342,不是,则执行步骤346;
步骤342、判断答案对应的字符串是否是数字,是,则执行步骤343,否则进行344;
步骤343、判断选项1、选项2、选项3、选项4、选项5以及选项6是否均为空,是,则识别出该题的题目类型为填空题,结束判断,否,判定为无法导入该题,结束判断;
步骤344、判断答案对应的字符串是否是A至F中的一个,是,则执行步骤345,不是,判定为无法导入该题,结束判断;
步骤345、判断答案对应的字符串是否满足下列条件之一,若满足,则识别出该题的题目类型为单项选择题,结束判断,若下列条件均不满足,则判定为无法导入该题,结束判断;
条件一、答案对应的字符串为A时,选项1和选项2对应的字符串不为空,选项3至选项6对应的字符串可为空也可不为空;
条件二、答案对应的字符串为B时,选项1和选项2对应的字符串均不为空,选项3至选项6对应的字符串为空或不为空;
条件三、答案对应的字符串为C时,选项1至选项3对应的字符串不为空,选项4至选项6对应的字符串为空或不为空;
条件四、答案对应的字符串为D时,选项1至选项4对应的字符串不为空,选项5和选项6对应的字符串为空或不为空;
条件五、答案对应的字符串为E时,选项1至选项5对应的字符串不为空,选项6对应的字符串为空或不为空;
条件六、答案对应的字符串为F时,选项1至选项6对应的字符串均不为空;
步骤346、判断答案对应的字符串是否是数值,是,执行步骤347,否,执行步骤350;
步骤347、判断答案对应的字符串是否是互动教学平台能识别的数值答案,是,执行步骤348,否,判定为无法导入该题,结束判断;
步骤348、判断选项1、选项2、选项3、选项4、选项5以及选项6是否为空,是,则识别出该题的题目类型为填空题,结束判断,否执行步骤349;
步骤349、答案对应的字符串是否是只有数字1至数字6中任意组合的复数个数字,且各数字不重复,同时选项1、选项2、选项3、选项4、选项5以及选项6中有字符串的选项个数大于等于答案对应的字符串中的最大数值,则识别出该题的题目类型为排序题,结束判断,否,判定为无法导入该题,结束判断;
步骤350、判断答案对应的字符串是否是正确或错误,是,执行步骤351,否,执行步骤352;
步骤351、判断选项1与选项2对应的字符串是否不为空,是,则识别出该题的题目类型为判断题,结束判断,否,判定为无法导入该题,结束判断;
步骤352、判断答案对应的字符串是否是字母A至字母F中任意组合的复数个字母,且各字母不重复,同时答案对应的字符串满足下列条件之一,则识别出该题的题目类型为多项选择题,结束判断,否,即下列条件均不满足,则判定为无法导入该题,结束判断;
条件七、答案对应的字符串含有A时,选项1和选项2对应的字符串不为空,选项3至选项6对应的字符串为空或不为空;
条件八、答案对应的字符串含有B时,选项1和选项2对应的字符串不为空,选项3至选项6对应的字符串为空或不为空;
条件九、答案对应的字符串含有C时,选项1至选项3对应的字符串不为空,选项4至选项6对应的字符串为空或不为空;
条件十、答案对应的字符串含有D时,选项1至选项4对应的字符串不为空,选项5至选项6对应的字符串为空或不为空;
条件十一、答案对应的字符串含有E时,选项1至选项5对应的字符串不为空,选项6对应的字符串为空或不为空;
条件十二、答案对应的字符串含有F时,选项1至选项6对应的字符串均不为空。
进一步地,所述字符串读取方式具体为:从左至右逐一扫描该行的所有字符,并执行制表符判断步骤;所述制表符判断步骤具体为:每扫描一个字符,判断是否是制表符,如果不是制表符则继续扫描下一个字符,如果是制表符则获取这个制表符前面的所有字符,从而获取到所述用制表符分隔的字符串,所述字符串不包括制表符;获取到所述用制表符分隔的字符串后,在题库文件中删除这个制表符前的所有字符,包括制表符,继续扫该描制表符后面的字符,并执行所述制表符判断步骤,直到该行所有字符扫描完毕或者找到10个项目的字符串。
进一步地,所述步骤347中,互动教学平台能识别的数值答案是指:符合以下两个条件中任意一条件的数值答案:
条件十三、可以直接用StrToFloat进行转换的数值字符串;
条件十四、不能用StrToFloat进行转换的数值字符串,判断该数值字符串中是否只含有一个表示分数形式的“/”,且分子是整数或小数,分母也是整数或小数;
所述互动教学平台对符合条件十三的数值答案直接用StrToFloat进行转换,得出的结果保留三位小数;所述互动教学平台对符合条件十四的数值答案进行转换时,分别读取分子和分母进行除法计算,得出的结果保留三位小数。
进一步地,步骤31中所述互动教学平台的第一预设值为50~200中的任意一数值。
进一步地,所述题目属性信息中时间的单位为秒,即,所述时间对应的字符串的单位为秒。
进一步地,所述互动教学平台的第二预设值为120,单位为秒。
本发明具有如下优点:将txt题库文件中内容逐行读取并填写至述txt题库设置窗口,通过调整使题目属性信息符合互动教学平台的格式,读取txt题库设置窗口第一行各单元格的内容,识别到该行题目的属性信息,再执行题目类型判断步骤,识别出题目类型,教师在使用互动教学平台时对已有的txt格式的题库文件就不用再进行二次编辑,直接导入即可。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明的流程示意图。
图2为本发明题目类型判断步骤的流程图之一。
图3为本发明题目类型判断步骤的流程图之二。
图4为本发明题目类型判断步骤的流程图之三。
图5为本发明字符串读取方式的流程图。
【具体实施方式】
请参阅图1,互动教学平台导入txt题库的方法,包括如下步骤:
步骤1、使用TstringList打开txt格式的题库文件;所述TstringList是Delphi支持的一种对象,该对象是字符串的链表,所述链表中的每一个元素都一个字符串,当打开文本文件时文本文件中的每一行字符均为链表中的一个元素;
步骤2、通过字符串读取方式读取所述题库文件的第一行,获取所述第一行中每个用制表符分隔的字符串;判断获取到的字符串的个数是否为10个,且从左往右的字符串依次为:分数,时间,题目,答案,选项1,选项2,选项3,选项4,选项5,选项6,若否,则该题库文件中的题目属性信息不符合互动教学平台的格式,无法导入互动教学平台,结束流程;若是,则该题库文件中的题目属性信息符合互动教学平台的格式,执行步骤;所述题目的属性信息为:分数,时间,题目,答案,选项1,选项2,选项3,选项4,选项5,选项6;所述题目属性信息中时间的单位为秒,即,所述时间对应的字符串的单位为秒。
步骤3、通过所述字符串读取方式读取所述题库文件的第二行,获取该行中每个用制表符分隔的字符串,从而获取该行对应的题目的属性信息,然后执行步骤31-34,执行步骤31-34的过程中,任意一步骤识别出题目类型或判定为无法导入该题时,说明该行已处理完毕,结束判断;
然后通过所述字符串读取方式继续读取下一行,从而获取该行对应的题目的属性信息,然后执行步骤31-34,执行步骤31-34的过程中,任意一步骤识别出题目类型或判定为无法导入该题时,说明该行已处理完毕,结束判断,然后再读取下一行进行处理,直至所述题库文件中所有行都判断完毕,对判断出题目类型的题目,每一道题目在互动教学平台中建立一个页面中的问题对象,即导入该题,逐题导入后,则完成整个题库文件导入互动教学平台,结束流程;
步骤31、根据获取到的题目的属性信息,首先判断分数对应的字符串是否是数值且大于1小于所述互动教学平台的第一预设值,是,执行步骤32,不是,判定为无法导入该题,结束判断;所述第一预设值为50~200中的任意一数值,所述第一预设值根据该题的实际情况而设置,一般情况下,每一道题的分数都不会大于100分,则可以将第一预设值设置为100;
步骤32、判断时间对应的字符串是否是数值且大于1小于所述互动教学平台的第二预设值,是,执行步骤33,不是,判定为无法导入该题,结束判断;一般情况下,第二预设值为120,单位为秒,即每道题的答题时间在2分钟内;
步骤33、判断答案对应的字符串是否不为空,是,执行步骤34,不是,判定为无法导入该题,结束判断;
步骤34、进行题目类型判断:该题目类型判断具体包括步骤341至352:
请参阅图2,步骤341、判断答案对应的字符串的长度是否为1,是,则执行步骤342,不是,则执行步骤346;
步骤342、判断答案对应的字符串是否是数字,是,则执行步骤343,否则进行344;
步骤343、判断选项1、选项2、选项3、选项4、选项5以及选项6是否均为空,是,则识别出该题的题目类型为填空题,结束判断,否,判定为无法导入该题,结束判断;
步骤344、判断答案对应的字符串是否是A至F中的一个,是,则执行步骤345,不是,判定为无法导入该题,结束判断;
步骤345、判断答案对应的字符串是否满足下列条件之一,若满足,则识别出该题的题目类型为单项选择题,结束判断,若下列条件均不满足,则判定为无法导入该题,结束判断;
条件一、答案对应的字符串为A时,选项1和选项2对应的字符串不为空,选项3至选项6对应的字符串可为空也可不为空;
条件二、答案对应的字符串为B时,选项1和选项2对应的字符串均不为空,选项3至选项6对应的字符串可为空也可不为空;
条件三、答案对应的字符串为C时,选项1至选项3对应的字符串不为空,选项4至选项6对应的字符串可为空也可不为空;
条件四、答案对应的字符串为D时,选项1至选项4对应的字符串不为空,选项5和选项6对应的字符串可为空也可不为空;
条件五、答案对应的字符串为E时,选项1至选项5对应的字符串不为空,选项6对应的字符串可为空也可不为空;
条件六、答案对应的字符串为F时,选项1至选项6对应的字符串均不为空;
请参阅图3,步骤346、判断答案对应的字符串是否是数值,是,执行步骤347,否,执行步骤350;
步骤347、判断答案对应的字符串是否是互动教学平台能识别的数值答案,是,执行步骤348,否,判定为无法导入该题,结束判断;
所述互动教学平台能识别的数值答案是指:符合以下两个条件中任意一条件的数值答案:
条件十三、可以直接用StrToFloat进行转换的数值字符串;
条件十四、不能用StrToFloat进行转换的数值字符串,判断该数值字符串中是否只含有一个表示分数形式的“/”,且分子是整数或小数,分母也是整数或小数;
所述互动教学平台对符合条件十三的数值答案直接用StrToFloat进行转换,得出的结果保留三位小数;所述互动教学平台对符合条件十四的数值答案进行转换时,分别读取分子和分母进行除法计算,得出的结果保留三位小数;
步骤348、判断选项1、选项2、选项3、选项4、选项5以及选项6是否为空,是,则识别出该题的题目类型为填空题,结束判断,否执行步骤349;
步骤349、答案对应的字符串是否是只有数字1至数字6中任意组合的复数个数字,且各数字不重复,同时选项1、选项2、选项3、选项4、选项5以及选项6中有字符串的选项个数大于等于答案对应的字符串中的最大数值,则识别出该题的题目类型为排序题,结束判断,否,判定为无法导入该题,结束判断;
请参阅图4,步骤350、判断答案对应的字符串是否是正确或错误,是,执行步骤351,否,执行步骤352;
步骤351、判断选项1与选项2对应的字符串是否不为空,是,则识别出该题的题目类型为判断题,结束判断,否,判定为无法导入该题,结束判断;
步骤352、判断答案对应的字符串是否是字母A至字母F中任意组合的复数个字母,且各字母不重复,同时答案对应的字符串满足下列条件之一,则识别出该题的题目类型为多项选择题,结束判断,否,即下列条件均不满足,则判定为无法导入该题,结束判断;
条件七、答案对应的字符串含有A时,选项1和选项2对应的字符串不为空,选项3至选项6对应的字符串可为空也可不为空;
条件八、答案对应的字符串含有B时,选项1和选项2对应的字符串不为空,选项3至选项6对应的字符串可为空也可不为空;
条件九、答案对应的字符串含有C时,选项1至选项3对应的字符串不为空,选项4至选项6对应的字符串可为空也可不为空;
条件十、答案对应的字符串含有D时,选项1至选项4对应的字符串不为空,选项5至选项6对应的字符串可为空也可不为空;
条件十一、答案对应的字符串含有E时,选项1至选项5对应的字符串不为空,选项6对应的字符串可为空也可不为空;
条件十二、答案对应的字符串含有F时,选项1至选项6对应的字符串均不为空.
请参阅图5,所述字符串读取方式具体为:从左至右逐一扫描该行的所有字符,并执行制表符判断步骤;所述制表符判断步骤具体为:每扫描一个字符,判断是否是制表符,如果不是制表符则继续扫描下一个字符,如果是制表符则获取这个制表符前面的所有字符,从而获取到所述用制表符分隔的字符串,所述字符串不包括制表符;获取到所述用制表符分隔的字符串后,在题库文件或txt题库设置窗口中删除这个制表符前的所有字符,包括制表符,继续扫该描制表符后面的字符,并执行所述制表符判断步骤,直到该行所有字符扫描完毕或者找到10个项目的字符串。
需要说明的是:
1、因为txt格式的题库文件是用制表符进行分隔每一串字符串,因此所述字符串读取方式必须以判断出制表符作为一串字符串的结束;
2、以10个项目的字符串为扫描完毕的判定条件,是因为每一行都包括:分数,时间,题目,答案,选项1,选项2,选项3,选项4,选项5以及选项6这10个项目。
本发明具有如下优点:将txt题库文件中内容逐行读取,识别到该行对应的题目的属性信息,再执行题目类型判断步骤,识别出题目类型,教师在使用互动教学平台时对已有的txt格式的题库文件且符合互动教学平台格式的,就不用再进行二次编辑,直接导入即可。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。