浅谈纵横码在教学中的实践与改进
江苏省连云港市海州中学 陈德通
近年来我国汉字编码技术取得了飞速的发展,使得计算机也可处理内涵丰富的“方块”汉字,促进了计算机在社会中广泛普及。短短几年,近千种汉字编码方案如雨后春笋般诞生,形成了一个“万码奔腾”的时代。究竟哪匹“码”更适合计算机操作者特别是中小学生的需要,可谓众说纷芸各有道理。在长期实践中,笔者认为纵横码既符合学生的身心特征,易于被学生接受,因而受到学生欢迎,教学效果显著。我校曾以非布点单位成立了市代表队,参加了两届江苏省中学生纵横码大奖赛,均有学生进入前十五名,获得了二等奖的好成绩。
在教学中,确定一种既适合学生学习,又具有输入速度快的输入法,是广大教师极力探求和迫切需要的。在现行中学计算机教材中,只讲授了拼音输入法和五笔字型输入法。拼音码简单易学,多数学生在小学阶段已经掌握,但其重码多,且输入速度慢。而五笔字型虽使用最广泛且是公认的输入较快的输入法之一,但一百多个字根及其独特的拆字方法与中学生已有的汉字常识相抵触,很难被学生接受。为了做到好学 (方法简单)、好用(输入速度快),我们又先后学习研究并在教学中试用了表形码、认知码、自然码、纵横码等多种成熟的汉字输入法。最后发现,纵横码的认同率最高,受到学生的广泛欢迎。
纵横汉字编码方案简单易学,与学生现有的语文知识体系相吻合。编码方案中的十种笔形代码和五十五个主部首,均可在《现代汉语词典》常用部首中查到,学生不会对纵横汉字编码法产生歧义。对基本笔形和主部首的记忆,更有形象的口诀加以辅助,不会出现其他一些输入法牵强附会的现象。在此基础上主部首的取码以及副部首取码规则就略显容易些,需要强调的仅仅是“疒”和“辶”两个特别的主部首取码。而字身取码规则,看似庞杂繁琐,分门别类有数十种,实际应用却相当简单,只要在学习中将取码规则结合笔形代码一一对应即可。纵横码的这一优点,缩短了教学和学生掌握的时间,一般只需用两课时学生就 可以将纵横汉字编码方案理解掌握。比如第一课时可简介纵横码方案,讲述笔形代码、部首及其取码规则;第二课时以字身取码规则特别是补码规则为重点,然后讲述简码和缩码。配以“纵横汉字输入法教学集成系统”中的演示部分辅助教学,在实践中我们发现教学效果非常好。
学生初步掌握编码方案后结合训练软件的课程目录循序渐进地练习,是掌握纵横汉字输入法的唯一捷径。但由于学生从小学到初中的计算机学习过程中仅仅强调英文指法练习的重要,往往忽略了数字键练习,而在结合训练软件练习的过程中,学生的注意力又都集中在取码、编码的练习中了,指法练习得不到很快的提高。在教学中我们不得不加强学生的指法练习。我们提倡学生使用数字键进行训练,在系统练习指法的过程中可以结合自己的特点加以选择。
在教学之初由于缺乏相应的针对数字的指法练习软件,学生练习指法时常常无从下手,具有一定的盲目性。为克服这一弊端,我们编写了一段小程序(程序附后),以便在训练过程中学生利用“纵横汉字输入法教学集成系统”进行练习测试之余,执行自编的程序专门进行数字录入练习。由于此程序对数字录入进行随机练习,经过一段强化训练后,学生的录入速度都有很大提高。
经过三年多的纵横码教学实践,我们发现纵横码以其新颖而 高效的编码方案吸引着众多的学生,以其轻易驾驭的教学方法博得了老师的青睐,因此教学效果非常好。但纵横码汉字系统中尚有一些美中不足之处,如纵横码系列软件仅适合在单机中使用,而在我校两套计算机网络的无盘工作站上运行效果不佳,一些功能不能充分发挥; 纵横汉字输入法挂接程序没有及时更新,与UCDOS 6.0等更新版本汉字系统挂接后,在部分 汉字编辑软件下不能使用纵横码,限制了纵横码的使用范围。为了更好地推广纵横汉字输入法,我们认为应该尽快推出网络版,随时更新系列软件,不断使纵横汉字系统日趋完美。
附数字键指法练习程序:
set talk off
clea
store 0 to y,n,n1
x=2
set colo to 3+/0
@0,27 say“数字录入指法练习”
t1=val(sys(2))
do while x<=20
set colo to 6 + / 1
a=val(right(time(112),2))
r=a/90
c=r*9+48
@x,y say chr(c)
@x,y say ""
n=n+1
e=inkey(0)
if e=13
n=n-1
exit
endi
if int(c)=e
set colo to 5+/1
?? chr(c)
n1=n1+1
else
set colo to 2+/0
@ x+1,y say chr(e)
endi
y=y+1
if y=80
x=x+2
y=0
endi
endd
clea
@ 12,22 say “时间“+”录入数量“+”正确率(%)”
@ 13,22 say str(val(sys(2))-t1,9,1)+str(n,9)+str(n1*100/n,9,2)
set colo to
wait
quit