当前位置:文档之家› 实训报告

实训报告

实训报告
实训报告

姓名学号

实训报告

一、实训软件平台

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据LabVIEW标志LabVIEW标志显示及数据存储,等等。

LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。前面板创建完毕后,便可使用图形化的函数添加源代码来控制前面板上的对象。在程序框图上添加图形化代码,即G 代码或程序框图代码。因此又被称作程序框图代码。

二、实训预习

在实训前两天,下载LabVIEW软件,初步了解该软件的用法以及各模块的未知,摸清楚LabVIEW的编程方法,同时对SVPWM的原理进行复习,熟悉具体操作流程,增强感性认识,并可从中进一步了解、巩固与深化已经学过的理论和方法,对Clark变换进行深入的认识与学习。

三、实训内容

本次实训的内容一共分为两个部分,分别是三相空间电压矢量SVPWM变频原理实验和矢量控制转速开环恒压频比变频调速实验,分为软件编程和上机实验两个部分,软件编程使用的是LabVIEW软件平台。

(一)实验一三相空间电压矢量SVPWM 变频原理实验

1.实验目的:本次实训的目的是为了学习SVPWM调速的基本原理和实现方法和熟悉Labview 图形化编程环境和编程方法。

2.实验设备:装有Labview 2014的Win7 64位操作系统电脑一台

3.实验原理

SVPWM 是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽可能接近于理想的正弦波形。空间电压矢量PWM 与传统的正弦PWM 不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。SVPWM 技术与SPWM 相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下面将对该算法进行详细分析阐述。

SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。逆变电路如图1-1示.设直流母线侧的电压是U dc ,逆变器输出的三相相电压为U A 、U B 、U C ,其分别加在空间上互差120° 的三相平面静止坐标系上,可以定义三个电压空间矢量U A (t)、 U B (t)、 U C (t), 它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120° 。假设U m 为相电压有效值,f 为电源频率,则有:

()()()()

()()????

???+=-==3/22cos 23/22cos 22cos 2πππππφφφft U t U ft U t U ft U t U C B A (1-1)

其中,θ=2πft,则三相电压空间矢量相加的合成空间矢量就可以表示为:

()()()()ft

j m j C j B A e U e t U e t U t U πππ23/43/223

t U =++=(1-2)

可见U(t)是一个旋转的空间矢量,它的幅值为相电压峰值的1.5倍,Um 为

相电压峰值,且以角频率ω=2πf 按逆时针方向匀速旋转的空间矢量,而空间矢量U(t)在三相坐标轴(a ,b ,c)上的投影就是对称的三相正弦量。

图(1-1)逆变电路

由于逆变器三相桥臂共有6个开关管,为了研究各相上下桥臂不同开关组合时逆变器输出的空间电压矢量,特定义开关函数为:

?

?

?

=

下桥臂导通

上桥臂导通

1

x S(1-3)

(S a、S b、S c )的全部可能组合共有八个,包括6个非零矢量U 1(001)、U 2 (010)、U 3 (011)、U 4 (100)、U 5 (101)、U 6 (110)和两个零矢量U 0 (000)、U 7 (111),下面以其中一种开关组合为例分析,假设此时

图1-2 矢量U4(100)

?

?

?

?

?

=

+

+

=

-

=

=

=

=

,

b

-

a

dc

-

ca

bc

dc

ab

UcN

UbN

UaN

Udc

ucN

UaN

Udc

N

U

N

U

U

U

U

U

U,

(1-4)

求解上列方程可得:U aN=2U dc/3、U bN=-U dc/3、U cN=U dc/3,代入可得

π

π

3

4

j

c

3

2

a

out

e

3

2

U

e

U

U

U j

b

+

+

=

同理可计算出其它各种组合下的空间电压矢量,列表如下

表1‐1 开关状态与相电压和线电压的对应关系

S a S b S c U A U C U AB U BC U CA U out

0 0 0 0 0 0 0 0 0

0 0 1 -U d/3 2U d/3 0 -U d U d2eU dc/3

0 1 0 -U d/3 -U d/3 -U d U d0 2e jπ/3U dc/3

0 1 1 -2U d/3 U d/3 -U d0 U d2e j2π/3U dc/3

1 0 0 2U d/3 -U d/3 U d0 -U d2e jπU dc/3

1 0 1 U d/3 U d/3 U d-U d0 2e j4π/3U dc/3

1 1 0 U d/3 -2U d/3 0 U d-U d2e j5π/3U dc/3

1 1 1 0 0 0 0 0 0

图1‐3八个基本电压空间矢量的大小和位置

/3),相邻的矢量间隔 60°,而两个其中非零矢量的幅值相同(模长为2U

dc

零矢量幅值为零,位于中心。在每一个扇区,选择相邻的两个电压矢量以及零矢量,按照伏秒平衡的原则来合成每个扇区内的任意电压矢量。由于三相正弦波电压在电压空间向量中合成一个等效的旋转电压,其旋转速度是输入电源角频率,等效旋转电压的轨迹将是如图1‐3所示的圆形。所以要产生三相正弦波电压,可以利用以上电压向量合成的技术,在电压空间向量上,将设定的电压向量由 (100)位置开始,每一次增加一个小增量,每一个小增量设定电压向量可以

U

4

用该区中相邻的两个基本非零向量与零电压向量予以合成,如此所得到的设定电压向量就等效于一个在电压空间向量平面上平滑旋转的电压空间向量,从而达到电压空间向量脉宽调制的目的。

4.实验步骤

(1)创建判断电压空间矢量U out 所在的扇区的子Vi

判断电压空间矢量U out 所在扇区的目的是确定本开关周期所使用的基本电压空间矢量。用U α和U β表示参考电压矢量U out 在α、β轴上的分量,定义 U ref1,U ref2,U ref3三个变量,令:

????

???--=-==β

αβαβu u U u u U u U ref ref ref 33321 再定义三个变量A,B,C 通过分析可以得出: 若U ref1>0,则A=1,否则A=0; 若U ref2>0,则B=1,否则B=0; 若U ref3>0,则C=1,否则C=0。

令N =4*C+2*B+A ,则可以得到N 与扇区的关系,通过下表1-2得出U out 所在的扇区(如图1‐3)。

表1‐2 N 与扇区的对应关系

打开Labview 2014软件,点击创建项目,选择创建V i ,进入 V i 前面板,点击主菜单中“查看”,选择“控件选板”,在“控件”中的“数值”选择相应输入、输出控件。快捷键“ctrl+E ”,调出程序框图,点击 主菜单中“查看”,选择“函数选板”,在“函数选板”中选择相应模块进行图形化编程。完成编程后需要编辑连线板,相当于封装,这样子V i 就可以被引用,以下每个子V i 完成都需要编辑连线板。

(2)创建clark 变换子Vi

由于在判断扇区过程中要用到电压指令在两相静止坐标系下α,β轴分量,而给定为三相旋转坐标系下的指令电压矢量,所以控制信号要先经过从三相旋转坐标系到两相静止坐标系的变换,其变换关系矩阵为:

??

?

???

???

??

?---

=232302

1211322/3s

s C

(3)创建确定各扇区相邻两非零矢量和零矢量作用时间的子Vi

???

????

=+=3sin 3cos 6max 26max

20max 1ππβαU T T u U T T U T T u

则可以推出????

??

?=-=ββαu

U T T u u U T T dc PWM dc PWM

3)3(232

1

同理,可以以此类推可以得出其它扇区各矢量的作用时间,创建XYZ 获取子

Vi 可以得到各个扇区T 1、T 2、T 0作用的时间。

创建T 1、T 2生成子Vi ,其中用到的“条件结构”模块在“函数选板”中的“结构”查找,具体模块的使用说明可以点击“主菜单”的“帮助”,选择“显示“即时帮助”再点击要查询的模块图形,即可显示出相关说明,Labview 2014中的即时帮助功能非常实用,使用者如遇到不懂的模块都可进行此类操作,查看详细说明。

如果当T 1+T 2>T PWM ,必须进行过调制处理,则令:

(3)确定各扇区矢量切换点

定义:

三相电压开关时间切换点T cmp1、T cmp2、T cmp3与各扇区的关系如下表1-4所示

表1-4 各扇区时间切换点T cmp1、T cmp2、T cmp3

N 1 2 3 4 5 6 T cmp1T b T a T a T c T c T b T cmp2T a T c T b T b T a T c T cmp3T c T b T c T a T b T a

为了限制开关频率,减少开关损耗,必须合理选择零矢量000和零矢111,使变流器开关状态每次只变化一次。假设零矢000和零矢量111在一个开关周期中作用时间相同,生成的是对称PWM波形,再把每个基本空间电压矢量作用时间一分为二。例如图1-4所示的扇区I,逆变器开关状态编码序列000,100,

110,111,110,100,000,将三角波周T

PWM 作为定时周期与切换点T

cmp1

、T

cmp2

T

cmp3

比较,从而调制SVPWM波,其输出波形如图所示。同理,可以得到其它扇区的波形图。

图1‐17 扇区1内三相PWM调制方式

(5)创建三相正弦波输入的SVPWM调制信号输出Vi,前面我们已经创建好了几个子Vi,它们的输入、输出都是互相关联的,现在需要把它们串联在一起,类似MATLAB中的simulink的各个子模块封装编程。

(6)给定输入,运行程序,生成SVPWM算法得到的三相调制波信号,记录。

以下是各个子Vi的连接图:

Clark变换子VI

T1T2标准化子VI

T1T2生成子VI

Tabc子VI

Xyz获取子VI

扇区选择子VI

参数输入

输出波形

5.实验报告

(1)简述实验原理和实验中中观察到的现象。

答:实验原理:SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。

现象:Ta,Tb,Tc三对桥臂周期性开断,从而可以输出较为平滑的PWM波形。

(2)画出三相的调制波曲线

(3)SVPWM调制方法和SPWM调制方法的优势有哪些?SVPWM调制和马鞍波调制方式有什么区别?

答:SVPWM和SPWM相比,优势主要有:

(1)在每个小区间虽有多次开关切换,但每次开关切换只涉及一个器件,所以

开关损耗小。

(2)利用电压空间矢量直接生成三相PWM波,计算简单。

(3)逆变器输出线电压基波最大值为直流侧电压,比一般的SPWM逆变器输出电压高15%。

SVPWM和马鞍波调制方式的区别:SVPWM的主要思想是以三相对称正弦波电压供电时三相对称电动机定子理想磁链圆为参考标准,以三相逆变器不同开关模式作适当的切换,从而形成PWM波,以所形成的实际磁链矢量来追踪其准确磁链圆。传统的SPWM方法从电源的角度出发,以生成一个可调频调压的正弦波电源,而SVPWM方法将逆变系统和异步电机看作一个整体来考虑,模型比较简单,也便于微处理器的实时控制。

(二)实验二矢量控制转速开环恒压频比变频调速实验

1.实验目的:掌握SVPWM转速开环恒压频比控制的变频调速方法,了解SVPWM 电压源型变频调速的过程,验证实验一中SVPWM调制信号输出子Vi的编程,熟悉PEP‐1型实验台的操作和功能。

2.实验设备:PEP‐1型可扩展实验平台,装有LabVIEW软件的win 7 64位电脑,可调电阻、电容箱,电机导轨、光码盘测速系统及数显转速表,直流发电机,鼠笼式异步电动机,可调电阻,双踪示波器,万用表

3.实验内容:用PEP-1 型实验台产生三相交流电压拖动三相异步电动机实现变频调速,观察变频器电流输出波形,观察并记录不同输出频率时,实验平台输出的交流电压和电流有效值以及电机转速,记录并绘制U-F曲线和电机在变频器不同输出频率下的机械特性曲线。

4.试验方法和步骤

首先检查PEP-1平台前面板,将所有空开关闭(开关拨向下),将调压器旋钮调到0,将ACL和ACN接入220V/50Hz交流电压。此时控制器自动上电,三相交流电压表、三相交流电流表、直流电压表以及直流电流表启动就绪。用网线将电脑和NI9030控制器的网口1相连,打开NIMAX软件,点击左上角的“远程系统”,找到控制器。点击控制器名称,在窗口中间找到控制器IP地址,复制地址。

之后打开labview,打开“电机调速实验”项目,右键NI-crio-9030控制器,选择属性对话框,将控制器的IP地址粘贴上。再右键NI-crio-9030控制器,点击“连接”。双击打开“实验三转速开环恒压频比控制.VI“主程序。“频率”框设置

变频器输出的频率(不得超过50HZ)。“升速时间”框、“降速时间”框分别设置升降速过渡过程的时间。摇杆向下(绿色)为正常运行,摇杆拨上去(红色)暂停运行。SVPWM调制信号输出编程部分,ctrl+E打开程序框图,三相正弦波已经编程完毕,需要完成剩下编程部分,把输出的Ta、Tb、Tc调制信号传给FPGA的写入控件,即完成编程任务。这里Udc根据本实验要求直接写入300V,三角波频率设置为5000Hz,SVPWM调制信号输出子V i 程序框图结构如图2-4所示。设置频率为5 0HZ,升速时间为3s,降速时间为1 s,点击摇杆开关拨向下。

图2-2程序框图界面

图2-4 SVPWM调制信号子VI程序框图

设置完以后,将PEP-1实验台前面板上的a、b、c三相的插孔,用香蕉插头分别通过三相交流电压表接到交流电机的A、B、C三相,同时将电机的绕组端口首尾相连(△接)。再将ab两相的线电压接到交流电压表。将实验平台前面板上的P和N端口连接到直流电压表。打开主电路开关(左一),打开直流输出开关(左二),缓慢调节调压旋钮到300v位置,将a、b、c三相的开关打开(推上去),将测速器的电源插上电。点击主程序中的“运行”按钮,程序自动下载运

行,电机开始启动。观察变频器输出频率为50HZ时候的电机转速和变频器输出电压有效值。然后点击程序框图前面板中的“停止”按钮,在程序框图前面板中观察变频器输出电流波形。

调节(范围-50~50HZ)主程序前面板中的“频率”值,点击主程序中的“运行”按钮,待转速稳定后记录线电压。记录好后,点击程序前面板上的绿色摇杆(使之变红)使电机停转,改变“频率”值,再次点击摇杆(使之变绿)再次启动电机,待转速稳定后记录线电压值。重复操作,记录输出频率在-50~50HZ之间的多组电压和对应输出频率数据。

记录数据并绘制恒压频比(U/F)控制特性

F(Hz)

U(V)

U/F

四、实训小结

实习报告模板

实习报告模板 篇一:大学生实习报告模版 实习报告 实习是每一个大学毕业生必须拥有的一段经历,它使我们在实践中了解社会、在实践中 巩固知识;实习又是对每一位大学毕业生专业知识的一种检验,它让我们学到了很多在课堂上根 本就学不到的知识,既开阔了视野,又增长了见识,为我们以后进一步走向社会打下坚实的基础,也是我们走向工作岗位的第一步。 会计是对会计单位的经济业务从数和量两个方面进行计量、记录、计算、分析、检查、 预测、参与决策、实行监督,旨在提高经济效益的一种核算手段,它本身也是经济管理活动 的重要组成部分。会计专业作为应用性很强的一门学科、一项重要的经济管理工作,是加强 经济管理,提高经济效益的重要手段,经济管理离不开会计,经济越发展会计工作就显得越 重要。 针对于此,在进行了三年半的大学学习生活,通过对《财务管理》、《管理会计》、《成本会计》及《会计电算化软件应用》的学习,可以说对会计已经是耳目能熟了,所有的有关会计 的专业基础知识、基本理论、基本方法和结构体系,我都基本掌握了,但这些似乎只是纸上谈兵,倘若将这些理论性极强的东西搬上实际上应用,那我想我肯定会是无从下手,一窍不通。自认为 已经掌握了一定的会计理论知识在这里只能成为空谈。于是在坚信

“实践是检验真理的唯一标准”下,认为只有把从书本上学到的 理论知识应用于实际的会计实务操作中去,才能真正掌握这门知 识。因此,我作为一名会计专业的学生,在2010年的寒假,有幸 参加了为期近两个月的专业实习。 一、实习概况 (一)实习时间 X年x月x日——x年x月x日 (二)实习单位基本情况 怀着一种美好的憧憬,我来到鑫汇海商贸公司,鑫汇海商贸公司是代言伊利品牌奶、 康师傅系列、劲酒等快速消费食品的企业。代言品牌多达十几种,是伊利、康师傅品牌的郑 州总代理。 二、实习过程 第一次参加工作,有点紧张。第一天上班,心里没底,感到既新鲜又紧张。新鲜的是能够接触很多在学校看不到、学不到的 东西,紧张的则是万一做不好工作而受到批评。带我实习的前辈是王会计,王会计对我非常和气。他首先耐心地向我介绍了公司 的基本业务、会计科目的设置以及各类科目的具体核算内容,然后又向我讲解了作为会计人员 上岗所要具备的一些基本知识要领,对我所提出的疑难困惑,他有问必答,尤其是会计的一些 基本操作,他都给予了细心的指导,说句心里话,我真的非常感激他对我的教导。在刚刚接触 社会的时候,能遇上这样的师傅真是我的幸运。虽然实习不像正式工作那样忙,那样累,但我 真正把自己

数据结构实训报告

《数据结构与算法分析》 课程设计 题目:文字处理程序(字符串的应用) 学生姓名:林武祥 学号:16230243008 专业班级: B16软件工程1班 指导教师:颜慧 学院: 大数据与计算机学院 2017年12月

目录 一、课程设计题目 (1) 二、开发背景 (1) 三、项目总体设计 (1) 3.1需求分析 (1) 3.2系统功能模块设计 (1) 四、详细实现步骤和流程图 (2) 4.1功能实现展示 (2) 4.2流程图框架 (4) 五、部分具体代码分析及实现 (5) 六、项目总结 (9) 七、参考文献 (9)

一、课程设计题目 文字处理程序(字符串的应用)及简单文本编辑器 二、开发背景 由于对于现在的电脑族对电脑的使用频率逐年增大,对电脑的需要具有依赖性。其中不乏有对文本的编辑的需求,因此,本次实训周做了一款简单的文本编辑器的应用程序,对文本编辑器的相关功能做了一定的实现,既简单又实用。 本软件为一个简单而且很实用的文本编辑的工具,不但可以进行一些文字的输入和文本的读取,而且,该文本编辑器也可以对文本进行一些保存、另存、剪切、粘贴、删除等常规的操作,是一款比较适合广大普通用户和非计算机专业的用户和文本编辑的处理软件,本软件不但界面友好,功能齐全,而且操作简单。 三、项目总体设计 3.1需求分析 文字处理程序运行后弹出文本编辑器的主界面,由键盘输入或以打开的方式输入或显示文本文件内容。其中程序基本操作:包括文本的复制、粘贴、剪切、删除、查找、替换等功能。统计功能:分别统计出文本文件中的各类字符的个数,包括英文字母个数、空格个数、汉字个数、标点符号个数、总字数等并显示统计信息;允许用户统计某一字符串在文章中出现的次数,并显示统计信息;加密和解密:用户可对指定文本文件进行加密和解密操作;用户可保存该文件。 3.2系统功能模块设计

标准实验报告模板

实验报告 实验名称 课程名称___电子技术基础实验 院系部: 专业班级:学生姓名:学号:同组人:实验台号:指导教师:成绩:实验日期: 华北电力大学

实验报告要求: 一、实验目的及要求 二、仪器用具 三、实验原理 四、实验步骤(包括原理图、实验结果与数据处理) 五、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见。) 六、实验原始数据

一、实验目的及要求: 1. 学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2. 掌握放大器电压放大倍数和最大不失真输出电压的测试方法。 3. 悉常用电子仪器及模拟电路实验设备的使用。 二、仪器用具:略 三、实验原理 图1.2.1为电阻分压式工作点稳定单管放大器实验电路图。 图1.2.1 共射极单管放大器实验电路 在图1.2.1电路中,当流过偏置电阻1B R 和2B R 的电流远大于晶体管VT 的基极电流B I 时(一般5~10倍),则它的静态工作点可用下式估算: CC B2B1B1B U R R R U +≈ U CE =U CC -I C (R C +R F1 + R E ) 电压放大倍数: 1)1( // F R β++-=be L C V r R R β A 其中r be =200+26 (1+β)/I E 输入电阻:R i =R B1 // R B2 // [r be +(1+β)R F1] 输出电阻:R O ≈R C 四、实验方法与步骤: 1. 调试静态工作点 接通+12V 电源、调节R W ,使U E =2.0V ,测量U B 、U E 、U C 、R B2值。记入表1.2.1。 E U BE = U B - U E =0.665V ,U CE = U C - U E =5.8V,I C ≈I E = U E /R E =2/(1.1)=1.82mA 实验数据显示,Q 点的值满足放大电路的静态工作点要求,BJT 处于放大区。 2. 测量不同负载下的电压放大倍数 C E BE B E I R U U I ≈+-≈1 F R

实训报告万能模板

实训报告万能模板 “纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而老师在专业认识周中所讲的,都是课本上没有而对我们又十分实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅仅明白了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合到达更加完美。 这次实训带给我太多的感触,它让我明白工作上的辛苦,事业途中的艰辛。让我明白了实际的工作并不像在学校学习那样简单。人非生而知之,虽然我此刻的知识结构还很差,但是我明白要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。 这次实训让我在一瞬间长大:我们不可能永远呆在象牙塔中,过着一种无忧无虑的生活,我们总是要走上社会的,而社会,就是要靠我们这些年轻的一代来推动。这就是我们不远千里来实训的心得和感受,而不久后的我,面临是就业压力,还是继续深造,我想我都就应好好经营自己的时间,充实、完善自我,不要让自己的人生留下任何空白!

实训中除了学到不少专业知识,也了解一些社会的现实性,包括人际交往,沟通方式及相关礼节方面的资料,对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要持续亲和诚信,把专业理论运用到具体实践中,不仅仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经理,这是也是实训最大的收获。此刻我对“一个人最大的财富是他的人生经历和关系网络”这句话十分的有感情,因为它确实帮了我们不少。 除此课本上的知识毕竟有限。透过实训,我班同学都有这样一个感觉,课本上的理论知识与实际工作有很大差距,只有知识是远远不够的,专业技能急需提高。从最初的笨手笨脚,到此刻能够熟练的按照流程开发软件,这都与我班每个人的努力是分不开的。 十个月的实训,教会了我们很多东西,同时也锻炼了大家踏实、稳重的潜力,每个人都很珍惜这来之不易的实训机会。在实际工作中经常会和不同的人打交道,然而他们的态度是不可恭维的,你会感觉到他的不耐烦以及他的高傲,所以这就需要学会沟通的方式及说话技巧,学会灵活应对。 透过这十个月的实训,我班同学都收获颇丰,总体来说对这次实训还是很满意的。尽管实训很累,每一天早出晚归。但真的很感谢学校能够带给我们这样好的实训机会,以及东软给予我们的实训平台。我们深刻的了解到,只有经历过,才明白其中的滋味。 对于我而言,喜欢体验生活,能够说透过这次实训,真真切切的

数据结构实验报告

数据结构实验报告 一.题目要求 1)编程实现二叉排序树,包括生成、插入,删除; 2)对二叉排序树进行先根、中根、和后根非递归遍历; 3)每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。 4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么? 二.解决方案 对于前三个题目要求,我们用一个程序实现代码如下 #include #include #include #include "Stack.h"//栈的头文件,没有用上 typedefintElemType; //数据类型 typedefint Status; //返回值类型 //定义二叉树结构 typedefstructBiTNode{ ElemType data; //数据域 structBiTNode *lChild, *rChild;//左右子树域 }BiTNode, *BiTree; intInsertBST(BiTree&T,int key){//插入二叉树函数 if(T==NULL) { T = (BiTree)malloc(sizeof(BiTNode)); T->data=key; T->lChild=T->rChild=NULL; return 1; } else if(keydata){ InsertBST(T->lChild,key); } else if(key>T->data){ InsertBST(T->rChild,key); } else return 0; } BiTreeCreateBST(int a[],int n){//创建二叉树函数 BiTreebst=NULL; inti=0; while(i

实习报告模板大全(2021新版)

实习报告模板大全(2021新版) Practice report template ( 实习报告 ) 汇报人:_________________________ 职务:_________________________ 日期:_________________________ 适用于工作总结/工作汇报/年终总结/全文可改

实习报告模板大全(2021新版) 毕业实习报告模板 从我踏进实习单位的那一刻起,我就知道我将经历一段特殊的不平凡的并且充满收获的人生旅程,那旅程必定在我的生命中写下浓墨重彩的一笔,必定会在我的生命中留下绚烂多彩的回忆,必定会给我带来生命中无与伦比的财富。 一、实习目的 毕业实习是我们大学期间的最后一门课程,不知不觉我们的大学时光就要结束了,在这个时候,我们非常希望通过实践来检验自己掌握的知识的正确性。在这个时候,我来到xx科技股份有限公司在这里进行我的毕业实习。 二、实习内容及过程 为了达到毕业实习的预期目的。在学校与社会这个承前启后的实习环节,我们对自己、对工作有了更具体的认识和客观的评价。

在整个的实习工程中,我总共做了以下的一些工作,同时自己的能力也得到了相应的提高。 1、工作能力。在实习过程中,积极肯干,虚心好学、工作认真负责,胜任单位所交给我的工作,并提出一些合理化建议,多做实际工作,为企业的效益和发展做出贡献。 2。实习方式。在实习单位,师傅指导我的日常实习,以双重身份完成学习与工作两重任务。向单位员工一样上下班,完成单位工作;又以学生身份虚心学习,努力汲取实践知识。 3。实习收获。主要有四个方面。一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了教学的实践任务。二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。三是在实习单位受到认可并促成就业。四是为毕业论文积累了素材和资料。 三、实习总结及体会 在摸索中,为期三个月的顶岗实习结束了。带给了我太多的回

数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1.实验目的 (1)掌握使用Visual C++ 6.0上机调试程序的基本方法; (2)掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2.实验要求 (1)认真阅读和掌握和本实验相关的教材内容。 (2)认真阅读和掌握本章相关内容的程序。 (3)上机运行程序。 (4)保存和打印出程序的运行结果,并结合程序进行分析。 (5)按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>//头文件 #include//库头文件-----动态分配内存空间 typedef int elemtype;//定义数据域的类型 typedef struct linknode//定义结点类型 { elemtype data;//定义数据域 struct linknode *next;//定义结点指针 }nodetype; 2)创建单链表

nodetype *create()//建立单链表,由用户输入各结点data域之值,//以0表示输入结束 { elemtype d;//定义数据元素d nodetype *h=NULL,*s,*t;//定义结点指针 int i=1; cout<<"建立一个单链表"<> d; if(d==0) break;//以0表示输入结束 if(i==1)//建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));//表示指针h h->data=d;h->next=NULL;t=h;//h是头指针 } else//建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t始终指向生成的单链表的最后一个节点

实训报告格式及模板(完整版)

报告编号:YT-FS-6248-23 实训报告格式及模板(完 整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

实训报告格式及模板(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实训报告内容格式 (一) 实训名称 要用最简练的语言反映实训的内容。如验证某程 序、定律、算法,可写成“验证×××”;分析×××。 (二) 所属课程名称 (三) 学生姓名、学号、合作者及指导教师 (四) 实训日期和地点(年、月、日) (五) 实训目的 目的要明确,在理论上验证定理、公式、算法, 并使实验者获得深刻和系统的理解,在实践上,掌握 使用实验设备的技能技巧和程序的调试方法。一般需 说明是验证型实验还是设计型实验,是创新型实验还 是综合型实验。

(六)实训原理 述实训相关的主要原理。 (七) 实训内容 这是实训报告极其重要的内容。要抓住重点,可以从理论和实践两个方面考虑。这部分要写明依据何种原理、定律算法、或操作方法进行实验。详细理论计算过程. (八) 实训环境和器材 实训用的软硬件环境(配置和器材)。 (九) 实验步骤 只写主要操作步骤,不要照抄实习指导,要简明扼要。还应该画出实验流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。 (十) 实验结果 实验现象的描述,实验数据的处理等。原始资料应附在本次实验主要操作者的实验报告上,同组的合作者要复制原始资料。

数据结构实验总结报告

数据结构实验总结报告 李博杰PB10000603 一、调试过程中遇到哪些问题? (1)在二叉树的调试中,从广义表生成二叉树的模块花了较多时间调试。 由于一开始设计的广义表的字符串表示没有思考清晰,处理只有一个孩子的节点时发生了混乱。调试之初不以为是设计的问题,从而在代码上花了不少时间调试。 目前的设计是: Tree = Identifier(Node,Node) Node = Identifier | () | Tree Identifier = ASCII Character 例子:a(b((),f),c(d,e)) 这样便消除了歧义,保证只有一个孩子的节点和叶节点的处理中不存在问题。 (2)Huffman树的调试花了较长时间。Huffman编码本身并不难处理,麻烦的是输入输出。 ①Huffman编码后的文件是按位存储的,因此需要位运算。 ②文件结尾要刷新缓冲区,这里容易引发边界错误。 在实际编程时,首先编写了屏幕输入输出(用0、1表示二进制位)的版本,然后再加入二进制文件的读写模块。主要调试时间在后者。 二、要让演示版压缩程序具有实用性,哪些地方有待改进? (1)压缩文件的最后一字节问题。 压缩文件的最后一字节不一定对齐到字节边界,因此可能有几个多余的0,而这些多余的0可能恰好构成一个Huffman编码。解码程序无法获知这个编码是否属于源文件的一部分。因此有的文件解压后末尾可能出现一个多余的字节。 解决方案: ①在压缩文件头部写入源文件的总长度(字节数)。需要四个字节来存储这个信息(假定文件长度不超过4GB)。 ②增加第257个字符(在一个字节的0~255之外)用于EOF。对于较长的文件,会造成较大的损耗。 ③在压缩文件头写入源文件的总长度%256的值,需要一个字节。由于最后一个字节存在或不存在会影响文件总长%256的值,因此可以根据这个值判断整个压缩文件的最后一字节末尾的0是否在源文件中存在。 (2)压缩程序的效率问题。 在编写压缩解压程序时 ①编写了屏幕输入输出的版本 ②将输入输出语句用位运算封装成一次一个字节的文件输入输出版本 ③为提高输入输出效率,减少系统调用次数,增加了8KB的输入输出缓存窗口 这样一来,每写一位二进制位,就要在内部进行两次函数调用。如果将这些代码合并起来,再针对位运算进行一些优化,显然不利于代码的可读性,但对程序的执行速度将有一定提高。

大学生实习报告模板

( 实习报告) 单位:____________________ 姓名:____________________ 日期:____________________ 编号:YB-BH-006531 大学生实习报告模板College student internship report template

大学生实习报告模板 大学生实习报告模板3000字(一) 随着社会的快速发展,当代社会对即将毕业的大学生的要求越来越高,对于即将毕业的我们而言,为了能更好的适应严峻的就业形势,毕业后能够尽快的融入社会,同时能够为自己步入社会打下坚实的基础,我系同学各自开展了顶岗实习活动。此次实习,我是xx有限公司的储备干部,从找工作到找到工作到工作的过程中发生的点滴给我留下了深刻的印象,也让我学到了许多知识,体会到很多,相信此次经历多我而言是一笔宝贵的财富。 一、实习目的 毕业实习是我们大学期间的最后一门课程,不知不觉我们的大学时光就要结束了,在这个时候,我们非常希望通过实践来检验自己掌握的知识的正确性。在这个时候,我来到xx限公司,在这里进行我的毕业实习。 二、实习单位及岗位介绍 公司于一九九三年成立,地处长江三角洲沪杭甬城市经济圈的中心地带,交通便捷,地理位置优越,是集研发、生产、销售、服务为一体的高新科技企业。公司多年来集中有限资源、充分挖掘出了自身的比较竞争优势,通过观念创新、技术创新、服务创新来保证企业高速发展。

开发项目:各种定时器系列,漏电保护器,过压保护器,插座和调光插座,宠物用品,灯具等。公司宗旨:科技创造价值、质量赢得市尝诚信铸造品牌、服务成就未来。 三、实习内容及过程 为了达到毕业实习的预期目的。在学校与社会这个承前启后的实习环节,我们对自己、对工作有了更具体的认识和客观的评价。在整个的实习工程中,我总共做了以下的一些工作,同时自己的能力也得到了相应的提高 1、工作能力。在实习过程中,积极肯干,虚心好学、工作认真负责,胜任单位所交给我的工作,并提出一些合理化建议,多做实际工作,为企业的效益和发展做出贡献。 2、实习方式。在实习单位,师傅指导我的日常实习,以双重身份完成学习与工作两重任务。向单位员工一样上下班,完成单位工作;又以学生身份虚心学习,努力汲取实践知识。 3、实习收获。主要有四个方面。一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了教学的实践任务。二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。三是在实习单位受到认可并促成就业。四是为毕业论文积累了素材和资料。 四、实习总结及体会 我怀着美好的期盼来到xx有限公司开始为期几个月的实习生活。在这段时间里,我学到了许多书本上学不到的东西,虽然一开始有些单调,有些无聊,但毕竟也让我学到了许多。刚开始几天的维修工作让我对电子产品有了初步的了解,

数据结构实验报告模板

2009级数据结构实验报告 实验名称:约瑟夫问题 学生姓名:李凯 班级:21班 班内序号:06 学号:09210609 日期:2010年11月5日 1.实验要求 1)功能描述:有n个人围城一个圆圈,给任意一个正整数m,从第一个人开始依次报数,数到m时则第m个人出列,重复进行,直到所有人均出列为止。请输出n个人的出列顺序。 2)输入描述:从源文件中读取。 输出描述:依次从显示屏上输出出列顺序。 2. 程序分析 1)存储结构的选择 单循环链表 2)链表的ADT定义 ADT List{ 数据对象:D={a i|a i∈ElemSet,i=1,2,3,…n,n≧0} 数据关系:R={< a i-1, a i>| a i-1 ,a i∈D,i=1,2,3,4….,n} 基本操作: ListInit(&L);//构造一个空的单链表表L ListEmpty(L); //判断单链表L是否是空表,若是,则返回1,否则返回0. ListLength(L); //求单链表L的长度 GetElem(L,i);//返回链表L中第i个数据元素的值; ListSort(LinkList&List) //单链表排序 ListClear(&L); //将单链表L中的所有元素删除,使单链表变为空表 ListDestroy(&L);//将单链表销毁 }ADT List 其他函数: 主函数; 结点类; 约瑟夫函数 2.1 存储结构

[内容要求] 1、存储结构:顺序表、单链表或其他存储结构,需要画示意图,可参考书上P59 页图2-9 2.2 关键算法分析 结点类: template class CirList;//声明单链表类 template class ListNode{//结点类定义; friend class CirList;//声明链表类LinkList为友元类; Type data;//结点的数据域; ListNode*next;//结点的指针域; public: ListNode():next(NULL){}//默认构造函数; ListNode(const Type &e):data(e),next(NULL){}//构造函数 Type & GetNodeData(){return data;}//返回结点的数据值; ListNode*GetNodePtr(){return next;}//返回结点的指针域的值; void SetNodeData(Type&e){data=e;}//设置结点的数据值; void SetNodePtr(ListNode*ptr){next=ptr;} //设置结点的指针值; }; 单循环链表类: templateclass CirList { ListNode*head;//循环链表头指针 public: CirList(){head=new ListNode();head->next=head;}//构造函数,建立带头节点的空循环链表 ~CirList(){CirListClear();delete head;}//析构函数,删除循环链表 void Clear();//将线性链表置为空表 void AddElem(Type &e);//添加元素 ListNode *GetElem(int i)const;//返回单链表第i个结点的地址 void CirListClear();//将循环链表置为空表 int Length()const;//求线性链表的长度 ListNode*ListNextElem(ListNode*p=NULL);//返回循环链表p指针指向节点的直接后继,若不输入参数,则返回头指针 ListNode*CirListRemove(ListNode*p);//在循环链表中删除p指针指向节点的直接后继,且将其地址通过函数值返回 CirList&operator=(CirList&List);//重载赋

《数据结构实验》实验题目及实验报告模板

《数据结构实验》的实验题目及实验报告模板 实验一客房管理(链表实验) ●实现功能:采用结构化程序设计思想,编程实现客房管理程序的各个功能函数,从而熟练 掌握单链表的创建、输出、查找、修改、插入、删除、排序和复杂综合应用等操作的算法 实现。以带表头结点的单链表为存储结构,实现如下客房管理的设计要求。 ●实验机时:8 ●设计要求: #include #include #include //定义客房链表结点结构 typedef struct HNode { char roomN[7]; //客房名称 float Price; //标准价格 float PriceL; //入住价格(默认值=标准价格*80%) int Beds; //床位数Beds char State[5]; //入住状态(值域:"空闲"、"入住"、"预订",默认值为"空闲") struct HNode *next; //指针域 }Hotel, *HLink; (1)实现创建客房信息链表函数void Build(HLink &H),输入(客房名称、标准价格、床位数),同时修改入住价格、入住状态为默认值,即入住价格=标准价格*80%,入住状态为”空闲”(提示:用strcpy()字符串拷贝函数)。为了提高程序调试效率,要求:用文件操作来输入客房信息(客房名称、标准价格、床位数); (2)实现输出客房信息函数void Exp(HLink H),输出所有客房的客房名称、标准价格、入住价格、床位数、入住状态; (3)函数int Find(HLink &H, char *roomN),查找房间名称为roomN的客房。如果找到,则返回该客房在链表中的位置序号(>=1),否则返回0。提示:用strcmp()字符串比较函数; (4)实现函数void updateH(HLink &H, int beds, char *state),将床位数为beds的客房入住状态改为state。提示:用strcpy()字符串拷贝函数; (5)函数void Add(HLink &H),将该链表中未入住的客房入住价格均加价20%; (6)求出入住价格最高的客房函数HLink FirstH(HLink &H),该函数内return语句返回入住价格最高的客房结点指针,返回前将该结点在链表中删除; (7)函数void MoveK1(HLink &H, int k),将单链表中倒数第k个结点移到第一个结点位置,注意:严禁采用先计算链表长度n再减k(即n-k)的方法;

数据结构实验报告.

实验目的 (1)学会用先序创建一棵二叉树。 (2)学会采用递归算法对二叉树进行先序、中序、后序遍历。 (3)学会打印输出二叉树的遍历结果。 实验内容 【问题描述】建立一棵二叉树,并对其进行遍历(先序、中序、后序),打印输出遍历结果。 【基本要求】 从键盘接受输入(先序),以二叉链表作为存储结构,建立二叉树(以先序来建立),并采用递归算法对其进行遍历(先序、中序、后序),将遍历结果打印输出。 【测试数据】 ABCффDEфGффFффф(其中ф表示空格字符) 则输出结果为先序:ABCDEGF 中序:CBEGDFA 后序:CGBFDBA 【选作内容】 采用非递归算法实现二叉树遍历。 实验步骤 (一)需求分析 1、在这个过程中,接受遍历的二叉树是从键盘接受输入(先序),以二叉链表作为存储结构,建立的二叉树。因此,首先要创建一棵二叉树,而这棵二叉树是先序二叉树。本演示程序中,集合的元素设定为大写字母ABCDEFG,输出的先序,中序,后序遍历分别为ABCDEGF,CBEGDFA,CGBFDBA。二叉树可以表示为:

接受的输入数据在进行递归的先序,中序,后序遍历后,分别将结果打印出来。 2、在程序运行的过程中可以看到,以计算机提示用户执行的方式进行下去,即在计算机终端上提示“输入二叉树的先序序列”后,由用户在键盘上输入ABC##DE#G##F###,之后相应的选择遍历及遍历结果显示出来。 3、程序执行的命令包括:首先是二叉树的先序序列被创建输入,其次是对输入进去的先序序列有次序的进行先序,中序,后序遍历。最后是打印出二叉树的遍历结果。 4、测试数据 (1)在键盘上输入的先序序列ABC##DE#G##F### (2)先序遍历结果ABCDEGF

实训报告模板

实训(习)报告 课程名称工作分析 实训(习)项目名称编写工作分说明书实训(习)地点2实402室 专业班级16人力资源1班姓名_J*** __________ 学号****** 指导教师陈惠娜成绩__________ 日期2017 年11月1日 一、实训(习)任务及目的 通过实训(习)的操作,使学生熟悉撑握工作分析相关知识,学会编写工作说明书。 通过小组讨论的方式来锻炼学生的团队工作能力,学生将所学的理论知识应用于实际,加深对基础认识理解。。 二、实训(习)过程及内容(内容可另加页) 实训要求: 1、实训名称:编制《工作说明书》; 2、以学习小组为单位,团队合作,明确每个成员的任务与安排; 3、实训老师对学生的进行指导,学生写出实训报告; 4、实训操作要点: 1)资料准备 2)教师指导 3)学生写出实习报告

三、实训(习)总结(内容可另加页) 通过这次实训,收获了很多,一方面学习到了许多以前没有学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力,对自己能力也是进一步的提升,也是一种考验。其次,实训中的项目作业也使我更加有团队精神,在实践的过程中的劳累与疑惑到实训作业结束时,与同学们互相帮助互相学习的精神值得我们学习,另外在实训的时候明确项目,团结协作,有序进行实训项目的内容,这些都是我们不断学习,不断成长的见证。在学习中还是生活中也是同样的,我们要处理好同学之间的关系,要有较强的团队意识,学会不断的适应,提高自己快速融入新集体环境中的能力,奠定良好的基础,我们都能够有所收获, 有所成长。 学生签名: ***组成员名单及学号:黄长裕65 林振浩51 钱静仪45 黄嘉颖 40 毛敏49 郭丽娟64 李艺 蕾42 姚楠10

数据结构C语言版实验报告完整版

数据结构C语言版实验 报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

数据结构(C语言版) 实验报告 专业:计算机科学与技术、软件工程 学号:_______________________ 班级:_________软件二班______________ 姓名:________朱海霞______________ 指导教师:___刘遵仁________________ 青岛大学信息工程学院 2013年10月 实验1 实验题目:顺序存储结构线性表的插入和删除 实验目的: 了解和掌握线性表的逻辑结构和顺序存储结构,掌握线性表的基本算法及相关的时间性能分析。 实验要求: 建立一个数据域定义为整数类型的线性表,在表中允许有重复的数据;根据输入的数据,先找到相应的存储单元,后删除之。 实验主要步骤: 1、分析、理解给出的示例程序。 2、调试程序,并设计输入一组数据(3,-5,6,8,2,-5,4,7,- 9),测试程序的如下功能:根据输入的数据,找到相应的存储单元并删除,显示表中所有的数据。 程序代码: #include<> #include<> #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10

typedef struct{ int* elem; int length; int listsize; }Sqlist; int InitList_Sq(Sqlist &L){ =(int*)malloc(LIST_INIT_SIZE*sizeof(int)); if(! return -1; =0; =LIST_INIT_SIZE; return OK; } int ListInsert_Sq(Sqlist&L,int i,int e){ if(i<1||i>+1) return ERROR; if=={ int *newbase; newbase=(int*)realloc,+LISTINCREMENT)*sizeof(int)); if(!newbase) return -1; =newbase; +=LISTINCREMENT; } int *p,*q; q=&[i-1]); for(p=&[]);p>=q;--p) *(p+1)=*p; *q=e; ++; return OK; } int ListDelete_Sq(Sqlist &L,int i,int e){ int *p,*q; if(i<1||i>return ERROR; p=&[i-1]); e=*p; q=+; for(++p;p<=q;++p) *(p-1)=*p; ; return OK; } int main(){ Sqlist L; InitList_Sq(L);ertex=a; irstedge=NULL; irstedge; G->adjlist[i].firstedge=s; irstedge;

数据结构实验报告

南京工程学院实验报告 操作的函数程序清单,分别用顺序表和链表结构完成,并在首页上表明团队名称、成员及个人的工作(函数),未来的成绩评定时将包含这一部分的团队成绩及个人的工作成绩。 一、实验目的 1.熟悉上机环境,进一步掌握语言的结构特点。 2.掌握线性表的顺序存储结构的定义及实现。 3.掌握线性表的链式存储结构——单链表的定义及实现。 4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。 5.掌握线性表在链式存储结构——单链表中的各种基本操作。 二、实验内容 1.顺序线性表的建立、插入及删除。 2.链式线性表的建立、插入及删除。 三、实验步骤 1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。 3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。 四、程序主要语句及作用(main函数程序清单) 程序1的主要代码(附简要注释) #include #define MAXSIZE 1024 typedef int elemtype; typedef struct{ elemtype vec[MAXSIZE]; int len; }sequenlist; elemtype geti(sequenlist s, int i); elemtype deli(sequenlist *s,int i); elemtype insi(sequenlist *s,int i,int b); int main(int argc, char *argv[]){ int i,n,x; sequenlist a; printf("输入n(n>3):"); scanf("%d",&n);

数据结构实训报告样本

实验一线性表 1.实验要求 1.1掌握数据结构中线性表的基本概念。 1.2熟练掌握线性表的基本操作: 创立、插入、删除、查找、 输出、求长度及合并并运算在顺序存储结构上的实验。 1.3熟练掌握链表的各种操作和应用。 2.实验内容 2.1编写一个函数, 从一个给定的顺序表A中删除元素值在x到 y之间的所有元素, 要求以较高效率来实现。 2.2试写一个算法, 在无头结点的动态单链表上实现线性表插 入操作 2.3设计一个统计选票的算法, 输出每个候选人的得票结果。 3.实验代码 2.1代码: #include typedef int elemtype; #define maxsize 10 int del(int A[],int n,elemtype x,elemtype y) { int i=0,k=0;

while(i=x&&A[i]<=y) k++; else A[i-k]=A[i]; i++; } return(n-k); } void main() { int i,j; int a[maxsize]; printf("输入%d个数:\n",maxsize); for(i=0;i

INSERT(L,i,b)。 void Insert(Linklist &L,int i,elemtype x) { if(!L) { L=(Linklist)malloc(sizeof(Lnode)); (*L).data=x;(*L).next=NULL; } else { if(i==1) { s=(Linklist)malloc(sizeof(Lnode)); s->data=x;s->next=L;L=s; } else { p=L;j=1; while(p&&jnext;} if(p||j>i-1) return error;

大学实验报告模板三篇

大学实验报告模板三篇 篇一:大学物理实验报告格式 实验名称:杨氏弹性模量的测定 院专业学号 姓名 同组实验者 20XX年月日 实验名称 一、实验目的。。。。。。。。。 二、实验原理。。。。。。。。。。 三、实验内容与步骤。。。。。。。。。 四、数据处理与结果。。。。。。。。。 五、附件:原始数据 ****说明: 第五部分请另起一页,将实验时的原始记录装订上,原始记录上须有教师的签名。 篇二:大学实验报告册模板 实验课程名称开课学院理学院指导老师姓名学生姓名学生专业班级 200— 200 学年第学期 实验课程名称: 实验课程 名称: 篇三:浙江大学实验报告模板

专业:________________ 姓名:________________ 实验报告 学号:________________ 日期:________________ 地点:________________ 课程名称:_______________________________指导老师:________________成绩:__________________ 实验名称:_______________________________实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 实验名称:_______________________________姓名:________________学号:__________________ 大学实验报告模板三篇

数据结构实验报告及心得体会

2011~2012第一学期数据结构实验报告 班级:信管一班 学号:201051018 姓名:史孟晨

实验报告题目及要求 一、实验题目 设某班级有M(6)名学生,本学期共开设N(3)门课程,要求实现并修改如下程序(算法)。 1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统), 输出实验结果。(15分) 2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学 生的学号、姓名和成绩。 3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。 二、实验要求 1.修改算法。将奇偶排序算法升序改为降序。(15分) 2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)) 3.编译、链接以上算法,按要求写出实验报告(25)。 4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。 5.用A4纸打印输出实验报告。 三、实验报告说明 实验数据可自定义,每种排序算法数据要求均不重复。 (1) 实验题目:《N门课程学生成绩名次排序算法实现》; (2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性; (3) 实验要求:对算法进行上机编译、链接、运行; (4) 实验环境(Windows XP-sp3,Visual c++); (5) 实验算法(给出四种排序算法修改后的全部清单); (6) 实验结果(四种排序算法模拟运行后的实验结果); (7) 实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法) Score.c #include "stdio.h" #include "string.h" #define M 6 #define N 3 struct student { char name[10]; int number; int score[N+1]; /*score[N]为总分,score[0]-score[2]为学科成绩*/ }stu[M]; void changesort(struct student a[],int n,int j) {int flag=1,i; struct student temp; while(flag) { flag=0; for(i=1;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1; } for(i=0;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1;

相关主题
文本预览
相关文档 最新文档