10 COM X[103,22],M[19,19],U[19,19],Q[20],V[20],P[78] 30 COM M$[60],N$[72] 40 COM N,K,N8,K8,N9,K9,Q9,Q7,Q5,Q4,Q3,Q2,Q1 45 COM I3,I4,U9,X$[20] 46 COM E$[4] 50 REM:13JUN74 52 REM:Q1=1 FOR>APPO;=2 FOR>APPS;=3 FOR>APPV;=4 FOR>APPB 100 DIM C$[7],D$[12],F$[7],A[19] 102 PRINT 104 Q[6]=47 110 GOTO Q1 OF 112,114,116,118 112 E$="APPO" 113 GOTO 130 114 E$="APPS" 115 GOTO 130 116 E$="APPV" 117 GOTO 130 118 E$="APPB" 130 IF Q9>1 THEN 150 132 PRINT "WANT EXPLANATION "; 134 INPUT D$ 136 IF D$[1,1]="N" THEN 150 138 GOTO 9947 150 FILES * 154 IF Q1#2 THEN 200 156 IF P[63]=0 THEN 200 170 PRINT "WANT TO USE 'APPS' WITH DATA SUBMATRIX "; 172 INPUT D$ 174 IF D$[1,1]="N" THEN 178 176 GOTO 200 178 PRINT TAB(22);"WITH SCRATCH PAD "; 180 INPUT D$ 182 IF D$[1,1]="N" THEN 9998 184 PRINT USING 8000;P[63] 186 Z3=K9+3 187 Z2=N9+3 188 Z4=P[63] 190 GOTO 1600 200 IF Q[1]=0 THEN 9990 204 GOTO Q1 OF 1400,206,1200,5000 206 PRINT "DATA NOW IN "; 208 PRINT USING 8002;N,N9,K,K9-1 210 Z2=N9 212 Z3=1 214 Z4=K+1 216 IF Q4=1 THEN 222 218 PRINT USING 8004;Q4-1 220 PRINT USING 8006 222 GOTO 1600 250 PRINT 255 GOTO Q9 OF 300,260,280 260 PRINT "* MODE OF INPUT IS "; 270 GOTO 310 280 PRINT "* MODE = "; 290 GOTO 310 300 PRINT "* MODE OF INPUT : FROM 'FILE' OR 'TERMINAL' ?"; 310 ENTER 30,Q8,D$ 315 PRINT 320 IF Q8>0 THEN 350 330 PRINT "RESPOND 'F' FOR FILE OR 'T' FOR TERMINAL : "; 340 GOTO 310 350 IF D$[1,1]="F" THEN 390 360 IF D$[1,1]="T" THEN 422 370 PRINT "RESPONSE INVALID" 380 GOTO 330 390 PRINT 392 GOTO Q9 OF 400,395,395 395 PRINT "NAME IS "; 396 GOTO 402 400 PRINT "NAME OF INPUT FILE IS "; 402 INPUT F$ 404 ASSIGN F$,1,Q8 406 IF Q8 <= 2 THEN 421 410 PRINT "CANNOT FIND '"F$"'. CHECK YOUR SPELLING!" 420 GOTO 400 421 IF END #1 THEN 500 422 PRINT 425 RETURN 500 PRINT "NOT ENOUGH OR NO DATA IN '"F$"'." 510 PRINT "IT'S PROBABLY ALL MESSED UP." 520 GOTO 9998 1200 Z3=1 1204 Z4=(K+1) MIN (K9-1) 1206 IF K0 THEN 1226 1218 PRINT USING 8010;Z4 1220 PRINT USING 8012;Z3 1222 PRINT USING 8014 1224 GOTO 1210 1226 IF J=0 THEN 9996 1228 IF J>.9 AND J<(Z4+.1) THEN 1232 1230 GOTO 1218 1232 IF J>K THEN 1236 1234 PRINT USING 8008;E$ 1236 PRINT USING 8016;N 1238 GOSUB 250 1240 IF D$[1,1]="T" THEN 1252 1242 GOSUB 7000 1244 FOR I=1 TO N 1246 READ #1;X[I,J] 1248 NEXT I 1250 GOTO 1262 1252 PRINT "DATA FOR COLUMN "J 1254 FOR I=1 TO N 1256 PRINT "ROW "I" "; 1258 INPUT X[I,J] 1260 NEXT I 1262 I3=I4=J 1264 X[N9+3,J]=0 1266 Q[8]=Q[6] 1268 GOTO 9912 1400 Z1=Q4 1404 Z2=(N+1) MIN N9 1406 IF N0 THEN 1426 1418 PRINT USING 8010;Z2 1420 PRINT USING 8012;Z1 1422 PRINT USING 8014 1424 GOTO 1410 1426 IF I=0 THEN 9996 1428 IF I>Z1-.1 AND I1 THEN 1610 1608 PRINT "GIVE TWO VALUES, SEPARATED BY COMMAS, FOR:" 1610 PRINT "FIRST COL., LAST COL. OF NEW NUMBERS : "; 1616 INPUT J1,J2 1618 IF J1=0 OR J2=0 THEN 9996 1630 IF J1 <= J2 THEN 1638 1632 PRINT USING 8020 1634 PRINT USING 8014 1636 GOTO 1610 1638 IF J1>.9 AND J1K9 THEN 1652 1650 Z4=K9-1 1652 IF J2>.9 AND J2Z1-.1 AND I2>Z1-.1 THEN 1704 1696 IF Q1=2 THEN 9996 1698 PRINT USING 8004;Q4-1 1700 PRINT USING 8006 1702 GOTO 9996 1704 IF Z3>K9 THEN 1728 1706 IF Q1=4 THEN 1714 1708 IF I2>Q4-2 THEN 1714 1710 PRINT "LAST ROW TOO SMALL" 1712 GOTO 1670 1714 IF I1K9 THEN 1690 1736 IF Z2>N THEN 1690 1738 PRINT "IF FIRST AND LAST COL.(S) ARE NOT 1,"K 1740 GOTO 1690 1742 I1=1 1744 I2=N 1800 PRINT 1801 PRINT "NEW NUMBERS WILL BE ENTERED IN:" 1802 PRINT "ROWS";I1;"TO";I2;","; 1803 IF Z3>K9 THEN 1808 1804 PRINT "DATA COL.(S)"J1"TO"J2; 1806 GOTO 1810 1808 PRINT "SCRATCH COL.(S)"J1-(K9+2)"TO"J2-(K9+2); 1810 PRINT ", BY ROWS." 1812 GOSUB 250 1814 IF D$[1,1]="T" THEN 1830 1816 GOSUB 7000 1818 FOR I=I1 TO I2 1820 FOR J=J1 TO J2 1822 READ #1;X[I,J] 1824 NEXT J 1826 NEXT I 1828 GOTO 1850 1830 PRINT "DATA FOR: " 1832 FOR I=I1 TO I2 1834 PRINT "ROW"I" : "; 1836 MAT INPUT A[J2-J1+1] 1838 J3=0 1840 FOR J=J1 TO J2 1842 J3=J3+1 1844 X[I,J]=A[J3] 1846 NEXT J 1848 NEXT I 1850 IF Z3>K9 THEN 1890 1852 FOR I=I1 TO I2 1854 X[I,K9+2]=1 1856 NEXT I 1858 IF Q1=2 THEN 1868 1860 I3=I1 1862 I4=I2 1864 Q[8]=0 1866 GOTO 9912 1868 Q[9]=I1 1870 Q[10]=I2 1872 Q[8]=Q[6] 1874 I3=J1 1876 I4=J2 1878 IF J1>K THEN 9912 1880 FOR J=J1 TO J2 1882 X[N9+3,J]=(I1-1) MIN (X[N9+3,J]) 1884 NEXT J 1886 REM:CHAIN TO IDA912 FOR UPDATING N,K,Q4,MEANS, STD.DEV. 1888 GOTO 9912 1890 IF Q9>1 THEN 9998 1892 PRINT "'PRTS' OR 'FPRS' CAN BE USED TO PRINT OUT SCRATCH VALUES." 1894 GOTO 9998 5000 Z1=Q4 5010 Z3=J2=K 5020 J1=1 5030 GOTO 1670 7000 GOTO Q9 OF 7005,7005,7010 7005 PRINT "* WANT TO DELETE FIRST TWO ELEMENTS OF INPUT FILE" 7006 PRINT " BEFORE DATA VALUES ARE READ ? "; 7007 GOTO 7020 7010 PRINT "* DELETE 1ST TWO VALUES ? "; 7020 ENTER 20,Q8,C$ 7025 PRINT 7030 IF Q8>0 THEN 7100 7040 PRINT "IF THE FIRST TWO ELEMENTS OF YOUR DATA FILE ARE" 7050 PRINT "VALUES FOR N AND K (SIZE OF DATA MATRIX TO FOLLOW)" 7060 PRINT "THEN YOU WILL WANT THEM DELETED HERE. IF YOUR FILE" 7070 PRINT "CONTAINS DATA ALONE, THEN ANSWER 'NO'." 7080 GOTO 7010 7100 IF C$[1,1]="H" THEN 7040 7105 IF C$[1,1]="?" THEN 7040 7110 IF C$[1,1]="N" THEN 7160 7120 IF C$[1,1]="Y" THEN 7150 7130 PRINT "RESPONSE INVALID. ANSWER 'YES', 'NO', OR '?'." 7140 GOTO 7010 7150 READ #1;I,I 7160 RETURN 8000 IMAGE "SCRATCH PAD NOW HAS ",2D,"COL.(S)" 8002 IMAGE "FIRST ",3D," OF ",3D," ROWS AND FIRST ",2D," OF ",2D," COL.(S)" 8004 IMAGE #,"FIRST ",3D," ROWS UNDEFINED " 8006 IMAGE "BECAUSE OF PREVIOUS USE OF 'DIFF' OR 'LAGG'." 8008 IMAGE "USE OF ",4A," WILL ERASE PART OF CURRENT DATA. WARNING ONLY!" 8010 IMAGE "NUMBER SHOULD BE ",3D," OR LESS" 8012 IMAGE "BUT NOT LESS THAN ",3D 8013 IMAGE "BUT NOT LESS THAN 1." 8014 IMAGE "TRY AGAIN!" 8016 IMAGE "REMINDER: LENGTH OF INPUT VECTOR SHOULD BE ",4D 8020 IMAGE "FIRST NUMBER CANNOT BE LARGER THAN LAST." 9912 CHAIN "$IDA912" 9947 CHAIN "$IDAE47" 9990 CHAIN "$IDA",9990 9996 PRINT "'"E$"' NOT EXECUTED." 9998 CHAIN "$IDA",150 9999 END