软件实习1任务书
- 格式:doc
- 大小:46.00 KB
- 文档页数:7
《实训(综合应用开发)》任务书(第二版)长江大学工程技术学院信息编撰:卢东方2011年10月目录1. 设计题目 (1)2. 设计目的 (1)3. 设计任务 (1)3.1 应用背景 (1)3.2 系统目标 (1)4. 设计指导 (2)4.1 功能设计 (2)4.1.1 图书管理部分 (2)4.1.2 读者管理部分 (2)4.1.3 借阅管理部分 (3)4.1.4 数据统计部分 (3)4.1.5 系统管理部分 (4)4.1.6 读者部分 (4)4.2 界面设计 (5)4.2.1 登录窗口 (5)4.2.2 主界面 (5)4.2.3 角色权限 (6)4.2.4 查询图书信息 (6)4.2.5 添加图书信息 (7)4.2.6 查询读者信息 (8)4.2.7 添加读者信息 (9)4.2.8 读者类别管理 (10)4.2.9 借书 (10)4.2.10 还书 (11)4.2.11 查询借阅记录 (12)4.2.12 按借阅统计信息 (13)4.2.13 按图书信息统计信息 (13)4.2.14 收缴罚款 (14)4.2.15 修改个人资料 (15)4.2.16 查询个人借阅信息 (15)4.2.17 用户管理 (16)4.3 数据库设计 (17)4.3.1 读者类别表(ReaderType) (17)4.3.2 读者信息表(Reader) (17)4.3.3 图书信息表(Books) (17)4.3.4 借阅信息表(Borrow) (18)4.3.5 用户表(Users) (18)4.3.6 罚款缴纳表(CaptureFine) (18)4.3.7 权限表(UserPriv) (18)5 部分功能演示 (19)5.1 数据库设计演示 (19)5.1.1 创建数据库 (19)5.1.2 创建表 (19)5.2 数据库连接 (21)5.3 登录界面设计 (23)5.3.1 界面设计 (23)5.3.2 代码设计 (24)5.4 主窗口设计 (26)5.4.1 界面设计 (26)5.4.2 代码设计 (27)6 进度安排 (33)7 成绩评定 (34)8 实训报告 (34)8.1 主要内容 (34)8.2 格式要求 (35)9 主要参考资料 (35)10 需要考虑的问题 (35)1. 设计题目《实训(软件综合应用开发)》任务书1. 设计题目图书管管理信息系统2. 设计目的通过对图书管理信息系统的系统分析、系统设计、编码、调试等工作的实践,了解管理信息系统的一般设计和实现思路,从Windows或Web两个不同切入点熟悉和掌握软件设计和实现的一般方法,深入了解SQL Server 2005数据库设计的基本理论及方法。
课 程 设 计E R P 软件实习X X XXXXX X X XX X X X201X 年 X 月 6 日设计题目学 号 专业班级 学生姓名 指导教师实习报告模拟公司的情况介绍:通过模拟XX服装有限公司,来进行我们的ERP软件实习。
我们的组员担当公司的总经理、采购经理、物流经理、财务经理、销售经理以及生产经理等。
下面是我们的虚拟情况。
XX服装有限公司成立于2008年,公司的主要产品有T恤,衬衫,牛仔裤,休闲裤,同时我们把公司定位于适合学生的中等价位消费水平,我们的客户主要有凡人,零售,流云等中等价位公司。
品上线的准备。
XX服装公司拥有2家供应商,5家客户,4名销售代表,5个部门,主要是生产、销售衣服。
参加实习的学生年级、班级、姓名:指导教师:实习的时间、地点:实习时间:实习地点:一、目的通过本环节的学习,将课堂所学有关理论知识运用于实践中,要求熟悉ERP系统的基本业务流程,掌握一种ERP软件的操作方法,为将来从事企业信息化方面的实践和研究工作打下良好的基础。
二、基本要求1.完成实习指导书中的上机练习。
2.按时提交总结报告。
三、主要步骤和内容主要内容:销售、应收主要步骤:1、销售主线业务向客户C01-凡人公司发出报价单一份,内容为P03-牛仔裤(1000条),价格为171.00元,付款条款为现金—普通客户。
销售报价单(编号:主1):客户C01—凡人公司发出订单,销售经理制作销售订单一份(订单编号:主1):基于销售订单1在生产库存达到后进行交货,交货(编号:主9):根据销售的发货单创建一张应收发票,销售应收发票(发票编号:主10):根据应收发票创建一张收款单,收款方式为现金(编号:主6):2、销售组合业务向客户C03-流云公司发出报价单一份,内容为P01-T恤100条,价格为132元,P02-衬衫100条,价格为168元,P04-休闲裤100条,价格为204元。
销售报价单(编号:主2):根据销售的订单创建了一张销售交货单:(编号:主1):根据销售的交货单创建了一张应收发票,(编号:主1):根据应收发票创建一张收款单,收款方式为现金(编号:主5):3.销售特殊业务做一批零售业务,向零售客户销售一批货物,P04-休闲裤100条,价格204元,P02-衬衫100条,价格168元,(编号:手动1):4、先开发票后交货根据客户C04-森马有限公司的需求创建一张销售订单,内容为产品P01-T恤800条,价格99元,P02-衬衫500条,价格126元,P04-休闲裤100条,价格为153元。
实习报告:顶岗实习任务书实习报告,顶岗实习任务书。
一、实习单位基本情况。
我所在的实习单位是一家知名的互联网公司,主要从事互联网产品开发和运营业务。
公司规模较大,拥有一支专业的技术团队和运营团队,业务涵盖多个领域,包括移动应用开发、数据分析、用户体验设计等。
二、实习任务。
1. 参与产品开发。
作为顶岗实习生,我将参与公司的产品开发工作。
具体包括参与需求分析、产品设计、编码实现等工作,通过实际项目实践,提高自己的技术能力和实战经验。
2. 参与运营工作。
除了产品开发,我还将参与公司的运营工作。
包括数据分析、用户调研、市场推广等工作,通过了解用户需求和市场动态,为产品优化和推广提供支持。
3. 学习和成长。
在实习期间,我将不断学习和提升自己的能力,包括技术能力、沟通能力、团队协作能力等。
通过实践和反思,不断成长和进步。
三、实习计划。
1. 第一周,熟悉公司业务和团队,了解实习任务和目标。
2. 第二周至第六周,参与产品开发工作,包括需求分析、产品设计、编码实现等。
3. 第七周至第九周,参与运营工作,包括数据分析、用户调研、市场推广等。
4. 第十周,总结实习经验,准备实习报告和汇报。
四、实习收获。
通过顶岗实习,我将获得丰富的实战经验和专业知识,提升自己的技术能力和综合素质。
同时,通过与公司团队的合作和交流,我也将学到很多团队协作和沟通技巧,为将来的工作奠定良好的基础。
总之,我将全力以赴完成实习任务,为公司的发展和自己的成长贡献自己的力量。
相信通过这次实习,我将收获满满,成长为一名优秀的互联网从业者。
2010-2011学年第二学期软件工程专业认识实习任务书一.实习的性质、目的和要求1.任务和地位认识实习是高等工科院校全面贯彻党的教育方针、培养适应社会主义建设人才的一项重要的实践环节,是理论联系实际的有效方式。
主要目的就是让学生了解计算机的发展过程;了解计算机系统和计算机的技术现状、应用情况,使学生对计算机的概念、应用和学习等有一个整体的认识;提高学生今后专业学习兴趣、积极性;将书本知识更好的转化实践知识;文章撰写、排版能力的提高。
2.知识要求认识实习应在学习高等数学、英语、计算机导论、C/C++程序设计等基础课程之后进行,其目的是让学生了解过程软硬件开发状况,了解软硬件开发流程及主要设备、机械的结构原理;通过将学过的基础课程与生产实践相结合,形成初步的专业概念,为学习专业课奠定基础。
3.能力要求通过实习的教学使学生能够比较熟练地掌握计算机软硬件软件的相关知识以及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生独立思考、分析、处理问题的能力。
掌握最先进的操作系统和虚拟化技术,做到理论和实践紧密结合,为今后能够快速阅读和设计综合程序打下良好的基础。
二.实习内容和实习安排1.实习内容(1) 了解计算机的发展过程在校内实验楼的机房,将汇集自建立实验室以来使用过的计算机,以及上网查阅资料补充,由此了解计算机发展过程,各个时期的计算机及其硬件等,从视觉和触觉上真切的了解各种硬件,知道了更丰富的计算机发展历史。
(2) 了解计算机系统①计算机网络的初步认知②计算机硬件的初步认知③硬件故障的简易解决④软件故障的简易解决⑤计算机购机注意事项(3) 了解计算机的技术现状和应用情况学生可以通过去图书馆、上网等方式,查阅计算机技术现状的资料(例如:招聘启示、大型计算机及软件公司网站等),从整体上把握主流技术及其应用领域,为今后的专业课学习、乃至就业奠定基础。
在此基础上,选择一款或者一类应用计算机技术的产品(要求与其合影,将来出现在相应的实习报告里),对于一款产品,可以剖析其硬件结构、理解软件实现技术等;对于一类产品,可以进行分类、分析工作原理、安全性等方面,然后整理成文档,最终按公开发表论文的格式提交。
计算机实习任务书1. 引言这份计算机实习任务书旨在明确实习生在计算机领域的实习目标和任务。
通过此次实习,实习生将有机会运用所学知识,探索计算机领域的实际应用,提升实践能力和解决问题的能力。
2. 实习目标本次实习的主要目标是让实习生深入了解计算机领域的相关工作和流程,提升实践能力,并培养团队合作精神。
具体目标如下: - 学习和运用计算机编程语言,如Java、Python等,实现简单的程序开发;- 理解和应用计算机网络知识,如TCP/IP协议、网络安全等;- 实践数据库管理和数据处理技术,如MySQL、MongoDB等;- 了解和运用软件工程原理和项目管理方法;- 掌握基本的问题分析和解决能力,学会使用调试工具和技术。
3. 实习任务实习任务将根据实习生的实际情况进行分配和调整,其中包括以下内容:- 参与项目开发:实习生将加入一个实际的项目开发团队,参与项目的需求分析、设计、编码和测试等各个阶段,运用所学知识解决实际问题;- 学习和掌握编程语言:实习生将学习使用一种或多种编程语言,如Java或Python,完成一些简单的编程任务,如编写一个简单的图像处理程序或实现一个简单的网页;- 数据库管理:实习生将学习数据库的基本原理和常用操作,如数据的增删改查等,以及数据库管理工具的使用;- 网络安全实践:实习生将学习和应用网络安全知识,如防火墙配置、漏洞扫描等,确保网络的安全和稳定;- 解决问题和调试:实习生将学习和应用调试工具和技术,解决实际问题,如程序错误、网络故障等。
4. 实习安排- 实习时间:从一个月到三个月不等,根据实习生的学业安排和实习任务的需求进行安排;- 实习地点:实习地点为公司或实验室,由公司或实验室提供实习场所和必要的设备;- 实习指导:实习生将获得一名导师指导,并定期进行实习生活动的记录和总结。
5. 实习评估实习过程中,实习生将被评估其在实习任务中的表现和能力。
评估标准主要包括以下几个方面:- 任务完成度:实习生完成实习任务的数量和质量;- 学习成果:实习生在实习期间所取得的学习成果和能力提升;- 团队合作能力:实习生在团队合作项目中的表现和贡献;- 解决问题能力:实习生在解决实际问题中的表现和能力;- 工作态度和职业素养:实习生在实习期间的工作态度、自律性和职业素养。
《软件工程》实验任务书一、软件工程实验综述《软件工程》课程实验涉及的应用领域较广,属于设计性、综合性实验,需要学生结合具体的软件项目,进行充分的课外调研和探索工作。
1.软件工程实验的任务和目标(1)使学生掌握采用软件工程方法开发一个软件系统的过程,即经历软件开发的各阶段——软件的定义、分析、设计、编码、测试、软件调试与过程管理,将软件工程的原理、方法与技术应用于实际的软件问题。
(2)加深对开发过程中所涉及的各种建模工具的认识和理解,学会利用现有的计算机辅助工具独立完成软件系统的设计工作。
(3)能够编写符合规范的软件开发过程中产生的各类技术文档。
2.需具备的条件(1)掌握按照软件工程思想开发软件的方法、步骤。
(2)掌握软件文档编制的相关标准。
(3)熟悉实验环境:文档编辑工具、计算机辅助绘图工具等。
二、软件工程实验的内容软件工程课程规定的课内实验为8学时。
要求学生按照结构化开发方法完成下面的三个实验,即对给定的实验题目进行需求分析、软件设计、软件测试方案设计,最终提交相关实验的实验报告(软件文档)。
实验一软件项目的需求分析1.通过课外调研及资料查阅充分了解待开发软件项目的背景、需求和约束。
2.采用结构化分析方法和建模工具完成软件系统的功能模型(用数据流图描述)、数据模型(可借助E-R图描述)的创建。
3.提交实验报告,即编写“软件需求规格说明书”。
实验二软件项目的设计本实验属于实验一(软件项目的需求分析)的后续实验。
1.根据需求分析阶段得到的数据流图、设计软件的模块结构(用软件结构图表示)。
2.对重要的功能模块进行详细设计(使用N-S图或程序流程图描述模块算法)3.根据需求分析阶段得到的E-R图进行数据结构设计(即设计关系数据库的表结构)。
4.进行系统接口设计(包括内部接口、与用户接口等)。
5.提交实验报告,即编写“软件设计说明书”。
实验三软件测试方案设计1.实验题目:●从下列(1)和(2)中选择一题完成:(1)从上述软件项目设计中选取一个重要功能模块,根据其详细设计结果,进行测试方案设计:①采用“等价分类法”对程序的接口进行测试。
计算机实习报告任务书一、实习目的与意义随着信息技术的迅速发展,计算机技术在各行各业中的应用越来越广泛,掌握计算机技术已成为现代社会的基本要求。
为了提高学生的实践能力和创新能力,培养学生的团队协作精神,我校决定开展计算机实习活动。
通过实习,使学生了解计算机技术在实际应用中的重要性,巩固所学知识,提高动手能力,培养解决实际问题的能力。
二、实习任务与内容1. 实习任务(1)完成实习报告:包括实习目的、实习内容、实习过程、实习收获等方面。
(2)提交实习作品:根据实习内容,完成一个计算机应用项目,如编程、网页设计、数据库应用等。
2. 实习内容(1)计算机基础知识复习:复习所学的计算机基础知识,如计算机组成原理、操作系统、计算机网络等。
(2)实践操作训练:进行计算机硬件组装与维护、软件安装与调试、网络配置与优化等实践操作。
(3)编程实践:学习一门编程语言,如C++、Java、Python等,完成一个小型程序设计。
(4)项目实践:结合所学专业,完成一个实际应用项目,如校园网站设计、数据库管理系统等。
(5)团队协作与交流:分组进行实习,学会与他人合作,共同完成项目任务。
三、实习时间与安排实习时间为两周,具体安排如下:第一周:1. 第一天:实习动员,布置实习任务,分组分工。
2. 第二天至第四天:复习计算机基础知识,进行实践操作训练。
3. 第五天至第七天:学习编程语言,完成小型程序设计。
4. 第八天至第十天:开展项目实践,进行团队协作与交流。
第二周:1. 第一天至第二天:完成项目收尾工作,整理实习成果。
2. 第三天至第五天:撰写实习报告,提交实习作品。
3. 第六天至第七天:实习总结与交流,表彰优秀实习生。
四、实习要求与评价1. 实习要求(1)认真完成实习任务,积极参加实习活动。
(2)严格遵守实习纪律,保持实习场所整洁。
(3)注重团队协作,互相学习,共同进步。
(4)按时提交实习报告和作品。
2. 实习评价(1)实习表现:包括出勤、纪律、团队合作等方面。
软件开发岗位实习报告:任务分配与工作规划一、实习背景及目标作为一名软件开发实习生,我在公司的实习期间负责参与开发一款新应用程序。
我将在报告中总结我的任务分配情况以及制定的工作规划。
通过这些实习任务,我将提升我的开发能力和团队合作能力,并努力实现公司的目标。
二、任务分配在实习期间,我参与了一款新应用程序的开发工作。
我们的团队由5名开发人员组成,每个人负责不同任务,并在每周会议上进行进展汇报和讨论。
以下是我分配到的具体任务:1. 需求分析和设计作为一个团队成员,我主要负责参与需求分析和设计阶段。
我与产品经理合作,收集用户需求和功能要求,并将其转化为明确的设计文档。
我参与讨论会议,提供我的建议和想法,并与其他开发人员合作确保需求的准确性和可行性。
2. 编码和测试根据需求分析和设计文档,我负责编写代码并进行测试。
我使用了公司内部的开发工具和语言,例如Java和Eclipse。
在编码的过程中,我注重代码的可读性和可维护性,并进行了自我测试以确保代码的正确性和稳定性。
3. 代码审查和优化作为一个团队成员,我也参与了代码审查和优化的过程。
我仔细阅读和分析其他团队成员的代码,并提出改进的建议和意见。
这个过程有助于提高整个团队的代码质量和开发效率。
4. 文档编写在开发过程中,我撰写了详细的技术文档,包括设计文档、用户手册和测试报告。
这些文档对于保证项目的可维护性和可持续性非常重要,并有助于团队成员之间的沟通和理解。
三、工作规划为了更好地完成我的实习任务,我制定了以下工作规划:1. 学习和提升技术能力作为一名软件开发实习生,不断学习和提升技术能力是非常重要的。
我将利用实习期间的时间,学习相关开发语言和工具的最新技术和开发方法。
我会参加公司内部的培训和研讨会,并积极阅读相关的技术资料和书籍。
2. 提高团队合作能力在一个团队中工作需要良好的合作能力。
我计划与团队成员积极沟通和协作,分享我的经验和知识,并尽量与他们互相学习。
软件实习1任务书《软件实习1》任务书学期:14-15-2 班级: 13457341/2一、课程设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本次软件实习的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。
二、设计要求1、通过这次软件实习,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
2、学生必须仔细研读《软件实习1》要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。
3、本次软件实习按照教学要求需要在二周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好时间计划,并在软件实习过程中不断检测自己的计划完成情况,及时地向指导教师汇报。
4、编程语言任选。
三、设计选题选题说明:学生原则上可以结合个人爱好在选题列表中自行选课,要求选课量至少为6题(60分),且必须覆盖数据结构(线性表、队列、栈、字符串、树、图、查找和排序)的主要内容。
根据实际完成题目的难度和数量以及实现程序的完善性可以适当加减分;同学们在选题时,要结合个人实际情况,确保及格,力争多做。
1、集合的并、交和差运算—线性表【问题描述】编制一个能演示执行集合的并、交和差运算的程序。
【基本要求】(1) 集合的元素限定为小写字母字符[‘a’..’z’] 。
(2) 演示程序以用户和计算机的对话方式执行。
【实现提示】以链表表示集合。
【选作内容】(1) 集合的元素判定和子集判定运算。
(2) 求集合的补集。
(3) 集合的混合运算表达式求值。
(4) 集合的元素类型推广到其他类型,甚至任意类型。
2、一元稀疏多项式的计算—线性表【问题描述】实现两个多项式的运算(相加、相减)。
【基本要求】(1)按照指数降序排列建立并输出多项式(2)完成两个多项式的相加、相减,并将结果输出(3)以链式存储结构实现多项式。
3、病人就医管理—队列【问题描述】病人到医院看病,排队看医生的情况,在病人排队过程中,主要发生两件事:(1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。
(2)护士从等待队列中取出一位病人的病历,该病人进入诊室就诊。
试为医院编制按上述要求进行管理的模拟程序。
【基本要求】程序采用菜单方式,其选项及功能说明如下:(1)挂号排队------输入病人的病历号,加入到病人排队队列中。
(2)就诊-------病人排队队列中最前面的病人就诊,并将其从队列中删除。
(3)查看排队------从队首到队尾列出所有的排队病人的病历号,并列出当前排队人数。
(4)下班---------退出运行。
下班前,应检查有无排队病人,如果有,则不能下班;【选作内容】(1)分科室挂号(2)若有急诊病人,允许插队4、敢死队问题—循环队列【问题描述】有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。
如果前一个战士没完成任务,则要再派一个战士上去。
现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。
如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。
以此类推,直到任务完成为止。
排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。
【基本要求】至少采用两种不同的数据结构的方法实现。
5、表达式计算—栈和字符串【问题描述】输入一个含有数字(0~9)、运算符(+、-、*、/)及圆括号的四则运算表达式,如:((4+7)*9-3*5)/2+4。
由计算机自动计算得出结果。
运算优先级:圆括号由内向外→*和/→+和-。
【基本要求】(1)四则运算表达式作为字符串输入;(2)将四则运算表达式转换为后缀表达式;(3)使用以顺序存储结构实现的栈,对后缀表达式进行计算。
6、停车场管理—栈和队列【问题描述】设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
试为停车场编制按上述要求进行管理的模拟程序。
【基本要求】以栈模拟停车场,以队列模拟车场外的便道。
每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。
对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停车不收费)。
栈以顺序存储结构实现,队列以链表结构实现。
7、文章编辑—字符串【问题描述】输入一页文字(静态存储一页文章,每行最多不超过80个字符,共N行),程序可以统计出文字、数字、空格的个数。
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
(4)存储结构使用线性表,分别用几个子函数实现相应的功能;(5)输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
(6)输出形式:1)分行输出用户输入的各行字符;2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"3)输出删除某一字符串后的文章;8、迷宫求解—字符串与数组【问题描述】以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。
设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
【基本要求】(1)首先实现一个栈类型,然后编写一个求解迷宫的非递归程序。
(2)求得的通路以三元组(i,j,d)的形式输出,其中(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。
9、哈夫曼码的编/译码系统—树【问题描述】利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。
对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。
试为这样的信息收发站写一个哈夫曼码的编/译码系统。
【基本要求】一个完整的系统应具有以下功能:(1)I:初始化(Initialization)。
从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。
(2)E:编码(Encoding)。
利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran 中的正文进行编码,然后将结果存入文件CodeFile中。
(3)D:译码(Decoding)。
利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile 中。
(4)P:打印代码文件(Print)。
将文件CodeFile以紧凑格式显示在终端上,每行50个代码。
同时将此字符形式的编码文件写入文件CodePrin中。
(5)T:打印哈夫曼树(Tree printing)。
将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。
【测试数据】(1)利用下面这道题中的数据调试程序。
某系统在通信联络中只可能出现八种字符,其概率分别为0.25,0.29,0.07,0.08,0.14,0.23,0.03,0.11,试设计哈夫曼编码。
(2)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FA VORITE”。
字符空格 A B C D E F G H I J K L M频度186 64 13 22 32 103 21 15 47 57 1 5 32 20字符N O P Q R S T U V W X Y Z频度57 63 15 1 48 51 80 23 8 18 1 16 1(1)编码结果以文本方式存储在文件CodeFile中。
(数据文件的数据读写方法等相关内容在c++程序设计的书上,请自学解决)(2)用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”,表示退出运行Quit。
请用户键入一个选择功能符。
此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。
(3)在程序的一次执行过程中,第一次执行I,D或E命令之后,哈夫曼树已经在内存了,不必再读入。
每次执行中不一定执行I命令,因为文件hfmTree可能早已建好。
10、平衡二叉排序树的实现—树、查找【问题描述】输入关键字,利用平衡二叉排序树的实现查找、插入与删除操作【基本要求】(1)用二叉链表作存储结构,以回车('\n')为输入结束标志,输入数列L,生成一棵平衡的二叉排序树T,并以直观的方式显示在终端上;(2)对二叉排序树T作中序遍历,输出结果;(3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”,并将x插入该二叉排序树中。
【实现提示】插入、删除应保证二叉排序树的平衡性。
11、校园导游咨询—图【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。
12、最小生成树问题—图若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。
如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。
【基本要求】(1)利用克鲁斯卡尔算法求网的最小生成树。
(2)利用普里姆算法求网的最小生成树。
(3)要求输出各条边及它们的权值。