您好,请 登录
 
|
|
|
 

中学生指法、打字学习软件的设计论文发表(推荐)

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-02-26 18:52:56

中学生指法、打字学习软件的设计

〖内容摘要〗
本文是关于设计一个适合初中生使用的,集指法训练、打字训练、自由练习于一体的小软件。分析了流行的打字软件,提出适合一个初步接触电脑的初中学生使用的方案,并分析了主要技术及其实施。

〖关 键 词〗
初级电脑学习、指法训练、打字练习、程序设计、DELPHI语言、资源、画布、分辨率。


中学生指法、打字学习软件的设计


【摘要】:本文是关于设计一个适合初中生使用的,集指法训练、打字训练、自由练习于一体的小软件。分析了流行的打字软件,提出适合一个初步接触电脑的初中学生使用的方案,并分析了主要技术及其实施。
【关键字】:初级电脑学习、指法训练、打字练习、程序设计、DELPHI语言、资源、画布、分辨率。
1概述
1.1指法、打字训练程序的需求
根据信息技术教学大纲,英中文打字是中小学生上机学习的重要内容,也是会考的重点,分数约占上机总分的一半左右。在实际教学中,由于我镇各小学都没有设置信息技术课,打字训练只能够有中学教学承担,从中学生的实际水平和电脑应用方面来看,中英文打字是非常重要的,它甚至影响到学生在整个《信息技术》的学习以及学生使用电脑的。所以,一个简单实用,易用的指法、打字应用软件在中学的机房中应该是必备的。
1.2指法、打字训练程序的和现状   
现在,市面上的打字软件种类繁多,除了曾经广泛应用的DOS界面的程序外,也有很多后起之秀,经过几日的试用对比,我觉得最好用的就是金山公司推出的《金山打字通2000》和张小斌设计的《金山全能打字通2002》。对比这两款软件,它们界面豪华,功能强大,完全能满足中学生打字练习的需要,于是,我选择《金山全能打字通2002》试用版给学生使用。但是,经过一个多月的练习。我发现了如下问题:
(1)、主窗口上的按钮“指法练习”, “英文测试”等五个大按钮使用很不方便,原因是每个按钮只有左边是有效区,右半部分是无效区,这就造成很多不知道学生单击按钮时无反应,难以进行正常使用。
(2)、当学生们进入了“指法练习”的窗口时,如果要退出练习,不能用鼠标操作,必须要按键盘上的“ESC”,然后单击鼠标或按“F10”。特别是中文练习,只能按键盘上的“ESC”,然后按“F10”,否则会关闭练习系统。
(3)、当在《金山打字通》中存在“指法练习”的子窗口时, 单击主窗口的关闭“╳”时,不能关闭《金山打字通》的主窗口程序。对刚刚入门的初中学生来说,很难操作。
(4)、《金山打字通》会影响电脑正常关机。如果电脑正在运行《金山打字通》时,很多学生关机时忘记先关闭《金山打字通》,就直接关闭电脑,经常会出现“蓝屏”,无法正常关闭电脑。特别是进行远程控制时,这一现象更明显,严重影响机房控制管理工作。
(5)、在“键盘练习”中,对错误输入无任何限制,这样造成很多学生在练习时不注意正确率而只是追求输入速度。甚至有些学生练习腻了,就乱按键盘或按住键盘不放。
(6)、由于中学生不需要学习五笔输入,所以本功能虽然强大,但是毫无用处。
    以上这些问题显示出来这些软件最大的缺陷就是:他们忘了学习键盘打字的大多是一些未接触或刚开始接触电脑的菜鸟,他们刚刚接触电脑,任何强大的功能对于他们来说只会增加他们的麻烦。综上所述,我决定自己设计一个符合教学要求的指法、打字软件。
2.我校打字软件的设计方案
2.1应用平台  
因为《信息技术》是基于 WINDOWS32,又因为我校学生机是WINDOWS98系统,所以选用WINDOWS95/98/2000。
2.2编写环境 
基于 WINDOWS32的编程环境很多,流行的有Microsoft 的Visual  C++, Visual Basic  和Borland 的Delphi 6.0,由于本人一直使用Borland 的Delphi,自然驾轻就熟了。
3主要功能分析需求分析
3.1指法训练
对于一个刚接触电脑的中学生(根据本人的问卷调查,本校2001级初一学生电脑家用拥有率为4.4%,初次接触电脑的占87.5%)来说,系统的指法训练是很重要的,所以基本中能不可少。
  (1)、基准键练习    (2)、各字母键练习
  (3)、数字键练习    (4)、字符键练习 
(5)、综合练习
每项都有键位帮助,涵盖指法训练整个过程,并且显示出正确按键数、错误按键数、正确率、速度、时间等, 为了让学生一开始就培养好良好的打字习惯,特别引入了玩游戏机“血”的概念,每次练习只能错三十键,否则重新开始。
3.2中文打字
因为我们是中文国家,只有能输入中文,学生们才能真正使用电脑,所以中文打字不可少。“即学即用”的拼音输入法应成为中学生的首选。所以,本系统只要提供一个中文“对照练习”的功能木块就够用了,并且显示出正确按键数、错误按键数、正确率、速度、时间等。
3.3自由练习
为有一定水平的学生提供一个自由练习的场所,像一个简单的“文本编辑器”,提供新建文件、保存文件、打开文件等命令和复制、剪切、粘贴、删除、字体设置等操作命令。
3.4用户记录及自动记分
不同的用户有不同的资料,既能增加学生的成功感,又方便老师了解同学们的学习情况,便于控制训练时间。自动记分大大减少老师的工作量,提高机房管理质量。
3.5帮助
能够提供一些入门的知识,如手指的摆放,每个手指的管辖范围等;能够简明地说明本软件的主要功能和简单的操作。
4主要技术分析和实施
4.1   资源和程序分离。
为了更好的管理资源,在不更改程序的情况下有效地配置资源,特别是前面说到的指法练习时有(1)、基准键练习,(2)、各字母键练习, (3)、数字键练习 ,(4)、字符键练习 ,(5)、综合练习等几个模块,如果把程序和资源分离后,只要设置以下资源的路径就可以了,所以决定要把资源和程序分离,根据本系统资源较少,并且全部为纯文本,所以把资源放在文本文件中,方便以后扩充或管理。在这里,我把各个部分的资源做成一些*.txt文件,为了方便处理,文本中不留回车键,要使用时,随机读取其中一部分就行。要求有对资源读的模块,因为英文和中文字符所占的字节不同,所以我把英文和中文的过程分开,下面是读中文的过程:
function TFUChinese.ReadTxt:string;
Var
   i,j:integer;
   iposition:Longint;
   F:TextFile;//file of Byte;
   strRandom,sDir,sNewDir:String;
   Ch: Char;
Begin
  randomize;
  iposition:=random(16000);//16000 is the longth of the TEXT
  iposition:=iposition*2;//Chinese characters have two byte
  sDir:=Application.ExeName;
  sNewDir:=copy(sDir,1,length(sDir)-10)+'data\C2.txt';
  AssignFile(F, sNewDir);
  Reset(F);
  for i:=1 to iposition do  Read(F,Ch);
  for j:=1 to 640 do begin
     Read(F,Ch);
     strRandom:=strRandom+ch;
  end;
  Closefile(F);
  result:=strRandom;
end;
4.2正确和错误颜色的改变
对照练习时,先把资源资料显示在画布上,画布下面放个文本框让使用者对照输入,如果正确,上面画布的字符或汉字将绿色覆盖,否则被黑色覆盖;但使用者如果按删除键,那么前一个字符将恢复原来颜色。在英文对照练习中,这个过程是:
//img:the Sourse Image
//iLetf:  当前字符的位置
//cTrue:  Mark the InPut Char is wrong or right.
Procedure  DrawRect
(img:TImage;iLetf:integer;cTrue:char);
var
   ARect,ShowRect: TRect;
begin
  with img.Canvas do
  begin
    if cTrue='1' then
        CopyMode :=cmPatInvert
    else CopyMode :=cmNotSrcErase;
ARect := Rect(iLetf*12,0,iLetf*12-12,30);
//In 800*600,12  pels every  byte.
    CopyRect(ARect,img.Canvas, ARect);
  end;
end;
 4.3判断正误
   当使用者对照输入时,不论正确是否,程序都要做出判断,然后根据判断反馈给使用者,让使用者知道刚才的输入正确是否。在英文对照输入中,这一点比较简单,因为英文字母只能逐字输入,但是,在中文对照中,由于绝大部分输入法允许词组甚至整句输入,处理起来就复杂些,下面列出中文输入的处理过程:
procedure TFUChinese.RichEditInputChange(Sender: TObject);
var iOld,iNew,iChange:integer;
    strChange,str1,str2:string;
begin
try
     if  TimerSum.Enabled=false then begin
         TimerSum.Enabled:=true;
     end;
    strNew:= RichEditInput.Text;
    iOld:=length(strOld);
    iNew:=length(strNew);
    iChange:=iNew-iOld;
    if ichange=1 then begin
       exit;
    end;
    if iChange>0 then begin
       strChange:=copy(strNew,iOld+1,iNew);

[1] [2]  下一页

  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

论文订购方式