$$$$功能:计算点的合格率
DECL/INTGR, PT_NUM, START_NUM, END_NUM, QUALIFIED, UNQUALIFIED, III
DECL/CHAR, 255, PT_PREFIX, PT_NAME, RATE_OUTPUT
DECL/DOUBLE, RATE, UP_TOL, LOW_TOL
DECL/INTGR, X_JUDGE, Y_JUDGE, Z_JUDGE
ddd = PROMPT/TEXT,'输入起始点数',EDIT,START_NUM,$
TEXT,'输入终止点数',EDIT,END_NUM,$
TEXT,'输入前缀',EDIT,PT_PREFIX,$
TEXT,'输入上公差',EDIT,UP_TOL,$
TEXT,'输入下公差',EDIT,LOW_TOL
T(TCORTOL2) = TOL/CORTOL,XAXIS, LOW_TOL, UP_TOL
T(TCORTOL3) = TOL/CORTOL,YAXIS, LOW_TOL, UP_TOL
T(TCORTOL4) = TOL/CORTOL,ZAXIS, LOW_TOL, UP_TOL
PT_NUM = ASSIGN/ END_NUM - START_NUM + 1
X_JUDGE = ASSIGN/ 0
Y_JUDGE = ASSIGN/ 0
Z_JUDGE = ASSIGN/ 0
DO/III, 1, PT_NUM, 1
PT_NAME = ASSIGN/ CONCAT(PT_PREFIX, STR(III + START_NUM -1))
OUTPUT/FA( ), TA(TCORTOL2)
OUTPUT/FA( ), TA(TCORTOL3)
OUTPUT/FA( ), TA(TCORTOL4)
X_JUDGE = VALUE/ TA(TCORTOL2), INTOL
Y_JUDGE = VALUE/ TA(TCORTOL3), INTOL
Z_JUDGE = VALUE/ TA(TCORTOL4), INTOL
IF/((X_JUDGE .EQ. 1) .AND. (Y_JUDGE .EQ. 1) .AND. (Z_JUDGE .EQ. 1))
QUALIFIED = ASSIGN/ QUALIFIED + 1
ELSE
UNQUALIFIED = ASSIGN/ UNQUALIFIED + 1
ENDIF
ENDDO
RATE = ASSIGN/ QUALIFIED / PT_NUM * 100
RATE_OUTPUT = ASSIGN/ CONCAT(STR(RATE), '%')
TEXT/OUTFIL, '不合格数:'
WRITE/DID(DEFAULTSCREEN),UNQUALIFIED
TEXT/OUTFIL, '合格数:'
WRITE/DID(DEFAULTSCREEN),QUALIFIED
TEXT/OUTFIL, '合格率:'
WRITE/DID(DEFAULTSCREEN),RATE_OUTPUT