************

探讨精典算法的动态演示在计算机语言课教学中的推广与应用

导读:系,坐标原点在窗体的左上角,横向向右为X轴的正方向,纵向向下为Y轴的正向,单位为twip。园盘移动时一般是转变控件的左上角的坐标位置即控件的LEFT和TOP属性或者是用控件的MOVE策略将控件移到指定的位置,  这就要求我们熟悉对坐标的计算。园盘移动子程序YD的设计是动态演示程序的关键和难点,YD(ByVal qs As Integer,ByVal MB
摘 要: 不同的计算机语言仅仅只是语法规则、语句有些不同。而其中的核心理由算法则是通用的,如果能将一些精典的算法利用对话框、图形、多媒体技术进行动态演示,从而应用于不同的语言课教学中,就会起到事半功倍的效果。
  关键词: 动态演示;控件移动;速度制约
  算法是程序设计的灵魂,也是语言课教学的难点与重点。对于抽象的算法单纯的靠老师在讲台上讲和在黑板上画图,很难讲清楚,学生也似懂非懂。如果我们把这些精典算法如:各种排序法、对分查找法、牛顿迭代法,递归等以一种新的图文并茂的、丰富多彩的人机交互方式,制成动画,使抽象的、枯燥的学习内容转化成形象的、有趣的、可视的、可听的动感内容,清晰的展现在学生面前,就能够有效地激发学生的学习兴趣,使学生在头脑中产生一个深刻的印象。
  1 精典算法的动态演示的设计思想
  精典算法的动态演示是教学内容和教学处理两大类信息的有机结合,其目的是将教学上不容易讲清楚的重点和难点的算法借助计算机演示,利用可视化图形来动态演示算法的执行过程。对于学生深入理解算法的实现过程有很好的邦助作用。该系统注重教学先进性、科学性同时更强调实用性。本系统的开发满足以下原则:
  1)直观性。能突破视觉的限制,多角度地观察对象,运用多媒体教学直观、形象地讲授给学生,加深其对理由的理解。并能够突出要点,有助于概念的理解和策略的掌握。
  2)人机交互界面友好性。以一种新的图文并茂的、丰富多彩的人机交互方式,多角度调动学生的情绪、注意力和兴趣。
  3)功能实用化。为了能真正起到辅助教学的效果,系统使用多种演示手段如单步步跟踪、连续执行、执行速度调节等。
  4)中文字幕提示。系统演示插入了适当的说明及注释信息,以帮助学生对演示过程的理解,允许用户通过输入不同的初始数据来观察算法的具体执行情况。
  2 系统的总体结构
  本系统的总体结构如图1。
  图1 系统的总体结构
  3 动态演示程序的设计的一般步骤
  下面我们以汉诺(Hanoi)塔园盘移动动态演示程序为例来说明动态演示程序的设计的一般步骤。
  3.1 算法分析
  要设计好一种算法的动态演示程序,首先要吃透原有算法,在原有算法的基础上加以改善,在适当的位置插入相应的控件移动子程序。例如我们对原有的汉诺(Hanoi)塔算法加以改善,把原来仅是文字显示“A->C”(即A柱子上的园盘移动到C柱子上)改为园盘在屏幕上的移动子程序。同时在原有的算法的相应位置上插入了进栈、出栈的动态演示程序。
  3.2 界面的设计
  依据改善后的算法,初始界面如图2。
  图2 初始界面
  在屏幕左半部上画出栈图,栈图上方有五个文本框,分别标示为ADR(返回地址)N,A,B,C以表示进栈的参数。栈内空间是依据选择的园盘的个数动态产生的文本框控件数组,在栈底左侧画出栈指针,栈指针是先作一个框架,然后在框架内放入一个标签框,一个文本框和箭头,其中文本框是用于存放栈顶的地址,初始指向栈底。屏幕的右半部上方有一个文本框用于提示执行情况。屏幕的右半部中间为园盘移动移动演示,右下部分别为初始化、运转,结束三个按钮。文本框控件数组是动态产生的,同样园盘也是动态产生的一个形状控件数组。三根柱子画的时候要等距离分布,以便于园盘移动距离的计算。
  3.3 控件的移动
  动态演示程序无非是各种控件的移动,而每一个控件的移动都需进行精确计算。窗体是一个容器,所有的控件都分布窗体内,每个容器都有一个坐标系,构成一个坐标系,需要三个元素:坐标原点、坐标度量单位、坐标轴的长度与方向。在VB中,当新建一个窗体时,新窗体采用默认坐标系,坐标原点在窗体的左上角,横向向右为X轴的正方向,纵向向下为Y轴的正向,单位为twip。园盘移动时一般是转变控件的左上角的坐标位置即控件的LEFT和TOP属性或者是用控件的MOVE策略将控件移到指定的位置,
  这就要求我们熟悉对坐标的计算。园盘移动子程序YD的设计是动态演示程序的关键和难点,YD(ByVal qs As Integer,ByVal MB As Integer)形参QS为源柱号,mb为目标柱号,在移动前先取源柱上本次要移动的盘号,而Lin(qs)(lin(qs).Count)
  则为源柱最上层的盘号。园盘移动分三个步骤:
  1)上移:上移时X坐标值不变,Y坐标值只要高于柱子的高度。上移完后,执行。
  Lin(qs).Remove lin(qs).Count即在记录源柱盘数编号的集合中删去一项,记录源柱上的盘数自动减1。
  2)左右移动:Y坐标值不变,X坐标值移动的距离为目标柱号减去源柱号的差值乘以柱与柱之间的距离)而左右方向则取决于目标柱号减去源柱号差值的符号。
  3)下移:这是难点,因为下移的距离的不能是一个统一的高度,否则会造成园盘重迭或盘与盘之间有一定的距离,这里采用下移一个Y坐标的绝对值减去目标柱上的园盘数乘以园盘的高度,下移后执行lin(mb).Add i,让记录目标柱上盘数的集合要加1,并记录移动到目标柱上该盘的所处的层数及盘号。
  3.4 控件移动及程序执行速度的制约
  为了使演示更清晰,程序的执行及控件移动必须有合适的速度,速度的制约通常采用如下两种方式:
  1)在适当的位置插入调用API延时的函数SLEEP,格式如下:
  API Private Declare Sub Sleep Lib "kernel32.dll" (ByVal yssj As Long)
  ' 先在程序的开头声明API函数
  Sleep N '然后在适当位置插精典算法的动态演示在计算机语言课教学中的推广与应用由提供海量免费论文范文的http://www.wowa.cn整理提供,希望对您的论文写作有帮助.入调用API延时的函数,延时时间的长短靠参数N制约,单位为毫秒。
  2)在适当的位置插入对话框,采用人机交互方式,程序执行到此会停下来,并提示是否继续,若继续单击“确定”。通常采用如下两种方式对话框。
  STR1 = InputBox("请继续", , "6", 500, 7000)
  MsgBox "继续,单击确定"
  4 结束语
  方便、快捷、高效多媒体教学通过演示课件,使授课方式变得方便、快捷,节省了教师授课时的板书时间,提高了教学效率,使课堂教学活动变得活泼,生动有趣,富有启发性、真实性,可以从根本上转变传统上单调的教学模式,从而活跃学生的思维,激发学生的学习兴趣。精典算法的动态演示可以使学生在有限时间内迅速理解、掌握、获取更多知识和信息,将算法中的深奥理论和逻辑推理的内容,可以直观、形象地讲授给学生,加深其对理由的理解。这样的多媒体教学,收到了将抽象理由形象化、枯燥理由生动化的效果。教会学生如何深思、推理,如何用语句实现算法,培养了学生的抽象思维、逻辑推理能力。这样,将传统的教学策略与多媒体教学相结合,大大提高了学生的综合思维能力。
  基金项目:十堰职业技术学院教研项目“精典算法的动态演示在计算机语言课教学中的应用”(项目编号:2012JB12)
  参考文献:
  [1]龚沛曾,VISUAL BASIC程序设计简明教程,高教出版社.
  [2]刘炳文,精通VISUAL BASIC6.0中文版,电子工业出版社.
  [3]严蔚民,数据结构,清华大学出版社.
  作者简介:
  郭亚庆(1974-),女,陕西礼泉人,湖北十堰职业技术学院讲师,主要从事计算机技术,计算机信息管理研究。
上一篇论文:研讨C语言在单片机开发中的应用 下一篇论文:研究中学生议论文写作语言探微
相关论文
业务范围
免费本科范文
免费硕士范文
免费职称范文
论文****
职称论文****表