《汉字行编辑程序设计与实现》
实验报告涉及的是一个基于软件工程基础的汉字行编辑系统,旨在通过实践让学生深入理解软件生命周期方法学,掌握软件开发工具、方法和过程。这个系统可以在VC++6.0环境下运行,提供了丰富的汉字编辑功能,包括基本的编辑命令,旨在在汉字操作系统下支持汉文的输入和编辑。
实验要求学生按照软件工程的思想,对汉字行编辑程序进行分析、设计、编码和测试。具体来说,学生需要实现一系列外部和内部编辑命令,如字符删除(@),行删除(#),行移动(top, up, next),文本输出(list),删除(del),替换(replace),查找(find),复制(copy),存储(store),插入(insert),退出(quit)以及查看工作链(workline)和显示帮助(help)等功能。此外,系统还需要能够处理各种错误情况,如无效的编辑命令、超出行长度的输入或存储空间不足等。
在系统分析部分,明确了编辑命令的含义和操作,例如,@命令用于删除单个字符,#命令用于删除整行,top命令将当前行指针移动到文件顶部,up和next则用于上下移动光标,entere进入输入模式,del删除指定数量的行,replace实现文本替换,find用于查找特定字符串,copy用于复制行,store用于剪切行,insert将工作链中的文本插入正文链,quit退出程序,workline展示工作链的状态,而help则提供命令帮助。
系统设计采用双链结构来组织正文文件,包括正文链、工作链和自由链。正文链由多个字块组成,每个字块包含三个域:N指向下一个字块,U指向前一个字块,S存储固定长度的正文行。正文链由指针TPTR和BPTR管理,前者指向链首,后者指向当前行。如果BPTR为零指针ψ,表示正文链为空。
实验总结不仅检验了学生的编程技能,还强调了团队合作和文档编写能力,每组三人协作完成项目,通过分工合作,培养团队精神。通过这个实验,学生可以实际体验软件开发的全过程,增强对软件工程理论的理解,并提升软件开发实践能力。