01-高级语言程序设计综合实验课程-2014级题目内容和要求-last

更新时间:2023-03-08 17:53:46 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机学院2014级

《高级语言程序设计综合实验课程》

任务要求和题目内容

1. 综合实验课程设计要求 1.1.

人员分组

实验按照基本环节、算法设计环节和领域综合实验环节三个环节进行。 基本环节、算法设计环节由个人独立完成设计和编码、测试及实验报告等所有工作。

领域综合实验环节建立课程设计小组,共同讨论确定可行的实验设计方案;由个人独立完成编码、测试及实验报告工作;每小组自由组合,成员3~4人。

领域综合实验环节以设计小组为单位,讨论确定各个题目的需求、设计方案。每位同学在小组讨论的设计方案基础上,自行进行修正调整,独立完成编码、测试及实验报告等任务。

1.2. 题目选择

报告和代码。

1) 基本环节、算法设计环节的题目为必做题目,独立完成实验并提交个人

2) 领域综合程序设计环节的题目,各组自由选做一题,此环节具体要求如

下:

a) 全组成员共同讨论确定需求和设计方案。每位同学独立完成编程、

测试等任务。

b) 在讨论课上,分组讲解需求分析、界面设计、架构设计,软件详细

设计等内容;

c) 每位同学独立完成编程、测试等任务,并独立提交报告文档和代码。

1.3. 课程时间安排

2014级《高级语言程序设计综合实验课程》上机时间安排:第1周~第9周,每周二和周三晚(18:00~21:00)。具体时间安排如下:

1 / 10

(1) 第1-2周,四次上机:完成基本环节的实验内容,并提交实验报告和源代

码。

(2) 第3-5周,六次上机:完成算法设计环节的实验内容,并提交实验报告和

源代码。

(3) 第5周,机房开设讨论课,分组讲解领域综合程序设计环节的需求分析

和设计方案,教师和教辅提出修改建议方案。

(4) 第6-9周,八次上机:完成具体领域的领域综合程序设计环节,并提交需

求分析和设计实现报告。

2. 基本环节题目

基本环节的题目是所有同学必做实验题目,请每个同学独立完成后,提交实验报告(纸质版和电子版)与代码电子版。

2.1. 集合基本运算

【问题描述】

编写一个能演示执行两个集合之间的并、交和差运算结果的程序。 【基本要求】

1) 两个集合中的元素为长度不同的字符串,字符串中可包含大小写字符和

数字字符,

2) 程序以用户的输入数据建立集合,然后执行集合运算,分别输出结果 【测试示例数据】

1) Set1=”magazine”,Set2=”paper”.

Set1∪Set2=”aegimnprz”,Set1∩Set2=”ae”,Set1-Set2=”gimnz”. 2) Set1=”012oper4a6tion89”,Set2=”error data”,

Set1∪Set2=”adeinoprt”,Set1∩Set2=”aeort”,Set1-Set2=”inp”. 【实现提示】

以有序链表表示集合。

2.2. 二叉排序树的实现与合并

【问题描述】

用户分别输入两组未排序的数字,从空树开始建立两个二叉排序树,两棵树分别建好后再合并为一颗大的二叉有序树,最后将合并后的树节点按数值大小顺序输出。

2 / 10

【基本要求】

1) 完成树的创建,创建过程中应保持树的有序性 2) 树的创建与合并结果应显示输出

3. 算法设计环节题目

算法设计环节所列题目是所有同学必做实验题目,请每个同学独立完成,提交实验报告(纸质版和电子版)与代码电子版。

3.1. 图的深度优先遍历演示

【问题描述】

给定某个图的结构数据和起点位置,创建出图后,再采用深度优先遍历算法,输出所有的遍历节点序列。 【基本要求】

1) 自己定义一组图的结构数据,节点数大于7个,边数大于15个,用于创

建此图

2) 对图中各节点进行深度优先遍历 3) 遍历过程中的节点序列要求输出显示

3.2. 象棋中马的遍历

【问题描述】

在中国象棋棋盘上,任意一个位置放置一个棋子马,要能选择一套合适的移动路线,按象棋中“马走日”的移动规则不重复地遍历棋盘上每一个位置点。 【基本要求】

1) 起始位置坐标由用户输入任意指定,然后依次输出所遍历的每个位置坐

标。

2) 开始先不必考虑象棋中“蹩马腿”的规则,实现基本遍历功能。 【扩展要求】

3 / 10

1) 有兴趣的同学可在棋盘上设置一个或多个憋马腿的棋子,尝试遍历过程

如何完善。

【实现提示】

1) 从图的遍历角度思考解决途径 2) 马可以移动的点位置变化关系为: int fx[8]={1,2,2,1,-1,-2,-2,-1}; int fy[8]={2,1,-1,-2,-2,-1,1,2};

4. 领域综合程序设计环节

领域综合程序设计环节所列题目各组自由选做一题,全组成员共同讨论设计方案后,编码和调试由每个同学独立完成,并独立提交个人报告。

4.1. 批量文本文件的词频统计和检索

【任务描述】

整理一批文本文件作为输入数据,实现以下处理功能:

1) 词频统计:统计输入文件中的每个单词在所有文件中出现的总次数,保存统计

结果;

2) 建立单词索引:对所有单词记录每次出现时的信息,包括文件名、行号、所在

的语句内容等;

3) 查询词频:查询显示文件从出现频度最高的前10个单词;查询显示最热们的

10个检索单词;输入一个单词,从统计结果中查询出该单词的在文件中出现总频次,查询出该单词被查询过的总次数

4) 关键词检索:输入一个单词,查询出所有该单词出现过的文件名、行号和所在

语句内容;

【基本要求】

1) 以上述功能为基础,设计所需的数据结构、程序功能模块等,可以根据需要扩

展所需功能

2) 程序运行过程中,有方便合理的用户操作界面,能直观展示输入数据、处理过

程及输出结果

3) 词频统计结果和索引数据,可以存储在数据文件或数据库中,数据结构、具体

4 / 10

数据项自定

4) 输入文件内容为英文,不统计英文中出现的虚词,包括冠词、介词、连词和感

叹词等

5) 输入的文件允许单个输入,也允许批量文件输入 【扩展要求】

1) 输入文件内容扩展为中文,进行中文词语切分后,再做中文词频统计和检索

4.2. 文件内容比较与合并

【任务描述】

有两个内容相似的文本文件,一个是未修改过的老版本,一个是修改过的新版本。

要求实现以下功能:

1) 比较两个文件内容的差异,新老文件每行前均显示行号,比较结果要求

能区分并标记出插入、修改、删除和移动的数据行;

2) 能够从一个文件中选择存在差异的数据行,合并到另一文件中,然后保

存合并结果

【基本要求】

1) 设计所需的数据结构、程序功能模块等,可以根据需要扩展所需功能 2) 程序运行过程中,有方便合理的用户操作界面,能直观展示两个文件的

异同

3) 所需数据可以存储在数据文件中,数据结构、具体数据项自定 【扩展要求】

1) 对两个二进制文件进行比较,判断两个文件是否相同。

2) 对两个文件夹内的多个文件或子文件夹进行比较,标记出存在差异的文

件,可从一个文件中选择一个文件复制到另一个文件夹中

4.3. 校园导游咨询

【任务描述】

以校园道路、建筑、景点为基础,建立模拟校园示意图,为来校游客提供景点介绍和导游。

校园示意图中以节点代表校内的建筑或景点,节点数量不少于10个,每个

5 / 10

本文来源:https://www.bwwdw.com/article/w9h6.html

Top