资源描述:
《软件技术基础 实验指导书课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《软件技术基础》实验指导书太原理工大学信息工程学院信息与通信工程系2004-2005学年第1学期《软件技术基础》实验教学大纲一、实验课程的性质、目的和任务1.培养学生利用所学数据结构、查找排序技术及数据库技术解决问题的能力,掌握对问题分析建模、设计算法、编程调试并实现的方法与技术。2.对教材上所给出的算法,用C语言编程并上机调试,必要时做改进并在计算机上实现。《软件技术基础》实验教学大纲一、实验课程的内容、要求及学时分配1.内容及学时分配实验一线性顺序表的插入与删除(2学时)实验二顺序栈的入栈与退栈及读栈顶元素(2学时)实验三线性链表
2、的插入与删除(2学时)实验四规则矩阵的压缩存储(2学时)《软件技术基础》实验教学大纲实验五二叉树及其遍历(2学时)实验六有序表的对分查找(2学时)实验七顺序表的冒泡排序(2学时)实验八数据库的基本操作(2学时)《软件技术基础》实验教学大纲基本要求学生最后提交实验报告和程序源码。实验报告应包含以下内容:(1)问题描述、分析。(2)解决问题的算法描述。(3)程序源码,且必须有必要的注释语句。实验报告可以提交电子版或书面版,程序源码提交电子版(磁盘)。《软件技术基础》实验教学大纲三、考核以学生的《实验报告》、程序源码以及上机出勤作为考核依据
3、。四、参考资料教材、《C语言程序设计》、《数据结构》等参考书。实验一线性顺序表的插入与删除实验目的与要求:理解和掌握线性表的顺序存储结构,使用C语言根据相应算法编写一个程序,实现线性顺序表的插入与删除。要求仔细阅读下面的内容,编写C程序,上机通过,并观察其结果,写出实验报告书。实验内容:建立一个长度为n的线性表,在第i个元素前面插入一个新元素b,得到一个长度为(n+1)的线性表;然后再删除第i个元素,得到长度为n的线性表。实验一线性顺序表的插入与删除具体要求:l根据线性顺序表的插入与删除的算法编写C程序,并上机调试。l编写的C程序要求
4、建立一个长度不小于10的线性表,输出原始线性表,输出完成插入运算后的线性表,输出删除某个元素后的线性表。l实验完成后,写出实验报告书。实验一线性顺序表的插入与删除算法:1.建立一个空线性表的顺序存储空间的C语言描述:#include“stdlib.h”voidinitsl(v,m,n)ET*v;intm,*n;{v=malloc(m*sizeof(ET));*n=0;return;}实验一线性顺序表的插入与删除2.在长度为n的线性表中的第i个元素前插入新元素bvoidinsl(v,m,n,i,b)ETv[];intm,*n,i;{in
5、tj;if(*n==m)printf(“overflow”;return;}if(i>*n)i=*n+1;If(i<1)i=1;For(j=*n;j>=i;j--)v[j]=v[j-1];*n=*n+1;return;}实验一线性顺序表的插入与删除3.在长度为n的线性表中删除第i个元素voiddesl(v,m,n,i)ETv[];intm,*n,i;{if(*n==0)printf(“Underflow”;return;}if((i<1))
6、
7、(i>*n)printf(“Notthiselementinthelist”);
8、return;}for(j=i;j<=*n-1;j++)v[j-1]=v[j];*n=*n-1;return;}实验二顺序栈的入栈与退栈及读栈顶元素实验目的与要求:通过对栈的编程练习,加强对栈的特点、顺序存储结构及其基本运算的理解和掌握。使用C语言根据相应算法编写一个程序,实现建栈、入栈、退栈及读栈顶元素。要求仔细阅读下面的内容,编写一个C程序,上机调试通过,并观察其结果,写出实验报告书。实验二顺序栈的入栈与退栈及读栈顶元素实验内容:建立一个容量为m的顺序栈,首先在其中压入5个元素,然后作退栈运算和读栈顶元素。实验二顺序栈的入栈与退栈
9、及读栈顶元素具体要求:l根据顺序栈的入栈、退栈、读栈顶元素算法编写一个C程序,并上机调试。l编写的C程序要求建立一个容量不小于5的顺序栈,首先用入栈算法在其中压入5个元素,然后读栈顶元素,接着作退栈运算,并输出退栈结束后的栈顶元素。l实验完成后,写出实验报告书。实验二顺序栈的入栈与退栈及读栈顶元素算法:1.建立空栈的顺序存储空间的用C语言描述:#include“stdlib.h”voidinit_stack(s,m,top)ET*s;intm,*top;//ET为元素的数据类型{s=malloc(m*sizeof(ET));//Cre
10、ateMemory*top=0;return;}实验二顺序栈的入栈与退栈及读栈顶元素2.在容量为m的栈S中插入一个元素x:voidpush(s,m,top,x)ints[],x;intm,*top;{if(*top==m