1  REM  ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  *************************
2  REM
3  REM       T-TEST:  36170  (A401)  REV A -- 9/71
4  REM       TEST OF HYPOTHESES USING STUDENTS T DISTRIBUTION
5  REM
6  REM  ***  CONTRIBUTED PROGRAM  ****************************************
9000  S1=S2=S3=T1=T2=T3=0
9001  DIM X[50],Y[50]
9002  READ Q,N1,N2
9003  MAT  READ X[N1]
9004  MAT  READ Y[N2]
9005  FOR I=1 TO N1
9006  T1=T1+X[I]
9007  S1=S1+X[I]^2
9008  NEXT I
9009  M1=T1/N1
9010  D1=SQR((S1-(T1^2/N1))/(N1-1))
9011  IF N2=1 THEN 9051
9012  FOR I=1 TO N2
9013  T2=T2+Y[I]
9014  S2=S2+Y[I]^2
9015  NEXT I
9016  M2=T2/N2
9017  D2=SQR((S2-(T2^2/N2))/(N2-1))
9018  IF Q >= 2.5 THEN 9025
9019  IF Q >= 1.5 THEN 9023
9020  D0=SQR(((N1-1)*(D1^2)+(N2-1)*(D2^2))/(N1+N2-2))
9021  T0=(M1-M2)/(D0*SQR((1/N1)+(1/N2)))
9022  GOTO 9032
9023  T0=(M1-M2)/SQR((D1^2/N1)+(D2^2/N2))
9024  GOTO 9032
9025  FOR I=1 TO N1
9026  T3=T3+X[I]-Y[I]
9027  S3=S3+(X[I]-Y[I])^2
9028  NEXT I
9029  M3=T3/N1
9030  D3=SQR((S3-(T3^2/N1))/(N1-1))
9031  T0=(M3*SQR(N1))/D3
9032  PRINT "SAMPLE","SAMPLE SIZE","MEAN","STANDARD DEVIATION"
9033  PRINT 1,N1,M1,D1
9034  PRINT 2,N2,M2,D2
9035  IF Q >= 1.5 THEN 9040
9036  PRINT '10" THE POOLED DEVIATION IS";D0;"AND THE STUDENTS T"
9037  PRINT "VALUE IS";T0;"AT";N1+N2-2;"DEGREES OF FREEDOM."
9038  N=N1+N2-2
9039  GOTO 9056
9040  IF Q >= 2.5 THEN 9046
9041  F=((D1^2/N1+D2^2/N2)^2)
9042  F=F/((((D1^2/N1)^2)/(N1+1))+(((D2^2/N2)^2)/(N2+1)))-2
9043  PRINT '10" THE STUDENTS T VALUE IS";T0;"AT";F;"DEGREES OF FREEDOM."
9044  N=F
9045  GOTO 9056
9046  PRINT '10" THE MEAN DIFFERENCE BETWEEN SETS OF OBSERVATIONS IS";
9047  PRINT M3;",THE STANDARD DEVIATION OF THIS DIFFERENCE IS";D3
9048  PRINT "THE STUDENTS T TEST VALUE IS";T0;"AT";N1-1;"D.F."
9049  N=N1-1
9050  GOTO 9056
9051  T0=(M1-Y[1])/(D1*(SQR(1/N1)))
9052  PRINT '10"THE SAMPLE MEAN IS";M1;",THE STANDARD DEVIATION IS";D1
9053  PRINT "AND THE T TEST VALUE IS";T0;"WITH";N1-1;"DEGREES"
9054  PRINT "OF FREEDOM WHEN COMPARED WITH A STANDARD OF";Y[1]
9055  N=N1-1
9056  G=T0^2
9057  M=1
9058  A=2*INT(M/2)-M+2
9059  B=2*INT(N/2)-N+2
9060  W=G*M/N
9061  Z=1/(1+W)
9062  IF B#1 THEN 9068
9063  P=SQR(W)
9064  C=.31831
9065  D=C*Z/P
9066  P=2*C*ATN(P)
9067  GOTO 9070
9068  P=SQR(W*Z)
9069  D=.5*P*Z/W
9070  C=2*W/Z
9071  FOR J=B+2 TO N STEP 2
9072  D=(1+A/(J-2))*D*Z
9073  P=P+D*C/(J-1)
9074  NEXT J
9075  C=W*Z
9076  Z=2/Z
9077  B=N-2
9078  P=(P>1) MAX (0<P AND P<1)*P
9079  P=1-P
9080  IF P=1 AND T0>1 THEN 9082
9081  IF P>.001 THEN 9083
9082  P=0
9083  P=P/2
9084  PRINT '10"PROBABILITY OF T>= TO";T0;"WITH";N;"DEGREES OF FREEDOM"
9085  PRINT "IS";P
9900  DATA 1,12,12
9901  DATA 31,34,29,26,32,35,38,34,30,29,32,31
9902  DATA 26,24,28,29,30,29,32,26,31,29,32,28
9999  END 
