软件基础基础实验指导书.docx
- 文档编号:4740025
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:7
- 大小:17.53KB
软件基础基础实验指导书.docx
《软件基础基础实验指导书.docx》由会员分享,可在线阅读,更多相关《软件基础基础实验指导书.docx(7页珍藏版)》请在冰豆网上搜索。
软件基础基础实验指导书
软件开发技术指导书
目录
《软件开发技术基础》实验报告(后面的都参照这样写)4
实验一顺序表的操作(2学时)5
实验二链表的操作(3学时)6
实验三栈和队列的操作(3学时)7
实验四树和二叉树的操作(3学时)8
实验五查找算法实现(2学时)9
实验六排序综合实验(3学时)10
《软件技术开发》主要介绍线性结构、树结构、图结构三种逻辑结构元素的存储实现,在此基础上介绍一些典型算法及时、空效率分析。
这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。
通过学习,要求学生能够掌握典型算法的设计思想及程序实现,能够根据实际问题选取合适的存储方案,设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。
学习这门课程,习题和实验是两个关键环节。
学生理解算法,上机实验是最佳的途径之一。
因此,实验环节的好坏是学生能否学好《软件技术开发》的关键。
为了更好地配合学生实验,特编写实验指导书。
一、实验目的
更好的理解算法的思想、培养编程能力。
二、实验要求
1、每次实验前学生必须根据试验内容认真准备实验程序及调试时所需的输入数据。
2、在指导教师的帮助下能够完成实验内容,得出正确的实验结果。
3、实验结束后总结实验内容、书写实验报告。
4、遵守实验室规章制度、不缺席、按时上、下机。
5、实验学时内必须做有关内容,不允许上网聊天或玩游戏,如发现上述现象,取消本次上机资格,平时成绩扣10分。
三、实验环境VC++6.0;本实验的所有算法中元素类型可以根据实际需要选择。
四、实验报告的书写要求
1.明确实验的目的及要求;
2.记录实验的输入数据和输出结果;
3.说明实验中出现的问题和解决过程;
4.写出实验的体会和实验过程中没能解决的问题;
五、参考书目
《软件技术开发》(C++语言描述)王红梅等清华大学出版社
《DATASTRUCTUREWITHC++》WilliamFord,WilliamTopp
清华大学出版社(影印版)
《软件开发技术基础》实验报告(后面的都参照这样写)
实验名称:
实验一线性表的操作
班级学号姓名
第周星期、节成绩
实验目的:
参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法
实验内容:
参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法
实验要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
实验原理
具体写出线性表的生成、插入、删除和查找运算的算法描述(形式语言或程序流程图表示出来)。
实验步骤:
写出调试、查找程序中问题的思路和步骤。
实验结果:
写出修改前后的运行结果。
附:
源程序和输入对应数据以及对应输出结果。
实验一顺序表的操作(2学时)
实验类型:
验证性
实验要求:
必修
实验学时:
2学时
一、实验目的:
参照给定的顺序表的程序样例,验证给出的顺序表的常见算法。
二、实验要求:
1、掌握顺序表的特点及常见算法。
2、提交实验报告,报告内容包括:
目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:
(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。
(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。
(3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。
2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括姓名、手机号码和固定电话三项。
要求实现菜单、初始化、添加、删除和显示等功能。
四、要求
1)采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。
2)写出完整的程序并能调试运行。
实验二链表的操作(3学时)
实验类型:
验证性
实验要求:
必修
实验学时:
3学时
一、实验目的:
参照给定的链表的程序样例,验证给出的链表的常见算法。
二、实验要求:
1、掌握链表的特点及常见算法。
2、提交实验报告,报告内容包括:
目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1、设计一个链表,要求编程实现如下任务:
(1)建立一个链表,首先依次输人整数数据元素(个数根据需要键盘给定)。
(2)删除指定值的结点(指定值通过键盘输入),再依次显示删除后的链表中的数据元素。
(3)查找指定值的结点(指定数据由键盘输入),若找到则显示查找成功,若没有找到则显示查找失败。
(4)在第i个节点(i由键盘输入,i=0表示插入的结点作为第1个结点)之后插入一个元素为x的节点。
2、使用链表实现一个电话本的管理程序,电话本中的每条记录包括姓名和电话两项。
要求实现菜单、初始化、添加、删除和显示等功能。
四、要求
1)采用链表实现,假设该链表的结点数在最坏情况下不会超过40个。
2)写出完整的程序并能调试运行。
实验三栈和队列的操作(3学时)
实验类型:
验证性
实验要求:
必修
实验学时:
3学时
一、实验目的:
参照给定的栈和队列的程序样例,验证给出的栈和队列的常见算法。
二、实验要求:
1、掌握栈和队列的特点及常见算法。
2、提交实验报告,报告内容包括:
目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1、堆栈的测试和应用。
要求:
设计一个主函数实现对顺序堆栈代码进行测试。
测试方法为:
依次把数据元素1,3,5,7,9入栈,然后出栈堆栈中的数据元素并在屏幕上显示。
2、队列测试和应用。
要求:
设计一个主函数对循环队列代码进行测试。
测试方法为:
依次把数据元素2,4,6,8,10入队,然后出队中的数据元素并在屏幕上显示。
四、要求:
1)栈和队列的长度由自己定;
2)写出完整的程序并能调试通过。
3)重点理解栈和队列的算法思想,能够根据实际情况选择合适的存储结构。
4)栈、队列的算法是后续实验的基础(树、图、查找、排序等)。
实验四树和二叉树的操作(3学时)
实验类型:
验证性
实验要求:
必修
实验学时:
2学时
一、实验目的:
参照给定的二叉树类的程序样例,验证给出的有关二叉树的常见算法,并实现有关的操作。
二、实验要求:
1、掌握二叉树、哈夫曼树和树的特点。
掌握它们的常见算法。
2、提交实验报告,报告内容包括:
目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1.设计实现二叉树类,要求:
(1)编写一个程序,首先建立不带头结点的二叉链式存储结构的二叉树,然后分别输出按照前序遍历二叉树、中序遍历二叉树和后序遍历二叉树访问各结点的序列信息,最后再测试查找函数和撤销函数的正确性。
(2)实现二叉树层次遍历的非递归算法。
(3)编写一主函数来验证算法实现。
2.假设二叉树采用链式存储结构进行存储,编写一个算法,输出一个二叉树的所有叶子结点,并统计叶子结点个数。
实验五查找算法实现(2学时)
实验类型:
验证性
实验要求:
必修
实验学时:
2学时
一、实验目的:
参照各种查找算法程序样例,验证给出的查找常见算法。
二、实验要求:
1、掌握各种查找算法的特点,测试并验证查找的常见算法。
2、提交实验报告,报告内容包括:
目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1.建立有序表,采用折半查找实现某一已知的关键字的查找。
2.利用折半查找算法在一个有序表中插入一个元素,并保持表的有序性。
实验六排序综合实验(3学时)
实验类型:
综合性
实验要求:
必修
实验学时:
2学时
一、实验目的:
参照各种排序算法程序样例,验证给出的排序常见算法。
二、实验要求:
1、掌握各种排序算法的特点,测试并验证排序的常见算法。
2、提交实验报告,报告内容包括:
目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
输入一组关键字序列分别实现下列排序:
1.实现简单选择排序、直接插入排序和冒泡排序。
2.实现希尔排序算法。
3.实现快速排序算法(取第一个记录或中间记录作为基准记录)。
4.快速排序的非递归算法。
把上述几种排序的算法编写成菜单,根据输入的数字不同执行对应的排序算法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 基础 实验 指导书