《软件开发技术基础》实验报告
姓名:
学号:
班级:
实验一线性表的操作(2学时)
实验类型:验证性
实验要求:必修
实验学时:2学时
一、实验目的:
参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法。
二、实验要求:
1、掌握线性表顺序表类和链表类的特点。掌握线性表的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:
1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)
2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删除后的线性表中的数据元素。
3)查找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。
四、要求
1)采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。
2)写出完整的程序并能调试通过即可
源程序如下:
#include
using namespace std;
template
class sq_LList
{
private:
int mm;
int nn;
T *v;
public:
sq_LList(){mm=0;nn=0;return;}
sq_LList(int);
void prt_sq_LList();
int flag_sq_LList();
void ins_sq_LList(int,T);
void del_sq_LList(int);
int search_sq_LList(T x);
};
template
sq_LList
{
mm=m;
v=new T[mm];
nn=0;
return;
}
template
void sq_LList
{
int i;
cout<<"nn="< for(i=0;i cout< return; } template int sq_LList if(nn==mm) return(-1); if(nn==0) return(0); return(1); } template void sq_LList { int k; if(nn==mm) { cout<<"overflow"< return; } if(i>nn) i=nn+1; if(i<1) i=1; for(k=nn;k>=i;k--) v[k]=v[k-1]; v[i-1]=b; nn=nn+1; return; } template void sq_LList { int k; if(nn==0) { cout<<"underflow!"< return; } if((i<1)||(i>nn)) { cout<<"Not this element in the list!"< return; } for(k=i;k v[k-1]=v[k]; nn=nn-1; return; } template int sq_LList { int i,j,k; i=1;j=nn; while(i<=j) { k=(i+j)/2; if(v[k-1]==x) cout<<"你要查找的数现在的位置为:"<<(k-1)< if(v[k-1]>x) j=k-1; else i=k+1; } return(0); } int main() { int y; sq_LList cout<<"第一次输出顺序表对象a:"< a.prt_sq_LList(); a.ins_sq_LList(1,1); a.ins_sq_LList(2,3); a.ins_sq_LList(3,5); a.ins_sq_LList(4,7); a.ins_sq_LList(5,9); a.ins_sq_LList(6,11); cout<<"第二次输出顺序表对象a:"< a.prt_sq_LList(); a.del_sq_LList(2); cout<<"第三次输出顺序表对象a:"< a.prt_sq_LList(); cout<<"请输入要查找的数:"< cin>>y; cout< a.search_sq_LList(y); cout<<"第四次输出顺序表对象a:"< a.prt_sq_LList(); return 0; } 运行结果如下: 心得体会: 1. 通过本次试验,我掌握了线性表的基本概念。 2.通过本次试验,我懂得了如何建立一个顺序表,并能对顺序表进行基本的建立、插入、检测、删除以及查找的操作。 3.本次试验我知道了线性表的顺序存储结构具有如下两个特点: (1)线性表中所有元素所占的存储空间是连续的。 (2)线性表中各元素在存储空间中是按逻辑顺序依次存放的。 实验二栈、队列的操作 实验目的: 参照给定的栈类和队列类的程序样例,验证给出的栈和队列的常见算法,并结合线性表类实现有关串的操作。 实验内容: 实验要求: 1.掌握栈、队列、串的特点。掌握特殊线性表的常见算法。 2.提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。 3. 栈和队列的长度都由自己定; 4. 写出完整的程序并能调试通过即可。 5.重点理解栈、队列和串的算法思想,能够根据实际情况选择合适的存储结构。 6 栈、队列的算法是后续实验的基础(树、图、查找、排序等)。 实验原理: 1. 堆栈类测试和应用问题。要求: 定义数据元素的数据类型为如下形式的结构体: typedef struct { char taskname[10];//任务名 int taskno; //任务号 }DataType; 设计一个包含5个数据元素的测试数据,并设计一个主函数实现依次把5个数据元素入栈,然后出栈堆栈中的数据元素并在屏幕上显 示。 2. 队列类测试和应用问题。要求: 设计一个主函数对循环队列类和链式队列类代码进行测试.测试方法为:依次把数据元素1,2,3,4,5入队,然后出队中的数据元素并 在屏幕上显示。 #include using namespace std; //stack--------------------------------------------begin #define stacksize 5 typedef struct { char taskname[10]; //任务名 int taskno; //任务号 }DataType; class stack { private: int top; DataType task[stacksize]; public: bool init(); bool empty(); bool push(DataType d); bool pop(DataType &d); }; bool stack::init() { top=0; int i; for(i=0;i { strcpy(task[i].taskname,""); task[i].taskno=-1; } return true; } bool stack::empty() { return top>0?false:true; } bool stack::push(DataType d) { if(top>=stacksize) return false; strcpy(task[top].taskname,d.taskname); task[top].taskno=d.taskno; top++; return true; } bool stack::pop(DataType &d) { if(top<=0) return false; strcpy(d.taskname,task[top-1].taskname); d.taskno=task[top-1].taskno; top--; return true; } //stack--------------------------------------------end //queue--------------------------------------------begin class queue_node { public: int data; queue_node *next; queue_node() { data=0; next=NULL; } { data=d; next=NULL; } }; class queue { private: queue_node *front,*rear; public: bool init(); bool empty(); bool enqueue(int d); bool dequeue(int &d); }; bool queue::init() { front=rear=new queue_node; return true; } bool queue::empty() { if(front==rear) return true; else return false; } bool queue::enqueue(int d) { rear->next=new queue_node(d); rear=rear->next; return true; } { if(front==rear) return false; queue_node *p=front->next; d=p->data; front->next=p->next; if(p==rear)rear=front; delete p; return true; } //queue--------------------------------------------end #define queuesize 10 class sqqueue { private: int * base; int front; int rear; public: bool init(); bool enqueue(int d); bool dequeue(int &d); }; bool sqqueue::init() { base=(int *)malloc(queuesize*sizeof(int)); if(!base) return false; front=rear=0; return true; } bool sqqueue::enqueue(int d) { if((rear+1)%queuesize==front) return false; base[rear]=d; rear=(rear+1)%queuesize; return true; } bool sqqueue::dequeue(int &d) { if(front==rear) return false; d=base[front]; front=(front+1)%queuesize; return true; } void main() { DataType dd[5],tt; char tn[]="任务a"; int i; for(i=0;i<5;i++) { strcpy(dd[i].taskname,tn); tn[4]++; dd[i].taskno=i+1; } stack mystack; mystack.init(); for(i=0;i<5;i++) { mystack.push(dd[i]); } cout<<"入栈完成,按回车键继续……";getchar(); while(mystack.pop(tt)) cout< cout<<"出栈完成,按回车键继续……";getchar(); queue myqueue; myqueue.init(); for(i=0;i<5;i++) myqueue.enqueue(i+1); cout<<"链队入队完成,按回车键继续……";getchar(); for(;myqueue.dequeue(i);) cout< cout<<"链队出队完成,按回车键继续……";getchar(); sqqueue mysqqueue; mysqqueue.init(); for(i=0;i<5;i++) { mysqqueue.enqueue(i+1); } cout<<"循环队列入队完成,按回车键继续……";getchar(); for(;mysqqueue.dequeue(i);) cout< cout<<"循环队列出队完成,按回车键退出……";getchar(); } 实验步骤: 实验结果: 实验三查找算法实现(2学时) 实验类型:验证性 实验要求:必修 实验学时:2学时 一、实验目的: 参照各种查找算法程序样例,验证给出的查找常见算法。 二、实验要求: 1、掌握各种查找算法的特点,测试并验证查找的常见算法。 2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。 三、实验内容: 1. 建立有序表,采用折半查找实现某一已知的关键字的查找。 2.利用折半查找算法在一个有序表中插入一个元素,并保持表的有序性。 源程序如下: #include using namespace std; template class sL_List { private: int mm; int nn; T *v; public: sL_List(){mm=0;nn=0;return;} sL_List(int); int search_sL_List(T); int insert_sL_List(int,T); void prt_sL_List(); }; template sL_List { mm=m; v=new T[mm]; nn=0; return; } template int sL_List int i,j,k; i=1;j=nn; while(i<=j) { k=(i+j)/2; if(v[k-1]==x) return(k-1); if(v[k-1]>x) j=k-1; else i=k+1; } return(-1); } template int sL_List if(nn==mm) { cout<<"溢出!"< return(-1); } p=nn-1; while(v[p]>x) { v[p+1]=v[p]; p=p-1; } v[p+1]=x; nn=nn+1; return(1); } template void sL_List { int i; for(i=0;i cout< return; } int main() { int k,t,q,result; int a[20]={10,20,30,40,50,60,70,80}; sL_List for(k=0;k<8;k++) s.insert_sL_List(k+1,a[k]); cout<<"输出有序对象s:"< s.prt_sL_List(); cout<<"请输入要查找的数:"< cin>>t; cout< cout<<"你要查找的数在数组中的位置为:"< result=s.search_sL_List(t); cout< cout<<"请插入一个元素:"< cin>>q; cout< s.insert_sL_List(k+1,q); cout<<"插入后有序表变为:"< s.prt_sL_List(); return 0; } 实验结果如下: 心得体会: 1.通过这次试验,我知道了一些查找的基本方法,并且了解了折半查找的典型 方法及技巧。 2.并且我掌握了利用折半法插入一个元素的方法。 3.常见问题在于在插入位置时,易混淆位置与数值的关系,以及c++中的一些 基本定义方法易忘记。 实验四排序综合实验(3学时) 实验类型:综合性 实验要求:必修 实验学时:3学时 一、实验目的: 参照各种排序算法程序样例,验证给出的排序常见算法。 二、实验要求: 1、掌握各种排序算法的特点,测试并验证排序的常见算法。 2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。 三、实验内容: 输入一组关键字序列分别实现下列排序: 1.实现直接插入排序; 2.实现冒泡排序算法; 3.实现快速排序算法(取第一个记录或中间记录作为基准记录); 4.快速排序的非递归算法; 5. 堆排序。 把上述几种排序的算法编写成菜单,根据输入的数字不同执行对应的排序算法。 源程序如下: #include using namespace std; //实现简单插入排序 template void insort(T p[],int n) { int j,k; T t; for(j=1;j { t=p[j]; k=j-1; while((k>=0)&&(p[k]>t)) { p[k+1]=p[k]; k=k-1; } p[k+1]=t; } return; } //实现冒泡排序 template void bub(T p[],int n) { int m,k,j,i; T d; k=0; m=n-1; while(k { j=m-1;m=0; for(i=k;i<=j;i++) if(p[i]>p[i+1]) { d=p[i]; p[i]=p[i+1]; p[i+1]=d; m=i; } j=k+1;k=0; for(i=m;i>=j;i--) if(p[i-1]>p[i]) { d=p[i]; p[i]=p[i-1]; p[i-1]=d; k=i; } } return; } //实现快速排序 template void qck(T p[],int n) { int m,i; T *s; if(n>10) { i=split(p,n); qck(p,i); s=p+(i+1); m=n-(i+1); qck(s,m); } else bub(p,n); return; } template static int split(T p[],int n) { int i,j,k,l; T t; i=0;j=n-1; k=(i+j)/2; if((p[i]>=p[j])&&(p[j]>=p[k])) l=j; else if((p[i]>=p[k])&&(p[k]>=p[j])) l=k; else l=i; t=p[l]; p[l]=p[i]; while(i!=j) { while((i j=j-1; if(i { p[i]=p[j]; i=i+1; while((i i=i+1; if(i { p[j]=p[i]; j=j-1; } } } p[i]=t; return(i); } //实现堆排序 template void hap(T p[],int n) { int i,mm; T t; mm=n/2; for(i=mm-1;i>=0;i--) sift(p,i,n-1); for(i=n-1;i>=1;i--) 软件开发实验报告 篇一:软件开发实验报告 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:CASE工具PowerDesigner的使用 实验地点:专业班级: 指导教师: XX年10月22日 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:搭建Visual Studio开发环境,设计实验地点:致远楼B303指导教师:崔秀娟XX年9月28日 篇二:软件开发平台实验报告 课程设计报告 课程名称: 软件开发平台与工具任课教师: 姓名: 学号: 1. 引言 1.1. 课程设计项目 1.2. 背景简介从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结, 由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。B/S 架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式(web开发平台)。对于web开发平台,我的个人理解是: 1.以web 2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。 2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA 等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。 3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。 《软件技术基础》实验报告 实验名称:顺序表的操作 班级学号姓名 第9 周星期 2 、5,6 节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 三、实验结果: 四、实验中遇到的问题及解决方法: 第一次编写C++,感觉力不从心,回去多看看PPT。 五、实验心得体会: 对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习 附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。) #include 电子科技大学软件开发 环境实验报告 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】 本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。 五、实验内容: 本实验要求实现一个exe程序。这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。用户通过以下命令进行压缩: C:\> –c uncompress_filename compress_filename 上述命令中,是程序名,-c表示要进行压缩。uncompress_filename是要压缩的文件名,可以包含路径信息,而compress_filename是压缩之后的文件名,同样可以包含路径信息。用户可以通过如下命令进行解压: C:\> –u compress_filename uncompress_filename 上述命令中,-u表示要执行解压命令。compress_filename是要解压的文件名,可以包含路径信息;uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。 提示:在实现程序时,需要考虑如何存储huffman树或者编码表或者词频表等等。 本实验要求实现两个版本的程序,一是C语言版本的,二是C++版本的。对这两个版本的要求如下: 对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系 图以及它们的文字说明等内容; 对于每一个版本的程序,都需要在实验报告中给出源代码。为了便于查重,代码 中注释的比例要占到总行数的20%; C++版本的程序,需要给出类关系图。 实验报告的评分标准,包括以下几个方面: 实验报告是否规范 通信与信息工程学院2016/2017学年第一学期 信息技术综合实验报告 专业电子信息工程 学生班级 学生学号 学生 实验一视频制作 一、实验步骤 1、制作倒计时片头 新建项目“信息实验1”,打开premiere软件。新建一个序列,在视频轨道添加五个数字的字幕,将每个数字时间设置为1秒,从5到1倒序排放。 新建字幕,设计背景。新添时钟式擦除的效果,设置时间为5秒。设计结果截图如下。 2、插入图片或视频作为容 将两图片导入Premiere软件,从项目面板中拉出两图片,使用对齐功能紧贴在倒计时之后,必要时波纹删除。以下两为两图片的截图。 3、制作学号字幕 新建一个字幕,设置为滚动播放,选择开始于屏幕外,结束于屏幕外。新添文本框,输入“B130112BB”、“B130112AA”的文字。效果如下图。 实验二 TS码流离线分析 一、实验步骤 1、运行MTSA.EXE,选择码流来源:加载磁盘中的码流文件,点击“Browse”按钮,弹出“打开”对话框,在里面选择码流文件。点击“OK”按钮后进入程序界面,程序界面分成四个子窗口。 2、设定文件馈送属性,系统菜单——〉TS Feed ——〉Configure/Tune,弹出对话框,将Lock Bitrate和Loop Infinitely两个复选框选中,点ok退出。 3、SI信息查看 选择SI Tables窗口页,即可看到当前码流包含的各种SI表。 4、PID分配使用情况 选择PID GRID窗口页,即可看到当前码流使用的PID情况。实验示意图如下。 5、查看带宽使用情况: 选择Bandwidth窗口页,即可看到当前码流数据带宽使用情况。 自学考试计算机系列课程实践性环节实验报告本 课程名称互联网软件开发及应用 实验学期 1 至 2 学年第 1 学期 年级 10级专业计算机网络及应用 学生姓名邓希良考号 010********* 指导教师 实验最终成绩 重庆大学计算机学院制 一、实验目的 锻炼和培养学生的实际操作技能和动手能力,使学生通过上机实验,加深对课堂所学理论的理解,最终达到综合锻炼和提高的目的。 二、实验内容 a) 建立一个表单,包含多个对象(文本框、密码框、单选、多选、下拉选择、多行文本输入域等),表单提交时对数据进行验证; b)建立与a)中表单对象对应的数据库和表 c)表单提交的数据在另外的页面中显示并用Session保存 d)通过Session把数据传送到下一个页面后写入到数据库中; e)从数据库中读取信息并在网页中显示出来 三、实验步骤(设计) 步骤 1 创建一个包含文本框、密码框、单选、多选、下拉选择、多行文本输入域的表单。 南昌大学实践报告 学生姓名:谢某某学号:0149001506109 专业班级:软件工程2006 实践类型:□验证□综合□设计□创新实践日期:2010-11-30 实践成绩: (以下主要内容由学生完成) 一、实验项目名称 利用VC++设计一个简单的电话薄管理程序 二、实验目的 综合运用面向对象程序设计的基础知识,设计一个小型的应用程序,提高解决问题的能力。 三、实验基本内容 设计一个电话簿管理程序,要求: 〔1〕具有添加、删除、显示、修改和查询联系人电话号码的功能。 〔2〕联系人的信息保存到文件中。 〔3〕可以实现为控制台程序或图形界面程序。 〔4〕按学院实验报告要求格式书写实验报告 四、主要仪器设备及耗材 PC一台,Microsoft Visual C++ 6.0 开发环境 五、实验步骤 该电话薄的实现代码如下: #include book();//默认构造函数 char inter_face();//首页 void add_person();//添加 void del_person();//删除 void show_all();//显示 void alter();//修改 void select();//查询 void save_new();//保存 private: string name;//姓名 string number;//电话号码 }; book::book() { name = "\0"; number = "\0"; } //首页 char book::inter_face() { system("cls"); cout < 电子科技大学通信与信息工程学院标准实验报告 (实验)课程名称软件技术基础实验 电子科技大学教务处制表 电子科技大学 实验报告 一、实验室名称:校公共机房 二、实验项目名称:二叉树和哈夫曼树 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握二叉树的建立、插入删除,遍历等方法和过程,掌握递归函数在二叉树建立,遍历中的应用,掌握哈夫曼树的最小路径和建立过程。 五、实验目的: 1.熟练二叉树和哈夫曼树的概念和基本操作方法。 2.掌握课程平台使用方法。 六、实验内容: 上机完成所有函数,编程实验,调试运行程序并完成报告。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。 软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 下面建立该二叉树并展示输出结果: #include { int data; struct bnode *lc,*rc; }; struct bnode* create() { struct bnode *tree=NULL; char ch; ch=getchar(); if(ch=='_') tree=NULL; else { tree=(struct bnode *)malloc(sizeof(struct bnode)); tree->data=ch; tree->lc=create(); tree->rc=create(); } return tree; } //先序遍历(根左右)--递归 int preorder(struct bnode *root) { putchar(root->data); if(root->lc!=NULL) preorder(root->lc); if(root->rc!=NULL) preorder(root->rc); } //中序遍历--递归 int inorder(struct bnode *root) { if(root->lc!=NULL) inorder(root->lc); putchar(root->data); if(root->rc!=NULL) inorder(root->rc); } //后序遍历--递归 int postorder(struct bnode *root) { if(root->lc!=NULL) postorder(root->lc); if(root->rc!=NULL) (封面) 上海建桥学院《计算机应用基础》 实验报告本 20 11 年3月15 日 2010-2011学年第一学期《计算机应用基础》实验目录 上海建桥学院实验报告 课程名称:计算机应用基础实验类型:验证/ 设计/ 综合 实验名称:文字处理软件的使用 系别:艺术系专业:视觉传达班级:三班学号:10B05060324 姓名:顾雯茵 同组人姓名: 指导老师:实验地点: 实验日期:2011年 3 月15 日 实验报告日期:2011年3月15日 报告退发( 订正、重做): 成绩:指导教师(签字):_________________________ 一、实验名称:文字处理软件的使用 二、实验目的: 1.掌握字体、段落格式、首字下沉、中文版式、分栏的设置; 2.掌握查找与替换、项目符号和编号、边框和底纹的设置; 3.掌握表格插入和设置; 4.掌握图片、图形、艺术字、文本框的插入、编辑及混排设置; 5.掌握公式、水印、页眉和页脚的插入及编辑方法; 6.掌握页面设置方法。 三、实验环境(所使用的平台和相关软件) (1)中文WindowXP操作系统 (2)中文Word2003应用软件 (3)中文实验配套材料配套 四、实验内容(实验内容的具体描述) 实验(1) 打开配套文件Word-Lx1.doc,按下列要求操作,并将结果以原文件名保存。 (1) 插入标题,内容见样张,其中大字:华文琥珀,72磅,空心,阴影;小字:华文云 彩,60,金色底纹,双行合一。 (2) 正文为小四号,第一段添加蓝色小3号项目符号;其余各行,首行缩进2字符;如 样张分栏,第1栏宽4厘米,间距0.75厘米;文末段落首2字下沉,并设置灰-20% 底纹。 (3) 按样张,对文中相应段落添加绿色、3磅边框线。 (4) 把文中的半角逗号、句号,均改为全角。 (5) 按样张,利用制表位在文末输入相关文字(注意对齐方式,间距自定)。 实验(2) 打开配套文件Word-Lx3.doc,按下列要求操作,并将结果以原文件名保存。 (1) 按样张,将文本标题“网上阅读,日趋流行”转化为艺术字,艺术字式样为艺术字 库中第四行第一列;艺术字字体为楷体、36磅、加粗;艺术字高2.8厘米、宽7.5厘米,形状采用“波形2”;艺术字衬底为加上填充色为“雨后初晴”斜上过渡效果的“流程图:资料带”。 (2) 按样张,将正文各段首行缩进2字符,将第二段(网页成本极为便宜…最大区别还 在于能够“反馈”。)设置成1.7倍行距。 (3) 将正文中所有的“图书馆”都替换为楷体、红色、四号、粗斜、蓝色双下划线。 (4) 按样张,为第一段中的文字“印刷出版物”制作合并字符效果,字体:隶书,字号: 12。 (5) 取消第三段原有的分栏,并将第二、三段按样张分为三栏,其栏宽分别为8字符米、 10字符、14字符。 (6) 将第四、五段加上三维边框,框线的粗细为3磅,颜色为深红,并加上如样张所示 的编号。 (7) 按样张,在文末插入大小为30%的配套图片Examine.wmf。 软件工程实验报告 姓名:冯巧 学号 实验题目:实验室设备管理系统 1、系统简介: 每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。 2、技术要求及限定条件: 采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案实施相对容易,成本低,工期短。 一:可行性分析 1、技术可行性分析 计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。这些功能框图如下图所示: 2、经济可行性分析 依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。 3、系统可选择的开发方案 ①方案A用C#开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数据规模相对较小。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案的实施相对容易,成本低,工期短。 ②方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。系统对硬件的要求居中,特别适合在网络环境下使用,操作方便。但系统得实现最复杂,成本最高,工期也较长。 二:软件需求分析 1.软件系统需求基本描述: 实验室设备管理系统是现代企业资源管理中的一个重要内容,也是资源开发利用的基础性工作。实验室设备在信息化之前,在用户系统管理、设备维修管理、设备的增删改查管理等方面存在诸多不利于管理的地方,不适应现代的企业管理形势和资源的开发利用。 2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成): 1)顶层数据流图 2)二层流程图 3)总数据流图 计算机软件基础实验报告 姓名学号实验目的 1. 掌握C语言程序设计方法,并学会上机调试。 2. 熟悉Huffman编码源程序,并构造Huffman树。 实验内容 1.试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编 码相比时的压缩比。 实验要求 1.根据实验内容编写算法,并用 C 语言进行程序设计。 2. 将所编程序在计算机上调试通过,并全面测试。 实验结果 1.以一个含有8个元素的一维数组{1,2,3,5,7,8,9,12}为例,设计程序如下: #include maxTemp = maxArray(array[i] , maxTemp); minTemp = minArray(array[i] , minTemp); } for(i=0;i<8;i++) { if (maxTemp == array[i]) { maxIndex = i; } if (minTemp == array[i]) { minIndex = i; } } printf; return 0; } 运行结果如下: 2.Huffman编码源程序 #include 信息技术基础实验报告 实验报告一 Window 基本操作 一、实验目的 1、掌握Windows 的启动、关闭与键盘的使用。 2、掌握Windows 基本操作(程序的运行方式和“开始”菜单的操作;掌握对话框主要组成部分及常见控件的操作;掌握“快速启动栏”及“任务栏”的基本操作)。 3、掌握Windows 资源管理器的使用(资源管理器的启动;掌握磁盘的管理;掌握对象的选择、复制、移动、删除、改名、恢复等操作;掌握回收站的基本使用方法;掌握查找指定文件的基本方法;掌握剪贴板使用方法)。 4、掌握汉字输入方法。 二、实验内容 《实验指导与习题》实验一、实验二、实验三、实验四 三、实验习题 1、Windows xp的“开始”菜单由哪些项目组成? 2、如何改变任务栏的位置和大小?如何隐藏任务栏?简要写出操作步骤。 3、如何复制、移动、删除和重命名对象?简要写出操作步骤。 4、如何建立新文件、文件夹和快捷方式?简要写出操作步骤。 5、如何在磁盘上搜索指定的文件?简要写出操作步骤。 四、实验总结和体会 实验报告二 Word 部分 一、实验目的 1、掌握Word 的启动和退出;掌握工具栏按扭的使用。 2、掌握Word 基本操作(文档的创建和存盘;字符串的查找与替换;文本的剪切、复制和粘贴;特殊符号的插入方法)。 3、掌握Word字符排版操作(页面参数的设置;字符和段落格式的设置;分栏排版技术;边框和底纹的设置;奇偶页页眉和页脚的设置;首字下沉的设置)。 4、掌握Word表格制作方法(表格基本编辑;表格的格式设置)。 5、掌握Word图文混排操作(简单图形的绘制和组合方法;插入图片及设置图片格式的方法;图片的链接操作;文本框的设置及调整方法;数学公式的编排;艺术字体的设置)。 二、实验内容 《实验指导与习题》实验五至实验八 三、实验习题 1、启动Word有几种方法?退出Word有几种方法?创建Word文档有几种方法? 2、在“查找/替换”对话框中,如何设置替换字符的格式? 3、文本的拖拽可完成移动或复制,如何操作?请写出操作步骤。除此方法外,还有什么方法可完成复制或移动? 4、字体和段落的设置各包括哪些内容? 5、选定字体和选定段落的操作方法有什么区别?什么时候只需要在段内单击? 6、当段首字符已作首字下沉操作,在分栏操作中,选中该字后会有什么问题,为什么? 7、创建表格有哪些方法?如何选中或删除整个表格?如何在表格中画斜线?如何设置表格内、外框线的粗细和线型?请写出操作步骤。 8、如何设置不同的奇偶页页眉? 9、图片嵌入或链接到文件有什么不同?请分别写出操作方法。 四、实验总结和体会 本科实验报告 课程名称:CASE工具PowerDesiner的使用 实验项目:CASE工具PowerDesiner的使用 实验地点:虎峪区致远楼B301号 专业班级:学号:201100 学生姓名: 指导教师: 2013年10 月15 日 一、实验目的和要求 安装PowerDesiner,并了解掌握PowerDesiner的主要功能和使用方法。 二、实验内容和原理 1.安装PowerDesiner。 2.了解CDM的主要设计元素和设计过程。 3.熟悉模型转换工具的使用。 4.熟悉PDM的主要设计元素和设计过程。 5.了解设计报告的生成方法。 【实验要求】 设计学生学籍管理系统CDM、PDM。要求PDM能方便实现以下功能: 1.学生管理 (1)录入班级、院、专业:可以添加、删除、插入学院、专业、年级信 息 (2)录入学生信息:对学号、姓名、院、专业、性别、年级、班级、出生 年月等内容。可以添加、修改、删除等。 (3)查询:可设置查询条件,对学生信息进行查询。 (4)换宿舍:可进行换房,有原房号,新房号,姓名等项。 2、选课管理 (1)录入教师:对教师姓名,性别,出生日期和参加工作日期进行录入可以添加修改。 (2)录入课程:对课程编号,课程名称,课程介绍,学分,总学时,先修课程进行信息的录入修改和删除。 三、主要仪器设备 PC机+PowerDesiner 三、四、操作方法与实验步骤 1.运行PowerDesiner安装文件。 2.按照安装向导,安装PowerDesiner。 3.安装成功之后,进入PowerDesiner的CDM设计界面,了解CDM的主要设计元素和设计过程。 软件工程导论实验报告 一、实验题目: 学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统、招聘考试成绩管理系统 二、实验目标 通过独立完成项目开发,加深对软件开发分析过程的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。 实验一 实验要求: ①.在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求,并建立系统的分析模型。 ②.对系统进行需求分析,掌握ER图、DFD、DD的设计与编写 ③.熟悉Visio环境和基本操作,制作一个简单的系统流程图和数据流图、主要数 据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。 ④.撰写需求分析规格说明书 用户需求分析 作为图书管理系统,其主要的需求人员是借阅者,借阅者对其的要求可 以大体概括如下: 1)能按各种方式,比如书名、编号、作者等查询图书馆的藏书情况; 2)能熟悉使用图书管理系统; 3)能方便地借阅图书、续借图书、归还图书; 4)能查询自己的基本资料、借阅图书情况; 5)能方便图书管理员对图书的录入登记、注销; 6)能方便对新生的登记或注销已经毕业学生的信息; 7)能及时发布一些学院学生借阅图书超期情况、馆藏书情况等。 功能说明 1)、读者管理系统 (1)未注册者可以进入注册系统进行注册; (2)已注册借阅者可按、编号或号登陆进入借阅者检索系统查询借阅者情况; (3)、已注册借阅者可按书名、或作者对图书信息进行检索查询或 提出预约请求; 2)、图书管理员管理系统 (1)图书管理员通过图书管理员身份认证进入图书管理员管理系统; (2)读者可借阅在库图书; (3)在规定期限借阅者归还借阅图书; (4)读者在不违规情况下可继续借阅已借阅图书; (5)读者可以预约图书。 3)、系统管理员管理系统 (1)系统管理员通过系统管理员身份认证进入系统管理员管理系统; (2)系统管理员可以对图书进行图书管理(如:查询、删除、修改图书资料或图书分类查询修改、删除管理); (3)系统管理员可以对借阅者进行学生管理(如:查询、删除、修改借阅者信息或借阅者类别 《计算机软件技术基础》实验报告 专业_____________ 年级_____________ 学号_____________ 学生姓名_____________ 指导老师_____________ 南华大学计算机学院编 【实验报告】 I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 必做: 1.一个线性表有n个元素(n 课程实验报告课程名称:计算机系统基础 专业班级: 学号: 姓名: 指导教师: 报告日期: 2016年 5月 24 日 计算机科学与技术学院 目录 实验1: ................................. 错误!未定义书签。实验2: ................................. 错误!未定义书签。实验3: ................................. 错误!未定义书签。实验总结................................. 错误!未定义书签。 实验1:数据表示 实验概述 本实验的目的是更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。 实验中,你需要解开一系列编程“难题”——使用有限类型和数量的运算操作实现一组给定功能的函数,在此过程中你将加深对数据二进制编码表示的了解。 实验语言:c; 实验环境: linux 实验内容 需要完成中下列函数功能,具体分为三大类:位操作、补码运算和浮点数操作。 实验设计 源码如下: /* * lsbZero - set 0 to the least significant bit of x * Example: lsbZero(0x) = 0x * Legal ops: ! ~ & ^ | + << >> * Max ops: 5 * Rating: 1 */ int lsbZero(int x) { * Examples: mult3div2(11) = 16 * mult3div2(-9) = -13 * mult3div2(24) = -2(overflow) * Legal ops: ! ~ & ^ | + << >> 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:CASE工具PowerDesigner的使用 实验地点: 致远楼B501 专业班级: 指导教师: 2013年10月22日 2、转换物理模型,学生宿舍管理的PDM如下图: 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:搭建Visual Studio开发环境,设计 Windows控制台应用程序 实验地点:致远楼B303 指导教师:崔秀娟 2013年9月28日 namespace Test2__02 { class Program { static void Main(string[] args) { int m=0; int n; long sum=0; Console.WriteLine("请输入n的值:"); n = int.Parse(Console.ReadLine()); for (int i = 1; i <= n; i++) { m += i; sum += m; } Console.WriteLine("sum = {0}",sum); Console.WriteLine("请输出sum的值:{0}", sum); } } } (方法二) namespace Test2__02 { class Program { static void Main(string[] args) { int i, j; int n; long sum=0; Console.WriteLine("请输入n的值:"); n = int.Parse(Console.ReadLine()); for (i = 1; i <= n; i++) for (j = 1; j <= i; j++) sum += j; Console.WriteLine("sum = {0}",sum); Console.WriteLine("请输出sum的值:{0}", sum); } } 上海电力学院 嵌入式软件开发基础实验报告 题目:【ARM】实时时钟实验 专业:电子科学与技术 年级: 姓名: 学号: 一、实验目的 1、了解实时时钟的硬件控制原理及设计方法。 2、掌握S3C44B0X 处理器的RTC 模块程序设计方法。 二、实验设备 1、硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件,PC 机。 2、软件:Embest IDE Pro ARM 集成开发环境,Windows 98/2000/NT/XP。 三、实验内容 学习和掌握 Embest EduKit-III 实验平台中RTC 模块的使用,进行以下操作: 1、编写应用程序,修改时钟日期及时间的设置。 2、使用EMBEST ARM 教学系统的串口,在超级终端显示当前系统时间。 四、实验原理 1. 实时时钟(RTC) 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC 具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度高的领域的无人值守环境。随着集成电路技术的不断发展,RTC 器件的新品也不断推出,这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D 数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。 RTC 器件与微控制器之间的接口大都采用连线简单的串行接口,诸如I2C、SPI、MICROWIRE和CAN 等串行总线接口。这些串口由2~3 根线连接,分为同步和异步。 2. S3C44B0X 实时时钟(RTC)单元 S3C44B0X 实时时钟(RTC)单元是处理器集成的片内外设。由开发板上的后备电池供电,可以在系统电源关闭的情况下运行。RTC 发送8 位BCD 码数据到CPU。传送的数据包括秒、分、小时、星期、日期、月份和年份。RTC 单元时钟源由外部晶振提供,可以实现闹钟(报警)功能。 S3C44B0X 实时时钟(RTC)单元特性: BCD 数据:秒、分、小时、星期、日期、月份和年份 1、闹钟(报警)功能:产生定时中断或激活系统 2、自动计算闰年 3、无2000 年问题 4、独立的电源输入 5、支持毫秒级时间片中断,为RTOS 提供时间基准 读/写寄存器 访问 RTC 模块的寄存器,首先要设RTCCON 的bit0 为1。CPU 通过读取RTC 模块中寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON 和 BCDYEAR 的值,得到当前的相应时间值。然而,由于多个寄存器依次读出,所以有可能产生错误。比如:用户依次读取年(1989)、月(12)、日(31)、时(23)、分(59)、秒(59)。当秒数为1 到59 时,没有任何问题,但是,当秒数为0 时,当前时间和日期就变成了1990 年1 月1 日0 时0 分。这种情况下(秒数为0),用户应该重新读取年份到分钟的值(参考程序设计)。 信息工程学院软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师: 实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。 四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:软件开发实验报告doc
重庆邮电大学-软件技术基础--实验报告(耿道渠)
电子科技大学软件开发环境实验报告
南京邮电大学信息技术实验报告
互联网软件开发及应用实验报告
软件开发工具与环境实验报告.
电子科技大学软件技术基础实验报告4
《计算机应用基础》实验报告本1
软件工程实验报告
计算机软件技术基础实验报告Word版
信息技术基础实验报告
软件开发实验报告
软件工程导论实验报告
软件技术基础实验报告
华中科技大学计算机系统基础实验报告
软件开发实验报告
嵌入式软件开发基础实验报告实时时钟
软件工程实验报告(总)