当前位置:文档之家› 《C语言》课内实验报告

《C语言》课内实验报告

《C语言》课内实验报告
《C语言》课内实验报告

《C语言》课内实验报告

学生姓名:

及学号:

学院:

班级:

课程名称:C语言

实验题目:指针的应用

指导教师

姓名及职称:

指针的应用

二、实验目的:

1.进一步掌握地址即指针的概念。

2.掌握指向变量的指针变量的定义和使用方法。

3.进一步理解指向数组的指针变量作为函数参数的用法。

三、实验内容:

1.编写一个程序,用指针变量对a、b、c、d这4个long double型数据按照不减的顺序进行排序,4个数据从键盘输入,排序后a、b、c、d这4个变量中的数据原值不允许改变。要求输出排序结果,之后再输出a、b、c、d这4个变量的地址值,并从中分析long double型变量所占字节数。要求键盘输入和屏幕输出都要有英文文字提示。编写源程序,给出注释及运行结果。(提示,可参阅教材228页及229页例10.4的程序,输出地址可用八进制输出。)2.编写一个将n个整数用选择法按由小到大的顺序排序的函数void sort(int *p, int n),在主函数中调用两次该函数,对任给出个数分别是10和15的两组整数进行排序。编写源程序,给出注释及运行结果。(提示,可参阅教材241页及242页例10.9的程序)

3.编写一个求两个m行n列矩阵的和矩阵的通用自定义函数void add(int *p1, int *p2, int *p3 ,int m, int n)。在主函数中2次调用该函数分别求出A、B矩阵的和矩阵C,以及D、E矩阵的和矩阵F。编写源程序,给出注释及运行结果。其中A、B、C为3

5?的矩阵,自己设计A、B 、D、3?的矩阵;D、E、F矩阵为5

E矩阵数据的给出方法。(提示,可参阅教材247页例10.12的程序)

1. #include /*包含头文件*/

void main() /*主函数*/

{

void exchange(long double *q1,long double *q2,long double *q3,long double *q4); /*对exchange函数进行声明*/

long double a,b,c,d,*p1,*p2,*p3,*p4; /*定义长双精度型变量和指向长双

精度型指针*/

printf("input 4 numbers:\n"); /*输出input 4 numbers:*/

scanf("%Lf,%Lf,%Lf,%Lf",&a,&b,&c,&d); /*输入a,b,c,d*/

p1=&a;p2=&b;p3=&c;p4=&d; /*分别将a,b,c,d的地址赋给

p1,p2,p3,p4*/

exchange(p1,p2,p3,p4); /*调用exchange函数*/

printf("now,that is:\n"); /*输出now,that is:*/

printf("%Lf,%Lf,%Lf,%Lf\n",a,b,c,d); /*输出a,b,c,d*/

printf("the add is:\n"); /*输出the add is:*/

printf("%o,%o,%o,%o\n",p1,p2,p3,p4); /*输出八进制a,b,c,d地址*/

}

void exchange(long double *q1,long double *q2,long double *q3,long double *q4) /*定义enchange函数*/

{

void swap(long double *pt1,long double *pt2); /*对swap函数进行声明*/

if(*q1>*q2) swap(q1,q2); /*如果q1地址中的值大于q2中的,

调用swap函数*/

if(*q1>*q3) swap(q1,q3); /*如果q1地址中的值大于q3中的,

调用swap函数*/

if(*q1>*q4) swap(q1,q4); /*如果q1地址中的值大于q4中的,

调用swap函数*/

if(*q2>*q3) swap(q2,q3); /*如果q2地址中的值大于q3中的,

调用swap函数*/

if(*q2>*q4) swap(q2,q4); /*如果q2地址中的值大于q4中的,

调用swap函数*/

if(*q3>*q4) swap(q3,q4); /*如果q3地址中的值大于q4中的,

调用swap函数*/

}

void swap(long double *pt1,long double *pt2) /*定义swap函数*/

{

long double temp; /*定义长双精度型变量temp*/

temp=*pt1; /*将pt1中的地址赋给temp*/

*pt1=*pt2; /*将pt2中的地址赋给pt1*/

*pt2=temp; /*将temp的值赋给pt2*/

}

运行结果:

2. #include /*包含头文件*/

void main() /*主函数*/

{

void sort(int *p,int n); /*对sort函数进行声明*/

int a[10],i,*p1,b[15],j,*p2; /*定义整型数组a,b,整形变量i,j,指

向整型的指针p1,p2*/ printf("enter the array:\n"); /*输出enter the array:*/

p1=a; /*将数组a的首地址赋给p1*/

for(i=0;i<10;i++) /*for循环i从0到10执行下语句*/ scanf("%d",p1++); /*输入数组a*/

p1=a; /*将数组a的首地址赋给p1*/

sort(p1,10); /*调用sort函数*/

printf("enter the array:\n"); /*输出enter the array:*/

p2=b; /*将数组b的首地址赋给p2*/

for(j=0;j<15;j++) /*for循环j从0到15执行下语句*/ scanf("%d",p2++); /*输出数组b*/

p2=b; /*将数组b的首地址赋给p2*/

sort(p2,15); /*调用sort函数*/

printf("now,that is:\n"); /*输出now,that is:*/

for(i=0;i<10;i++) /*for循环i从0到10执行下语句*/ {printf("%d ",*p1);p1++;} /*输出数组a,指针指向数组a中下一

个元素*/

printf("\n"); *换行*/

printf("now,that is:\n"); /*输出now,that is:*/

for(j=0;j<15;j++) /*for循环j从0到15执行下语句*/ {printf("%d ",*p2);p2++;} /*输出数组b,指针指向数组b中下一

个元素*/

printf("\n"); /*换行*/

}

void sort(int *p,int n) /*定义sort函数*/

{

int i,j,k,t; /*定义整型变量i,j,k,t*/

for(i=0;i

k=i; /*将i赋给k*/

for(j=i+1;j

if(*(p+j)<*(p+k)) /*如果后一个数小于前一个数*/

k=j; /*将j赋给k*/

if(k!=i) /*如果k不等于i*/

{t=*(p+i); /*将p+i指向的元素赋给t*/

*(p+i)=*(p+k) /*将p+k指向的元素赋值到p+i中*/;

* (p+k)=t;} /*将t赋值到p+k中*/

}

}

运行结果:

3. #include /*包含头文件*/

void main() /*主函数*/

{

void add1(int (*p1)[3],int (*p2)[3],int (*p3)[3],int m,int n);

/*对add1函数进行声明*/

void add2(int (*p1)[5],int (*p2)[5],int (*p3)[5],int m,int n);

/*对add2函数进行声明*/

int c[3][3],f[5][5],i,j,(*p1)[3],(*p2)[3],(*p3)[3],(*p4)[5],(*p5)[5],(*p6)[5];

/*定义二维数组c,f,定义分别指向每一维含有三个元素和五个元素的整型数组的指针变量p1,p2,p3,p4,p5,p6*/

int a[3][3]={{4,5,6},{7,8,9},{1,2,3}}; /*给整型数组a赋初值*/

int b[3][3]={{4,4,4},{5,5,5},{6,6,6}}; /*给整型数组b赋初值*/

int d[5][5]={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}};

/*给整型数组c赋初值*/

int e[5][5]={{ 1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}};

/*给整型数组d赋初值*/

p1=a;p2=b;p3=c; /*分别将数组a,b,c的首地址赋给指针变量p1,p2,p3*/

add1(p1,p2,p3,3,3); /*调用add1函数*/

printf("C is:\n"); /*输出C is:*/

for(i=0;i<3;i++) /*for循环i从0到3执行下语句*/ {for(j=0;j<3;j++) /*for循环j从0到3执行下语句*/ printf("%3d",c[i][j]); /*输出数组c*/

printf("\n");} /*换行*/

p4=d;p5=e;p6=f; /*分别将数组d,e,f的首地址赋给指针变量p4,p5,p6*/

add2(p4,p5,p6,5,5); /*调用add2函数*/

printf("F is:\n"); /*输出F is:*/

for(i=0;i<5;i++) /*for循环i从0到5执行下语句*/ {for(j=0;j<5;j++) /*for循环j从0到5执行下语句*/ printf("%3d",f[i][j]); /*输出数组f*/

printf("\n");} /*换行*/

}

void add1(int (*p1)[3],int (*p2)[3],int (*p3)[3],int m,int n)

/*定义add1函数*/

{

int i,j; /*定义整形变量i,j*/

for(i=0;i

for(j=0;j

}

void add2(int (*p1)[5],int (*p2)[5],int (*p3)[5],int m,int n)

/*定义add2函数*/

{

int i,j; /*定义整形变量i,j */

for(i=0;i

for(j=0;j

}

运行结果:

五、实验体会或遇到问题:

操作系统-Linux课程实验报告

实验、 Linux Ubuntu的安装、创建新的虚拟机VMWare 实验 Shell编程 1.实验目的与内容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include<> #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error"); } esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); }

close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验内核模块 实验步骤: (1).编写内核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译内核模块Makefile文件 # Makefile under ifneq ($(KERNELRELEASE),) #kbuild syntax. dependency relationshsip of files and target modules are listed here. obj-m := else PWD := $(shell pwd) KVER ?= $(shell uname -r) KDIR := /lib/modules/$(KVER)/build all: $(MAKE) -C $(KDIR) M=$(PWD) modules clean: rm -rf .*.cmd *.o *. *.ko .tmp_versions *.symvers *.order endif 编译完成之后生成模块文件。 (3).内核模块源代码 #include #include #include #include #include #include #define MODULE #define MODULE_VERSION "" #define MODULE_NAME "clock" struct proc_dir_entry* my_clock; int read_clock(char* page, char** start, off_t off, int count, int* eof, void* data) { int len; struct timeval xtime;

自控实验报告 控制系统串联校正

自动控制原理实验报告(III)

一、实验名称:控制系统串联校正 二、实验目的 1. 了解和掌握串联校正的分析和设计方法。 2. 研究串联校正环节对系统稳定性及过渡过程的影响。 三、实验内容 1. 设计串联超前校正,并验证。 2. 设计串联滞后校正,并验证。 四、实验原理 1. 系统结构如图3-1 图3-1 其中G c(s)为校正环节,可放置在系统模型中来实现,也可使用模拟电路的方式由模拟机来实现。 2. 系统模拟电路如图3-2 图3-2 各电阻电容取值 R3=2MΩ R4=510KΩ R5=2MΩ C1=0.47μF C2=0.47μF 3. 未加校正时G c s=1 (a >1) 4. 加串联超前校正时G c s=aTs+1 Ts+1 给定 a = 2.44 , T = 0.26 , 则G c s=0.63s+1 0.26s+1 (0

(1)未加校正 (2)超前校正 (3)滞后校正

3. 系统波特图 (1)未加校正环节系统开环传递函数G s= 4 s2+s (2)串联超前校正系统开环传递函数G s= 2.52s+4 0.26s3+1.26s2+s

(3)串联滞后校正系统开环传递函数G s= 40s+4 83.33s3 + 84.33s2+s 六、数据分析 1、无论是串入何种校正环节,或者是否串入校正环节,系统最终都会进入稳态,即三个系统都是稳定系统。 2、超前校正:系统比未加校正时调节时间短,即系统快速性变好了,而且超调量也减小了。从频率角度来看,戒指频率减小,相位稳定域度增大,系统稳定性变好。

物理实验报告格式范文

物理实验报告格式范文 一、实验目的 二、实验仪器和器材(要求标明各仪器的规格型号) 三、实验原理:简明扼要地阐述实验的理论依据、计算公式、画出电路图或光路图 四、实验步骤或内容:要求步骤或内容简单明了 五、数据记录:实验中测得的原始数据和一些简单的结果尽可能用表格形式列出,并要求正确表示有效数字和单位 六、数据处理:根据实验目的对测量结果进行计算或作图表示,并对测量结果进行评定,计算误差或不确定度. 七、实验结果:扼要地写出实验结论 八、误差分析:当实验数据的误差达到一定程度后,要求对误差进行分析,找出产生误差的原因. 九、问题讨论:讨论实验中观察到的异常现象及可能的解释,分析实验误差的主要来源,对实验仪器的选择和实验方法的改进提出建议,简述自己做实验的心得体会,回答实验思考题. 物理探究实验:影响摩擦力大小的因素 技能准备:弹簧测力计,长木板,棉布,毛巾,带钩长方体木块,砝码,刻度尺,秒表。 知识准备: 1. 二力平衡的条件:作用在同一个物体上的两个力,如果大小相等,方向相反,并且在同一直线上,这两个力就平衡。 2. 在平衡力的作用下,静止的物体保持静止状态,运动的物体保持匀速直线运动状态。 3. 两个相互接触的物体,当它们做相对运动时或有相对运动的趋势时,在接触面上会产生一种阻碍相对运动的力,这种力就叫摩擦力。 4. 弹簧测力计拉着木块在水平面上做匀速直线运动时,拉力的大小就等于摩擦力的大小,拉力的数值可从弹簧测力计上读出,这样就测出了木块与水平面之间的摩擦力。

探究导引 探究指导: 关闭发动机的列车会停下来,自由摆动的秋千会停下来,踢出去的足球会停下来,运动的物体之所以会停下来,是因为受到了摩擦力。 运动物体产生摩擦力必须具备以下三个条件:1.物体间要相互接触,且挤压;2.接触面要粗糙;3.两物体间要发生相对运动或有相对运动的趋势。三个条件缺一不可。 摩擦力的作用点在接触面上,方向与物体相对运动的方向相反。由力的三要素可知:摩擦力除了有作用点、方向外,还有大小。 提出问题:摩擦力大小与什么因素有关? 猜想1:摩擦力的大小可能与接触面所受的压力有关。 猜想2:摩擦力的大小可能与接触面的粗糙程度有关。 猜想3:摩擦力的大小可能与产生摩擦力的两种物体间接触面积的大小有关。 探究方案: 用弹簧测力计匀速拉动木块,使它沿长木板滑动,从而测出木块与长木板之间的摩擦力;改变放在木块上的砝码,从而改变木块与长木板之间的压力;把棉布铺在长木板上,从而改变接触面的粗糙程度;改变木块与长木板的接触面,从而改变接触面积。 物理实验报告 .化学实验报告 .生物实验报告 .实验报告格式 .实验报告模板 探究过程: 1. 用弹簧测力计匀速拉动木块,测出此时木块与长木板之间的摩擦力:0.7N 2. 在木块上加50g的砝码,测出此时木块与长木板之间的摩擦力:0.8N 3. 在木块上加200g的砝码,测出此时木块与长木板之间的摩擦力:1.2N 4. 在木板上铺上棉布,测出此时木块与长木板之间的摩擦力:1.1N 5. 加快匀速拉动木块的速度,测出此时木块与长木板之间的摩擦力:0.7N 6. 将木块翻转,使另一个面积更小的面与长木板接触,测出此时木块与长木板之间的摩擦力:0.7N 探究结论:

计算机操作系统实验课实验报告

实验报告 实验课程: 计算机操作系统学生姓名:XXX 学号:XXXX 专业班级:软件 2014年12月25日

目录 实验一熟悉Windows XP中的进程和线程.. 3实验二进程调度 (7) 实验三死锁避免—银行家算法的实现 (18) 实验四存储管理 (24)

实验一熟悉Windows XP中的进程和线程 一、实验名称 熟悉Windows XP中的进程和线程 二、实验目的 1、熟悉Windows中任务管理器的使用。 2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。 三、实验结果分析 1、启动操作系统自带的任务管理器: 方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并 完成下表: 表一:统计进程的各项主要信息 3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。再

从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程, 原因是该系统是系统进程。 4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所 有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进 程“explorer.exe”的各项信息,并填写下表: 进程:explorer.exe 中的各个线程

自动控制原理实验报告

实验报告 课程名称:自动控制原理 实验项目:典型环节的时域相应 实验地点:自动控制实验室 实验日期:2017 年 3 月22 日 指导教师:乔学工 实验一典型环节的时域特性 一、实验目的 1.熟悉并掌握TDN-ACC+设备的使用方法及各典型环节模拟电路的构成方法。

2.熟悉各种典型环节的理想阶跃相应曲线和实际阶跃响应曲线。对比差异,分析原因。 3.了解参数变化对典型环节动态特性的影响。 二、实验设备 PC 机一台,TD-ACC+(或TD-ACS)实验系统一套。 三、实验原理及内容 下面列出各典型环节的方框图、传递函数、模拟电路图、阶跃响应,实验前应熟悉了解。 1.比例环节 (P) (1)方框图 (2)传递函数: K S Ui S Uo =) () ( (3)阶跃响应:) 0()(≥=t K t U O 其中 01/R R K = (4)模拟电路图: (5) 理想与实际阶跃响应对照曲线: ① 取R0 = 200K ;R1 = 100K 。 ② 取R0 = 200K ;R1 = 200K 。

2.积分环节 (I) (1)方框图 (2)传递函数: TS S Ui S Uo 1 )()(= (3)阶跃响应: ) 0(1)(≥= t t T t Uo 其中 C R T 0= (4)模拟电路图 (5) 理想与实际阶跃响应曲线对照: ① 取R0 = 200K ;C = 1uF 。 ② 取R0 = 200K ;C = 2uF 。

1 Uo 0t Ui(t) Uo(t) 理想阶跃响应曲线 0.4s 1 Uo 0t Ui(t) Uo(t) 实测阶跃响应曲线 0.4s 10V 无穷 3.比例积分环节 (PI) (1)方框图: (2)传递函数: (3)阶跃响应: (4)模拟电路图: (5)理想与实际阶跃响应曲线对照: ①取 R0 = R1 = 200K;C = 1uF。 理想阶跃响应曲线实测阶跃响应曲线 ②取 R0=R1=200K;C=2uF。 K 1 + U i(S)+ U o(S) + Uo 10V U o(t) 2 U i(t ) 0 0 .2s t Uo 无穷 U o(t) 2 U i(t ) 0 0 .2s t

实验报告格式范文

实验报告格式范文 实验一撰写可行性研究报告 一、实验目的 1、掌握可行性研究步骤; 2、学习编制可行性研究报告。 二、实验要求 硬件:Intel Pentium 120 或以上级别的CPU,大于16MB的内存。 软件:Win dows 95/98/2000 操作系统,Office 97/2000 软件 学时:2学时 写岀此项实验报告 三、实验内容 1、可行性研究(结构化分析)方法; 2、绘制数据流图,使用Word写实验报告。 四、实验步骤 1 ?引言 1.1 编写目的 可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。 经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。 1 . 2 项目背景 (1 )待开发的软件产品名称:旅行社机票预定系统。 (2)本项目的提岀者:冯剑。开发者:李翀。用户:旅行社 (3)本软件产品将用于旅行社的机票预定和费用的记录。

1 . 3术语说明 DFD (数据流图):一种描述书记变换的图形工具,是结构化分析方法最普遍采用的表示手段,但数据流图并不是结构化分析模型的全部,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,三者共同构成了被建系统的模型。 1 . 4.系统参考文献 参考文献见附录 2?可行性研究的前提 2.1基本要求 ⑴功能 本软件实现的功能有:为游客提供机票预定服务,提高旅游局的服务质量和服务效率。 对航班数据库的查询和修改,对机票费用记帐数据库的查询和修改,记录旅客信息(姓名、性别、年龄、身份证号、单位、旅行时间、目的地)、航班时间和班次,打印机票和帐单。 (2) 性能 时间:提供的信息必须及时的反映在工作平台上。售票系统的定单必须无差错的存 储在机场的主服务器上。对服务器上的数据必须进行及时正确的刷新。一笔业务在一分钟内完成。空间:运行空间 2M。 (3) 系统的输入和输岀 输入:旅行社定票单。数据完整,详实。 输岀:机票、帐单。简捷,快速,实时。 (4) 处理流程 旅行社将定票信息输入定票系统,系统输岀机票和帐单给旅客。 5 )安全保密要求

自动控制系统实验报告

自动控制系统实验报告 学号: 班级: 姓名: 老师:

一.运动控制系统实验 实验一.硬件电路的熟悉和控制原理复习巩固 实验目的:综合了解运动控制实验仪器机械结构、各部分硬件电路以及控制原理,复习巩固以前课堂知识,为下阶段实习打好基础。 实验内容:了解运动控制实验仪的几个基本电路: 单片机控制电路(键盘显示电路最小应用系统、步进电机控制电路、光槽位置检测电路) ISA运动接口卡原理(搞清楚译码电路原理和ISA总线原理) 步进电机驱动检测电路原理(高低压恒流斩波驱动电路原理、光槽位置检测电路)两轴运动十字工作台结构 步进电机驱动技术(掌握步进电机三相六拍、三相三拍驱动方法。) 微机接口技术、单片机原理及接口技术,数控轮廓插补原理,计算机高级语言硬件编程等知识。 实验结果: 步进电机驱动技术: 控制信号接口: (1)PUL:单脉冲控制方式时为脉冲控制信号,每当脉冲由低变高是电机走一步;双 脉冲控制方式时为正转脉冲信号。 (2)DIR:单脉冲控制方式时为方向控制信号,用于改变电机转向;双脉冲控制方式 时为反转脉冲信号。

(3)OPTO :为PUL 、DIR 、ENA 的共阳极端口。 (4)ENA :使能/禁止信号,高电平使能,低电平时驱动器不能工作,电机处于自由状 态。 电流设定: (1)工作电流设定: (2)静止电流设定: 静态电流可用SW4 拨码开关设定,off 表示静态电流设为动态电流的一半,on 表示静态电流与动态电流相同。一般用途中应将SW4 设成off ,使得电机和驱动器的发热减少,可靠性提高。脉冲串停止后约0.4 秒左右电流自动减至一半左右(实际值的60%),发热量理论上减至36%。 (3)细分设定: (4)步进电机的转速与脉冲频率的关系 电机转速v = 脉冲频率P * 电机固有步进角e / (360 * 细分数m) 逐点比较法的直线插补和圆弧插补: 一.直线插补原理: 如图所示的平面斜线AB ,以斜线起点A 的坐标为x0,y0,斜线AB 的终点坐标为(xe ,ye),则此直线方程为: 00 00Y Ye X Xe Y Y X X --= -- 取判别函数F =(Y —Y0)(Xe —Xo)—(X-X0)(Ye —Y0)

实验报告范本

学生实验报告书 实验课程名称 开课学院 指导教师姓名 学生姓名 学生专业班级 200-- 200学年第学期

实验教学管理基本规范 实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定实验教学管理基本规范。 1、本规范适用于理工科类专业实验课程,文、经、管、计算机类实验课程可根据具体情况参 照执行或暂不执行。 2、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验 报告外,其他实验项目均应按本格式完成实验报告。 3、实验报告应由实验预习、实验过程、结果分析三大部分组成。每部分均在实验成绩中占一 定比例。各部分成绩的观测点、考核目标、所占比例可参考附表执行。各专业也可以根据具体情况,调整考核内容和评分标准。 4、学生必须在完成实验预习内容的前提下进行实验。教师要在实验过程中抽查学生预习情况, 在学生离开实验室前,检查学生实验操作和记录情况,并在实验报告第二部分教师签字栏签名,以确保实验记录的真实性。 5、教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。在完成所有 实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交课程承担单位(实验中心或实验室)保管存档。 6、实验课程成绩按其类型采取百分制或优、良、中、及格和不及格五级评定。

实验课程名称:__通信原理_____________ 图1 AMI/HDB3码型变换电路原理图 含有丰富的时钟分量,因此输出数据直接送到位同步提取锁相环(PLL) 编译码系统组成电原理图见图1。

操作系统实验报告心得体会

操作系统实验报告心得体会 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。 1、网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。这些都能在网上找到。也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。当然网上的东西很乱很杂,自己要能够学会筛选。 不能决定对或错的,有个很简单的方法就是去尝试。就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。所以要非常的谨慎,尽量少出差错,节省时间。多找个几个参照资料,相互比较,

慢慢研究,最后才能事半功倍。 2、同学间的讨论,这是很重要的。老师毕竟比较忙。对于课程设计最大的讨论伴侣应该是同学了。能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。 3、敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。 4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对段错误有了一定的了解,并且能够用相应的办法来解决。 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据,最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

自控实验报告-系统校正

西安邮电学院 自动控制原理 实验报告

实验三系统校正 一,实验目的 1.了解和掌握系统校正的一般方法。 2.熟悉掌握典型校正环节的模拟电路构成方法。二.实验原理及电路 1.未校正系统的结构方框图 图1 2.校正前系统的参考模拟方框图 图2 3.校正后系统的结构方框图

图3 4.校正后系统的模拟电路图 图4 三.实验内容及步骤 1.测量未校正系统的性能指标 (1)按图2接线 (2)加入阶跃电压观察阶跃响应曲线,并测出超调量和调节时间,并将曲线和参数记录出来。 2.测量校正系统的性能指标 (1)按图4接线

(2)加入阶跃电压,观察阶跃响应曲线,并测出超调量以及调节时间。 四.实验结果 未校正系统 理论值σ% = 60.4% t s = 3.5s 测量值σ% = 60% t s = 2.8s 校正后系统 理论值σ% = 16.3% t s = 0.35s 测量值σ% = 5% t s = 0.42s

五.心得体会 在课本的第六章,我们学习了线性系统的校正方法,包括串联校正、反馈校正以及复合校正等矫正方法,相对于之前学习的内容,理解起来相对难一些,做起实验来也不容易上手。试验期间,遇到了很多难题,反复调整修改甚至把连接好的电路全都拆了重连,最后终于完成了实验。相对于之前的几次试验,这次实验师最让人头疼的,幸好之前积累了些经验,才使得我们这次实验的时候不至于手忙脚乱,但是也并不轻松。 虽然遇到的困难很多,但是我们却收获的更多,线性系统的校正是自动控制原理中重要的部分,通过理论课的学习,再加上实验课的实践,我终于对这些内容有个系统的理解。

科学实验报告标准范本

报告编号:LX-FS-A32156 科学实验报告标准范本 The Stage T asks Completed According T o The Plan Reflect The Basic Situation In The Work And The Lessons Learned In The Work, So As T o Obtain Further Guidance From The Superior. 编写:_________________________ 审批:_________________________ 时间:________年_____月_____日 A4打印/ 新修订/ 完整/ 内容可编辑

科学实验报告标准范本 使用说明:本报告资料适用于按计划完成的阶段任务而进行的,反映工作中的基本情况、工作中取得的经验教训、存在的问题以及今后工作设想的汇报,以取得上级的进一步指导作用。资料内容可按真实状况进行条款调整,套用时请仔细阅读。 准备材料:一个玻璃杯、一枚硬币、小半杯水(最好是有颜色的)、蜡烛和一个平底的容器。 实验内容:在一个盘子里倒半杯水,放入一枚硬币。手既不许接触到水,又不能把水倒出来,怎样才能把硬币取出来呢? 实验过程: 第1次:我们首先在平底的容器中倒入小半杯水,淹没硬币。然后点燃一节蜡烛放在盘子里,罩上玻璃杯,蜡烛会因为缺氧停止燃烧,这时,外面的水便源源不断地涌进玻璃杯。(可惜吸水不够多,所以没有把硬币取出来)结果:失败。

第2次:和第一次一样,失败。 第3次:我们换了一根大一点的蜡烛,这次流进去的水很多,成功。 第4次:我们用了两根蜡烛,不过因为杯子扣的太紧,杯口被盘子吸住,水没能流进玻璃杯,失败。 第5次:我把杯子扣下去的速度慢了一点点,导致蜡烛提前熄灭,失败。 第6次:同样是放了两根蜡烛,这次很正常,成功。 实验总结:我做这个实验是为了证实气体冷却后,能让压力下降,于是外面正常的大气压把盘子中的水挤进了杯中。另外,在实验中,我观察到,用玻璃杯盖住蜡烛的时候,火焰不是马上熄灭,是继续燃烧一会儿才熄灭,说明玻璃杯的空气也是含有一定量

操作系统实验报告

操作系统实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

许昌学院 《操作系统》实验报告书学号: 姓名:闫金科 班级:14物联网工程 成绩: 2016年02月

实验一Linux的安装与配置 一、实验目的 1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。 2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方 法。 3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。 二、实验内容 1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。 2.安装VMware虚拟机软件。 3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络 信息、用户信息、文件系统和硬盘分区等配置。 4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或 者GRUB解决两个操作系统选择启动的问题。 5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出 Linux常用目录的作用。 三、实验过程及结果 1、启动VMware,点击新建Linux虚拟机,如图所示: 2、点击下一步,选择经典型,点击下一步在选择客户机页面选择 Linux,版本选择RedHatEnterpriseLinux5,如图所示: 3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示: 4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小 10GB,如图所示: 5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM (IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点 击“浏览”,找到Linux的镜像文件,如图所示:

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

自动控制原理实验报告73809

-150-100 -50 50 实验一 典型环节的模拟研究及阶跃响应分析 1、比例环节 可知比例环节的传递函数为一个常数: 当Kp 分别为0.5,1,2时,输入幅值为1.84的正向阶跃信号,理论上依次输出幅值为0.92,1.84,3.68的反向阶跃信号。实验中,输出信号依次为幅值为0.94,1.88,3.70的反向阶跃信号, 相对误差分别为1.8%,2.2%,0.2%. 在误差允许范围内可认为实际输出满足理论值。 2、 积分环节 积分环节传递函数为: (1)T=0.1(0.033)时,C=1μf (0.33μf ),利用MATLAB ,模拟阶跃信号输入下的输出信号如图: T=0.1 T=0.033 与实验测得波形比较可知,实际与理论值较为吻合,理论上T=0.033时的波形斜率近似为T=0.1时的三倍,实际上为8/2.6=3.08,在误差允许范围内可认为满足理论条件。 3、 惯性环节 i f i o R R U U -=TS 1 CS R 1Z Z U U i i f i 0-=-=-=15 20

惯性环节传递函数为: K = R f /R 1,T = R f C, (1) 保持K = R f /R 1 = 1不变,观测T = 0.1秒,0.01秒(既R 1 = 100K,C = 1μf , 0.1μf )时的输出波形。利用matlab 仿真得到理论波形如下: T=0.1时 t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3%,读数误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值 较为接近。 T=0.01时 t s (5%)理论值为30ms,实际测得t s =40ms 相对误差为:(40-30)/30=33.3% 由于ts 较小,所以读数时误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值较为接近 (2) 保持T = R f C = 0.1s 不变,分别观测K = 1,2时的输出波形。 K=1时波形即为(1)中T0.1时波形 K=2时,利用matlab 仿真得到如下结果: t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3% 读数误差较大 K 理论值为2,实验值4.30/2.28, 1 TS K )s (R )s (C +-=

操作系统实验报告

操作系统实验报告 银行家算法 班级:计算机()班 姓名:李君益 学号:(号) 提交日期: 指导老师: 林穗 一、设计题目 加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家算法,有效的防止和避免死锁的发生。 二、设计要求

内容: 编制银行家算法通用程序,并检测思考题中所给状态的安全性。 要求: (1)下列状态是否安全?(三个进程共享个同类资源) 进程已分配资源数最大需求数 (状态) (状态) (2)考虑下列系统状态 分配矩阵最大需求矩阵可用资源矩阵 问系统是否安全?若安全就给出所有的安全序列。若进程请求(),可否立即分配? 三、设计分析 一.关于操作系统的死锁 .死锁的产生 计算机系统中有许多独占资源,他们在任一时刻只能被一个进程使用,如磁带机,绘图仪等独占型外围设备,或进程表,临界区等软件资源。两个进程同时向一台打印机输出将导致一片混乱,两个进程同时进入临界区将导致数据库错误乃至程序崩溃。正因为这些原因,所有操作系统都具有授权一个进程独立访问某一辞源的能力。一个进程需要使用独占型资源必须通过以下的次序: ●申请资源 ●使用资源 ●归还资源 若申请施资源不可用,则申请进程进入等待状态。对于不同的独占资源,进程等待的方式是有差别的,如申请打印机资源、临界区资源时,申请失败将一位这阻塞申请进程;而申请打开文件文件资源时,申请失败将返回一个错误码,由申请进程等待一段时间之后重试。只得指出的是,不同的操作系统对于同一种资源采取的等待方式也是有差异的。 在许多应用中,一个进程需要独占访问多个资源,而操作系统允许多个进程并发执行共享系统资源时,此时可能会出现进程永远被阻塞的现象。这种现象称为“死锁”。 2.死锁的定义 一组进程处于死锁状态是指:如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的时间,则称一组进程或系统此时发生了死锁。 .死锁的防止 .死锁产生的条件: ●互斥条件

自控第二次实验报告

成绩 实验报告

实验二频率特性测试与频域分析法建模实验 实验时间第12周周三上午实验编号 同组同学无 一、实验目的 1.掌握频率特性的测试原理及方法。 2.学习根据所测定出的系统的频率特性,确定系统传递函数的方法。 二、实验内容 1.测定给定环节的频率特性。 系统模拟电路图及系统结构图分别如图 2.2.1及图 2.2.2。 取Ω===M R R R 10.432,F C C μ121==,Ω==k 101R R 系统传递函数为: 1=K 时,取Ω=K R 10,则10 1010 )(2++= s s s G 2=K 时,取Ω=K R 20,则10 1020 )(2 ++=s s s G 若正弦输入信号为)sin()(1t A t Ui ω=,则当输出达到稳态时,其输出信号为)sin()(20?ω+=t A t U 。改变输入信号频率π ω 2= f 值,便可测得二组2 1 A A 和ψ随f(或ω)变化的 数值,这个变化规律就是系统的幅频特性和相频特性。 2.根据测定的系统频率特性,确定系统的传递函数。

三、实验原理 1.幅频特性即测量输入与输出信号幅值A 1及A 2,然后计算其比值A 2/A 1。 2.实验采用“李萨如图形”法进行相频特性的测试。以下简单介绍一下这种测试方法的原理。 设有两个正弦信号: )sin()(t X t X m ωω=) sin()(?ωω+=t Y t Y m 若以X (ωt )为横轴,Y (ωt )为纵轴,而以ω作为参变量,则随着ωt 的变化, X (ωt )和Y (ωt )所确定的点的轨迹,将在X -Y 平面上描绘出一条封闭的曲线。这个图形就是物理学上所称的“李萨如图形”,如图2.2.3所示。 图2.2.3李沙育图形 3.相位差角的求法: 对于)sin()(t X t X m ωω=及) sin()(?ωω+=t Y t Y m 当0=t ω时,有0)0(=X ;)sin()0(?m Y Y =即)/)0(arcsin(m Y Y =?,2/0π?≤≤时成立 4.记录实验结果数据填写表2.2.1。 表2.2.1实验结果数据表 编号 1 2 3 … 10 ω A 2/A 1Y 0/Y m

大学物理实验报告范例简易版

The Short-Term Results Report By Individuals Or Institutions At Regular Or Irregular Times, Including Analysis, Synthesis, Innovation, Etc., Will Eventually Achieve Good Planning For The Future. 编订:XXXXXXXX 20XX年XX月XX日 大学物理实验报告范例简 易版

大学物理实验报告范例简易版 温馨提示:本报告文件应用在个人或机构组织在定时或不定时情况下进行的近期成果汇报,表达方式以叙述、说明为主,内容包含分析,综合,新意,重点等,最终实现对未来的良好规划。文档下载完成后可以直接编辑,请根据自己的需求进行套用。 摘要:热敏电阻是阻值对温度变化非常敏 感的一种半导体电阻,具有许多独特的优点和 用途,在自动控制、无线电子技术、遥控技术 及测温技术等方面有着广泛的应用。本实验通 过用电桥法来研究热敏电阻的电阻温度特性, 加深对热敏电阻的电阻温度特性的了解。 关键词:热敏电阻、非平衡直流电桥、电 阻温度特性 1、引言 热敏电阻是根据半导体材料的电导率与温 度有很强的依赖关系而制成的一种器件,其电 阻温度系数一般为(-0.003~+0.6)℃-1。因

此,热敏电阻一般可以分为: Ⅰ、负电阻温度系数(简称NTC)的热敏电阻元件 常由一些过渡金属氧化物(主要用铜、镍、钴、镉等氧化物)在一定的烧结条件下形成的半导体金属氧化物作为基本材料制成的,近年还有单晶半导体等材料制成。国产的主要是指MF91~MF96型半导体热敏电阻。由于组成这类热敏电阻的上述过渡金属氧化物在室温范围内基本已全部电离,即载流子浓度基本上与温度无关,因此这类热敏电阻的电阻率随温度变化主要考虑迁移率与温度的关系,随着温度的升高,迁移率增加,电阻率下降。大多应用于测温控温技术,还可以制成流量计、功率计等。

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