智能化数据结构实验教学辅助演示系统

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:n464j7428bh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  ● 引言
  《数据结构》这门课程对于大多数初学者来说十分抽象,枯燥无味,尤其是实验内容里面关于各种数据结构的算法程序较以前学过的程序设计内容更复杂,也不容易被理解,学生学起来十分吃力,所以我们希望有一种工具辅助实验教学,使抽象的内容形象化,改善实验教学环境,并使学生加深对程序的理解,提高学生学习的兴趣。
  基于以上两个原因,我们开发了智能化数据结构实验教学辅助演示系统,它可以满足学生的这种需要,把数据结构中那些复杂的算法以直观生动的形式呈现出来,并且能生成适合个别化学习的教学内容和策略,给出系统建议,从而辅助教师更好地把知识传授给学生。
  ● 系统功能简介
  1.系统的功能简介
  智能化数据结构实验教学辅助演示系统的最大特点是具有智能性,它可根据学生以前的学习情况,给出系统建议和相应水平的测试题。它采用建构主义学习方法,以学生为中心,以测试题为驱动,引导学生自主学习,使学生能更加深刻地理解所学的内容。
  这一系统从总体上可分为前端和后端,前端包括人机交互子系统,后端包括学习环境子系统、教学决策子系统和领域知识库。人机交互子系统向用户提供了友好的学习界面,其由用户注册登录界面、学习主界面、系统给出建议界面等组成。学习环境子系统围绕各种典型算法,展开讲解,它是这个教学辅助系统最基础最主要的内容。教学决策子系统根据一些决策原则和学生以前的学习情况给出适合学生当前水平的系统建议和测试题,这个子系统是本系统智能化的核心。领域知识库存储与演示算法相关的知识点、知识单元等内容,为教学决策子系统提供了决策的依据。图1是该子系统的系统功能图。
  2.学习环境子系统简介
  子系统以用克鲁斯卡尔算法生成最小生成树为例探讨数据结构中典型算法的演示过程,以此作为标准模板,逐步完善系统的实现,下面以克鲁斯卡尔为例来介绍学习环境子系统的主要功能。
  (1)输入数据:先输入图的顶点个数,然后依次输入每一条边,这样系统就记下了原始的图。
  (2)连续运行:输入数据后,界面上显示连续运行后原始图、原始图的临界矩阵、最小生成树、最小生成树的邻接矩阵及源程序代码。
  (3)单步运行:连续运行后,就可以单步运行,每次只执行一行代码,同时与每行代码相关的变量也显示在界面上,最小生成树、其邻接矩阵和相关变量也随着程序的执行相应的发生变化。
  (4)设置断点:如果想要程序执行到某条语句停下来,就可以设置相应的断点,接着与单步运行执行过程一样,直至执行到设置断点的位置。
  ● 实现过程中的技术难点
  1.克鲁斯卡尔算法类模型的设计和实现
  我们之所以选择克鲁斯卡尔算法作为模板,是因为在数据结构中,用克鲁斯卡尔算法生成最小生成树这个算法仅凭老师在黑板上讲不够直观,因此不容易被理解。此外它是非常经典的算法,基本不会随着时间的推移而修改。在本系统中我们把克鲁斯卡尔算法设计成一个类,克鲁斯卡尔算法类包括四个成员变量,它们分别是顶点个数、顶点的连通分量数组、原始图的邻接矩阵及图的最小生成树邻接矩阵;包括三个成员函数,分别是获得顶点数函数、原始图的初始化函数、将图转化成最小生成树的函数。具体实现过程如下:
  (1)原始图的初始化函数:从前端接受顶点个数、原始图的邻接矩阵,并把最小生成树的邻接矩阵和原始图的邻接矩阵中无权值的位置都赋为-1,把各顶点的连通分量设为各不相同。
  (2)把图转化成最小生成树的函数流程如图2所示。
  2.读写文件
  为了达到算法演示直观动态的效果,需要给出算法的动态演示环境。但由于系统运行时脱离算法程序的调试环境,需在连续运行时把运行过程每一步的结果写入文件,在单步运行和设置断点时从文件中把每一步结果一条条地读出,然后给学生。在这一过程中,就要频繁地读写文件。常用读写文件的函数如下:
  (1)fopen:打开一个文件,以一个文件指针名称代表此文件,设置此文件属性并在主存储器规划一个缓冲区来暂时存放数据。其语法说明如下:FILE *fopen(const char *filename,const *mode);即以一个指定属性打开文件。
  (2)flose:关闭此文件,并释放所用缓冲区。其语法说明如下:int fclose(FILE *stream);即将文件指针所对应的数据文件关闭。
  (3)fprintf:以格式化将数据写于文件中,只能用于循环文件。其语法说明如下:Intfprintf(FILE*stream,const char * format[,argument,…])。
  (4)fscanf:以格式化将文件中数据读取,并存于变量中,只能用于循环文件,其语法说明如下: Int fscanf(FILE *stream,const char *format[,address,…])。
  在本系统中主要使用以下两条写语句:①fprintf(order,“%d”,flag);②fprintf(data1,“%d…”,flag,…);其中order文件存储源程序编号,data文件存储order文件中每一个编号对应的一行源程序中的变量及其值,flag表示每一行源程序的编号。
  3.单步运行和设置断点
  为了让学生更加清晰地认识程序的执行过程和最小生成树是怎样从原始图中一步步获得的,本系统除了能够连续运行外,还设置了单步运行,在单步运行时,程序执行到哪一步,相应的源代码就被亮条覆盖,以示区别,同时与本条代码相关的变量也被显示出来了。这里需要再次强调的是,单步运行时并不是程序真的在一步步执行,亮条覆盖的语句也不是正在执行的语句。算法程序脱离了程序的调试环境,不能够真正实现这些功能,真正执行程序是在连续运行时,单步执行只不过是把连续运行时写入文件的执行结果以单步的形式显示给学生,以达到更直观明了的目的。为了实现这个功能,需要在连续运行时写两个文件order和文件data1,order中只写入源程序每一条语句的编号,从零开始;文件data1写入order文件中的每一个编号对应的一行源程序变量及其值。单步运行时,首先从order文件中读出源程序的标号,同时到data1文件中读出此标号对应的变量和它的值,判断如果没有到文件尾,把标号对应的一行程序加亮条显示,同时显示相应的变量和它的值。
  如果学生想看到程序从开始到某一固定位置的单步运行过程,就需要设置断点,设置断点时,首先应让系统记住要执行到的位置,点击源程序中的任意条语句,系统就会把这个位置记下,用一条语句(x=listbox->itemindex)即可,以后就用x控制程序的执行,直到完成,这里所用到的技术同单步运行时基本相同。
  ● 结论
  本系统借助MySQL4.0数据库,运用Borland C Builder 6.0这种编程工具开发,并在Windows 2000 server环境下调试成功。
其他文献
摘 要:本文提出在小学数学教学过程中应用多媒体教学策略,不仅可以培养小学生学习数学的兴趣,还可以提高小学生学习数学的能力。  关键词:小学数学 多媒体技术 有效性分析  中图分类号:G632 文献标识码:A 文章编号:1674-2117(2014)10-0130-01  1 多媒体技术的科学认识  随着网络和计算机为核心的现代技术快速发展,人类已进入信息时代,多媒体技术的普及应用给教育教学改革带来
读完方老师的博文后,马上上网搜索文中提到的文章并详读。掩卷之后难免有些心慌,但更多的是迫不及待,迫不及待想见到超人工智能给我们带来的种种便利。对于文章提及的超人工智能可能给人类带来的永生或灭绝,颇感那是杞人忧天,“警惕”一词更显未雨绸缪。  技术是把双刃剑,在信息技术飞速发展的今天,因新技术出现而带来的负面影响往往层出不穷。面对这些负面影响,我们需要了解信息技术的两面性,以便在课堂上引导学生养成合
2016年10月,诺贝尔文学奖颁给了美国著名的摇滚艺术家鲍勃·迪伦,说他“为伟大的美国歌曲传统带来了全新的诗意表达”。我不太懂音乐,但鲍勃·迪伦带来的青年一代美国人思想上的变革是有目共睹的,而我作为教育研究者同样对此事有兴趣,因为早有统计数据表明“除了贝多芬经典音乐,鲍勃·迪伦所带来的乡村摇滚与美国的高考成绩直接正相关”。  维吉尔·格里菲斯是美国一位年轻的黑客专家,也是加州理工大学的教授,他因在
科目:小学科学 教学对象:四年级 授课时间:1~2课时    教学目标  1.学生能展示他们对经度和纬度的理解并通过有关数据辨认出具体的方位。  2.学生能够学懂并会恰当运用A.M.和P.M.的时间表达法。  3.学生能熟悉普通的24小时计时制。  4.学生能通过计算不同的经度得出时差的变化并加以理解。    教学素材和教学资源  世界时区网站http://www.worldtimezone.co
1862年,林肯签发总统令,联邦政府依照每州参加国会的议员人数每人拨给3万英亩土地,并将这些赠地赠送给议员所在州作为开发农业机械化的校园土地,这一总统令使得美国农业机械学校获赠土地的总数超过了10个上海市的面积,也奠定了美国农业大国的地位,更为美国今后的高等教育奠定了基础,这就是著名的莫里尔法案。今天的加州大学系统10所分校就是在这个背景下发展起来的。在风景优美的1号公路穿行,看着数公里长的农业机
● 教材分析  本课是小学信息人教版第三册第三课浏览网络方面的知识。是在学会输入网址、使用主页设置、收藏夹、历史记录等基础上,进入本课利用搜索引擎快速检索网络信息。主要包括对搜索引擎的了解;结合南京景点,分类目录和关键词查找网络信息。  ● 学情分析  本课教学对象为小学四年级学生,由于前面刚刚学习过浏览网页及收藏夹的使用,因此对网页的搜索已经初步掌握,但学生在网址和文字输入方面还不太熟练,重点要
微课程是教师通过精心的信息化教学设计,以视频形式来展示围绕某个知识点或教学环节开展的简短的、完整的教学活动的一种新形态的课程。随着教育信息化进程的不断推进,微课程在教育教学中的应用得到广大教育界人士的普遍关注,其在学前、学中、学后起到的教学价值也得到专家和教师们的肯定。微课程的核心是针对一到两个知识点的教学视频,同时也包含与该教学主题相关的教学设计、教学课件、导学素材、练习反馈等辅助性资源,这样的
栏目寄语:新技术进入教育领域,加快了教育改革的步伐,新与旧的碰撞、前卫与传统的冲突引发了强烈的社会舆论,而身为教育者则需用更为理性、通透的眼光去审视现象的背后。本栏目将聚合你我他的观点,每期邀请几位嘉宾,对教育领域中的热点问题展开评论式的探讨,以开阔读者的思路,共同促进教育大发展。    话题引导:寒假期间,教育部印发了义务教育的各学科课程标准(2011年版)。这是继2001年印发义务教育各学科课
随着社会文明的发展,社会分工越来越明确,新的行业不断诞生。在行业分化和技术细化之下,一方面行业融合,技术渗透明显,另一方面行业跨度增大,异质化明显。而隔行如隔山,这句话却一直流传至今。  隔行如隔山。隔的这座山到底是什么?  在技术人员看来,行业之间的从业差别,似乎在于行业内特有的技术特点。不是本行业的人,对这些技术细节和知识技巧不甚明了,而行业内的人则会对外人讳莫如深。自古传承下来的行业保护思想
摘要:随着3D打印技术的迅速发展,掌握3D打印技术的人才必然紧缺,那么学校开设相关专业、加强实验室的建设就显得尤为重要与迫切。本文结合职业院校人才培养特点,从实验室建设的必要性、建设原则与思路、实验室功能定位、具体建设方案等方面进行了深入探讨。  关键词:职业院校;3D打印实验室;建设方案  中图分类号:G647 文献标识码:A 论文编号:1674-2117(2015)19-0133-03  3D