搜档网
当前位置:搜档网 › 北航计算机软件技术基础实验报告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个数据的线性表,目的为验证删除一些元素后线性表仍保持有序)

实验三:

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;

}

自动控制原理实验报告

第一章Matlab 基本运算 [范例1-2] 建立矩阵A={7 8 9},B={7 8 9} >> A=[7,8,9] A = 7 8 9 >> B=A' B = 7 8 9 (2) >> B=[1 1 2 ; 3 5 8 ; 10 12 15] B= 1 1 2 3 5 8 10 12 15 (3) >> a=1:1:10 a = 1 2 3 4 5 6 7 8 9 10 >> t=10:-1:1

t = 10 9 8 7 6 5 4 3 2 1 [范例1-3]求多项式D(S)=(5S^2+3)(S+1)(S-1)的展开式 >> D=conv([5 0 3],conv([1 1],[1 -2])) D = 5 -5 -7 -3 -6 [范例1-4]求多项式P(X)=2X^4-5X^3-X+9 (1) >> P=[2 -5 6 -1 9] P = 2 -5 6 -1 9 >> x=roots(P) x = 1.6024 + 1.2709i 1.6024 - 1.2709i -0.3524 + 0.9755i -0.3524 - 0.9755i 第二章控制系统的数学模型 [范例2-1]已知系统传递函数G(S)= s + 3/ s^3 + 2 s^2 + 2 s + 1 >> num=[0 1 3]; >> den=[1 2 2 1]; >> printsys(num,den) num/den = s + 3 --------------------- s^3 + 2 s^2 + 2 s + 1 [范例2-2]已知系统传递函数G(S)=【5*(S+2)^2(S^2+6S+7)】/S(S+1)^3(S^3+2S+1)],试

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

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

实验一简单组合逻辑设计 实验内容 描述一个可综合的数据比较器,比较数据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 *);

北航自动控制元件复习提纲

自控元件复习提纲 一、关于考试(从学长处获得信息,仅供大家参考): 1、简答:eg:1)、为什么空载实验可以测r m ,x m? 2)、变压器中是否必须有无功功率? 2、论述:eg:1)、变压器工作原理。 2)、电机基本特点。 论述时必要时要作图说明。如要论述两相伺服电机为何有无自转特性时应该作出单相工作时两相伺服电机的机械特性曲线来说明。 3、计算:两个计算,一个直流,一个交流。 二、各章重点内容概述(参考往届笔记): 第1章直流磁路及其计算 重点章节:1-1,1-2,1-3 磁路总是闭合的;磁路计算的正反两类任务;等效磁路的画法第2章直流电磁铁及其典型应用 重点章节:2-1,2-2,另外第三节中的继电器的主要技术指标大家也要注意第3章直流电机的一般问题 重点章节:3-1,3-2,3-4,3-5,3-6 发电机、电动机的识别,电角的概念,电枢反应的概念,直流电机的电枢电动 势和电磁转矩的计算方法,直流电机的电势平衡关系、转矩平衡关系、功率平 衡关系,电枢绕组的具体原理如果不明白大家不必深究,只要知道概念就可以, 这里不是重点。 PS:本章是比较重要的一章,计算题可能出在这一章。 第4章直流测速发电机和直流伺服电动机 重点章节:4-1,4-2 第三节要掌握直流力矩电动机的特点,知道其应用场合以 及为什么要用在这些场合。 准确理解直流伺服电动机的工作原理、四种工作状态,准确掌握直流测速发电 机和直流伺服电动机的工作原理及特性(输入、输出等) 第5章变压器 重点章节:5-2,5-3,5-4,5-5,5-6 空载电压平衡式和等效电路及相量图,负载运行的电压平衡式和磁动势平衡式 及相量图和等效电路P101的图5-12大家仔细看。参数、额定数据和特性。磁 场问题转化到电路问题。 第6章异步电动机 重点章节:6-1,6-3,6-4,6-5 转差率S,功率传递,相电动势,第三节可能考计算,注意一下习题中的最后 两道计算题6.12,6.15 另外,第六章和第五章联系很紧密,大家可以结合起来复习效果更好。 第7章两相电机 重点章节:7-1,7-2 分解磁场,无自转的分析,稳定运行范围大,第一节的第(四)部分其它大家 可以不用管。异步测速发电机的输出电压的特点,原理,频率与转速无关,只 与电源有关。 第8章同步电动机

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

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

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

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

实验一:共射放大器分析与设计 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,可测得该电路的静态工作点为:

北航计算机复试面试题

操作系统: 1.文件系统与数据库系统的区别,哪个效率更高,为什么。 2.进程上下文切换具体过程,就是什么实现的 3.BIOS的意思,程序的可移植性 4.、操作系统的基本概念 5.操作系统开机过程; 6.操作系统分哪些部分,进程管理包含什么内容; 7.操作系统我们所学的其她课程有什么关系,还就是操作系统就是个独立的课程 8.什么就是系统调用?它与库函数调用有什么区别? 计算机网络: 1.数据链路层就是干什么的 2.输入数据在网络层叫什么 3.分组的生命期,为什么要设置这个生命期 4.dns的工作过程 5.点击一个链接的网络过程; 6.网络模型,网络层协议有哪些,应用层协议有哪些 7.两台计算机中的进程进行通信,需要解决什么问题? 基础数学: 1.什么就是极限,什么就是趋近 2.极值的求法 3. 泰勒级数的展开式;为什么把一个简单的函数表示成那么麻烦的泰勒级数? 4.信息与数据的区别? 5.图形与图像有什么区别? 6.概率的全概率公式,高数的傅立叶级数,现代秩的概念 7.一枚硬币抛三次,至少一次正面的概率 8.什么就是图的同构 9.说一下数理逻辑的定义 10.矩阵的用途 11.线性相关与无关 12.离散数学包含那些部分; 13.集合的势,无限集合的大小比较,偏序,良序,全序,划分,欧拉图,Hamilton图 14.什么就是群 15.谓词逻辑与命题逻辑的区别 16.什么就是等价关系,什么就是子句,什么就是合取范式 17.什么就是二元关系 数据结构与算法: 1.什么就是二叉树 2.已知病毒特征码一百万个与文件一个,问用什么查找算法能尽快的检测出该文件就是否有病毒? 3.快排与插入排序那个更高效? 4.简单描述九宫格算法 5.学数据结构的意义; 6.离散数学的图论与数据结构图论的相同点与不同点 7.堆栈与堆的区别

电气工程专业考研专业课初试科目及复试内容汇总

《电气工程专业考研专业课初试科目及复试内容汇总》 自动化专业的考研方向 自动化专业方向很广,考的时候还分双控,模式,电力电机等等方面,你可以参看学校是否在这个方面有无国家重点实验室,是不是国家重点学科来比较。 1. 清华, 2.中科院, 3.上海交大, 4.浙大,5华工,北航,东南,东北大学,西安交大,哈 尔滨工业大学,中国科技大学,华北电力,天津大学,东南大学,华中科技,武汉大学天津大学自动化 一般说来,初试的分数是最重要的,特别是考外校。当然,你的动手能力也是很重要的,还有你的英语口语,考研复试都是要考虑的。例如上海交大的复试,双控353的复试线,有380的被刷下来,就是英语口语已经专业课不是很扎实的。考外校的话依据学校而定是否要找导师 动手能力强,参加电子设计大赛都是作为你考研复试的参考,还是好好的准备初试的考试吧,毕竟它是个门槛。 【电气工程及其自动化】 北京工业大学 421自动控制原理 复试:1、电子技术2、计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程综合或436检测技术综合 [系统] 431自动控制原理或451材料力学或841概率与数理统计 [模式] (自动化学院)433控制工程综合或436检测技术综合、(宇航学院)423信息类专业综合或431自动控制原理或461计算机专业综合 [导航] (自动化学院)432控制理论综合或433控制工程综合、(宇航学院)431自动控制原理 复试:无笔试。1) 外语口语与听力考核;2) 专业基础理论与知识考核;3) 大学阶段学习成绩、科研活动以及工作业绩考核;4) 综合素质与能力考核 北京化工大学 440电路原理 复试:综合1(含自动控制原理和过程控制系统及工程)、综合2(含自动检测技术装置和传感器原理及应用)、综合3(含信号与系统和数字信号处理) 注:数学可选择301数学一或666数学(单) 北京交通大学 [双控/检测]404控制理论 [模式]405通信系统原理或409数字信号处理 复试: [电子信息工程学院双控]常微分方程 [机械与电子控制工程学院检测]综合复试(单片机、自动控制原理) [计算机与信息技术学院模式] 信号与系统或操作系统

北航计软实验报告一

北航计软实验报告一

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

计算机软件基础上机实验报告(一) XXXXXX班XXX 1.实验目的 掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法。 2.实验内容 1.产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中。 2.编制一个程序,依次实现以下功能: (1)?定义一个有序(非递减)线性表,其最大容量为1000,初始时为空。 (2)?从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。 (3)?在由(2)产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。 3. 以N=100及N=400分别运行2的程序,并比较它们的运行时间。 4. 编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)。 3.源代码与运行结果 #include<stdio.h> #include<stdlib.h> #include /** 1_1 产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件(1_1.txt)中。 **/ main() { FILE *fo=fopen("1_1.txt","w"); int i,j; srand((unsigned)time(0)); for(i=0;i<=999;i++)fprintf(fo,"%d\n",rand()%1000); fclose(fo); printf("1000个随机数已输出至目录下1_1.txt文件\n");

北航自动控制原理实验报告- 一、二阶系统的电子模拟及时域响应的动态测试

成绩 北京航空航天大学 自动控制原理实验报告 学院机械工程及自动化学院 专业方向机械工程及自动化 班级 学号 学生姓名刘帆 自动控制与测试教学实验中心

实验一 一、二阶系统的电子模拟及时域响应的动态测试 实验时间2014年11月15日 实验编号 同组同学 一、实验目的 1、 了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系。 2、 学习在电子模拟机上建立典型环节系统模型的方法。 3、 学习阶跃响应的测试方法。 二、实验内容 1、 建立一阶系统的电子模型,观测并记录在不同时间常数T 时的跃响应曲线,并测定其过渡过程时间T s 。 2、 建立二阶系统的电子模型,观测并记录在不同阻尼比ζ时的跃响应曲线,并测定其超调量σ%及过渡过程时间T s 。 三、实验原理 1、一阶系统阶跃响应性能指标的测试 系统的传递函数为:()s ()1 C s K R s Ts φ=+()= 模拟运算电路如下图 : 其中2 1 R K R = ,2T R C =;在实验中,始终保持21,R R =即1K =,通过调节2R 和C 的不同取值,使得T 的值分别为0.2,0.51,1.0。记录实验数据,测量过度过程的性能指标,其中取正负5%误差带,按照经验公式取3s t T =

2、二阶系统阶跃响应性能指标的测试 系 统 传递函数为: 令ωn=1弧度/秒,则系统结构如下图: 二阶系统的 模拟电路图如下: 在实验过程中,取22321,1R C R C ==,则 442312R R C R ζ==,即42 12R C ζ=;在实验当中取123121,1R R R M C C F μ===Ω==,通过调整4R 取不同的值,使得ζ分别为0.25,0.5,0.707,1;记录所测得的实验数据以及其性能指标,取正负5%误差 带,其中当ζ<1时经验公式为2 1 3.5 %100%,s n e t ζσζω- -=?= ,当ζ=1时经验公式 为n 4.75 ts ω= 四、试验设备: 1、HHMN-1型电子模拟机一台。 2、PC 机一台。 3、数字万用表一块。 4、导线若干。

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

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 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

软件技术基础教学大纲资料

软件技术基础》教学大纲 课程编号: 23000840 适用专业:电子信息类(非计算机专业) 学时数: 40学分数: 2.5 开课学期:第4 学期 先修课程: 《C 语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015 年3月审核人(教学副院长): 一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32 学时) 1) C 程序设计(4 学时) (1)C 语言回顾,指针的基本概念、运算方法和使用( 2 学时)。 (2)结构体的基本概念和使用方法(2 学时)。 2)数据结构(20 学时) (1)数据结构的基本概念(2 学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9 学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a. 理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b. 掌握单链表、双链表、循环链表的创建、插入、删除方法( 2 学时); c. 理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2 学时); d. 理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链 队列的创建及出队、入队(2 学时); e. 理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法 (1 学时)。

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输入管脚损坏而可能引起的故障。

计算机软件技术基础实验报告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 ); //对哈夫曼树

北航2003年计算机专业硕士研究生入学考试基础真题

北航2003年计算机专业硕士研究生入学考试基础真题 一、1、数据的存储结构通常可以有()。 A、两种,它们分别是:顺序存储结构和链式存储结构 B、三种,它们分别是:顺序存储结构、链式存储结构与索引结构 C、三种,它们分别是:顺序存储结构、链式存储结构与散列结构 D、四种,它们分别是:顺序存储结构、链式存储结构、索引结构与散列结构 2、删除非空线性链表中由指针p 所指链结点的直接后继结点的过程是依次执行动作()。(设链结点的构造为[data|link])。 A、r<-link(p); link(p)<-r; call RET(r) B、r<-link(p); link(p)<-link(r); call RET(r)C、r<-link(p); link(p)<-r; call RET(p) D、link(p)<-link(link(p)); call RET(p) 3、已知二维数组A[1:4,1:6]采用列序为主序方式存储,每个元素占用4 个存储单元,并且A[3,4]的存储地址为1234,元素A[1,1]的存储地址是()。 A、1178 B、1190 C、1278 D、1290 4、某堆栈的输入序列为1,2,3,4,下面四个序列中的()不可能是它的输出序列。 A、1,3,2,4 B、2,3,4,1 C、4,3,1,2, D、3,4,2,1 5、若某完全二叉树的深度为h,则该完全二叉树中至少有()个结点。 A、2 的h 次幂 B、2 的h+1 次幂 C、2 的h-1 次幂-1 D、2 的h-1 次幂+1 6、若一棵深度为6 的完全二叉树的第6 层有3 个也结点,则该二叉树共有()个也结点。 A、17 B、18 C、19 D、20 7、已知带权连通无向图G=(V,E),其中 V={v1,v2,v3,v4,v5,v6,v7},E={(v1,v2)10,(v1,v3)2,(v3,v6)11,(v2,v5)1,(v4,v5)4,

自动控制原理实验报告

自动控制原理 实验报告

实验一一、二阶系统的电子模拟及时域响应的动态测试 实验目的 1.了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系。 2.学习在电子模拟机上建立典型环节系统模型的方法。 3.学习阶跃响应的测试方法。 二、实验内容 1.立一阶系统的电子模型,观测并记录在不同时间常数T时的跃响应曲线, 并测定其过渡过程时间TS。 2.立二阶系统的电子模型,观测并记录在不同阻尼比ζ时的跃响应曲线, 并测定其超调量σ%及过渡过程时间TS。 三、实验原理 1.一阶系统: 系统传递函数为:错误!未找到引用源。 模拟运算电路如图1-1所示: 图1-1 由图得: 在实验当中始终取错误!未找到引用源。, 则错误!未找到引用源。, 错误!未找到引用源。 取不同的时间常数T分别为: 0.25、 0.5、1。 记录不同时间常数下阶跃响应曲线,测量纪录其过渡过程时 ts。(取错误! 未找到引用源。误差带) 2.二阶系统: 其传递函数为: 错误!未找到引用源。 令错误!未找到引用源。,则系统结构如图1-2所示:

图1-2 根据结构图,建立的二阶系统模拟线路如图1-3所示: 图1-3 取错误!未找到引用源。,错误!未找到引用源。,则错误!未找到引用源。及错误!未找到引用源。 错误!未找到引用源。取不同的值错误!未找到引用源。 , 错误!未找到引用源。, ,观察并记录阶跃响应曲线,测量超调量σ%(取错误!未找到引用源。误差带),计算过渡过程时间Ts。 四、实验设备 1.HHMN-1型电子模拟机一台。 2.PC 机一台。 3.数字式万用表一块。 4.导线若干。 五、实验步骤 1.熟悉HHMN-1型电子模拟机的使用方法,将各运算放大器接成比例器,通电调零。 2.断开电源,按照实验说明书上的条件和要求,计算电阻和电容的取值,按照模拟线路图搭接线路,不用的运算放大器接成比例器。 3.将D/A1与系统输入端Ui连接,将A/D1与系统输出端UO连接(此处连接必须谨慎,不可接错)。线路接好后,经教师检查后再通电。 4.在Windows XP桌面用鼠标双击MATLAB图标后进入,在命令行处键入autolab 进入实验软件系统。 5.在系统菜单中选择实验项目,选择实验一,在窗口左侧选择实验模型,其它步骤察看概述3.2节内容。 6.观测实验结果,记录实验数据,绘制实验结果图形,填写实验数据表格,完成实验报告。 7.研究性实验方法。实验者可自行确定典型环节传递函数,并建立系统的SIMULINK模型,验证自动控制理论相关的理论知识。实现步骤可察看概述3.3节内容。

北航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位)自备、微安表(毫安表)、激光器、照度计(用户选配)。

软件技术基础实验报告

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

【实验报告】

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

最新北航计算机复试面试题

操作系统: 1.文件系统和数据库系统的区别,哪个效率更高,为什么。 2.进程上下文切换具体过程,是什么实现的 3.BIOS的意思,程序的可移植性 4..操作系统的基本概念 5.操作系统开机过程; 6.操作系统分哪些部分,进程管理包含什么内容; 7.操作系统我们所学的其他课程有什么关系,还是操作系统是个独立的课程 8.什么是系统调用?它和库函数调用有什么区别? 计算机网络: 1.数据链路层是干什么的 2.输入数据在网络层叫什么 3.分组的生命期,为什么要设置这个生命期 4.dns的工作过程 5.点击一个链接的网络过程; 6.网络模型,网络层协议有哪些,应用层协议有哪些 7.两台计算机中的进程进行通信,需要解决什么问题? 基础数学: 1.什么是极限,什么是趋近 2.极值的求法 3. 泰勒级数的展开式;为什么把一个简单的函数表示成那么麻烦的泰勒级数? 4.信息和数据的区别? 5.图形和图像有什么区别? 6.概率的全概率公式,高数的傅立叶级数,现代秩的概念 7.一枚硬币抛三次,至少一次正面的概率 8.什么是图的同构 9.说一下数理逻辑的定义 10.矩阵的用途 11.线性相关与无关 12.离散数学包含那些部分; 13.集合的势,无限集合的大小比较,偏序,良序,全序,划分,欧拉图,Hamilton图 14.什么是群 15.谓词逻辑和命题逻辑的区别 16.什么是等价关系,什么是子句,什么是合取范式 17.什么是二元关系 数据结构与算法: 1.什么是二叉树

2.已知病毒特征码一百万个和文件一个,问用什么查找算法能尽快的检测出该文件是否有病毒? 3.快排和插入排序那个更高效? 4.简单描述九宫格算法 5.学数据结构的意义; 6.离散数学的图论和数据结构图论的相同点和不同点 7.堆栈和堆的区别 8.递归变成非递归需要什么(堆栈) 9.堆栈溢出是怎么回事儿 10.算法的几种策略,迪杰斯特拉算法 11.要得到文件的后N行,需要什么数据结构实现 12.数据库中B+树和B-树的区别 13.什么是树?什么是图?树和图有什么区别? 14.矩阵相乘的时间复杂度是多少? 15.现在有一未知大小的文件,里面是单词的集合,现要将文件读入内存,问采用什么存储结构较好? 数据库: 1.数据库查询语句怎样写效率更高 2.使用sql语句实现图的某一顶点可达的该图的其他顶点的查找 3.数据库完整性措施; 4.如何保证数据的一致性 5.数据库的基本理论知识,像关系数据库的定义、三种范式 6.什么是事务处理? 软件测试: 1.工程使用什么测试手段,什么模型 2.软件测试时软件开发过程的哪个阶段的 3.什么是白盒测试?什么是黑盒测试?区别是什么? 计组: 1.冯诺依曼系统结构 2.冯诺依曼机的存储思想 3.做过哪些实验 4.程序和数据分别怎么存储(其实也就是问冯诺依曼机和哈佛机的区别 编程语言 1.什么是C++动态联编技术,为什么C++要引入动态联编 2.虚函数作用,主要在应用中 3.纯虚函数的作用,这也主要在实际应用中

北航自动控制原理实验报告1-4合集

自动控制原理 实验报告 实验一二阶系统的电子模拟及时域响应的动态测试实验二频率响应测试 实验三控制系统串联校正 实验四控制系统数字仿真 姓名: 学号:单位:仪器科学与光电工程学院 日期:2013年12月27日

实验一二阶系统的电子模拟及时域响应的动态测试 一、实验目的 1. 了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系。 2. 学习在电子模拟机上建立典型环节系统模型的方法。 3. 学习阶跃响应的测试方法。 二、实验内容 1. 建立一阶系统的电子模型,观测并记录在不同时间常数T时的跃响应曲线,并测定其过渡过程时间TS。 2. 建立二阶系统的电子模型,观测并记录在不同阻尼比ζ时的跃响应曲线,并测定其超调量σ%及过渡过程时间TS。 三、实验原理 1.一阶系统:系统传递函数为: 模拟运算电路如图1- 1所示: 图 1- 1 由图 1-1得 在实验当中始终取R2= R1,则K=1,T= R2C取不同的时间常数T分别为:、、1 2.二阶系统: 其传递函数为: 令=1弧度/秒,则系统结构如图1-2所示: 图1-2 根据结构图,建立的二阶系统模拟线路如图1-3所示:

图1-3 取R2C1=1 ,R3C2 =1,则及 ζ取不同的值ζ= , ζ= , ζ=1 四、实验步骤 1. 确定已断开电子模拟机的电源,按照实验说明书的条件和要求,根据计算的电阻电容值,搭接模拟线路; 2. 将系统输入端与D/A1相连,将系统输出端与A/D1相; 3. 检查线路正确后,模拟机可通电; 4. 双击桌面的“自控原理实验”图标后进入实验软件系统。 5. 在系统菜单中选择“项目”——“典型环节实验”;在弹出的对话框中阶跃信号幅值选1伏,单击按钮“硬件参数设置”,弹出“典型环节参数设置”对话框,采用默认值即可。 6. 单击“确定”,进行实验。完成后检查实验结果,填表记录实验数据,抓图记录实验曲线。 五、实验设备 HHMN-1电子模拟机一台、PC机一台、数字式万用表一块 六、实验数据 T1 R2250K500K1M C1μF1μF1μF Ts理论 Ts实测 Ts误差%%% 响应图形图1图2图3

北航eda实验报告

2014-2015-2-G02A3050-1 电子电路设计训练(数字EDA部分) 实验报告 (2015年5月19日) 教学班学号姓名组长签名成绩120311王天然* 120311马璇 120312唐玥 自动化科学与电气工程学院

目录 ( 2015年5月19日).........................................错误!未定义书签。目录 .........................................................错误!未定义书签。实验一、简单组合逻辑和简单时序逻辑............................错误!未定义书签。 简单的组合逻辑设计..................................错误!未定义书签。 实验目的和内容:..................................错误!未定义书签。 实验源代码:......................................错误!未定义书签。 测试模块源代码:..................................错误!未定义书签。 简单分频时序逻辑电路的设计...........................错误!未定义书签。 实验目的和内容:..................................错误!未定义书签。 实验源代码:......................................错误!未定义书签。 实验测试源代码:..................................错误!未定义书签。 (选作)设计一个字节(8位)比较器....................错误!未定义书签。 实验内容:........................................错误!未定义书签。 实验代码:........................................错误!未定义书签。 实验测试源代码:..................................错误!未定义书签。 实验小结.............................................错误!未定义书签。实验二、条件语句和always过程块...............................错误!未定义书签。 实验任务1——利用条件语句实现计数分频时序电路.......错误!未定义书签。 实验要求.........................................错误!未定义书签。 模块的核心逻辑设计...............................错误!未定义书签。 测试程序的核心逻辑设计...........................错误!未定义书签。 仿真实验关键结果及其解释.........................错误!未定义书签。 实验任务2——用always块实现较复杂的组合逻辑电路....错误!未定义书签。

相关主题