搜档网
当前位置:搜档网 › 北航计算机软件技术基础实验报告1——线性表的插入与删除资料

北航计算机软件技术基础实验报告1——线性表的插入与删除资料

北航计算机软件技术基础实验报告1——线性表的插入与删除资料
北航计算机软件技术基础实验报告1——线性表的插入与删除资料

实验报告

实验名称线性表的插入与删除

班级

学号

姓名

成绩

【实验过程】(实验步骤、记录、数据、分析)

实验一:

源代码:

/*

实验1:产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中。*/

#include

#include

#include

int main()

{

long m = 65536, y = 0;

int x, i;

//定义一个文件类型的指针

FILE *fp;

//用fopen函数新建一个文件,失败则返回0

if ((fp = fopen("D:\\data.txt", "w")) == NULL)

{

fprintf(stderr, "Error opening file.");

exit(0);

}

printf("The data has been output to D:\\data.txt!\n");

printf("All data is as follows!\n\n");

//递归创造1000个0~999之间的随机数

for (i = 0; i<1000; i++)

{

y = (2053 * y + 13849) % m;

x = (int)(1000 * y / m);

fprintf(fp, "%d\n", x);

printf("%d:%d\t", i + 1, x);

}

//关闭文件

fclose(fp);

exit(1);

}

运行结果:

实验二、实验三:

源代码:

/*

实验2:编制一个程序,依次实现以下功能:

1.定义一个有序非递减线性表,其最大容量为1000,初始时为空。

2.从由1产生的数据文件中依次取前N个随机整数陆续插入到此线性表中,

并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。

3.在由2产生的线性表中,依在1中产生的次序逐个将元素删除直至

表空为止。

实验3:以N=100及N=400分别运行2的程序,并比较它们的运行时间。

*/

#include

#include

#include

#define N 1000

void main()

{

//新建时钟变量,得到程序从开始运行到某时刻经过的时钟周期数

clock_t start, finish;

FILE *fp;

int a[1000];

int i, j, n, temp;

double duration;

//Part 1:创建一个有序线性表

start = clock();

if ((fp = fopen("D:\\data.txt", "r")) == NULL)

{

fprintf(stderr, "Error opening file.");

exit(0);

}

//判断插入顺序是否合理

else if (n = N>1000)

{

printf("Data overflow!Please try again!");

exit(0);

}

//比较插入元素与有序表中元素位置并插入

else for (n = 0; n

{

fscanf(fp, "%d", &temp);

if (n == 0)

a[0] = temp;

//将比a[i]大的数向后移动一格,将a[i]放入线性表

else

{

for (i = n; (i>0) && (a[i - 1]>temp); i--)

a[i] = a[i - 1];

a[i] = temp;

}

}

for (i = 0; i

printf("%d\t", a[i]);

fclose(fp);

finish = clock();

//计算程序运行时间

duration = (double)(finish - start) / CLOCKS_PER_SEC;

printf("\n\n");

printf("A sorted linear list has been created!\n");

printf("The length of it is %d.\n", n);

printf("Time taken:%fs\n\n", duration);

//Part 2:按创建顺序删除线性表

start = clock();

if ((fp = fopen("D:\\data.txt", "r")) == NULL)

{

fprintf(stderr, "Error opening file.");

exit(0);

}

//判断删除位置是否合理

if (n == 0)

{

printf("Data underflow!Please try again!");

exit(0);

}

//在线性表中利用顺序查找法找到元素位置

else for (; n>0; n--)

{

fscanf(fp, "%d", &temp);

for (i = 0; i

if (i >= n)

printf("This element CANNOT be found!");

//若要删除元素不是位于顺序表最后一位,则将后面的元素前移一位;若位于最后一位,直接令n--即可,不必再移动

else if (i

for (j = i; j

a[j] = a[j + 1];

else;

}

//打印清空后的顺序表

实验二:

(此图将原程序中for (; n>0; n--)改成了for (; n>20; n--),即删除至剩20个数据的线性表,目的为验证删除一些元素后线性表仍保持有序)

实验三:

1.N=100

t1=0.005000s t2=0.001000s 2.N=400

t1=0.049000s t2=0.001000s 实验四:

源代码:

实验4:编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表

,不改变原随机数在存储空间中的顺序。

*/

#include

#include

#define N 1000

int main()

{

FILE *fp;

int a[N][2];

int H, i, k, x;

if ((fp = fopen("D:\\data.txt", "r")) == NULL)

{

fprintf(stderr, "Error opening file.");

exit(0);

}

//定义头节点位置

H = 0;

fscanf(fp, "%d", &x);

a[0][0] = x;

//定义链表结束标志

a[0][1] = -1;

//逐一插入元素并与原链表内元素比较以确定位置

for (k = 1; k

{

fscanf(fp, "%d", &x);

a[k][0] = x;

//在链表头结点插入元素

if (a[k][0]

{

a[k][1] = H;

H = k;

}

//在链表某一位置插入一个元素

else

{

i = H;

while ((a[i][1] != -1) && (a[a[i][1]][0]

i = a[i][1];

a[k][1] = a[i][1];

a[i][1] = k;

}

printf("A linked list containing %d numbers has been

created!\n", N);

printf("Its head pointer is %d,its value is %d.\n", H, a[H][0]);

printf("The data is as follows.\n\n");

i = H;

//按大小顺序打印链表

do

{

printf("%d\t", a[i][0]);

i = a[i][1];

} while (a[i][1] != -1);

exit(1);

}

运行结果:

【结论】(结果)

1.实验1中利用函数递归的方法得到随机数的方法是可行的,要得到(0,a)之间的随机数只需加x i=INT(a*y i/m)语句即可。

2.实验2中利用插入排序法可以成功将一组无序数据按从小到大顺序排好并放入线性表中,利用顺序查找法可以成功找到、删除任意元素。第四个结果图说明删除一些元素后线性表顺序保持不变

3. 实验3中N=100时插入时间t1=0.005000s,清空时间t2=0.001000s;N=400时插

入时间t1=0.049000s,清空时间t2=0.001000s。

当表中已经有n个数时,再插入一个数时,若比较i次,则需要移动i次(1<= i <=n)。假设他们的概率相等,则平均需要比较 (n+1) / 2次,移动 (n+1) / 2次。即顺序表中已经有n个数的时候,再进行插入排序运算的算法复杂度为

O(n)。那么假设题目要求一共读取N个数,则程序平均要执行(N+1)*N/2,即算法的时间复杂度为O(n^2)。同理,删除这N个数的算法的时间复杂度也为

O(n^2)。在此程序中N=400时插入时间约为N=100时的10倍,基本符合,误差是由于运行时电脑环境及计时误差引起的

4.实验4中用二维数组模拟静态链表成功实现了数据的插入及排序功能

【小结】

在完成这份实验报告后,感慨良多。

北航电子电路设计数字部分实验报告

电子电路设计数字部分实验报告 学院: 姓名:

实验一简单组合逻辑设计 实验内容 描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出结果1,否则给出结果0。 实验仿真结果 实验代码 主程序 module compare(equal,a,b); input[7:0] a,b; output equal; assign equal=(a>b)1:0; endmodule 测试程序

module t; reg[7:0] a,b; reg clock,k; wire equal; initial begin a=0; b=0; clock=0; k=0; end always #50 clock = ~clock; always @ (posedge clock) begin a[0]={$random}%2; a[1]={$random}%2; a[2]={$random}%2; a[3]={$random}%2; a[4]={$random}%2; a[5]={$random}%2; a[6]={$random}%2; a[7]={$random}%2; b[0]={$random}%2; b[1]={$random}%2; b[2]={$random}%2; b[3]={$random}%2; b[4]={$random}%2;

b[5]={$random}%2; b[6]={$random}%2; b[7]={$random}%2; end initial begin #100000 $stop;end compare m(.equal(equal),.a(a),.b(b)); endmodule 实验二简单分频时序逻辑电路的设计 实验内容 用always块和@(posedge clk)或@(negedge clk)的结构表述一个1/2分频器的可综合模型,观察时序仿真结果。 实验仿真结果

重庆邮电大学-软件技术基础--实验报告(耿道渠)

《软件技术基础》实验报告 实验名称:顺序表的操作 班级学号姓名 第9 周星期 2 、5,6 节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 三、实验结果:

四、实验中遇到的问题及解决方法: 第一次编写C++,感觉力不从心,回去多看看PPT。

五、实验心得体会: 对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习 附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。) #include #include #include #include #define MAXSIZE 20 using namespace std; int num; typedef struct { string student_number; string name; string tel; string home_phone; int id; } TEL; void shuaxin(TEL *); void delet(TEL *);

微波技术基础实验指导书讲解

微波技术基础实验报告 所在学院: 专业班级: 学生姓名: 学生学号: 指导教师: 2016年5月13日

实验一微波测量系统的了解与使用 实验性质:验证性实验级别:必做 开课单位:学时:2学时 一、实验目的: 1.了解微波测量线系统的组成,认识各种微波器件。 2.学会测量设备的使用。 二、实验器材: 1.3厘米固态信号源 2.隔离器 3.可变衰减器 4.测量线 5.选频放大器 6.各种微波器件 三、实验内容: 1.了解微波测试系统 2.学习使用测量线 四、基本原理: 图1。1 微波测试系统组成 1.信号源 信号源是为电子测量提供符合一定技术要求的电信号的设备,微波信号源是对各种相应测量设备或其它电子设备提供微波信号。常用微波信号源可分为:简易信号发生器、功率信号发生器、标准信号发生器和扫频信号发生器。 本实验采用DH1121A型3cm固态信号源。 2.选频放大器

当信号源加有1000Hz左右的方波调幅时,用得最多的检波放大指示方案是“选频放大器”法。它是将检波输出的方波经选频放大器选出1000Hz基波进行高倍数放大,然后再整为直流,用直流电表指示。它具有极高的灵敏度和极低的噪声电平。表头一般具有等刻度及分贝刻度。要求有良好的接地和屏蔽。选频放大器也叫测量放大器。 3.测量线 3厘米波导测量线由开槽波导、不调谐探头和滑架组成。开槽波导中的场由不调谐探头取样,探头的移动靠滑架上的传动装置,探头的输出送到显示装置,就可以显示沿波导轴线的电磁场的变化信息。 4.可变衰减器 为了固定传输系统内传输功率的功率电平,传输系统内必须接入衰减器,对微波产生一定的衰减,衰减量固定不变的称为固定衰减器,可在一定范围内调节的称为可变衰减器。衰减器有吸收衰减器、截止衰减器和极化衰减器三种型式。实验中采用的吸收式衰减器,是利用置入其中的吸收片所引起的通过波的损耗而得到衰减的。一般可调吸收式衰减器的衰减量可在0到30-50分贝之间连续调节,其相应的衰减量可在调节机构的度盘上读出(直读式),或者从所附的校正曲线上查得。 五、实验步骤: 1.了解微波测试系统 1.1观看如图装置的的微波测试系统。 1.2观看常用微波元件的形状、结构,并了解其作用、主要性能及使用方法。常用元件如:铁氧体隔离器、衰减器、直读式频率计、定向耦合器、晶体检波架、全匹配负载、波导同轴转换器等。2.了解测量线结构,掌握各部分功能及使用方法。 2.1按图检查本实验仪器及装置。 2.2将微波衰减器置于衰减量较大的位置(约20至30dB),指示器灵敏度置于较低位置,以防止指示电表偶然过载而损坏。 2.3调节信号源频率,观察指示器的变化。 2.4调节衰减器,观察指示器的变化。 2.5调节滑动架,观察指示器的变化。 六、预习与思考: 总体复习微波系统的知识,熟悉各种微波元器件的构造及原理特点。 实验二驻波系数的测量

北航电子电路设计训练模拟分实验报告

北航电子电路设计训练模拟部分实验报告

————————————————————————————————作者:————————————————————————————————日期:

电子电路设计训练模拟部分实验 实验报告

实验一:共射放大器分析与设计 1.目的: (1)进一步了解Multisim的各项功能,熟练掌握其使用方法,为后续课程打好基础。 (2)通过使用Multisim来仿真电路,测试如图1所示的单管共射放大电路的静态工作点、电压放大倍数、输入电阻和输出电阻,并观察 静态工作点的变化对输出波形的影响。 (3)加深对放大电路工作原理的理解和参数变化对输出波形的影响。 (4)观察失真现象,了解其产生的原因。 图 1 实验一电路图 2.步骤: (1)请对该电路进行直流工作点分析,进而判断管子的工作状态。 (2)请利用软件提供的各种测量仪表测出该电路的输入电阻。 (3)请利用软件提供的各种测量仪表测出该电路的输出电阻。 (4)请利用软件提供的各种测量仪表测出该电路的幅频、相频特性曲线。 (5)请利用交流分析功能给出该电路的幅频、相频特性曲线。 (6)请分别在30Hz、1KHz、100KHz、4MHz和100MHz这5个频点利用示波器测出输入和输出的关系,并仔细观察放大倍数和相位差。 (提示:在上述实验步骤中,建议使用普通的2N2222A三极管,并请注 意信号源幅度和频率的选取,否则将得不到正确的结果。) 3.实验结果及分析: (1)根据直流工作点分析的结果,说明该电路的工作状态。 由simulate->analyses->DC operating point,可测得该电路的静态工作点为:

重庆大学移动通信系统实验报告

ADS系统级仿真 ——发射机、零中频接收机与外差式接收机 课程名称:移动通信系统 院系:通信工程学院 专业:通信01班 年级: 2013级 姓名:叶汉霆 学号: 指导教师:李明玉 实验时间: 重庆大学

一、实验目的: 1. 熟悉ADS软件的使用、能用该软件进行原理图设计和原理图仿真。 2. 了解发射机、接收机的结构及工作原理; 3. 掌握利用ADS中行为级模块进行系统级仿真的方法,使用如滤波器、放大器、混频器等行为级的功能模块搭建收发信机系统。 4.运用S参数仿真、交流仿真、谐波平衡仿真、瞬态响应仿真等仿真器对收发信机系统的各种性能参数进行模拟检测。 二、实验原理: 1.接收机 接收机将通过信道传播的信号进行接收,提取出有用信号。接收机一般具有接收灵敏度、选择性、交调抑制、噪声系数等性能参数。 接收机的实现架构可分为:超外差、零中频和数字中频等。 接收机各部分的作用和要求如下: ①射频滤波器1(FP Filter1) 选择信号频段、限制输入信号带宽、减小互调失真。 抑制杂散信号,避免杂散响应。 减少本振泄漏,在频分系统中作为频域相关器。 ②低噪声放大器(LNA) 在不使接收机线性度恶化的前提下提供一定的增益。 抑制后续电路的噪声,降低系统的噪声系数。 ③射频滤波器2(FP Filter2) 抑制由低噪声放大器放大或产生的镜频干扰。 进一步抑制其他杂散信号。 减少本振泄漏。 ④混频器(Mixer) 将射频信号下变频为中频信号。 是接收机中输入射频信号最强的模块,其线性度极为重要,同时要求较低 的噪声系数。 ⑤本振滤波器(Injection Filter) 滤除来自本振的杂散信号。

完整版模拟电子电路实验报告

. 实验一晶体管共射极单管放大器 一、实验目的 1、学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2、掌握放大器电压放大倍数、输入电阻、输出电阻及最大不失真输出电压的测试方法。 3、熟悉常用电子仪器及模拟电路实验设备的使用。 二、实验原理 图2-1为电阻分压式工作点稳定单管放大器实验电路图。它的偏置电路采用R 和R组成的分压电路,并在发射极中接有电阻R,以稳定放大器的静态工EB1B2作点。当在放大器的输入端加入输入信号u后,在放大器的输出端便可得到一i个与u相位相反,幅值被放大了的输出信号u,从而实现了电压放大。0i 图2-1 共射极单管放大器实验电路 在图2-1电路中,当流过偏置电阻R和R 的电流远大于晶体管T 的 B2B1基极电流I时(一般5~10倍),则它的静态工作点可用下式估算B教育资料.. R B1U?U CCB R?R B2B1 U?U BEB I??I EC R E

)R+R=UU-I(ECCCCEC电压放大倍数 RR // LCβA??V r be输入电阻 r R/// R=R/beiB1 B2 输出电阻 R R≈CO由于电子器件性能的分散性比较大,因此在设计和制作晶 体管放大电路时, 为电路设计提供必离不开测量和调试技术。在设计前应测量所用元器件的参数,还必须测量和调试放大器的静态工作点和各要的依据,在完成设计和装配以后,因此,一个优质放大器,必定是理论设计与实验调整相结合的产物。项性能指标。除了学习放大器的理论知识和设计方法外,还必须掌握必要的测量和调试技术。消除干扰放大器静态工作点的测量与调试,放大器的测量和调试一般包括:与自激振荡及放大器各项动态参数的测量与调试等。、放大器静态工作点的测量 与调试 1 静态工作点的测量1) 即将放大的情况下进行,=u 测量放大器的静态工作点,应在输入信号0 i教育资料. . 器输入端与地端短接,然后选用量程合适的直流毫安表和直流电压表,分别测量晶体管的集电极电流I以及各电极对地的电位U、U和U。一般实验中,为了避 ECCB免断开集电极,所以采用测量电压U或U,然后算出I的方法,例如,只要 测CEC出U,即可用E UU?U CECC??II?I,由U确定I(也可根据I),算出CCC CEC RR CE同时也能算出U=U-U,U=U-U。EBEECBCE为了减小误差,提高测量精度,应选用内阻较高的直流电压表。 2) 静态工作点的调试 放大器静态工作点的调试是指对管子集电极电流I(或U)的调整与测试。 CEC静态工作点是否合适,对放大器的性能和输出波形都有很大影响。如工作点偏高,放大器在加入交流信号以后易产生饱和失真,此时u的负半周将被削底,O 如图2-2(a)所示;如工作点偏低则易产生截止失真,即u的正半周被缩顶(一 O般截止失真不如饱和失真明显),如图2-2(b)所示。这些情况都不符合不失真放大的要求。所以在选定工作点以后还必须进行动态调试,即在放大器的输入端 加入一定的输入电压u,检查输出电压u的大小和波形是否满足要求。如不满Oi

电子科技大学软件技术基础实验报告4

电子科技大学通信与信息工程学院标准实验报告 (实验)课程名称软件技术基础实验 电子科技大学教务处制表

电子科技大学 实验报告 一、实验室名称:校公共机房 二、实验项目名称:二叉树和哈夫曼树 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握二叉树的建立、插入删除,遍历等方法和过程,掌握递归函数在二叉树建立,遍历中的应用,掌握哈夫曼树的最小路径和建立过程。 五、实验目的: 1.熟练二叉树和哈夫曼树的概念和基本操作方法。 2.掌握课程平台使用方法。 六、实验内容: 上机完成所有函数,编程实验,调试运行程序并完成报告。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。 软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 下面建立该二叉树并展示输出结果: #include #include typedef struct bnode

{ 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)

《现代通信技术》实验报告一

《现代通信技术》实验报告一

现代通信之我见 一、通信的基本含义 “通信”二字在通信原理课本上的定义是——互通信息,简短却又蕴含了很深的含义。我自己对通信的理解:“互”字即互相,即通信是双方的通信;“通”字即建立了通道,处于连通的状态,信息能够在通道里传递;而“信息”则就有广泛的含义了,是通信传递的内容,人们通过获取信息来了解、认识事物。简单的“通信”二字蕴含了丰富的内容,让我们有深刻的思考。 二、现代通信的发展和技术 近现代的通信发展历史,大致可以分为两个阶段。第一阶段是电通信阶段,第二阶段是电子信息通信阶段。第一阶段包括莫尔斯发明电报机、贝尔发明电话,开启了电路交换的时代;第二阶段主要包括通信系统和通信网技术的快速发展,其主要应用的通信技术有移动通信技术、程控交换技术、传输技术、数据交换与数据网技术、接入网与接入技术。 现代通信网络采用分层的结构形式,其垂直描述,即为了实现端到端之间的业务通信,从功能上将网络分为业务与终端、交换与路由和接入与传送。“业务与终端”表示面向用户的各种通信业务与通信终端的类型和服务类型,“交换与路由”表示支持各种业务的提供手段与网络装备,“接入与传送”表示支持所接入业务的传送媒质和技术设施。每一层都有不同的支撑技术,表现出不同的功能与技术特征,使得通信技术与通信网络有机的融合。 在我们学习现代通信技术的过程中,老师一直要求我们从“大通信、大网络”的层面来学习思考,而不是单单注重某一门技术的研究。现代的网络时代,涌现出许许多多高端前沿的技术,如数字通信、程控交换、宽带IP等,如果将这些技术分别开设课程独立学习,则课程量很大,而且不利于我们对这个大网络的整体的关联性进行思考。在技术飞快的更新换代的今天,我们能做的就是尽快赶上信息的更新速度,从大的方面整体地观测信息时代的发展。

计算机软件技术基础实验报告Word版

计算机软件基础实验报告 姓名学号实验目的 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 int maxArray(int x ,int y); int minArray(int x ,int y); int main(void) { int i = 0 ; int array[8]={ 1,2,3,5,7,8,9,12} ; printf; do { scanf("%d",&array[i]); i++; } while(i < 8); int maxTemp = array[0]; int minTemp = array[0]; int maxIndex = 0; int minIndex = 0; for(i=1;i<8;i++)

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 #include #include #include #include typedef struct {unsigned int weight; //结点权值 unsigned int parent,lchild,rchild; //结点的父指针,左右孩子指针 }HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树 typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表 void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树 void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树

北航自动控制原理实验报告(完整版)

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 1、了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系 2、学习在电子模拟机上建立典型环节系统模型的方法 3、学习阶跃响应的测试方法 三、实验内容 1、建立一阶系统的电子模型,观测并记录在不同时间常数T时的响应曲线,测定过渡过程时间T s 2、建立二阶系统电子模型,观测并记录不同阻尼比的响应曲线,并测定超调量及过渡过程时间T s 四、实验原理及实验数据 一阶系统 系统传递函数: 由电路图可得,取则K=1,T分别取:0.25, 0.5, 1 T 0.25 0.50 1.00 R2 0.25MΩ0.5M Ω1MΩ C 1μ1μ1μ T S 实测0.7930 1.5160 3.1050 T S 理论0.7473 1.4962 2.9927 阶跃响应曲线图1.1 图1.2 图1.3 误差计算与分析 (1)当T=0.25时,误差==6.12%; (2)当T=0.5时,误差==1.32%; (3)当T=1时,误差==3.58% 误差分析:由于T决定响应参数,而,在实验中R、C的取值上可能存在一定误差,另外,导线的连接上也存在一些误差以及干扰,使实验结果与理论值之间存在一定误差。但是本实验误差在较小范围内,响应曲线也反映了预期要求,所以本实验基本得到了预期结果。 实验结果说明 由本实验结果可看出,一阶系统阶跃响应是单调上升的指数曲线,特征有T确定,T越小,过度过程进行得越快,系统的快速性越好。 二阶系统 图1.1 图1.2 图1.3

系统传递函数: 令 二阶系统模拟线路 0.25 0.50 1.00 R4 210.5 C2 111 实测45.8% 16.9% 0.6% 理论44.5% 16.3% 0% T S实测13.9860 5.4895 4.8480 T S理论14.0065 5.3066 4.8243 阶跃响应曲线图2.1 图2.2 图2.3 注:T s理论根据matlab命令[os,ts,tr]=stepspecs(time,output,output(end),5)得出,否则误差较大。 误差计算及分析 1)当ξ=0.25时,超调量的相对误差= 调节时间的相对误差= 2)当ξ=0.5时,超调量的相对误差==3.7% 调节时间的相对误差==3.4% 4)当ξ=1时,超调量的绝对误差= 调节时间的相对误差==3.46% 误差分析:由于本试验中,用的参量比较多,有R1,R2,R3,R4;C1,C2;在它们的取值的实际调节中不免出现一些误差,误差再累加,导致最终结果出现了比较大的误差,另外,此实验用的导线要多一点,干扰和导线的传到误差也给实验结果造成了一定误差。但是在观察响应曲线方面,这些误差并不影响,这些曲线仍旧体现了它们本身应具有的特点,通过比较它们完全能够了解阶跃响应及其性能指标与系统参数之间的关系,不影响预期的效果。 实验结果说明 由本实验可以看出,当ωn一定时,超调量随着ξ的增加而减小,直到ξ达到某个值时没有了超调;而调节时间随ξ的增大,先减小,直到ξ达到某个值后又增大了。 经理论计算可知,当ξ=0.707时,调节时间最短,而此时的超调量也小于5%,此时的ξ为最佳阻尼比。此实验的ξ分布在0.707两侧,体现了超调量和调节时间随ξ的变化而变化的过程,达到了预期的效果。 图2.2 图2.1 图2.3

《现代通信技术》实验报告一

现代通信之我见 一、通信的基本含义 “通信”二字在通信原理课本上的定义是——互通信息,简短却又蕴含了很深的含义。我自己对通信的理解:“互”字即互相,即通信是双方的通信;“通”字即建立了通道,处于连通的状态,信息能够在通道里传递;而“信息”则就有广泛的含义了,是通信传递的内容,人们通过获取信息来了解、认识事物。简单的“通信”二字蕴含了丰富的内容,让我们有深刻的思考。 二、现代通信的发展和技术 近现代的通信发展历史,大致可以分为两个阶段。第一阶段是电通信阶段,第二阶段是电子信息通信阶段。第一阶段包括莫尔斯发明电报机、贝尔发明电话,开启了电路交换的时代;第二阶段主要包括通信系统和通信网技术的快速发展,其主要应用的通信技术有移动通信技术、程控交换技术、传输技术、数据交换与数据网技术、接入网与接入技术。 现代通信网络采用分层的结构形式,其垂直描述,即为了实现端到端之间的业务通信,从功能上将网络分为业务与终端、交换与路由和接入与传送。“业务与终端”表示面向用户的各种通信业务与通信终端的类型和服务类型,“交换与路由”表示支持各种业务的提供手段与网络装备,“接入与传送”表示支持所接入业务的传送媒质和技术设施。每一层都有不同的支撑技术,表现出不同的功能与技术特征,使得通信技术与通信网络有机的融合。 在我们学习现代通信技术的过程中,老师一直要求我们从“大通信、大网络”的层面来学习思考,而不是单单注重某一门技术的研究。现代的网络时代,涌现出许许多多高端前沿的技术,如数字通信、程控交换、宽带IP等,如果将这些技术分别开设课程独立学习,则课程量很大,而且不利于我们对这个大网络的整体的关联性进行思考。在技术飞快的更新换代的今天,我们能做的就是尽快赶上信息的更新速度,从大的方面整体地观测信息时代的发展。

电子电路综合实验报告

电子电路实验3 综合设计总结报告题目:波形发生器 班级:20110513 学号:2011051316 姓名:仲云龙 成绩: 日期:2014.3.31-2014.4.4

一、摘要 波形发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。波形发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波、三角波、方波等,因而广泛用于通信、雷达、导航等领域。 二、设计任务 2.1 设计选题 选题七波形发生器 2.2 设计任务要求 (1)同时四通道输出,每通道输出矩形波、锯齿波、正弦波Ⅰ、正弦波Ⅱ中的一种波形,每通道输出的负载电阻均为1K欧姆。 (2)四种波形的频率关系为1:1:1:3(三次谐波),矩形波、锯齿波、正弦波Ⅰ输出频率范围为8 kHz—10kHz,正弦波Ⅱ输出频率范围为24 kHz—30kHz;矩形波和锯齿波输出电压幅度峰峰值为1V,正弦波Ⅰ、Ⅱ输出幅度为峰峰值2V。(3)频率误差不大于5%,矩形波,锯齿波,正弦波Ⅰ通带内输出电压幅度峰峰值误差不大于5%,正弦波Ⅱ通带内输出电压幅度峰峰值误差不大于10%,矩形波占空比在0~1范围内可调。 (4)电源只能选用+9V单电源,由稳压电源供给,不得使用额外电源。

三、方案论证 1.利用555多谐振荡器6管脚产生8kHz三角波,3管脚Vpp为1V的8kHz的方波。 2.三角波通过滞回比较器和衰减网络产生8kHzVpp为1V的方波。 3.方波通过反向积分电路产生8kHzVpp为1V的三角波。 4.方波通过二阶低通滤波器产生8kHz低通正弦波。 5.方波通过带通滤波器产生中心频率为27kHz的正弦波。 系统方框图见图1 图1 系统方框图 此方案可以满足本选题技术指标,分五个模块实现产生所需的波形,而且电路模块清晰,容易调试,电路结构简单容易实现。

软件技术基础实验报告

《计算机软件技术基础》实验报告 专业_____________ 年级_____________ 学号_____________ 学生姓名_____________ 指导老师_____________ 南华大学计算机学院编

【实验报告】

I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 必做: 1.一个线性表有n个元素(n

FPGA实验报告北航电气技术实验

FPGA电气技术实践 实验报告 院(系)名称宇航学院 专业名称飞行器设计与工程(航天)学生学号XXXXXXXX 学生姓名XXXXXX 指导教师XXXX 2017年11月XX日

实验一四位二进制加法计数器与一位半加器的设计实验时间:2017.11.08(周三)晚实验编号20 一、实验目的 1、熟悉QuartusII的VHDL的文本编程及图形编程流程全过程。 2、掌握简单逻辑电路的设计方法与功能仿真技巧。 3、学习并掌握VHDL语言、语法规则。 4、参照指导书实例实现四位二进制加法计数器及一位半加器的设计。 二、实验原理 .略 三、实验设备 1可编程逻辑实验箱EP3C55F484C8 一台(包含若干LED指示灯,拨码开关等)2计算机及开发软件QuartusII 一台套 四、调试步骤 1四位二进制加法计数器 (1)参照指导书实例1进行工程建立与命名。 (2)VHDL源文件编辑 由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原参考程序改写为减法器,且”q1<= q1+1”对应改为”q1<= q1-1”,以实现每输入一个脉冲“亮为1,灭为0”。 由于参考程序中的rst清零输入作用并未实现,所以应将程序主体部分的最外部嵌套关于rst输入是否为1的判断,且当rst为1时,给四位指示灯置数”1111”实现全灭,当rst为0时,运行原计数部分。 (3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件 (4)将文件下载至实验箱运行,观察计数器工作现象,调试拨动开关查看是否清零。 可以通过改变与PIN_P20(工程中绑定为clk输入的I/O接口)相连导线的另一端所选择的实验箱频率时钟的输出口位置,改变LED灯显示变化频率。 并且对照指导书上对实验箱自带时钟频率的介绍,可以通过改变导线接口转换输入快慢,排查由于clk输入管脚损坏而可能引起的故障。

微波技术基础 简答题整理

第一章传输线理论 1-1.什么叫传输线?何谓长线和短线? 一般来讲,凡是能够导引电磁波沿一定方向传输的导体、介质或由它们共同体组成的导波系统,均可成为传输线;长线是指传输线的几何长度l远大于所传输的电磁波的波长或与λ可相比拟,反之为短线。(界限可认为是l/λ>=0.05) 1-2.从传输线传输波形来分类,传输线可分为哪几类?从损耗特性方面考虑,又可以分为哪几类? 按传输波形分类: (1)TEM(横电磁)波传输线 例如双导线、同轴线、带状线、微带线;共同特征:双导体传输系统; (2)TE(横电)波和TM(横磁)波传输线 例如矩形金属波导、圆形金属波导;共同特点:单导体传输系统; (3)表面波传输线 例如介质波导、介质镜像线;共同特征:传输波形属于混合波形(TE波和TM 波的叠加) 按损耗特性分类: (1)分米波或米波传输线(双导线、同轴线) (2)厘米波或分米波传输线(空心金属波导管、带状线、微带线) (3)毫米波或亚毫米波传输线(空心金属波导管、介质波导、介质镜像线、微带线) (4)光频波段传输线(介质光波导、光纤) 1-3.什么是传输线的特性阻抗,它和哪些因素有关?阻抗匹配的物理实质是什么? 传输线的特性阻抗是传输线处于行波传输状态时,同一点的电压电流比。其数值只和传输线的结构,材料和电磁波频率有关。 阻抗匹配时终端负载吸收全部入射功率,而不产生反射波。 1-4.理想均匀无耗传输线的工作状态有哪些?他们各自的特点是什么?在什么情况的终端负载下得到这些工作状态?

(1)行波状态: 0Z Z L =,负载阻抗等于特性阻抗(即阻抗匹配)或者传输线无限长。 终端负载吸收全部的入射功率而不产生反射波。在传输线上波的传播过程中,只存在相位的变化而没有幅度的变化。 (2)驻波状态: 终端开路,或短路,或终端接纯抗性负载。 电压,电流在时间,空间分布上相差π/2,传输线上无能量传输,只是发生能量交换。传输线传输的入射波在终端产生全反射,负载不吸收能量,传输线沿线各点传输功率为0.此时线上的入射波与反射波相叠加,形成驻波状态。 (3)行驻波状态: 终端负载为复数或实数阻抗(L L L X R Z ±=或L L R Z =)。 信号源传输的能量,一部分被负载吸收,一部分反射回去。反射波功率小于入射波功率。 1-5.何谓分布参数电路?何谓集总参数电路? 集总参数电路由集总参数元件组成,连接元件的导线没有分布参数效应,导线沿线电压、电流的大小与相位,与空间位置无关。分布参数电路中,沿传输线电压、电流的大小与相位随空间位置变化,传输线存在分布参数效应。 1-6.微波传输系统的阻抗匹配分为两种:共轭匹配和无反射匹配,阻抗匹配的方法中最基本的是采用λ/4阻抗匹配器和支节匹配器作为匹配网络。 1-7.传输线某参考面的输入阻抗定义为该参考面的总电压和总电流的比值;传输线的特征阻抗等于入射电压和入射电流的比值;传输线的波阻抗定义为传输线内横向电场和横向磁场的比值。 1-8.传输线上存在驻波时,传输线上相邻的电压最大位置和电压最小位置的距离相差λ/4,在这些位置输入阻抗共同的特点是纯电阻。 第二章 微波传输线 2-1.什么叫模式或波形?有哪几种模式?

《计算机应用基础》实验报告本1

(封面) 上海建桥学院《计算机应用基础》 实验报告本 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。

北航17系光电子实验报告实验5讲解

光电子技术实验报告

实验五光电池特性实验 一.实验目的: 1.学习掌握硅光电池的工作原理。 2.学习掌握硅光电池的基本特性。 3.掌握硅光电池基本特性测试方法。 二.实验原理: 光电池是一种不需要加偏置电压就能把光能直接转换成电能的PN结光电器件,按光电池的功用可将其分为两大类:即太阳能光电池和测量光电池,本仪器用的是测量用的硅光电池,其主要功能是作为光电探测,即在不加偏置的情况下将光信号转换成电信号。 图(20)图(21)如图(20)所示为2DR型硅光电池的结构,它是以P型硅为衬底(即在本征型硅材料中掺入三价元素硼或镓等),然后在衬底上扩散磷而形成N型层并将其作为受光面。如图(21)所示当光作用于PN结时,耗尽区内的光生电子与空穴在内建电场力的作用下分别向N区和P区运动,在闭合电路中将产生输出电流IL,且负载电阻RL上产生电压降为U。显然,PN结获得的偏置电压U与光电池输出电流IL与负载电阻RL有关,即U=IL?RL,当以输出电流的IL为电流和电压的正方向时,可以得到如图(22)所示的伏安特性曲线。

图(22)图(23)光电池在不同的光强照射下可以产生不同的光电流和光生电动势,硅光电池的光照特性曲线如图(23)所示,短路电流在很大范围内与光强成线性关系,开路电压随光强变化是非线性的,并且当照度在2000lx时就趋于饱和,因此,把光电池作为测量元件时,应把它当作电流源来使用,不宜用作电压源。 硒光电池和硅光电池的光谱特性曲线如图(25)所示,不同的光电池其光谱峰值的位置不同,硅光电池的在800nm附近,硒光电池的在540nm附近,硅光电池的光谱范围很广,在450~1100nm之间,硒光电池的光谱范围为340~750nm。 图(24)图(25)光电池的温度特性主要描述光电池的开路电压和短路电流随温度变化的情况,由于它关系到应用光电池设备的温度漂移,影响到测量精度或控制精度等主要指标,光电池的温度特性如图(24)所示。开路电压随温度升高而下降的速度较快,而短路电流随温度升高而缓慢增加,因此,当使用光电池作为测量元件时,在系统设计中应考虑到温度的漂移,并采取相应的措施进行补偿。 三.实验所需部件: 两种光电池、各类光源、实验选配单元、数字电压表(4 1/2位)自备、微安表(毫安表)、激光器、照度计(用户选配)。

北航电力电子实验报告

电力电子实验报告 学号12031006 王天然

实验一功率场效应晶体管(MOSFET)特性 与驱动电路研究 一.实验目的: 1.熟悉MOSFET主要参数的测量方法 2.掌握MOSEET对驱动电路的要求 3.掌握一个实用驱动电路的工作原理与调试方法 二.实验设备和仪器 1.NMCL-07电力电子实验箱中的MOSFET与PWM波形发生器部分 2.双踪示波器 3.安培表(实验箱自带)

4.电压表(使用万用表的直流电压档) 三.实验方法 1.MOSFET 主要参数测试 (1)开启阀值电压V GS(th)测试 开启阀值电压简称开启电压,是指器件流过一定量的漏极电流时(通常取漏极电流I D =1mA)的最小栅源极电压。 在主回路的“1”端与MOS 管的“25”端之间串入毫安表(箱上自带的数字安培表表头),测量漏极电流I D ,将主回路的“3”与“4”端分别与MOS 管的“24”与“23”相连,再在“24”与“23”端间接入电压表, 测量MOS 管的栅源电压Vgs ,并将主回路电位器RP 左旋到底,使Vgs=0。 图2-2 MOSFET实验电路

将电位器RP逐渐向右旋转,边旋转边监视毫安表的读数,当漏 极电流I D=1mA时的栅源电压值即为开启阀值电压V GS(th)。 读取6—7组I D、Vgs,其中I D=1mA必测,填入下表中。 I D 0.2 0.5 1 5 100 200 500 (mA) Vgs 2.64 2.72 2.86 3.04 3.50 3.63 3.89 (V) (2)跨导g FS测试 双极型晶体管(GTR)通常用h FE(β)表示其增益,功率MOSFET 器件以跨导g FS表示其增益。 跨导的定义为漏极电流的小变化与相应的栅源电压小变化量之 比,即g FS=△I D/△V GS。 ★注意典型的跨导额定值是在1/2额定漏极电流和V DS=15V下测得,受条件限制,实验中只能测到1/5额定漏极电流值,因此重点是掌握跨导的测量及计算方法。 根据上一步得到的测量数值,计算gFS=0.0038Ω

相关主题