刘星亮
摘 要: 计算机语言编程教育是计算机教学中极其重要的一部分。如何培养学生对计算机语言编程的兴趣,提高学生学习的效率,笔者以职高学生教育经历入手,通过对学生学习习惯和语言编程特点的分析,结合教学实例中的教学方法,希望能够对教育工作中教师们有所帮助。
关键词: 计算机; 语言编程; 教学方法
引言
在人们的日常生活中,计算机应用比较广泛。计算机的编程是计算机应用的基础,因此在计算机编程方面需要培养大量的人才[1]。计算机语言编程教学成为了向社会输入人才比不缺少的一步[2]。
对于职高的学生而言,计算机编程的学习过程中包含编程内容、学习方法以及思维方式,每部分学习存在较大差异,大部分学生反映计算机语言编程比较难学[3]。为了使学生能有效学习计算机语言编程这门学科,笔者从教学经历中摸索出一套适合职高学生的学习方法。
一、重视学习方法,培养学生的思维能力
计算机编程教育对职高学生而言是一门比较陌生的一门学科。学生在初中阶段一般都是依靠记忆、模仿来学习知识,从中忽略了理解的重要性。所以大部分学生学习编程语言的时候就是单单依靠记忆来学习,往往忽略知识的推理。针对这种情况,在开始讲授这门课的时候要将这门课的作用、内容概况、以及新的学习方法给学生讲清楚,以免让学生走弯路。另外,我们还要注重学生学习兴趣的培养、思维习惯的养成,更要注重学生学习方法的熏陶。在上课的过程中教师应该抛弃满堂灌的教学方式,每节课应该预留出5分钟的时间给学生讨论,把剩余的课堂教学时间合理的分配:教师应该用三分之一的时间把课本的内容简明扼要的讲解给学生,然后用三分之一的时间让学生进行总结学习,剩下的时间就是老师进行出题,让学生探讨,如何解决老师提出的问题。通过课堂讲授、自我总结以及学习讨论这个过程,学生能够发现学习漏洞,方便差缺补漏巩固学习能力。
二、突出重点,简化变成过程中难以理解的步骤
职高学生的文化课成绩差异比较大,理解能力也有所不同,这就要求老师要因材施教,要在学生的理解范畴讲解知识。教会学生编写计算机语言程序是教学的重点内容,也是难点内容。经过几年的教学笔者发现难点主要表現在学生不会针对问题进行分析,不会用计算机语言描述提出的问题。所以老师应该让学生采用逆向思维的方式,即从想要得到的结果出发,中间经过怎样的处理,每一步的处理可以用那些已知条件,把这个分析过程用简单的文字表达出来,再画一个框图,框图的内容每一部分用文字或者符号去表达。对于一些难以理解的编程问题还可以用打比方的方法讲授给学生。比如变成这过程中经常遇到两个变量A和B值的问题。学生会直接用 “A=B”来代替,这样就会减少一个变量。运用打比方的方法,有两个杯子,一个杯子贴上A,里面装有黑墨水,另外一个贴上B,里面装有蓝墨水,现在要把A换成蓝墨水,就需要先借助另外一个杯子C才能完成。经过这样的引导学生很容易写程序:(设用5代替黑墨水,用3代替蓝墨水)
A=5
B=3
C=A
A=B
B=C
三、采用实例介绍专有名词,让学生更好理解
在计算机编程语言学习的过程中,通常让学生先学一些简单的例子。例如,编写一个求解一元二次方程X2-7X+12=0的程序。显然这个方程的根是受到方程系数的影响,我们可以看到二次项系数A=1,一次项系数B=-7,常数项C=12,求根公式如下
将系数带入到求根公式的到的解是X1=3,X2=4。
如果编写这个求解程序,我们要用三个变量A,B,C代替方程的系数,判别式b2-4ac用另外一个变量D来代替,还要用一个平方根函数SQR()。编写后的程序如下:
A=1:B=-7:C=12
D=B*B-4*A*C
X1= (-B+SQR (D))/2*A
X2= (-B-SQR (D))/2*A
PRINT X1, X2
END
在介绍过简单的程序后,在介绍编程序的另外一种类型,选择程序和条件语句。首先通过实例进行讲解,编写程序解一元二次方程X2-X+1=0,此方程是一个没有实数根的一元二次方程,所以只根据方程的系数不能求解方程。我们分析方程有没有实数根的过程在计算机上呈现就是需要一个程序分析判断,这个分析判断就叫做条件语句。
图1求解流程图
在编程前要先画流程图,一元二次方程一般式AX2+BX+C=0的求解流程如图1所示。流程图中的三角形框图代表分析判别,也就是条件语句,流程图中的分叉为程序进行自动选择过程。
从上例中可以看到方程的求解过程只需要求解一次,这种求解方法叫做顺序程序,还有另外一种程序叫做循环程序。循环程序的提供数据的语句有三种分别是赋值语句、键盘输入语句和读置数语句。若一元二次方程需要求解20次,若使用赋值语句需要编写多次程序,可想而知,这种方法是比较麻烦的。在这种情况下引入键盘输入语句,这种语句可以为变量提供数据,每次运行时,执行键盘输入语句,操作员从键盘输入给变量,求解20次只需要编写一个程序就可以了。编写程序如下:
20 INPUT A, B, C
IF A=0 THEN GOTO 100
D=B * B-4*A*C
IF D≮0 THEN
X1=-B/(2*A)+SQR(-D)/(2*A)
X2=-B/(2*A)-SQR(-D)/(2*A)
PRINT X1; "I", X2; "I"
ELSE
X1=-B/(2*A)+SQR(D)/(2*A)
X2=-B/(2*A)-SQR(D)/(2*A)
PRINT X1, X2
END IF
GOTO 20
100 END
观察此程序,使用了键盘输入语句,在求解20次的情况下只需要编写一个程序就能够求解,在编写程序方面节省了大量时间。但是这种方法需要等待操作员输入数据后才能继续运算,降低了计算的效率。这就要引出循环语句(FOR/NEXT语句)的概念,这个功能主要是能够重复同样的操作,最后自动退出。这种方法缩减了操作员手动输入的时间,提高了运算效率。
通过比较简单的两个一元二次方程我们由浅到深的分析了编写程序的几个专有名词的使用,采用这种方法能够让学生更加深刻的记忆其使用功能。
计算机的语言编程是一个比较难学的科目,里面包含许多重点与难点需要同学去克服。我们作为教师,只要根据学生的特点,选择合理的教学方法,在此过程中把比较难懂的地方慢慢拆解开,学生在学习的过程中也会少走很多弯路。■
参考文献
[1]叶连杰, 计算机编程语言的发展与应用[J] 信息与电脑 2014.
[2]陈晨, 高校计算机语言类编程教学特点及阶段的探讨[J] 亚太教育 2016.
[3]杜纪魁, 极限编程与计算机语言教学[J] 科教文汇 2008.endprint