焦面判读程序:
#include<stdio.h>#include<math.h>
void main()
{ float f = 100.0; // 阀值int min = 1; // 系统所能分辨的最小沿轴移动量,对于1Um的步进电机,则为1Um
int M = N = 0; //循环次数,本程序中最大为10
float e,d,aver = 0; //aver为d的平均值
int z ; float a [10]; float f_see = 50.864;//待测透镜焦距的目测值 int b = 10 ;//显微镜物镜放大率tag: //程序返回入口 z = 0; while ( z-10 <0) { d = a[z] = sub_programe();// sub_programe()用来求解d值
z++; } for ( int i = 0;i < 10 ; i++) aver = aver + a[i];aver = aver / 10 ;//求得d的平均值
if ( N == 1) { if ( d => x) r++; goto tag; } else { e = 4/5 * b/l * d * min/f ;//计算e值
if( abs(d - x) < e) { if (a[N] == 2 * min) } else { if (d - x < e) { if (M > 0) { if ( d => x) r = r - a[N - 1];
goto tag ;
} else { if ( d => x) r = r + a[N -1]/2; goto tag ; } } else { M++; if ( d => x) r = r - a[N -1]/2; goto tag ; }printf("%f",d);//输出d值
} 890
[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页