邓欢++陈振梅
摘要:程序设计基础课程是高等院校学生的必修课程,对于程序初学者而言,不易理解和把握程序的复杂语法和程序的运行过程。为了促进学生理解、提高课堂效果,引入图示法。以多表逻辑连接、变量作用域和参数传递为例展示了图示法在程序语言教学中的应用,探讨了图示法对学生学习的辅助性作用。
关键词:程序设计;图示法;多表连接;变量作用域;参数传递
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)01-0131-03
Application of Graphic Method in Programming Language Teaching
DENG Huan, CHEN Zhen-mei
(Sichuan Medical University, Department of Biomedical Engineering, Luzhou 646000, China)
Abstract: Programming Language is compulsory subject in the university. The programming grammar and the running process are difficult for Beginner. Graphic method can help students to understand programming and improve the class effect. Application of graphic method in the fields of Logic link between tables, scope of variable and parameter transmission are showed in this paper, and the supplementary role of graphic method in teaching is discussed.
Key words: Programming; Graphic method; Multi table connection; Scope of variable; Parameter transmission
1 概述
为了提高高等院校学生的计算机水平,根据高等学校计算机基础课程教学基本要求,在我国的高等院校中,计算机基础教学的课程设置为“2+x”的模式,其中“2”代表大学计算机基础和程序设计基础这两门必修课。在我校的非计算机专业学生中,开设的程序设计基础课程为《VFP程序设计》。在为非计算机专业学生授课过程中,笔者发现由于程序设计教学中,由于大部分学生初次接触命令和程序,命令的语法和程序的结构对于初学者而言太过抽象,难于理解,很多学生因为对程序的运行过程不清晰,直接造成了对编程理解的混乱。在教学过程中,笔者应用了“图示法”给学生讲解程序,有助于为学生理清思路,获得了较好的教学效果。
2 图示法的应用
2.1 图示法的基本含义
“图示法”是一种以图形为主要手段,揭示事物本质和联系,激发学生思维,促进知识掌握,加快教学进程的教学策略。应用图示法教学,使抽象问题清晰化,复杂的问题条理化,有利于学生对知识的整体掌握,提高学习效率。下面以多工作区的表连接操作、变量的作用域和主程序与子程序的参数传递三个知识点为例,说明图示法在VFP程序设计中的使用。
2.2 多表逻辑关联
在VFP中,一个工作区只能打开一张表,如果需要同时打开多张表操作,其中常用的方法是在多个工作区将表分别打开,再建立相互的逻辑关联。这是学生首次接触“多表联合操作”的概念,由于在多表连接操作命令中涉及的操作元素多,在学习过程中容易发生与单表操作混淆、漏写或错写命令子句的错误,借助图示法可以将其中的逻辑关系展示清楚,有助于命令的正确书写。
在建立表的逻辑关联中,需要确定的因素有:
1选择两表的相同字段作为关键字;
2确定主表、从表;
3确定主从表的对应关系。
根据这几个关键因素,两表关联的图示法可以作如下设计,如图1所示。
其中,方框“主表”、“从表”位置填写已经确定的主表和从表的名称,“关联字段”填写具有相同值的字段,“<1/多>”填写主表和从表基于关联字段的对应关系。
图1
例如有两张表,表结构为:学生(学号,姓名,性别,班级),成绩(学号,课程号,成绩),若选择学生表为主表,成绩表为从表,它们基于关联字段“学号”的对应关系为一对多,则用图示法可以表示如图2所示。
从本例可以看出,相对文字描述,图示法更清晰明了地表示了两张表的逻辑关系,展现了确立关联时的操作元素,有利于命令的理解和书写。另外根据操作情况,还可以有选择地在图中分别标注主表和从表打开的工作区区号,如果在程序中存在工作区切换的情况,这样的标识会更有助于操作命令的理解和书写。
图2
2.3变量的作用域
在多模块程序设计中,主调程序(主程序)和被调程序(子程序)之间需要以一定的方法传递变量的值,内存变量的作用域是主程序和子程序共享内存信息的一种形式。根据变量的名称相同但作用的范围不同,变量的作用域有以下4种类型:
1主定子用:凡是主程序定义的变量,子程序可用可改,并且主程序会同步修改。反之,子程序定义的变量主程序是不可使用的。
2公有变量:用PUBLIC声明的变量为公有变量。该类型的变量各级程序都能直接使用和修改。
3局部变量:用PRIVATE声明的变量为局部变量。该类型的变量只在声明为PRIVATE的本级程序及其下级程序中共同使用和修改,而其上级程序被屏蔽了修改结果。
4本地变量:用LOCAL声明的变量为本地变量。该类型的变量屏蔽了其所有的上级和下级程序,只在本程序段起作用。
根据变量的作用域范围的不同,在图示法中,以下列形式表示:
其中以双向箭头?代表PUBLIC变量,表示变量值各级程序均可共享;单向箭头→代表PRIVATE变量,表示变量值由主调程序向下级被调程序共享,以短横线–代表LOCAL变量,表示变量值的改变仅本程序段有效,不与上级主调程序和下级被调程序共享。没有打上作用域标记的变量则必须满足“主定子用”的原则。
下面以四川省第34次二级考试的真题为例,题目如图3所示:
图3
在主程序main和子程序sub1间,要共享两个变量k1和k2的值,其中k2满足主定子用的原则,而k1是private类型变量,需要由特殊符号→表示,根据题目,用图示法表示如图4所示。
图4
由图示法可以清晰地看出,由于k1是private变量,所以在子程序sub1调用完成后,k1的值不会回传到主程序main。
2.4 参数传递
参数传递是主程序和子程序之间另一种变量值的共享方式。主程序作为参数的发送方,使用命令 do <子程序名> with <参数列表1> ,参数为实际参数,简称实参。子程序作为参数的接收方,使用命令 parameter <参数列表2> 来依次接收主程序传递过来的参数值,参数为形式参数,简称形参。
当实参为变量名称时,对应形参所做的修改在程序结束后会返回给主程序,为双向传递。而当实参为其他形式,如常量、表达式、数组变量等形式时,对应形参所做的修改则不会返回给主程序,为单向传递。根据该特点,在图示法中以表示双向箭头?表示双向传递,以单向箭头→表示单向传递。下面以四川省计算机第35次等级考试笔试真题为例说明图示法的使用,题目见图5所示。
图5
在题目中,主程序向子程序传递了两个实参x1和x1+x2,子程序对应由形参y1和y2接收其值。但由于实参中只有x1是变量名,满足地址传递的要求,因此在子程序执行完成后,只有x1对应的形参y1会返回修改值给x1。将上述分析过程用图示法表示,如图6所示。
图6
3 总结
“图示法”是一种辅助教学方法,直观形象地表示教学内容各部分之间的联系,帮助学生整理思路,深刻理解和记忆教学内容。多次的课堂教学反应情况也表明,使用图示法讲解程序所获得的教学效果比直接灌输理论知识更好。
在使用图示法时,应本着“简单明了”的原则,太过复杂的图示反而会使学生陷入更加困惑的境地[4],并不是所有的问题都能以图示法表示和解决,因此教师在教学时要根据实际需要决定是否使用图示法。
参考文献:
[1]汪红兵,姚琳.C++语言中函数参数传递方式的图示说明[J].计算机教育,2010,2(4):96-99.
[2]张承虎,康晓宇,娄坤.医学院校工科专业计算机教学的探讨[J].中国成人教育,2006(10):141.
[3]孙晋飞,管红杰.在程序设计中培养学生钻研创新精神的探索[J].2010,2(4).
[4]王健华.成本会计教学方法新探-图示法.财会月刊[J].2010,11(103).