该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还是那句话,省时90%,手工计算需要1个小时,程序仅需5分钟~~~建议上物理实验的同学收藏~
因为连夜赶工编写,各种调试,也许会存在问题,但本人已经自行测试~~答案比较靠谱~~
楼主用vc 6.0 运行代码
使用本代码为自愿,对于出现的后果本人不承担~
#include
#include
#include
#define m 0.2
#define g 9.79
#define n 6
#define t 1.11
#define k 8
#define tk 1.08
#define dtl 0.004
#define dtb 0.050
#define dtj 0.05
int main()
{ int re();
float fun();
char c;
system("color 1f");
printf("\n\n**********本程序根据新版教材编写,新版和旧版是否适用请自行对比************\n\n");
printf("是否已注意到上面的提示,并确认你使用新版教材写实验?\n\n是请按Y并回车 , 否请按N\n");
scanf("%c",&c);
system("cls");
if(c=='y'||c=='Y') fun();
if (c=='n'||c=='N') {printf("很抱歉!旧版教材没有经过验证,建议您不要使用本程序\n");exit(0);}
printf("\n\n\n\n\%30d\b*******Designed by 宫豹鸡丁*******\n");
return 0;
}
float fun()
{
float zl[8],jl[8],al[8],l,lc,sl,slc,usl,e,eaz,ea,ue,uez,d[6],ad,dc,dz=0.0,ud,sum=0.0,t1=0.0,t2,temp;
int i;
printf("\n注意:根据教材的公式,本程序的增荷和减荷均为加减砝码后的长度而不是增加或减少的量,否则计算出的平均伸长量为负值,出错\n\n");
printf("按序号依次输入8个增荷(以空格隔开):\n");
for (i=0;i<8;i++) scanf("%f",&zl[i]);
printf("按序号依次输入8个减荷(以空格隔开):\n");
for (i=0;i<8;i++) scanf("%f",&jl[i]);
for(i=0;i<8;i++) al[i]=(zl[i]+jl[i])/2.0;
printf("输入卷尺的测量值:\n");
scanf("%f",&lc);
l=lc+dtj;
printf("输入6个直径的测量值:\n");
for(i=0;i<6;i++) {scanf("%f",&d[i]);sum=sum+d[i];}
ad=sum/6.0;
for(i=0;i<6;i++) dz=dz+(d[i]-ad)*(d[i]-ad);
temp=t*sqrt((1/(n*(n-1)))*dz);
ud=sqrt(temp*temp+((1/3.0)*dtl)*((1/3.0)*dtl));
dc=ad+ud;
sl=0.25*(0.25*(al[4]-al[0])+0.25*(al[5]-al[1])+0.25*(al[6]-al[2])+0.25*(al[7]-al[3]));
for(i=0;i<4;i++) t1=t1+(0.25*(al[4]-al[i])-sl)*(0.25*(al[4]-al[i])-sl);
t2=tk*sqrt((1/(k*(k-1)))*t1);
usl=sqrt(t2*t2+((1/3.0)*dtb)*((1/3.0)*dtb));
slc=sl+usl;
ue=sqrt((dtj/l)*(dtj/l)+(2.0*ud/ad)*(2.0*ud/ad)+(usl/sl)*(usl/sl));
printf("卷尺L的测量结果:%0.2f\n\n直径的平均值:%0.3f\n\n直径的不确定度:%0.4f\n\n伸长量的平均值:%0.3f\n\n",lc+dtj,ad,ud,sl);
printf("伸长量的不确定度:%0.4f \n\n伸长量的测量结果:%0.3f\n\n",usl,slc);
l=l*0.01;
ad=ad*0.001;
sl=sl*0.001;
ea=(4.0*m*g*l)/(3.14159*ad*ad*sl);
uez=ea*ue;
e=ea+uez;
printf("E一杠的值为:%f (不用怀疑,杨氏模量的数级是10的10次方或者11次方)\n",ea);
printf("E的不确定度:%0.4f\n\nE的总不确定度:%0.4f\n\n",ue,uez);
printf("最终测量结果:\nE的值为:%f\n\n不确定度Ur:%0.4f\n\n",ea+uez,ue);
return 0;}