计算机软件基础实验指导书(内容)

上传人:飞*** 文档编号:44249509 上传时间:2018-06-09 格式:DOC 页数:10 大小:176.50KB
返回 下载 相关 举报
计算机软件基础实验指导书(内容)_第1页
第1页 / 共10页
计算机软件基础实验指导书(内容)_第2页
第2页 / 共10页
计算机软件基础实验指导书(内容)_第3页
第3页 / 共10页
计算机软件基础实验指导书(内容)_第4页
第4页 / 共10页
计算机软件基础实验指导书(内容)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《计算机软件基础实验指导书(内容)》由会员分享,可在线阅读,更多相关《计算机软件基础实验指导书(内容)(10页珍藏版)》请在金锄头文库上搜索。

1、1实验一实验一 线性表及其应用线性表及其应用一、一、实验实验目的目的1.熟悉 C 语言的上机环境,进一步掌握 C 语言的结构特点。2.掌握线性表的顺序存储结构顺序表的定义及 C 语言实现。3.掌握线性表在顺序存储结构顺序表中的各种基本操作。4.掌握线性表的链式存储结构单链表的定义及 C 语言实现。5.掌握线性表在链式存储结构单链表中的各种基本操作。二、二、实验实验原理原理在数据处理中,大量数据均以表格形式出现,称为线性表,它是一种最简单也是最常见的数据结构。线性表是数据元素的有限序列。线性表的结构特点是:数据元素之间是线性关系,线性表中存在唯一的“第一个元素”(表头),必存在一个唯一的“最后一

2、个元素”(表尾)。除第一个元素外,每个元素有且只有一个前趋元素,除最后一个元素外,每个元素有且只有一个后续元素。三、三、实验实验内容内容1.顺序线性表的建立、插入及删除。2.链式线性表的建立、插入及删除。四、四、实验实验步步骤骤1.建立一个顺序表存储序列21,23,14,5,56,17,31,然后在第 i 个位置插入元素 68。2.写出打印算法在屏幕上显示该顺序表中各元素的值及顺序表的长度。3.建立一个带头结点的单链表存储序列21,23,14,5,56,17,31。4. 写出打印算法在屏幕上显示该单链表中各元素的值及单链表的长度。五、五、实现实现提示提示1.由于 C 语言的数组类型也有随机存取

3、的特点,一维数组的机内表示就是顺序结构。因此,可用 C 语言的一维数组实现线性表的顺序存储。在此,我们利用 C 语言的结构体类型定义顺序表:#define MAXSIZE 1002struct sequenlist int elemMAXSIZE;int last; /* 顺序表的长度 */ sequenlist;typedef struct sequenlist sequentable;将此结构定义放在一个头文件 sqlist.h 里,可避免在后面的参考程序中代码重复书写,另外在该头文件里给出顺序表的建立及常量的定义。2. 注意如何取到第 i 个元素,在插入过程中注意溢出情况以及数组的下标与

4、位序(顺序表中元素的次序)的区别。3.单链表的结点结构除数据域外,还含有一个指针域。用 C 语言描述结点结构如下:struct node int data; /数据域struct node *next; /指针域;typedef struct node NODE;注意结点的建立方法及构造新结点时指针的变化。构造一个结点需用到 C语言的标准函数 malloc(),如给指针变量 p 分配一个结点的地址:p=(NODE *)malloc(sizeof(NODE);该语句的功能是申请分配一个类型为NODE 的结点的地址空间,并将首地址存入指针变量 p 中。当结点不需要时可以用标准函数 free(p)释

5、放结点存储空间,这时 p 为空值(NULL)。六、六、实验报实验报告要求告要求 简述实验目的、原理。 写出线性表插入、删除结点算法。 比较利用数组和指针实现线性表的插入与删除的不同。 附上程序清单3实验二实验二 堆栈及其应用堆栈及其应用一、一、实验实验目的目的1.掌握栈的顺序存储结构顺序栈的定义及 C 语言实现。2.掌握栈的顺序存储结构顺序栈中的各种基本操作。3.掌握栈的链式存储结构链栈的定义及 C 语言实现。4.掌握栈的链式存储结构链栈中的各种基本操作。二二、 、实验实验原理原理栈是限定只能在表的同一端进行插入和删除操作的线性表。其中允许进行插入和删除操作的一端称为栈顶(top),而表中固定

6、的一端称为栈底(bottom)。栈中元素个数为零时称为空栈。由于栈中的元素的插入和删除只能在栈顶进行,所以总是后进栈的元素先出来,即栈具有后进先出(Last IN First Out,缩写为 LIFO)的特性,故栈又称为“后进先出”(LIFO 表)。三、三、实验实验内容:内容: 1.顺序线性表的建立、插入及删除。2.链式线性表的建立、插入及删除。3.通过栈操作实现十进制到二进制的转换。四、四、实验实验步步骤骤1.建立顺序栈,写出栈初始化,进栈,出栈的算法。2.利用顺序栈的进栈和出栈操作实现十进制到二进制的转换。3.建立链栈,写出栈初始化,进栈,出栈的算法。4.利用链栈的进栈和出栈操作实现十进制

7、到二进制的转换。五、五、实现实现提示提示: : 1.算法原理:由于十进制数转换为二进制数的方法是依次将十进制数除以2 取余,然后将余数倒排序。这样刚好满足“先进后出”的特性,即可以将除2 取余的结果依次进栈,最后再依次出栈。2.算法示意图:例如将十进制数 13 转换为二进制,其方法如下:4进制转换函数定义,以十进制转换为二进制为例void dec_to_bin(int N,int B)int e;InitStack(S); /初始化堆栈while(N)push(S,N%B);N=N/B;while(!StackEmpty(S) /堆栈判空e=pop(S);printf(“%d”,e);六、六、

8、实验报实验报告要求告要求 简述实验目的、原理 写出顺序栈和链栈的插入、删除算法 写出运用栈实现十进制到十六进制转换的算法。 附上程序清单5实验三实验三 二叉树的遍历二叉树的遍历一、一、实验实验目的目的1.理解二叉树的概念。2.掌握二叉树的构造与存储。3.掌握二叉树的前序,中序和后序遍历。二、二、实验实验原理原理树型结构是一类很重要的非线性数据结构,元素结点之间存在明显的分支和层次关系。树型结构在客观世界中广泛存在。数是由 n 个(n=0)结点组成的有限集合,其中有且仅有一个结点称为根结点(root),其余结点构成根结点的子树或叶子。二叉树是由一个根结点和两棵分别称为左子树和右子树的互不相交的二

9、叉树构成。三、三、实验实验内容内容1.产生 20 个 10 到 100 之间的随机整数,并用一个数组存储该序列。2.用先序方法建立一棵二叉树。3.编写先序遍历、中序遍历、后序遍历二叉树的程序。四、四、实验实验步步骤骤1.写出一个算法将 20 个 10 到 100 之间的随机整数存入数组。2.用前序法建立一颗二叉树。3.写出先序遍历、中序遍历、后序遍历二叉树的算法。4.写出打印算法在屏幕上显示三种遍历序列。五、五、实现实现提示提示实现产生 20 个 10 到 100 之间的随机整数的代码如下:#define N 10void getrandomnum( )int i;printf(“得到个到的随

10、机数n“);6for(i=0;i=N-1;i+)Ai=10+rand()%90;printf(“%d “,Ai);六、六、实验报实验报告要求告要求 简述实验目的、原理。 写出二叉树的先序遍历、中序遍历、后序遍历算法。 写出三种遍历序列。 附上程序清单7实验四实验四 无序表的查找与排序无序表的查找与排序一、一、实验实验目的目的1.理解排序与查找的概念。2.掌握各种排序方法,熟练掌握直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序等算法的基本思想。3.关键字序列有序与无序,对于不同的排序方法有不同的影响,通过该实验进一步加深理解。4.掌握各种查找方法。二、二、实验实验原理原理查找也

11、称为检索,亦即查表,就是在大量的信息集中寻找一个特定的信息元素。线性表的查找包括顺序查找,折半查找和分块查找。排序是计算机程序设计中的一种重要运算,它的功能是将一个数据元素的无序序列调整为一个有序序列。经排序的数据若按从大到小的顺序排列,则称为下降序。反之,若经排序的数据若按从小到大的顺序排列,则称为上升序。常见的排序方法包括直接插入排序,简单选择排序,冒泡排序,快速排序,归并排序。三、三、实验实验内容内容现有给定序列(5,13,19,21,37,56,64,75,80,88),写出查找关键字 K 分别是 21 和 85 的完整程序。四、四、实验实验步步骤骤1.用一个数组存储给定序列。2.写出

12、顺序查找和折半查找的算法。3.写出直接插入排序,简单选择排序,冒泡排序的算法。4.在主程序中调用查找算法查找关键字 K 分别是 21 和 85 的程序。5. 在主程序中调用排序算法对给定序列排序,并写出打印算法在屏幕上显示经排序后的序列。五、五、实现实现提示:提示: 8用一维数组 Vn存储这些无序整数,运用各种排序方法对数组中的数进行排序。对排好序的数采用不同查找方法进行查找,分析各自的查找次数与效率。六、六、实验报实验报告要求告要求 简述实验目的、原理。 写出顺序查找和折半查找的算法。 写出直接插入排序,简单选择排序,冒泡排序的算法。附上程序清单9实验五实验五 学生成绩管理系统学生成绩管理系

13、统一、一、实验实验目的目的1.理解关系数据库的基本概念。2.练习循环与分支程序的设计。3.进一步熟悉 SQL 常用命令、语句和函数的使用。二、二、实验实验原理:原理: 关系数据库是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。标准数据查询语言 SQL 就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase 等。三、

14、三、实验实验内容:内容:本实验属于综合性实验。设计一个学生管理系统,能对学生相关信息进行录入、查询、删除、打印等功能。本实验由学生自行设计方案加以实现。本实验涉及的课程的知识点有:软件开发方法、关系数据库设计、SQL、VFP、VC+或 DELPHI 软件。学习用 SQL 语言定义、查询、修改和控制数据库。本实验涉及的相关课程有:数据结构、软件工程、数据库、VFP 或 DELPHI开发环境的操作和应用。四、四、实验实验步步骤骤: : 1.建立一个学生成绩数据库。数据库中包含的字段(学号、姓名、性别、年龄、专业、所在系、课程号、课程名称、学分、成绩)。可将其分解为三个表。学生表:Student(S

15、no,Sname,sex,age,major,dept)课程表:Course(Cno,Cname,credit)学生选课表:SC(Sno,Cno,Grade)102.准备好 10-20 人的信号与系统、通信原理、计算机软件基础、嵌入式技术四门课程的成绩(随便输入),以作为数据库文件的数据。 3.设计一个管理程序,具有以下功能:能够根据要求进行排序(平均分、单科成绩)能够按照学号或姓名检索学生情况。可输出优秀学生(各科成绩在 85 分以上)的情况。 可输出不及格学生的情况。 五、五、实验说实验说明:明:本设计性实验是在学习了开发环境的基本功能以及数据库设计、软件开发方法、SQL 查询语言后,开设的综合性实验。在教学中,由于该项目的设计的工作量大,4 学时的实验时间难以满足教学要求,因此改革后的授课方式和组织形式具体做法是:提前 1 周布置实验任务,按照 1:1 的学时在课下由学生进行方案准备和基本模块的设计,在课上完成总体设计及调试,在开发环境上验证设计成果。六、六、实验报实验报告要求告要求 简述实验目的、原理。 写出利用 SQL 语言定义、查询、修改和控制数据库的关键语句。 用一种高级语言写出管理程序并在界面上将结果显示出来。附上程序清单

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号