实验二
- 格式:doc
- 大小:53.00 KB
- 文档页数:6
目录实验一电势差计测电动势 (1)实验二用电流场模拟静电场 (4)实验三电子束实验 (5)实验四霍耳效应法测量磁场 (8)实验四磁阻效应综合实验 (12)实验五分光计的使用和光栅测波长 (22)实验六光电效应 (28)实验七密立根油滴实验——电子电荷的测定 (31)实验七弗兰克—赫兹实验 (33)实验一 电势差计测电动势【实验原理】详见教材:《结构化大学物理实验》P.208−212。
仔细研读原理后回答以下问题: 问题1:能用电压表直接测出电池的电动势吗?为什么?问题2:箱式电势差计的工作原理图里有几个补偿回路?所测电动势的精度和什么有关? 问题3:为什么温差电偶能用作温度计?补充内容:(一)本实验用高精度的1.0185V 稳压电源代替标准电池,虽然重复性较差,但比较环保,常温下也可以忽略温度对)(t E s 的影响。
(二)测量温差电动势时,因为实验装置的冷端为环境温度,误差较大,所以只测量t E ~关系,写出方程t E E θ+=0(三)UJ31电势差计中的一些参数1. 可测范围:0.001—170.00mV ;分两档,×1档为0.001—17.000mV (最小分度1μV ),×10档为0.01—170.00mV (最小分度10μV )。
2. 准确度等级为0.05级,基本误差为(0.05%)x x U U U ∆=±+∆。
式中,x U 是被测电动势值(即示值),U ∆取值倍率为×10时,5=∆U μV ;倍率为×1时,5.0=∆U μV 。
【实验目的】(一)掌握电势差计的工作原理和结构特点。
(二)了解温差电偶的测温原理。
【实验内容】(一)电势差计的调节;(二)测温差电偶(铜-康铜)的温差电动势。
【实验器材】箱式电势差计,直流稳压工作电源,灵敏电流计,高精度1.0185V 标准电源,铜—康铜温差热电偶,加热装置。
【实验步骤及操作】(一)电势差的调节图10-1 UJ31型电势差计面板图1. 面板中各旋钮、开关介绍2.把S R旋至标准的电动势值的位置。
C语言程序设计报告二数据类型,运算符和简单的输入输出计算机学院软件工程2班王莹0411402011,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。
(2)掌握对各种数值型数据的正确输入方法。
(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)学会编写和运行简单的应用程序。
(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。
2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。
○1运行以上程序,分析为什么会输出这些信息。
因为第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。
第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。
○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。
用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。
59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出因为97和98在int类型的有效范围。
(2)输入第3章第5题得程序。
即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。
运行时分别按一下方式输入数据,观察输出结果,分析原因。
1,a=3,b=7,x=8.5,y=71.82,A,a↙2,a=3 b=7 x=8.5 y=71.82 A a↙3,a=3 b=7 8.5 71.82 A a↙4,a=3 b=7 8.5 71.82Aa↙5,3 7 8.5 71.82Aa↙6,a=3 b=7↙8.571.82↙A↙a↙7,a=3 b=7↙8.571.82↙Aa↙8,a=3 b=7↙8.671.82Aa↙12345678(3)输入以下程序○1编译和运行程序,注意i,j,m,n各变量的值。
实验2 熔点的测定技术实验二熔点的测定技术一、实验目的1、了解熔点测定的意义2、掌握测定熔点的操作技术二、预习要求理解熔点的定义;了解熔点测定的意义;了解毛细管现象;了解尿素的物理性质;了解浓硫酸烧伤的急救办法;思考在本实验中如何防止浓硫酸烧伤、烫伤、火灾等实验事故的发生。
三、实验原理固、液两态在大气压力下达到平衡状态时的温度,叫做熔点。
也可以简单理解为固体化合物受热达到一定的温度时,即由固态转变为液态时的温度就是该化合物的熔点。
一般说来,纯有机物有固定的熔点。
即在一定压力下,固、液两相之间的变化都是非常灵敏的,固体开始熔化(即初熔)至固体开始熔化(即全熔)的温度差不超过0.5~1℃,这个温度差叫做熔点范围(或称熔距、熔程)。
如果混有杂质则其熔点下降,熔距也较长,由此可以鉴定纯净的固体有机化合物。
由于根据熔距的长短还可以定性地估计出该化合物的纯度,所以此法具有很大的实用价值。
在一定温度和压力下,若某一化合物的固、液两相处于同一容器,这时可能发生三种情况:①固体熔化即固相迅速转化为液相;②液体固化即液相迅速转化为固相;③固液共存即固液两相同时存在。
如何决定在某一温度时哪一种情况占优势,可以从该化合物的蒸气压与温度的曲线图来理解,如图2-1所示。
图2-1(1)中曲线SM表示的是固态物质的蒸气压随温度升高而增大的曲线。
图2-1 (2)中曲线L’L表示的是液态物质的蒸气压随温度升高而增大的曲线。
如将曲线(1)、(2)加合,即得图2-1(3)曲线。
(1)(2)(3)图2-1 化合物的蒸气压与温度曲线由(3)可以看出:固相的蒸气压随温度的变化速率比相应的液相大,两曲线相交于M处,说明此时固、液两相的蒸气压是一致的。
此时对应的温度TM即为该化合物的熔点。
当温度高于TM时,固相的蒸气压比液相的蒸气压大,使得所有的固相全部转化为液相;反之,若低于TM时,则由液相转变为固相;只有当温度为TM时,固、液两相才能同时存在(即两相动态平衡,也就是说此时固相熔化的量等于液相固化的量)。
1 / 21数值分析实验二:插值法1 多项式插值的震荡现象1.1 问题描述考虑一个固定的区间上用插值逼近一个函数。
显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。
我们自然关心插值多项式的次数增加时, 是否也更加靠近被逼近的函数。
龙格(Runge )给出一个例子是极著名并富有启发性的。
设区间[-1,1]上函数21()125f x x=+ (1)考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为201()()125nn ii iL x l x x ==+∑(2)其中的(),0,1,2,,i l x i n =是n 次拉格朗日插值基函数。
实验要求:(1) 选择不断增大的分点数目n=2, 3 …. ,画出原函数f(x)及插值多项式函数()n L x 在[-1,1]上的图像,比较并分析实验结果。
(2) 选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+=重复上述的实验看其结果如何。
(3) 区间[a,b]上切比雪夫点的定义为 (21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+ ⎪+⎝⎭(3)以121,,n x x x +为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析2 / 21原因。
1.2 算法设计使用Matlab 函数进行实验, 在理解了插值法的基础上,根据拉格朗日插值多项式编写Matlab 脚本,其中把拉格朗日插值部分单独编写为f_lagrange.m 函数,方便调用。
1.3 实验结果1.3.1 f(x)在[-1,1]上的拉格朗日插值函数依次取n=2、3、4、5、6、7、10、15、20,画出原函数和拉格朗日插值函数的图像,如图1所示。
Matlab 脚本文件为Experiment2_1_1fx.m 。
可以看出,当n 较小时,拉格朗日多项式插值的函数图像随着次数n 的增加而更加接近于f(x),即插值效果越来越好。
实验二 渗透压法测定聚合物 分子量和Huggins 参数渗透压是溶液依数性的一种。
用渗透压法测定分子量是研究溶液热力学性质的结果。
这种方法广泛地被用于测定分子量2万以上聚合物的数均分子量及研究聚合物溶液中分子间相互作用情况。
一、实验目的1.了解高聚物溶液渗透压的原理。
2.掌握动态渗透压法测定聚合物的数均分子量。
二、基本原理1.理想溶液的渗透压从溶液的热力学性质可知,溶液中溶剂的化学势比纯溶剂的小,当溶液与纯溶剂用一半透膜隔开(见图2-l ),溶剂分子可以自由通过半透膜,而溶质分子则不能。
由于半透膜两侧溶剂的化学势不等,溶剂分子经过半透膜进入溶液中,使溶液液面升高而产生液柱压强,溶液随着溶剂分子渗入而压强逐渐增加,其溶剂的化学势亦增加,最后达到与纯溶剂化学势相同,即渗透平衡。
此时两边液柱的压强差称为溶剂的渗透压(π)。
理想状态下的Van t 'Hoff 渗透压公式:RTCMπ=--------------------------------------------- (1) 2.聚合物溶液的渗透压高分子溶液中的渗透压,由于高分子链段间以及高分子和溶剂分子之间的相互作用不同,高分子与溶剂分子大小悬殊,使高分子溶液性质偏离理想溶液的规律。
实验结果表明,高分子溶液的比浓渗透压Cπ随浓度而变化,常用维利展开式来表示:2231RT A C A C C M π⎛⎫=+++⋅⋅⋅ ⎪⎝⎭------------------------- (2) 式中A 2和A 3分别为第二和第三维利系数。
通常,A 3很小,当浓度很稀时,对于许多高分子――溶剂体系高次项可以忽略。
则式(2)可以写作:21RT A C C M π⎛⎫=+ ⎪⎝⎭------------------------------ (3) 图2-1即比浓渗透压(Cπ)对浓度C 作图是呈线性关系,如图2-2的线2所示,往外推到C →0,从截距和斜率便可以计算出被测样品的分子量和体系的第二维利系数A 2。
陕西中医药大学有机化学实验报告有机化学实验报告实验名称:重结晶及熔点的测定所在班级:专业班学号:姓名:实验时间:年月日实验成绩:实验二重结晶及熔点的测定【实验目的】1、掌握抽滤、热过滤操作和滤纸的折叠、放置方法。
2、掌握熔点的测定方法和温度计的校正方法。
3、了解重结晶法原理,初步学会用重结晶法提纯固体有机化合物。
4、了解熔点测定的基本原理及应用。
【实验原理】1、重结晶法提纯固体有机化合物利用溶剂对被提纯物质及杂质的溶解度不同,可以使被提纯物质从过饱和溶液中析出。
而让杂质全部或大部分仍留在溶液中(若在溶剂中的溶解度极小,则配成饱和溶液后被过滤除去),从而达到提纯目的。
通常重结晶只适用于纯化杂质含量在5%以下的固体有机混合物。
2、熔点的测定:晶体化合物的固液两态在一个大气压力下达到平衡时的温度称为该化合物的熔点(m.p.)。
纯粹的固体有机化合物一般都有固定的熔点,即在一定的压力下,固液两态之间的变化是非常敏锐的,自初熔至全熔(熔点范围称为熔程),温度不超过0.5—1o C。
如果该物质含有杂质,则其熔点往往较纯粹者为低,且熔程较长。
故测定熔点对于鉴定纯粹有机物和定性判断固体化合物的纯度具有很大的价值。
纯物质的熔点和凝固点是一致的。
从图2—1可以看到,当加热纯固体化合物时,在一段时间内温度上升,固体不熔。
当固体开始熔化时,温度不会上升,直至所有固体都变为液体,温度才上升。
反过来,当冷却一种纯液体化合物时,在一段时间内温度下降,液体未固化。
当开始有固体出现时,温度不会下降,直至液体全部固化时,温度才会再下降。
(a)(b)图2—1 相随着时间和温度的变化图2—2 熔点的测定装置要精确测定熔点,则在接近熔点时,加热速度一定要慢。
一般每分钟温度升高不能超过1~2℃。
只有这样,才能使熔化过程近似接近于平衡状态。
【实验试剂和仪器】仪器:循环水真空泵、抽滤瓶、布氏漏斗、烧杯、表面皿、温度计、齐列管、玻璃管、酒精灯、量筒、铁架台、铁夹等。
实验二 伯努利实验一、实验目的流动流体所具有的总能量是由各种形式的能量所组成,并且各种形式的能量之间又相互转换。
当流量在导管内作定常流动时,在导管的各截面之间的各种形式机械能的变化规律,可由机械能衡算基本方程来表达。
这些规律对于解决流体流动过程的管路计算、流体压强、流速与流量的测量,以及流体输送等问题,都有着十分重要的作用。
本实验采用一种称之为伯努利试验仪的简单装置,实验观察不可压缩流体在导管内流动时的各种形式机械能的相互转化现象并验证机械能衡算方程(伯努利方程)。
通过实验加深对流体流动过程基本原理的理解。
二、实验原理l 、不可压缩的流体在导管中作稳定流动,系统与环境又无功的交换,若以单位质量流体为衡算基准,其机械能守恒方程式为:∑+++=++fhp u g z p u g z ρρ2222121122(1)式中,u l 、u 2 ——分别为液体管道上游的某截面和下游某截面处的流速,m·s -1;P 1、P 2 ——分别为流体在管道上游截面和下游截面处的压强,Pa ;z l 、z 2 ——分别为流体在管道上游截面和下游截面中心至基准水平的垂直距离,m ; ρ ——流体密度,Kg·m -3;∑h f ——流体两截面之间消耗的能量,J·Kg -1。
若以单位重量为衡算基准,机械能守恒方程式又可以表达为:∑+++=++fHgp gu z gp gu z ρρ2222121122 m 液柱(2)式中,z l 、z 2 ——液体的位压头,m 液柱;∑H f ——流动系统内因阻力造成的压头损失,m 液柱。
2、理想流体在管内稳定流动,若无外加能量和损失,则可得到:ρρ2222121122p u g z p u g z ++=++(3)式(3)表示1kg 理想流体在各截面上所具有的总机械能相等,但各截面上每一种形式的机械能并不一定相等,但各种形式的机械能之和为常数,能量可以相互转换。
实验二分区式存储管理
实验目的:
通过这次实验,加深对内存管理的认识,进一步掌握内存的分配、回收算法的思想。
实验内容:
设计程序模拟内存的动态分区法存储管理。
内存空闲区使用自由链管理,采用最坏适应算法从自由链中寻找空闲区进行分配,内存回收时假定不做与相邻空闲区的合并。
假定系统的内存共640K,初始状态为操作系统本身占用64K。
在t1时间之后,有作业A、B、C、D分别请求8K、16K、64K、124K的内存空间;在t2时间之后,作业C完成;在t3时间之后,作业E请求50K的内存空间;在t4时间之后,作业D完成。
要求编程序分别输出t1、t2、t3、t4时刻内存的空闲区的状态。
实验环境:
Pentium(R) Dual-Core CPU E6700 @ 3.20GHz
Microsoft Visual Studio 2010
实验结果与分析:
实验体会:
此实验极大的帮助我们理解分区式存储管理的实现过程。
在对作业采用最优适应算法的同时,还外加代码弥补了最优适应算法会产生极小的零碎空闲区的弊端。
在作业存储时,当前作业的起始地址=原空闲区起始地址+原空闲区偏移地址-当前作业的偏移地址;由此可知当前作业在空闲区内是从空闲区的高地址开始分配。
源代码:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
struct freelinkNode
{
int len;
int address;
struct freelinkNode *next;
};
struct busylinkNode
{
char name;
int len;
int address;
struct busylinkNode *next;
};
struct freelinkNode *free_head=NULL;
struct busylinkNode *busy_head=NULL;
struct busylinkNode *busy_tail=NULL;
void start(void)
{
struct freelinkNode *p;
struct busylinkNode *q;
free_head=(struct freelinkNode *)malloc(sizeof(struct freelinkNode));
free_head->next=NULL;
busy_head=(struct busylinkNode *)malloc(sizeof(struct busylinkNode));
busy_head->next=NULL;
p=(struct freelinkNode *)malloc(sizeof(struct freelinkNode));
p->address=64;
p->len=640-64;
p->next=NULL;
free_head->next=p;
q=(struct busylinkNode *)malloc(sizeof(struct busylinkNode));
q->len=64;
q->address=0;
q->next=NULL;
busy_head->next=q;
busy_tail=q;
}
void requireMemo(char name,int require)
{
freelinkNode *w,*u,*v;
busylinkNode *p;
if(free_head->next->len>=require)
{
p=(struct busylinkNode *)malloc(sizeof(struct busylinkNode));
p->name=name;
p->address=free_head->next->address;
p->len=require;
p->next=NULL;
busy_tail->next=p;
busy_tail=p;
}
else
{
printf("Can't allocate");
}
w=free_head->next;
free_head->next=w->next;
if(w->len==require)
{
free(w);
}
else
{
w->address=w->address+require;
w->len=w->len-require;
}
u=free_head;
v=free_head->next;
while((v!=NULL)&&(v->len>w->len))
{
u=v;
v=v->next;
}
u->next=w;
}
void freeMemo(char name)
{
int len;
int address;
busylinkNode *q,*p;
freelinkNode *w,*u,*v;
q=busy_head;
p=busy_head->next;
while((p!=NULL)&&(p->name!=name))
{
q=p;
p=p->next;
}
if(p==NULL)
{
printf("%c is not exist",name);
}
else
{
if(p==busy_tail)
{
busy_tail=q;
}
else
{
q->next=p->next;
len=p->len;
address=p->address;
free(p);
w=(struct freelinkNode *)malloc(sizeof(struct freelinkNode));
w->len=len;
w->address=address;
u=free_head;
v=free_head->next;
while((v!=NULL)&&(v->len>len))
{
u=v;
v=v->next;
}
u->next=w;
w->next=v;
}
}
}
void past(int time)
{
printf("过了时间%d后:\n",time);
}
void printlink()
{
freelinkNode *p;
printf("内存空闲情况为:\n");
p=(struct freelinkNode *)malloc(sizeof(struct freelinkNode));
p=free_head->next;
while(p!=NULL)
{
printf("内存的起始地址和内存的大小%5d\t%5d:\n",p->address,p->len);
p=p->next;
}
}
void main()
{
int t1=1,t2=2,t3=3,t4=4;
start();
past(t1);
requireMemo('A',8);
requireMemo('B',16);
requireMemo('C',64);
requireMemo('D',124);
printlink();
past(t2);
freeMemo('C');
printlink();
past(t3);
requireMemo('E',50);
printlink();
past(t4);
freeMemo('D');
printlink();
}。