mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-01 17:26:38 +00:00
300 lines
6.1 KiB
QBasic
300 lines
6.1 KiB
QBasic
|
||
1050 PRINT"CALCULATE GAMMA(1=YES, 0=NO)";
|
||
1055 INPUTZ
|
||
1060 IFZ<>1THEN185
|
||
1065 LETS=0
|
||
1070 FORZ=A2TOA1-1
|
||
1075 FORZ1=C2TOC1-1
|
||
1080 LETS1=0
|
||
1085 FORX=Z+1TOA1
|
||
1090 FORX1=Z1+1TOC1
|
||
1095 LETS1=S1+P(X,X1)
|
||
1100 NEXTX1
|
||
1105 NEXTX
|
||
1110 LETS=S+P(Z,Z1)*S1
|
||
1115 NEXTZ1
|
||
1120 NEXTZ
|
||
1125 LETN=0
|
||
1130 FORZ=A2TOA1-1
|
||
1135 FORZ1=C2+1TOC1
|
||
1140 LETR=0
|
||
1145 FORX=Z+1TOA1
|
||
1150 FORX1=C2TOZ1-1
|
||
1155 LETR=R+P(X,X1)
|
||
1160 NEXTX1
|
||
1165 NEXTX
|
||
1170 LETN=N+P(Z,Z1)*R
|
||
1175 NEXTZ1
|
||
1180 NEXTZ
|
||
1185 IFS+N=0THEN1200
|
||
1190 PRINT"GAMMA = ";INT(100*(S-N)/(S+N)+.5)*.01
|
||
1195 GOTO1205
|
||
1200 PRINT"GAMMA = 0"
|
||
1205 PRINT
|
||
|
||
100 REM SAP - SURVEY ANALYSIS PROGRAM
|
||
105 REM COPYRIGHT 1972,1973 - STATE UNIVERSITY OF NEW YORK
|
||
110 REM DEVELOPED BY D. KLASSEN
|
||
115 REM PROGRAMMED BY S. HOLLANDER
|
||
120 REM LATEST REVISION: 7-30-73
|
||
125 DEF FNA(Y)=INT(10*Y+.5)/10
|
||
130 DEF FNB(Y)=INT(R/10^(C0-Y)-INT(R/10^(C0-Y+1))*10)
|
||
135 DEF FNE(Y)=SGN(SGN(9-Y)+SGN(Y-W))-ABS(SGN(Y-INT(Y)))
|
||
140 DIMP(10,10)
|
||
150 PRINT
|
||
155 PRINT" ","SURVEY ANALYSIS PROGRAM"
|
||
160 PRINT
|
||
161 REM V2: FORMAT TYPEOUT-LINES UP DECPOINT-C.S. V2=0
|
||
162 LETV2=1
|
||
165 REM V:COLUMN WIDTH-C.S.USE <=5 IF CR/LF OCCURS PREMATURELY
|
||
170 LETV=6
|
||
175 REM W: LOWER LIMIT FOR SUBSCRIPTS-CERTAIN SYSTEMS USE 1 HERE
|
||
180 LETW=0
|
||
181 PRINT"HOW MANY VARIABLES";
|
||
182 INPUTC0
|
||
185 RESTORE
|
||
190 PRINT
|
||
200 PRINT"OPTION ";
|
||
205 INPUTL
|
||
210 PRINT
|
||
215 IFL=0THEN200
|
||
216 IFL=6THEN2000
|
||
220 IFINT(L)<>LTHEN200
|
||
225 IFABS(L)>5THEN200
|
||
230 IFL=-1THEN315
|
||
235 IFL<>1THEN440
|
||
240 PRINT"VARIABLE";
|
||
245 INPUTC
|
||
250 LETA=0
|
||
255 GOSUB1440
|
||
280 READR
|
||
285 IFR<0THEN315
|
||
290 LETZ=FNB(C)
|
||
295 IFZ>0THEN305
|
||
300 IFW=1THEN280
|
||
305 LETP(1,Z)=P(1,Z)+1
|
||
310 GOTO280
|
||
315 LETM=C
|
||
320 GOSUB1270
|
||
325 PRINT"RANGE OF VAR. ";C;
|
||
330 INPUTC2,C1
|
||
331 IFFNE(C2)+FNE(C1)<2THEN325
|
||
335 PRINT
|
||
340 LETT=0
|
||
345 LETN=0
|
||
350 PRINT"VALUE NO."
|
||
355 FORZ=C2TOC1
|
||
360 LETN=N+P(1,Z)
|
||
365 LETT=T+(Z+1)*P(1,Z)
|
||
370 PRINT" ";Z;P(1,Z)
|
||
375 NEXTZ
|
||
380 PRINT"TOTAL ";N
|
||
385 PRINT
|
||
390 IFN=0THEN655
|
||
395 LETM=T/N-1
|
||
400 PRINT"MEAN = ";FNA(M)
|
||
405 LETR=0
|
||
410 FORZ=C2TOC1
|
||
415 LETR=R+(Z-M)^2*P(1,Z)
|
||
420 NEXTZ
|
||
425 PRINT"S.D. = ";FNA(SQR(R/N))
|
||
430 PRINT
|
||
435 GOTO185
|
||
440 IFL<0THEN525
|
||
445 PRINT"VARIABLES ";
|
||
450 INPUTA,C
|
||
455 GOSUB1440
|
||
480 READR
|
||
485 IFR<0THEN525
|
||
490 LETZ=FNB(A)
|
||
495 LETR=FNB(C)
|
||
500 IFZ<WTHEN480
|
||
505 IFR<WTHEN480
|
||
515 LETP(Z,R)=P(Z,R)+1
|
||
520 GOTO480
|
||
525 LETM=A
|
||
530 GOSUB1270
|
||
535 LETM=C
|
||
540 GOSUB1270
|
||
545 FORZ=WTO10
|
||
550 LETP(Z,10)=0
|
||
555 LETP(10,Z)=0
|
||
560 NEXTZ
|
||
565 PRINT"RANGE OF VAR. ";A;
|
||
570 INPUTA2,A1
|
||
571 IFFNE(A2)+FNE(A1)<2THEN565
|
||
572 LETM1=0
|
||
575 PRINT"RANGE OF VAR. ";C;
|
||
580 INPUTC2,C1
|
||
581 IFFNE(C2)+FNE(C1)<2THEN575
|
||
585 PRINT
|
||
586 LETM2=0
|
||
590 PRINT
|
||
595 PRINT
|
||
600 LETL=ABS(L)
|
||
605 LETT=0
|
||
610 FORZ=A2TOA1
|
||
615 FORZ1=C2TOC1
|
||
620 LETM=P(Z,Z1)
|
||
625 LETP(Z,10)=P(Z,10)+M
|
||
630 LETP(10,Z1)=P(10,Z1)+M
|
||
635 LETT=T+M
|
||
640 NEXTZ1
|
||
645 NEXTZ
|
||
650 IFT>0THEN665
|
||
655 PRINT"ALL ZEROS"
|
||
660 GOTO185
|
||
665 IFL=5THEN705
|
||
670 PRINT"OBSERVED FREQUENCIES ";
|
||
675 IFL=3THEN695
|
||
680 IFL<4THEN710
|
||
685 PRINT"BY COLUMN PERCENTAGES";
|
||
690 GOTO710
|
||
695 PRINT"BY ROW PERCENTAGES";
|
||
700 GOTO710
|
||
705 PRINT"EXPECTED FREQUENCIES";
|
||
710 PRINT
|
||
715 PRINT"(ROW: VAR. ";A;", COLUMN: VAR. ";C;")"
|
||
720 PRINT
|
||
725 PRINT
|
||
730 LETR=12+(C1-C2)*V
|
||
735 FORZ=C2TOC1
|
||
740 PRINTTAB(5+(Z-C2)*V);Z;
|
||
745 NEXTZ
|
||
750 IFL=4THEN760
|
||
755 PRINTTAB(R-2);"TOTALS";
|
||
760 PRINT
|
||
765 PRINT
|
||
770 PRINT
|
||
775 FORZ=A2TOA1
|
||
780 PRINTZ;
|
||
782 LETM1=M1+P(Z,10)*(Z+1)
|
||
785 FORZ1=C2TOC1
|
||
790 IFL=2THEN815
|
||
795 IFL=3THEN830
|
||
800 IFL=4THEN850
|
||
805 LETX=FNA(P(Z,10)*P(10,Z1)/T)
|
||
810 GOTO820
|
||
815 LETX=P(Z,Z1)
|
||
820 LETM=P(Z,10)
|
||
825 GOTO875
|
||
830 IFP(Z,10)=0THEN865
|
||
835 LETX=FNA(100*P(Z,Z1)/P(Z,10))
|
||
840 LETM=100
|
||
845 GOTO875
|
||
850 IFP(10,Z1)=0THEN865
|
||
855 LETX=FNA(100*P(Z,Z1)/P(10,Z1))
|
||
860 GOTO875
|
||
865 LETX=0
|
||
870 LETM=0
|
||
875 GOSUB1215
|
||
880 NEXTZ1
|
||
885 IFL=4THEN905
|
||
890 LETN=R
|
||
885 LETX=M
|
||
900 GOSUB1220
|
||
905 PRINT
|
||
910 PRINT
|
||
915 NEXTZ
|
||
920 IFL=3THEN995
|
||
925 PRINT"TOTALS"
|
||
930 PRINT
|
||
935 FORZ1=C2TOC1
|
||
936 LETM2=M2+P(10,Z1)*(Z1+1)
|
||
940 IFL=4THEN955
|
||
945 LETX=P(10,Z1)
|
||
950 GOTO960
|
||
955 LETX=100
|
||
960 GOSUB1215
|
||
965 NEXTZ1
|
||
970 IFL=4THEN990
|
||
975 LETX=T
|
||
980 LETN=R
|
||
985 GOSUB1220
|
||
990 PRINT
|
||
995 PRINT
|
||
1000 IFL<>2THEN185
|
||
1005 LETH=0
|
||
1010 FORZ=A2TOA1
|
||
1015 FORX=C2TOC1
|
||
1020 LETE=P(Z,10)*P(10,X)/T
|
||
1025 IFE=0THEN1035
|
||
1030 LETH=H+(P(Z,X)-E)^2/E
|
||
1035 NEXTX
|
||
1040 NEXTZ
|
||
1045 PRINT"CHI SQUARE= ";FNA(H);" DF= ";FNA((A1-A2)*(C1-C2))
|
||
1210 GOTO185
|
||
1215 LETN=5+(Z1-C2)*V
|
||
1220 IFX=0THEN1260
|
||
1225 IFX>=1THEN1240
|
||
1230 LETN=N+V2
|
||
1235 GOTO1260
|
||
1240 IFX<10THEN1260
|
||
1245 LETN=N-1
|
||
1250 IFX<100THEN1260
|
||
1255 LETN=N-1
|
||
1260 PRINTTAB(N);X;
|
||
1265 RETURN
|
||
1270 PRINT"NUMBER OF VALUES TO BE RECODED FOR VARIABLE ";M;
|
||
1275 INPUTN
|
||
1280 IFN=0THEN1415
|
||
1285 IFFNE(N)<1THEN1270
|
||
1290 PRINT"RECODED NEW VALUE";
|
||
1295 INPUTR
|
||
1300 IFFNE(R)<1THEN1290
|
||
1305 FORZ=WTO10
|
||
1310 LETP(Z,10)=0
|
||
1315 NEXTZ
|
||
1320 FORZ1=1TON
|
||
1325 PRINTTAB(8);"OLD VALUE";
|
||
1330 INPUTX
|
||
1331 IFFNE(X)<1THEN1325
|
||
1335 FORZ=WTO9
|
||
1340 IFM=ATHEN1360
|
||
1345 LETP(Z,10)=P(Z,10)+P(Z,X)
|
||
1350 LETP(Z,X)=0
|
||
1355 GOTO1370
|
||
1360 LETP(Z,10)=P(Z,10)+P(X,Z)
|
||
1365 LETP(X,Z)=0
|
||
1370 NEXTZ
|
||
1375 NEXTZ1
|
||
1380 FORZ=WTO9
|
||
1385 IFM=ATHEN1400
|
||
1390 LETP(Z,R)=P(Z,10)
|
||
1395 GOTO1405
|
||
1400 LETP(R,Z)=P(Z,10)
|
||
1405 NEXTZ
|
||
1410 GOTO1270
|
||
1415 PRINT
|
||
1420 RETURN
|
||
1430 PRINT"BAD RESPONDENT DATA, RESPONDENT ";N
|
||
1435 STOP
|
||
1440 FORZ=WTO10
|
||
1441 FORZ1=WTO10
|
||
1450 LETP(Z,Z1)=0
|
||
1455 NEXTZ1
|
||
1460 NEXTZ
|
||
1465 RETURN
|
||
1500 DATA 111,111,112,111,111
|
||
1501 DATA 111,112,111,122,122
|
||
1502 DATA 122,122,122,121,122
|
||
1503 DATA 122,121,121,122,122
|
||
1404 DATA 212,211,211,211,211
|
||
1505 DATA 211,212,211,211,212
|
||
1506 DATA 221,221,222,221,221
|
||
1507 DATA 222,222,222,222,222
|
||
1508 DATA 311,311,311,311,311
|
||
1509 DATA 311,312,312,312,312
|
||
1510 DATA 311,311,321,321,322
|
||
1511 DATA 322,322,322,322,322
|
||
1512 DATA 411,411,411,411,412
|
||
1513 DATA 411,411,411,411,422
|
||
1514 DATA 422,422,422,422,422
|
||
1515 DATA 421,421,421,421,421
|
||
1516 DATA 422,422,422,411,211
|
||
1517 DATA 222,211,212,111,111
|
||
1518 DATA 122,112,311,312,321
|
||
1519 DATA 321
|
||
1995 DATA -1
|
||
2000 END
|
||
*U*3 /B$$BB$$BB$$B |