中国学术文献网络出版总库

刊名: 教学与研究
        Teaching and Research
主办:  中国人民大学
周期:  月刊
出版地:北京市
语种:  中文;
开本:  大16开
ISSN: 0257-2826
CN:   11-1454/G4
邮发代号: 2-256

历史沿革:
现用刊名:教学与研究
创刊时间:1953

该刊被以下数据库收录:
CSSCI 中文社会科学引文索引(2012—2013)来源期刊(含扩展版)
核心期刊:
中文核心期刊(2011)
中文核心期刊(2008)
中文核心期刊(2004)
中文核心期刊(2000)
中文核心期刊(1996)
中文核心期刊(1992)



《算法与程序设计》教学初探

【作者】 张永焕

【机构】 (福建省大田县鸿图中学)


【正文】摘 要:在程序设计教学过程中,如何解决程序编辑枯燥无味,学生难以接受的问题一直是信息教师关心的问题,本文结合实例来说明问题教学和改变条件教学在程序设计教学过程中的一些应用。
  关键词:程序设计;实例;条件
  在高中阶段,每一位同学都要面临会考,高一的信息技术课程首当其冲。各校在选择该课程的选修模块时,大都会选择《算法与程序设计》这一模块,但是程序设计的教学,却是枯燥难懂的。国家《基础教育课程改革纲要(试行)》指出:“改变课程过于注重知识的传授的倾向,强调形成积极的学习态度,使获得基础知识和基本技能的过程同时成为学会学习和形成正确价值观的过程。”根据这个原则以及上述的问题,我在高一年级vb程序设计教学中,作了以下几点的尝试:
  一、打破课本原有的顺序组织教学,针对学生的实际情况,先易后难,先具体后抽象
  广东教育出版社所编写的《算法与程序设计》一书中,所使用的编程软件为visual basic,是可视化编程中的一种,它与一般的编程教程一样,都是先理论,即概念,定义,算法,后接触具体的程序结构,界面以及程序的编辑。如果按照这样的顺序安排教学,会增加学生的学习难度。因此,我对课程安排进行了调整,具体安排如下:
  (一)课本的第三章节为《可视化编程》,即vb软件设计界面,我把本章节提前到期初进行教学。在新课程开始的前面几堂课中,先对学生原有的计算机知识进行摸底,(现阶段的学生在初中阶段就已学习了文字处理软件,如word,wps等,而且大部分同学家中都有电脑,对电脑的认识不会是一无所知。)并对word软件的基本操作进行回顾说明,继而才进行vb软件的教学,简单介绍VB软件的操作步骤,如新建程序、打开程序、保存程序等,用对比教学的方法来让学生认识到软件的共通性,达到巩固旧知识,学习新知识的目的。
  (二)通过具体的界面设计实例,对vb可视化编程界面中常见的控件名称,控件的画法,控件的功能等进行讲解。现在的学生对网络并不陌生,而且颇喜欢聊QQ、玩游戏等,类似于QQ等聊天工具的使用都不会陌生。因此我就在上课时,用VB设计了一个与QQ相似的登录界面,以此激发学生对VB程序设计的学习兴趣。
  在进行本例的讲解时,我首先引导学生对控件的认知,并特别针对form窗体,lable标签,text文本框,command命令按钮等几个主要控件进行强调。其次是强调控件的两种不同的添加方法及各控件相应的属性的设置。再次是学生对程序保存方法的强调,VB程序的保存时和以前学习过的WORD软件的保存不太一样,WORD软件只生成单一的一个文件,而VB软件会生成窗件文件和工程文件,这里就要求同学们上机操作时要细心。在机房教学时,除了必要的演示和讲解外,更主要的是要让学生自己动作操作,在实践中掌握本节的内容和知识点。
  (三)有了VB界面设计为基础,接下来要学习编程的基础知识以及算法等相关内容就相应的简单些了。这部分的教学我主要以课本中的一些实例作为原型进行修改并举例说明。例如,我选择的第一个程序是“求矩形的面积”,本例与课本第二章第一节“求圆的面积”相似,但是只涉及变量,未涉及常量,相应的降低了难度,便于学生理解。教学本题时,先给出题目,已知矩形的长为a,宽为b,求矩形的面积,让同学们用数学解应用题的方法解出此问题,列出过程
  1、设矩形的面积为s,长为a,宽为b
  2、计算s=a*b
  3、答,所求的矩形面积为s
  把上述过程用程序语言来进行表示:
  Dim a as single , b as single , s as single             ‘数据类型说明部分
  A=inputbox(“输入矩形的长” ,”a=”)                ‘数据的输入部分
  B=inputbox(“输入矩形的宽”,”b=”)
  S= a * b                                                                 ‘数据的处理部分
  Print “所求的矩形面积为” : s                           ‘数据的输出部分
  上例的教学旨在把数学方法解题过程与具体程序进行对比,让同学们对编写程序有一定的认识,进而通过以上程序让同学们对程序的四个组成部分(数据类型说明部分,数据的输入部分,数据的处理部分,数据的输出部分)有一定的了解。再对本例中涉及的其它知识点进行简单介绍,如定义变量的命令DIM,输入的命令Inputbox、输出的命令print、变量的概念等。
  完成上例的教学后,再布置学生进行如下练习:编写一个简单的程序“求三角形的面积”,依据先写出数学方法解决问题的过程,再把此过程转化为计算机程序语言两步,让学生自主操作,进一步加深对编程的理解。
  二、通过实例讲解激发学生们学习的主动性,并通过练习加深对概念的理解
  在介绍课本第二章第一节中,除了上面第一大点所说明内容外,重要的就是同学们对概念的理解是不是真的理解了。如,在分绍vb定义的常用基本类型时,只按照课本上的取值范围来说明,学生在课堂时表面上是掌握了,但是过后很容易就遗忘了,这里我就用一个简单的程序来说明,如
  Dim a as integer, b as integer
  A=inputbox(“输入整数a“,“a=“)
  B=inputbox(“输入整数b“,“b=“)
  X=a+b
  Print “整数a和b的和为“:x
  程序运行时,输入a的值超过了32767,则vb就会提示“溢出”,让同学们对程序进行调试,这里对程序的错误我就不直接进行修改,而是让同学们去检查修改,进而达到教学的目的,加深对课本概念的理解和掌握,而不是死记硬背。
  三、通过对课本程序的延深,增加或改变条件来提高程序的难度,从而来提高学生编写程序的水平
  在程序的基本结构中,循环结构一直是本书的重点,也是难点。对此,我从简单的程序入手,不断的改变条件,增加内容来提高程序难度,让同学们在解题过程中提高对循环结构的理解。如,课后有一练习为
  For i= 1 to 10
  Print  i
  Next i
  本题是应用for循环的基本结构所形成的程序,只要理解了for循环的基本结构就能够得出它的答案,显示1到10这10个数。接下来我就对本程序进行修改。
  (一)本题的结论上面提过了,显示1到10的自然数列,原程序中的步长为1,可以省略不写,把步长改为2,则显示的是什么内容?如果要使答案显示为偶数列,则应该如何进行修改?本次题目的修改就更改两个方面的内容,一是步长,二是初值。
  (二)修改语句组。(1)把“print I ”改为s=s+i,则本程序求的是什么内容,s的值为多少?(2)如果要求前i项数的积,那么表达式要改为何内容,s的初值应设定为多少?(3)如果要求前n项和奇数的积,对于本程序又要如何进行修改等等。
  在原有简单的程序上不断的增加或改变条件,增加题目的难度,让同学们不断的进行思考,最终得出结论,使他们在学习中不断的进步,巩固基础知识,提高编程水平。
  小结:本文主要说明了我在VB教学中从打破课本原有顺序入手,通过实例进行教学,把苦燥无味的编程变成快乐有趣的学习的教学过程,更重要的是要改变传统教学中以教师为主体,学生为辅的状况,让学生成为教学活动的主体,培养学生自主学习、研究性学习和探索性学习的学习氛围。让学生从中体会到《算法与程序设计》是一门实践课程,而不是单纯的理论课程。