西工大软件技术实验报告-大作业

合集下载

西北工业大学操作系统实验报告实验四

西北工业大学操作系统实验报告实验四

实验四进程与线程一、实验目的(1)理解进程的独立空间;(2)理解线程的相关概念。

二、实验内容与要求1、查阅资料,掌握进程创建和构造的相关知识和线程创建和构造的相关知识,了解C语言程序编写的相关知识;2、理解进程的独立空间的实验内容及步骤(1)编写一个程序,在其 main()函数中定义一个变量 shared,对其进行循环加/减操作,并输出每次操作后的结果;(2)使用系统调用 fork()创建子进程,观察该变量的变化;(3)修改程序把 shared变量定义到 main()函数之外,重复第(2)步操作,观察该变量的变化。

3、理解线程的实验步骤(1)编写一个程序,在其 main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。

输出每次操作后的结果;(2)在 main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在 main()中和新线程shared进行循环加/减操作,观察该变量的变化;(3)修改程序把shared变量定义到 main()函数之内,重复第(2)步操作,观察该变量的变化。

4、对整个实验过程进行分析总结,给出详细步骤;(1) 观察上述进程执行结果,并分析原因;(2) 提交源程序清单,并附加流程图与注释。

三、实验过程1、进程的与线程的创建和构造(1).进程的创建和构造进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。

但是进程是一个动态的实体,它是程序的一次执行过程。

进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。

新的进程通过克隆旧的程序(当前进程)而建立。

fork()和clone()(对于线程)系统调用可用来建立新的进程。

(2)线程的创建和构造线程也称做轻量级进程。

就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。

【参考文档】《软件技术基础》实验报告 (1000字)-精选word文档 (16页)

【参考文档】《软件技术基础》实验报告 (1000字)-精选word文档 (16页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==《软件技术基础》实验报告 (1000字)《软件技术基础》实验报告学院:XXXXXXXXX班级: XXXXXXX学号:XXXXXXXXXX姓名: XXXXXX指导老师: XXXXXX实验一顺序表的操作班级 XXXXX 学号 XXXXXXX 姓名 XXXX第 X 周星期 X 、 XXX 节成绩一、实验目的:1、掌握顺序表结构的实现方式;2、掌握顺序表常用算法的实现;3、熟悉利用顺序表解决问题的一般思路;4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。

二、实验内容:1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。

(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。

(3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。

2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。

要求实现菜单、初始化、添加、删除和显示等功能。

三、实验结果:四、实验中遇到的问题及解决方法:相关函数书上都有一样的或类似的,因此并未遇到什么问题。

五、实验心得体会:书上的例程是含有两个元素的,改为一个元素的时候花了一些时间。

参考了书本,对书上的函数有了比较深刻的理解。

附:部分源程序#include<iostream.h>const int maxsize=100;struct stu{int id;char name[20];};struct SeqList{stu data[maxsize];int length;};//主函数int main(){SeqList L;L.length=0;stu s;cout<<"请输入三个学生的学号、姓名:\n";} for(int i=0;i<3;i++) { cin>>s.id>>; Insert(&L,s); }cout<<endl; Display(&L); int ID; cout<<"请输入要删除的学生的学号"; cin>>ID; Delete(&L,ID); cout<<endl; Display(&L); return 0;实验二链表的操作(一)班级 XXXXX 学号 XXXXXXX 姓名 XXXX第 X 周星期 X 、 XXX 节成绩一、实验目的:1、掌握单链表结构的实现方式;2、掌握单链表常用算法的实现。

西工大DSP大作业

西工大DSP大作业

实验1 基于CCS的简单的定点DSP程序一、实验要求1、自行安装CCS3.3版本,配置和运行CCS2、熟悉CCS开发环境,访问读写DSP的寄存器AC0-AC3,ARO-AR7, PC, T0-T33、结合C5510的存储器空间分配,访问DSP的内部RAM4、编写一个最简单的定点DSP程序,计算下面式子y=0.1*1.2+35*20+15*1.65、采用定点DSP进行计算,确定每个操作数的定点表示方法, 最后结果的定点表示方法,并验证结果6、对编写的程序进行编译、链接、运行、断点执行、单步抽并给出map映射文件二、实验原理DSP芯片的定点运算---Q格式(转) 2008-09-03 15:47 DSP芯片的定点运算1.数据的溢出:1>溢出分类:上溢(overflow):下溢(underflow)2>溢出的结果:Max MinMin Max unsigned char 0 255 signed char -128 127 unsigned int 0 65535 signed int -32768 32767上溢在圆圈上按数据逆时针移动;下溢在圆圈上顺时钟移动。

例:signed int :32767+1=-32768;-32768-1=32767unsigned char:255+1=0;0-1=2553>为了避免溢出的发生,一般在DSP中可以设置溢出保护功能。

当发生溢出时,自动将结果设置为最大值或最小值。

2.定点处理器对浮点数的处理:1>定义变量为浮点型(float,double),用C语言抹平定点处理器和浮点处理器的区2>放大若干倍表示小数。

比如要表示精度为0.01的变量,放大100倍去运算,运算3>定标法:Q格式:通过假定小数点位于哪一位的右侧,从而确定小数的精度。

Q0:小数点在第0位的后面,即我们一般采用的方法Q15小数点在第15位的后面,0~14位都是小数位。

西工大软件技术实验二报告

西工大软件技术实验二报告

软件技术实验报告班级学号姓名第 2 次实验:VB菜单Toolbar实验内容:实验要求:运用VB中提供的界面辅助工具生成一个应用程序界面,要求该界面带有顶行下拉菜单和工具栏按钮。

实验步骤:1) 实验中要求采用两个外部控件即Toolbar和ImageList,这两个控件都是ActiveX控件,都被包含于VB中携带的“Microsoft Windows Common Control 6.0”控件组中,需要在“工程”下拉菜单中找到“部件”并单击之,随后在弹出的控件目录中点选“Microsoft Windows Common Control 6.0”,使之“应用”并“确定”,这样,该组控件便被全部添加到了工具箱中。

2) 预先准备好要用于窗体的素材,例如图片和若干小图标。

然后分别点击工具箱中的Toolbar和ImageList,控件并将这两个控件画到窗体上。

3) 向ImageList 控件中置入合适的图象,即把未来要用于界面中按钮上的小图标预先置入ImageList 控件,具体做法:①用鼠标右键单击ImageList 控件,然后单击“属性”以打开“属性页”对话框。

②在“通用”选项卡中点选图标预设大小,这里采用32×32;然后单击“图像”选项卡;③填入索引号1,然后单击“插入图片”按钮,在随后弹出的选择图片对话框中找到希望出现在Toolbar 控件中的图象。

重复该操作(每次重复,索引号加1)直到得到了所需的所有图象后,单击“确定”按钮。

4) 将ImageList 控件与Toolbar控件相关联,具体做法:①用鼠标右键单击Toolbar 控件,然后单击“属性”以打开“属性页”对话框。

②在“通用”选项卡中,单击“图象列表”框,并选择刚才置入的ImageList 控件,然后单击“应用”。

5) 向Toolbar 控件中添加按钮,具体做法:①用鼠标右键单击Toolbar 控件,然后单击“属性”。

②在“属性页”对话框中,单击“按钮”选项卡。

西北工业大学C语言大作业实验报告

西北工业大学C语言大作业实验报告

学院*****************目录1 摘要 (3)1.1设计题目 (3)1.2设计内容 (3)1.3开发工具 (3)1.4应用平台 (4)2 详细设计 (4)2.1程序结构 (4)2.2主要功能 (10)2.3函数实现 (13)2.4开发日志 (18)3 程序调试及运行 (20)3.1程序运行结果 (20)3.2程序使用说明 (22)3.3程序开发总结 (22)4 附件(源程序) (22)1 摘要1.1 设计题目折半法查找演示程序1.2 设计内容本程序是一个演示折半查找算法的演示程序。

由用户输入查找的数据表列和查找的数据,系统在将数表排序后可以在屏幕上演示在排序后的表列中按折半查找法查找该数据的具体过程(通过每次查找的中间数据、下次查找表列等,具体效果见下图),支持多次演示、错误提醒,程序暂停演示功能。

1.3 开发工具Visual C++ 6.0和Win32。

1.4 应用平台Windows 2000/XP/Vista 32位2 详细设计2.1 程序结构程序功能模块:本程序主要由五大模块组成:程序说明模块、输入模块、排序模块、折半法查找及显示模块、进程选择模块。

各模块的主要功能如下:程序说明模块:给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。

此部分模块主函数源代码如下:int a[N];/*存储要查找的数表,用户输入*/int i,n,num,count;/*count为折半次数计数器,n为数表数据个数,num存储所查数据*/int top,bottom,mid;char c;/*存储选择函数中的输入的字符y或n*/int flag=1;/*折半法循环标志变量*/int loc=-1;/*存储所查找数据位置*/double k=0;p_s(76);puts("\n");/*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文)printf("****欢****迎****使****用****折****半****查****找****法****演****示****器****\n");puts("\n");/*程序欢迎语*/p_s(13);printf("制作者:***************** ");/*作者信息*/p_s(4);printf("Email:************************ ");/*电子邮件*/p_s(11);puts("\n");p_s(76);puts("\n");/*再次引用p_s函数,程序说明部分结束*/附:print_star.cpp文件源代码#include<stdio.h>void p_s(int k){int i;for(i=1;i<=k;i++)/*连续输出ka个'*'*/printf("*");}输入模块:引导使用者输入要在其中查找数据的数表的数据个数和数表数据。

西工大JavaUML实验报告一

西工大JavaUML实验报告一

西工大计算机学院高级语言程序设计实验报告学号:姓名:班级:说明:创建接口Speakable和Runner,然后创建两个类Dog和Person 实现该接口。

运行上面的程序,思考如下的问题:(1)该程序编译后生成几个字节码文件(2)创建一个类Bird(鸟),给出其声音特征,并在主类中创建一个Bird类的实例,输出其特征。

(3)如何编写抽象类代替程序中的接口,实现程序同样的功能。

试比较它们的不同。

答:(1)生成五个字节码文件(2)程序结果如图:(3)程序结果如图:接口没有执行方法,没有执行函数,但是类有。

说明:创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。

在两个名称分别为Bike和Bus的类中实现Vehicle接口。

创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stopt()方法。

结果如图:说明:创建一个名称为MainPackage的包,使它包含ParentClass和SubClass。

ParentClass包含变量声明,其值从构造函数中输出。

SubClass类从父类派生而来,完成对父类变量的赋值。

创建一个名称为DemoPackage的主类,使它不在MainPackage包中,在该类中创建一个SubClass类的对象。

结果如图:实验六异常处理说明:编写一个程序,同时捕获数组越界和被0除的异常,说明异常处理语句try-catch-finally的处理机制。

(3)结果如图:(5)结果如图:(6)结果如图:说明:创建用户自定义异常,用于描述数据取值范围的错误信息。

结果如图:(1)throw语句用在方法体内,表示抛出异常,由方法体内的语句处理;是具体向外抛异常的动作,所以它是抛出一个异常实例。

throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。

西工大JavaUML实验报告二

西工大JavaUML实验报告二

西工大计算机学院高级语言程序设计实验报告课程名称Java语言与面向对象程序设计实验课次Java第1次实验项目实验二面向对象的编程技术实验时间指导老师评议成绩评定:(满分为2分)指导教师评语:指导教师签名:实验容(要求、算法、步骤和方法)请参见实验说明书实验结果具体代码请参见附件中电子版的java源程序。

源程序的简要说明如下:------------------------------------------------------------ Java实验:实验一:熟悉Java 程序的开发Myclass.java说明:要求:编写并运行第一个Java Application程序,利用JDK软件包中的工具编译运行这个程序,在屏幕上输出“the sum is 7”实验结果:MyFirstJavaApplet.java说明:要求:编写并编译第一个Java Applet程序,使之能够在浏览器中显示“Hello world”,并写出配合Applet的HTML文件。

结果如图:实验二:面向对象的编程技术TestCCircle.java说明:要求:定义一个类-圆,并编一个主类测试它,创建类-圆的一个实例,并输出该圆的半径。

结果如图:TestCCircle.java说明:扩展圆的定义,为其增加可以求圆面积的方法,并在主类中输出一个实例化的圆的面积。

结果如图:思考问题:答:1)可以将类-圆的定义和主类的源代码放在两个文件中,只需要将两个Java文件命名为两个类的名称即可。

2)修改程序,使圆的属性pi定义为最终变量,其值为3.14159,运行程序失败,修改后的源代码见源文件。

3)、4)修改代码见源码,测试结果如图:Book.java说明:要求:(1)编写Book.java,定义一个类Book,具有以下属性和方法:属性:书名(Title);出版日期(Pdate);字数(Words)。

方法:计算单价price():单价=字数/1000*35*日期系数上半年的日期系数=1.2;下半年的日期系数=1.18(2)编写主类TestClass,在主类中实例化类Book,并输出实例化对象的属性。

软件技术大作业报告

软件技术大作业报告

字段 number(主键) question key(默认为 0) Type(默认为 0) ans(默认为 0)
必填字段 是 是 是 是 否
字 段 user 名 称
考生信息(user_information) password user_ID sex anwser Have_exam score 主键 0:没有 1;考过 文本 20 文本 20 文本 4 文本 20 数字 整型 数字
6
西北工业大学软件技术专用
(1) ADO 对象编程 例如:Dim cnn0 As ADODB.Connection Dim rs0 As ADODB.Recordset Set cnn0 = New ADODB.Connection cnn0.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\vb_test.mdb" Set rs0 = New ADODB.Recordset rs0.Open "select * from user_information where user_ID='" & Text1.Text & "'", cnn0, adOpenDynamic, adLockOptimistic MsgBox "are you sure?", 1 + 32 Text3.Text = Trim(Text3.Text) rs0.Fields("password") = Text3.Text rs0.Update cnn0.Close End Sub (2) ProgressBar1 的使用 Static n As Integer n = n Mod 100 If n >= 60 Then Timer1.Enabled = False Me.Hide Form4.Show Else ProgressBar1.Visible = True n = n + 1 ProgressBar1.Value = n End If (3) MMControl1 的使用 MMControl1.FileName = App.Path + "\a.mp3" mand = "open" mand = "play" (4) ADOX 库的使用 cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\vb_test.mdb" = "tb" tbl.ParentCatalog = cat Dim c0 As New ADOX.Column c0.ParentCatalog = cat = "user" tbl.Columns.Append c0, ADOX.DataTypeEnum.adVarChar, 20 Dim c4 As New ADOX.Column c4.ParentCatalog = cat = "类型"

西工大计算机实习报告

西工大计算机实习报告

计算机实习报告一、趣味题彩色的圆环:分析图形可知,一共有 n 个同心圆,外面大圆 n 等分,然后从每个等分点作全部同心圆的两条切线。

如果用极坐标表达,能够很容易求解切点,代码以下所示:n=10; %同心圆数量m=40; %等分点数R=1; %外圆半径s=0:0.01*pi:2*pi; %控制圆的光滑程度的极坐标角度t=0:2*pi/m:2*pi; %等分点极坐标角度x0=R*cos(t);y0=R*sin(t); %等分点直角坐标color=['b','r','c','g','m','y']; %画图颜色lc=length(color); %颜色数量长度,超出后从头开始for i=1:n %开始同心圆循环r=R/n*i; %现在同心圆半径a=acos(r/R); %切线与圆心线角度(弧度制)x1=r*cos(t-a);y1=r*sin(t-a); %任意等分点相对现在同心圆的第一种切点x2=r*cos(t+a);y2=r*sin(t+a); %任意等分点相对现在同心圆的第二个切点plot(r*cos(s),r*sin(s),color(mod(i,lc)+1));hold on; %画同心圆for j=1:m %对每一种等分点循环plot([x0(j),x1(j)],[y0(j),y1(j)],color(mod(i,lc)+1));hold on;%第一条切线plot([x0(j),x2(j)],[y0(j),y2(j)],color(mod(i,lc)+1));hold on;%第二条切线endendaxsi equal;%横纵坐标比例一致实验绘图成果以下图所示:二、算法题求无向图的最短途径(D i j k s t r a算法):实验原理分析、原理及代码以下所示(此实验代码不仅包含了实验所规定的求带权无向图最短途径,我还拓展了求有向、无向、带权有向图最短途径的内容):#i n c l u d e<i o s t r ea m>#i n c l u d e<i o m a n i p>u s i n g namespace s t d;#d e f i n e w u q i o n g0class tu{p u b li c:i n t c h a z h a o(i n t);//查找v o i d z j d i n gd i a n(i n t x);//增加顶点t u();v o i d z e n g j i a();//控制增加弧边和点v o i d z j hu b i a n();//增加弧边v o i d b i a n li();//控制遍历v o i d s h e n d u(i n t );//深度v o i d g u a n gd u(i n t );//广度v o i d j i n d u i(i n t );//进队列i n t c hudu i();//出对了boo l p a n k on g();//判空//上面全部的函数与邻接矩阵有关v o i d z x go u z a o();//初始化与最小路劲有关的东东v o i d z x s hu c hu();//求 S 中的最小路劲p r i va t e:i n t k i nd; //类图;i n t l e ng t h;// 顶点个数i n t *d i n gd i a n;//顶点i n t *j u z h e n;//矩阵i n t nu m;//最大顶点数目i n t*v i s t e d;//访问状况i n t *d u ili e;//模拟队列i n t d u i c h a n g;//队列长度//上面全部的变量与邻接矩阵有关i n t*s;//寄存现在顶点i n t s l e n g t h;//现在顶点的长度i n t*d i s t;//寄存最小路劲i n t*p r e;//寄存路劲;i n t*f i n a l;//寄存顶点};t u::t u()//初始化图{cout<<"请输入图的种类1:有向.2:无向.3:带权有向.4:带权无向"<<e n d l;//图的种类c i n>>k i n d;cout<<"请输入图的顶点数目"<<e n d l;//为顶点赋值c i n>>nu m;d i n gd i a n = new i n t[nu m];//为顶点分派内存保存j u z h e n =new i n t[nu m*nu m];//产生矩阵i f(k i n d==1||k i n d==2)//为无权图初始化矩阵{f o r(i n t i =0;i<nu m*nu m;i++)j u z h e n[i]= 0;}else//有权图初始化矩阵{f o r(i n t i =0;i<nu m*nu m;i++)j u z h e n[i]= w u q i on g;}l e n g t h = 0;}//增加顶点v o i d t u::z j d i n gd i a n(i n t x){i f(c h a z h a o(x)!=-1||l e n g t h==nu m)cout<<"图内有此顶点或图内无空间可插入,插入失败"<<e nd l;else{d i n gd i a n[le n g t h]= x;l e n g t h++;}}//增加边v o i d t u::z j hu b i a n(){i n t i;//弧头i n t j;//弧尾i f(k i n d==1||k i n d==2)//无权图{cout<<"请输入弧的头和尾"<<e n d l;c i n>>i>>j;i f(k i n d== 1)//有向图{j u z h e n[i*nu m+j]=1;}else//无向图,两边同时取值{j u z h e n[i*nu m+j]=1;j u z h e n[j*nu m+i]=1;}}else//权值,同上,将 1 改为 K(权值)即可{i n t k;c i n>>i>>j>>k;i f(k i n d== 3){j u z h e n[i*nu m+j]=k;}else{j u z h e n[i*nu m+j]=k;j u z h e n[j*nu m+i]=k;}}}//查找,将该数所在位置返回,若无则返回-1i n t t u::c h a z h a o(i n t x){f o r(i n t i =0;i<l e ng t h;i++)if(x == i)return i;return -1;}//控制遍历函数v o i d t u::b i a n li()//遍历函数{cout<<"该图的邻接矩阵为:";i n t i;int j;f o r(i=0;i<l e ng t h;i++)//将矩阵输出{c o u t<<e nd l;f o r(j=0;j<l e ng t h;j++)c o u t<<s e t w(6)<<j u z h e n[i*l e n g t h+j]<<" ";}c o u t<<e nd l;v i s t e d =new i n t[l e ng t h];//为设立访问状态定义内存空间cout<<"深度搜索:";f o r(i=0;i<l e ng t h;i++)//全部初始化为 0 即未访问状态v i s t e d[i]=0;s h e n d u(0);//将0作为0点运用深度访问函数c o u t<<e nd l;cout<<"广度搜索:";f o r(i=0;i<l e ng t h;i++)//重新设立访问状态v i s t e d[i]=0;d u ili e= new i n t[le ng t h+1];d u ili e[0]=-1;//队列初始化d u i c h a n g=0;g u a n gd u(0);//将0作为0点运用广度访问函数}//深度遍历v o i d t u::s h e n d u(i n t x)//采用递归的手法{i n t p;v i s t e d[x]=1;//访问后置 1 避免重复访问cout<<x<<"";p = x*l e n g t h+1;w h il e(p%l e n g t h!=0){i f(j u z h e n[p]!=0&&v i s t e d[p%l e n g t h]!=1)s h e n d u(p%l e n g t h);p++;}}//广度遍历v o i d t u::g u a n gd u(i n t x){i n t p;v i s t e d[x]=1;cout<<x<<"";p=l e n g t h*x+1;w h il e(p%l e n g t h!=0)//没有遍历属于根节点的后裔的全部兄弟结点加入到队列中(这样能够先进先出,后来的子代加入后也是先输出父亲结点){i f(j u z h e n[p]!=0&&v i s t e d[p%l e n g t h]!=1){v i s t e d[p%l e n g t h]=1;//判断与否已经加入队列或访问j i n d u i(p%l e n g t h);}p++;//进行下一种判断}w h il e(p a n k on g())//加入全部的子代兄弟节点后现在出队列并且访问,访问的方式一致会访问后优先加入其子代结点然后出队列访问{g u a n gd u(c hu d u i());}}//进队列,在队头插入一种函数,这个出队入队为了广度输出v o i d t u::j i n d u i(i n t x){d u ili e[d u i c h a n g+1]= -1;d u ili e[d u i c h a n g]= x;du i c h a ng++;}//出队列,将队列中的最后一种数返回i n t t u::c hu d u i(){int j;j =du ili e[0];f o r(i n t i=0;i<d u i c h a n g;i++)d u ili e[i]=d u ili e[i+1];d u i c h a n g--;return j;}//判空函数,函数为空的时候返回 0boo l t u::p a n k o n g(){i f(d u i c h a n g == 0)return f a l s e;elsereturn t r u e;}//控制增加函数v o i d t u::z e ng j i a(){i n t j ;f o r(i n t i =0;i<nu m;i++)//插入顶点z j d i n gd i a n(i);cout<<"请输入需要增加的弧数(最少"<<num-1<<"条且确保连通)"<<e n d l;//插入弧c i n>>j;cout<<"请输入弧的头和尾和权值"<<e nd l;f o r(i=0;i<j;i++){//cout<<"插入第"<<i+1<<"条弧"<<e n d l;z j hu b i a n();}}/***算法思想:依次递增序列求出最小路劲,首先将顶点加入到 S 当中(本程序默认为 0 号顶点),然后用d i s t数组保存到每一种顶点的最小途径长度**d i s t起始为顶点到其它顶点的权值(到本身为 0,到无弧顶点为无穷大)**1:然后每次取 v0-vk(k 属于 V-S)最小的路劲长度,取完之后将 Vk 加入 S 当中。

西北工业大学 软件工程 Web Services 实验报告答案 实验二

西北工业大学 软件工程 Web Services 实验报告答案 实验二
端口:网络中面向连接服务和无连接服务的通信协议端口, 是一种抽象的软件结构。
目标命名空间: 默认情况下, 有一个Web单一命名空间为web服务命名, 这就是web 服务的“目标命名空间”。
5.什么是WSDL?
WSDL是Web Service的描述语言, 用于描述Web Service的服务, 接口绑定等 。
2.什么是远程过程调用?
远程过程调用(Remote Procedure Call, RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序, 而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程, 那么远程过程调用亦可称作远程调用或远程方法调用
3.什么是服务函数?服务请求和服务响应?
3.理解WSDL的概念。
二、实验设备(环境)及要求
PC机最低配置: 2G Hz以上CPU;1G以上内存;1G自由硬盘空间
三、实验内容与步骤
1. 学习并对比RPC(远程过程调用)及文档风格的web服务。
2.深入理解服务函数、接口类型、绑定、端口、目标命名空间及WSDL等基本概念。
四、实验结果与数据处理
六、教师评语
签名:
日期:
成绩
服务函数:提供服务所需功能的函数;
服务请求:对服务所需功能的描述和发送;
服务响应:针对特定对服务请求产生的响应。
4.什么是接口类型、绑定、端口、目标命名空间?
接口类型: 一个端口类型就像是一个Java类, 它的每个操作就像是一个静态方法。
绑定: 除了消息格式, 一个 进行(运输)在HTTP POS的组合被称为“绑定”。
学 院:
软件与微电子学院
学 号:
姓 名:
专业:
软件工程

西工大软件技术实验报告

西工大软件技术实验报告
备注:
软件技术实验报告
班级
04010803
学号
2008300923
姓名
白晨朝
第1次实验:
VB基本控件
实验内容:
(1)在屏幕上开辟一个窗口,窗口上放置一标签,显示“欢迎使用Visual Basic6.0中文版”.窗口下有三按钮,鼠标单击左边按钮“开始显示”,文本框显示“春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少”。点击中间按钮“清屏”,文本框内容清除。单击右边按钮程序结束。
创新亮点:(此处填写在实验中超出老师课堂授课范围的内容,没有可空缺)
完成情况和存在问题:
基本完成了实验要求的内容,
存在的问题是对VB基本控件的使用还是不够熟练,以后应该多加训练,提高基本技能。
收获与体会:
通过今天的实验,我初步了解了VB的基本控件,熟悉了文本框的双向作用(输入和输出),窗体的双重作用以及事态过程的编写。熟悉了这些基础知识,我已经能够完成输入输出的简单实现,窗体、文本框、标签、命令按钮等基本控件的常用属性的动、静态设置等。
(2)单击“清屏”,使光标出现在文本框,文本框中输入“您好”,单击窗体,在窗体指定位置上显示输入的文字。
(3)若输入“春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少?”,为使显示所有文后执行程序。
提升内容:建立了我的工具箱:用于对Windows中常用工具例如记事本方便管理。

西北工业大学操作系统实验报告实验四

西北工业大学操作系统实验报告实验四

实验四进程与线程一、实验目的(1)理解进程的独立空间;(2)理解线程的相关概念。

二、实验内容与要求1、查阅资料,掌握进程创建和构造的相关知识和线程创建和构造的相关知识,了解C语言程序编写的相关知识;2、理解进程的独立空间的实验内容及步骤(1)编写一个程序,在其 main()函数中定义一个变量 shared,对其进行循环加/减操作,并输出每次操作后的结果;(2)使用系统调用 fork()创建子进程,观察该变量的变化;(3)修改程序把 shared变量定义到 main()函数之外,重复第(2)步操作,观察该变量的变化。

3、理解线程的实验步骤(1)编写一个程序,在其 main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。

输出每次操作后的结果;(2)在 main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在 main()中和新线程shared进行循环加/减操作,观察该变量的变化;(3)修改程序把shared变量定义到 main()函数之内,重复第(2)步操作,观察该变量的变化。

4、对整个实验过程进行分析总结,给出详细步骤;(1) 观察上述进程执行结果,并分析原因;(2) 提交源程序清单,并附加流程图与注释。

三、实验过程1、进程的与线程的创建和构造(1).进程的创建和构造进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。

但是进程是一个动态的实体,它是程序的一次执行过程。

进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。

新的进程通过克隆旧的程序(当前进程)而建立。

fork()和clone()(对于线程)系统调用可用来建立新的进程。

(2)线程的创建和构造线程也称做轻量级进程。

就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。

西工大大作业报告

西工大大作业报告

学院程序设计大作业目录1 摘要 (3)1.1设计题目 (3)1.2设计内容 (3)1.3开发工具 (3)1.4应用平台 (4)2 详细设计 (4)2.1程序结构 (4)2.2主要功能 (5)2.3函数实现 (5)2.4开发日志 (5)3 程序调试及运行 (6)3.1程序运行结果 (6)3.2程序使用说明 (8)3.3程序开发总结 (8)4 附件(源程序) (9)程 序 设 计 大 作 业1 摘要1.1 设计题目1、程序设计——《歌星大奖赛》;2、素数幻方;1.2 设计内容 1.2.1歌星大奖赛——1、 完成原有任务:在歌星大奖赛中,有十个评委为参赛选手打分,分数为1—100分。

选手最后得分为:去掉一个最高分和去掉一个最低分后其余八个数的平均分。

请编写一个程序实现。

2、在此基础上追加任务:同时对评委评分进行裁判,即在十个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分偏离最大)的评委。

3、 思考流程:在完成任务的目标下,限定得分域(score>=0||score<=100);输出评委号使分数明晰化;通过比较个评委所打分数与最终得分的偏离情况来对评委进行简单考核。

1.2.2素数幻方——求四阶的素数幻方。

即在一个4X4 的矩阵中,每一个格填 入一个数字,使每一行、每一列和两条对角线上的4 个数字所组成的四位数,均为可逆素数。

在实际编程中,采用了很多程序设计技巧,假如设置若干辅助数组,其目的就是要最大限度的提高程序的执行效率,缩短运行时间。

下面的程序运行效率是比较高的1.3 开发工具开发工具:Visual C++ 6.0 开发环境:Win32主要考虑合理性、公正性、便捷性程序设计大作业1.4 应用平台Windows 2000/XP/V ista 32位2 详细设计2.1 程序结构2.2.1歌星大奖赛——●首先,将一组评委打分记录到所定义数组内。

由题目中去掉最大值最小值的要求先假设当前的最大值max 为C语言整型数的最小值-32768 ;假设当前的最小值min为C 语言整型数的最大值32767。

软件技术实验报告

软件技术实验报告
下面对初始窗体的部分功能进行介绍。
房间查询:在此可对不同的房间进行查询,可以了解到他们的当前状态,为预定打好基础,
预定:在此界面所有用户可进行预定,若选定会员或内部人员则会出现登陆界面用于会员和内部人员的登陆。登陆成功后方可进行预定房间。在本窗体的预定房间功能实现时会对房间信息表进行查询若房间为可用(无人预定,无人居住)方可进行预订,否则提示错误。
员工完整信息界面(form17):
本窗体采用adodc控件对数据库进行连接,进而实现查询,增加,修改,删除等功能,但是自己对adodc控件不熟悉,将data控件的一些方法作用于adodc控件,但是运行后一直出现错误,一直显Adodc1.Recordset.Update,Adodc1.Recordset.edit,Adodc1.Recordset.updatacotrols等方法错误。经过自己的反复试验得出,这些方法对adodc控件不使用。而取代之的为Adodc1.Recordset.CancelUpdate(取消操作),Adodc1.Recordset.UpdateBatch(确认操作)而修改我没有找到但是在试验过程中发现不使用特定的方法仅在text文本框内修改也是可以保存的。
预定房间信息界面(form18):
在此窗体中实现将text文本框中的内容采用的赋值的方式将内容付给adodc控件的对应字段名,但是在赋值过程中一直不能成功,因此采用ado对象编程的方法进行赋值,并取得了成功。由于在本窗体中设计到两个表(房间信息,预定信息),本以为只采用一个ado对象来实现,但是在改变记录源的过程中原来的信息不能很好的暂时储存,又由于data控件简单因此采用ado对象与data控件相结合的方法来实现同时对两个表的操作。
在整体运行过程中出现一些赋值不能为null的提示,经过调试我发现自己在设计表的过程中没有顾及到各个表之间的联系,有的字段只存在部分表中因此在赋值过程中出现赋空值的现象,因此我又重新设计表,设计窗体。但是由于我自己没有采用access2003设计表因此在access2003软件中不能更改,于是我自己在外接程序下的可视化程序管理器进行设计修改。

软件技术实验报告

软件技术实验报告

软件技术实验报告实验报告标题:基于软件技术的应用开发实践实验目的:通过实践项目开发,掌握软件技术的应用,加深对软件开发流程的理解,培养解决问题的能力和团队协作能力。

实验内容:本实验项目选取一个具有实用价值的应用场景,通过软件技术的实践开发,完成相应的应用开发。

实验步骤:1. 确定应用场景:在实验前阶段,团队成员共同讨论,确定一个具有实用价值的应用场景。

例如,校园生活管理系统、在线购物平台等。

2. 确定需求:根据应用场景,团队成员共同确定应用的功能需求和技术需求。

3. 组建团队:根据实验需求,组建一个开发团队,包括项目经理、前端开发工程师、后端开发工程师、测试工程师等。

4. 制定开发计划:由项目经理负责制定开发计划,包括项目排期、资源分配等。

确保项目按照计划进行。

5. 进行开发:根据开发计划,团队成员按照分工进行开发工作。

前端开发工程师负责前端页面的设计和实现,后端开发工程师负责后端逻辑的开发,测试工程师负责对系统进行测试。

6. 进行集成和测试:当各个模块都完成开发后,进行系统集成和测试,确保不同模块能够正常工作。

7. 进行修复和优化:在测试过程中,发现问题后及时进行修复,并对系统进行优化和性能调优,确保系统的稳定性和可靠性。

8. 完成部署和验收:当系统开发完毕后,进行部署,并进行验收测试。

确保系统能够正常运行,并满足用户需求。

9. 撰写实验报告:在实验结束后,撰写实验报告,对整个开发过程进行总结和反思,包括项目选题、需求分析、开发过程、遇到的问题和解决方案等。

实验结果:通过本实验的开发实践,团队成功完成了选定的应用开发,系统能够满足用户需求,运行稳定。

在开发过程中,团队成员之间相互协作,解决了很多问题,并不断改进和优化系统。

实验结论:通过本次实验,我们深入理解了软件技术的实践应用,加深了对软件开发流程的理解和掌握,培养了解决问题和团队协作的能力。

实验结果表明,通过良好的团队协作和规范的开发流程,可以提高软件开发的效率和质量,开发出更优秀的应用。

西北工业大学 程序设计大作业讲解

西北工业大学 程序设计大作业讲解

学院××××学院目录1 摘要 (3)1.1设计题目 (3)1.2设计内容 (3)1.3开发工具 (3)1.4应用平台 (3)2 详细设计 (3)2.1程序结构 (3)2.2主要功能 (4)2.3函数实现 (5)2.4开发日志 (7)3 程序调试及运行 (7)3.1程序运行结果 (7)3.2程序使用说明 (12)3.3程序开发总结 (12)4 附件(源程序) (12)1 摘要1.1 设计题目算法型大作业题目:编写七种排序算法的演示程序。

1.2 设计内容编写快速排序、插入排序、选择排序、冒泡排序、堆排序、归并排序、基数排序函数,通过主函数调用以实现七种排序算法的演示。

1.3 开发工具Visual C++ 6.01.4 应用平台Windows 2000/XP/Vista 32位2 详细设计2.1 程序结构程序的整体结构与流程见下图所示。

程序运行时在主菜单中输入序号选择排序方法或选择结束程序,当进行某种排序方法后,在主函数中输入待排数据个数和待排数据,通过调用对应的排序函数实现排序并输出。

该排序结束后再次进入主函数,通过循环重复上述操作。

其中,主函数中将数组地址和待排序数据个数传递给排序函数,在排序函数中实现排序功能。

2.2 主要功能函数的功能为对快速排序、插入排序、选择排序、冒泡排序、堆排序、归并排序、基数排序算法的演示。

主函数:程序运行时,可使运行者根据提醒输入相关操作,从而进入不同的排序方法或者退出。

快速排序函数:根据快速排序的算法,最后输出插入排序函数:根据插入排序的算法,最后输出选择排序函数:根据选择排序的算法,最后输出冒泡排序函数:根据冒泡排序的算法,最后输出堆排序函数:根据堆排序的算法,最后输出归并排序函数:根据归并排序的算法,最后输出基数排序函数:根据基数排序的算法,最后输出2.3 函数实现主函数:在主函数中对菜单输出,通过switch语句中的case分支选择所需要的排序方法;通过while循环使演示程序在运行时能够持续进行快速排序:快速排序(kuaisu)又被称做分区交换排序,这是一种平均性能非常好的排序方法。

西北工业大学java实验报告

西北工业大学java实验报告
实验2-3:
Third.java——
说明:编程接受用户输入的任意多个整数,以-1标志输入的结束,求出其中的最大值、最小值和平均值。
实验2-4:
Forth.java——
说明:编写程序实现如下功能,接受用户输入的一个1-9000之间的年份,输出这一年是否是闰年。
利用判别语句判断是否是闰年并且输出。
------------------------------------------------------------
实验4-3:
Palindrome.java——
说明:采用递归方法编程,检查一个任意给定的字符串是否是回文。
------------------------------------------------------------
实验5-1:
FileInfor.java——
说明:编写一个图形化小工具,功能类似系统工具dir,可查看用户给定文件的创建时间、文件类型、文件大小等信息。
在做本题的过程中第一步和其他步骤分别在两个程序中体现如上述代码所示。
实验4-2:
Calculating.java——
说明:编程接受用户输入的一段英文文字,使用一个数组统计每个字母(不计大小写)出现的次数相对于字母总数的比率,打印显示这个比率。并对字母出现的比率进行排序。
在做本本题时原本真对26个字母分别设计了变量,后来进行了优化,运用了数组变量,大大减少了代码量。
实验1-3:
Third.java——
说明:编写一简单的字符界面的Java Application程序,接受用户输入的一个字符,并把该字符打印在屏幕上。
实验1-4:
Forth.java——
说明:编写图形界面的Java Applet,接受用户输入的一个整形数和一个浮点型数,单击按钮求两数之和。

西北工业大学软件技术实验报告1

西北工业大学软件技术实验报告1
2)单击“清屏”后,让光标出现在文本框中,此时往文本框中输入若干文字,例如“您好”,然后单击窗体,使得在窗体的指定位置上显示在文本框中输入的文字。
3)如果将1)中单击左边按钮后文本框中显示的“欲穷千里目,更上一层楼!”改为“白日依山尽,黄河入海流,欲穷千里目,更上一层楼!”此时文本框在一行中将显示不下所有文本,请试调整该文本框的“Multiline”属性,并将文本框纵向距离调整到可容纳两行以上文字。此时再次执行程序,观察执行结果所发生的变化。
实验中遇到的问题及解决方法:
1、刚开始,对那可视化了解的不是很清楚,通过上机知道了可视化是用“画的”,对事件驱动也不是很明白,点一下控件,就弹出编程序的区域。通过上机,让课本上难懂的属性更加明白是什么。
2、当时对方法的认识不是很清楚,仅通过课本,不知道怎么做。当上机后,就知道怎么做的。看书的时候,对事件和方法分不清楚,通过上机,知道编代码实现方法,通过列表选择事件。
3、改变按钮属性style,按钮上显示图片
收获与体会:
1、实践很重要
2、可视化确实很方便,减轻编程负担,把重点放在设计方面,符合人的思维习惯。
3、事件驱动,有什么激励,就有不同的响应。
4、纸上得来终觉浅,绝知此事要躬行。
5、深刻认识属性、方法、事件。
备注:
软件技术实验报告
-VB基本控件
班级
08051101
学号
2011302043
姓名
陈亮
实验内容及完成情况:
1)在屏幕上开辟一个窗口(文本框),窗口的上部放置一个标签,标签中显示:“欢迎使用Visual Basic6.0中文版”。窗口的下部有三个按钮,左边按钮中标有“开始显示”,中间按钮中标有“清屏”,右边按钮中标有“结束”。当鼠标单击左边按钮时,文本框中显示“欲穷千里目,更上一层楼!”如果单击中间按钮,则清除文本框中显示的内容,单击右边按钮则程序结束。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5)可根据时段予以入住折扣,在结帐时,自动产生应缴纳入住金额并予以结帐找零(即退回剩余押金)的操好地完成住房查询、登记、退房、警报等任务。
实验中遇到的问题及解决方法:
1、程序起初并不能运行,原因是缺少部件,在工程中引用与添加相应的部件之后程序便可运行。
2、在计算相应的金额与折扣时,出现错误,该错误还直接修改了数据库数据,原因是在计算部分的代码中,计算公式出现错误,相应的文本编号也混乱了,重新对应文本编号与修正公式,解决了该问题。
实验中所涉及的知识及技术:
1、文本框的双向作用(即输入与输出);
2、窗体的双重作用(容器与输出);
3、事件过程的编写;
4、输入输出的简单实现;
5、窗体、文本框、标签、命令按钮等基本控件的常用属性的动、静态设置等。
6、窗体间的切换方法
7、在界面上建立按钮控件数组。
8、按钮及其他属性的设置
9、各类型变量的的定义与使用
备注:
1)建立一个酒店管理所需的数据库,根据实际需要设置若干基本表,并且打入相关数据。
2)分别采用Data控件、ADO控件、DAO对象、ADO对象连接数据库中的不同的记录集对象。
3)客人入住登记时由程序自动产生按入住客人入住的房型及预定入住天数收取入住押金额。
4)实施入住监控,当入住者超过预定入住期限,应产生报警信息,并采取相应提示追加入住押金的措施。
3、实验中发现label后的自带白色背景十分难看,想将其去掉,于是在询问了周围同学与查阅书籍后,发现属性栏中backstyle一项可以对其进行修改,而后修改成功。
4、在移动了所做的实验文件之后,由于路径的改变,会无法连接到数据库,此时只要重新将data的属性databasename修改至现有路径即可。
西工大软件技术实验报告大作业西工大自控实验报告西工大模电实验报告西工大开放实验室西工大锦园实验小学西工大微机原理实验西工大c语言大作业西工大信号与系统实验西工大操作系统实验西工大高频课设报告
软件技术实验报告
实验序号
综合实验
名称
酒店管理系统
班级
学号
姓名
实验内容及完成情况:
综合已经学过的VB编程以及数据库知识,编写一个酒店前台入住、结帐的小型应用程序。
10、标签控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件等,并设置各控件的必要属性值设定。
11、使用了“Now”函数和“Format”函数,其完整形式为:
Format(Now,“hh:mm:ss”)
Format(Now,“mm/dd/yy”)
前者可以按照“小时:分钟:秒”的形式返回当前时间;后者可以按照“月/日/年”的形式返回。
5、对齐了所有的文本框与标签,使窗体简洁美观。
6、加入打折机制,方便促销。
收获与体会:
本次综合实验,让我温习实践了本学期所学的大部的VB实验知识,锻炼了自己的动手能力,磨练了毅力,培养了自信心与成就感,增长了知识,丰富了实践经验。体会到了vb作为一个面向对象的可视化的编程软件所具有的强大之处与独有魅力,以及与其他所学(如C)语言之间的不同,更加深刻的理解了理论课上所学的知识,总之收获颇丰。
22、数据库中数据追加、修改、删除和查询。
23、可视化数据管理器的使用。
实验中的创新及功能扩充:
1、修改label,文本框,按钮上的字体的样式、颜色、大小,使之清晰醒目。
2、添加背景图片,是窗体更美观。
3、首页加入日期时间显示,使使用者更方便的使用。
4、尾页加入动态label“欢迎下次光临”,增强程序的视觉效果与艺术性。
12、Access 2003的启动与退出。
13、数据库文件的建立与打开。
14、数据库基本表的创建。
15、基本表中数据的录入。
16、数据库表结构的修改。
17、数据库表中各属性的设置。
18、VB可视化数据管理器创建数据库基本表。
19、Data控件连接数据库的方法。
20、绑定控件的相关设置。
21、记录集的相关属性设置及方法。
相关文档
最新文档