/* ramuda.c * 波長誤差計算プログラム  * written by Naoyuki Kajino (98/11/5) */ #include #include void main(void) { FILE *fp1,*fp2; double deg[6],h[6],l1,l2,d1,d2,s1,s2,d; int n; fp1=fopen("ramuda1.dat","r"); fp2=fopen("ramuda2.dat","w"); printf("Program 開始!!\n"); printf("データの読み込み中!! ( 角度 deg ; 波長 h )\n"); d=1/1.2; for (n=0;n<=6;n++){ fscanf(fp1,"%lf %lf\n",°[n],&h[n]); printf("データの読み込み終了!!\n"); printf("誤差の計算中!!\n"); d1=0.9*deg[n]; l1=(sin(d1)+sin(45+d1))*d; d2=1.1*deg[n]; l2=(sin(d2)+sin(45+d2))*d; s1=l1*1000-h[n]; s2=l2*1000-h[n]; printf("誤差の計算終了!!\n"); fprintf(fp2,"角度%2.1lf[deg]のときの誤差:%5.4lf 〜 %5.4lf [nm]\n",deg[n],s1,s2); } fclose(fp1); fclose(fp2); printf("Program 終了!!\n"); }