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:12JUN74
52  REM:EXPLANATIONS FOR APPO,APPS,APPV,APPB
100  DIM C$[12]
200  IF Q[6]=47 THEN 1950
1950  PRINT "WANT FULL EXPLANATION ";
1951  Q8=0
1952  INPUT C$
1954  IF C$="N" THEN 2018
1956  Q8=1
1960  PRINT 
2000  PRINT "THE COMMANDS,"
2002  PRINT "'APPO', 'APPS', 'APPV', AND 'APPB' CAN BE USED TO ADD NEW VALUES"
2004  PRINT "OR REPLACE OLD VALUES IN THE DATA MATRIX FROM A FILE OR DIRECTLY"
2006  PRINT "FROM A TERMINAL."
2008  PRINT "'APPS' IS THE MOST GENERAL COMMAND AND CAN BE USED INSTEAD OF"
2010  PRINT "'APPO', 'APPB', OR 'APPV', OR EVEN 'CHGO'."
2012  PRINT "'APPS' CAN ALSO BE USED TO ENTER VALUES IN THE SCRATCH PAD IF"
2014  PRINT "SCRATCH COLUMNS HAVE BEEN DECLARED IN 'RDIM'."
2016  PRINT 
2018  PRINT "FOR EXAMPLE, IF THERE IS DATA IN 50 OF 100 POSSIBLE DATA ROWS"
2020  PRINT "AND 5 OF 19 POSSIBLE DATA COLUMNS, BUT 3 ROWS ARE UNDEFINED"
2022  PRINT "BECAUSE OF THE PREVIOUS USE OF 'DIFF' OR 'LAGG',"
2024  PRINT "THE FOLLOWING LIMITS APPLY:"
2026  GOSUB 9020
2028  IF Q8=1 THEN 2030
2029  GOTO Q1 OF 2030,2044,2036,2034
2030  PRINT "APPO    ADD 1 ROW I OF 5 VALUES, WHERE 4<=I<=51."
2032  IF Q8=0 THEN 2061
2034  PRINT "APPB    ADD ROWS I1 TO I2, WHERE 4<=I1<=I2<=100 AND I1<=51."
2035  IF Q8=0 THEN 2061
2036  PRINT "APPV    ADD 1 COLUMN, J, OF 50 VALUES IN ROWS 1 TO 50.  (THE"
2038  PRINT "        NUMBER OF UNDEFINED ROWS MAY BE CHANGED.)"
2040  IF Q8=0 THEN 9990
2044  PRINT "APPS    ADD COLUMNS J1 TO J2 AND ROWS I1 TO I2,"
2045  PRINT "        WHERE 1<=J1<=J2<=19, BUT IF:"
2046  PRINT "        J2>5 , THEN ROWS I1 AND I2 MUST BE 1 AND 50."
2048  PRINT "        J1=1 AND J2=5, THEN 1<=I1<=I2<=100."
2050  PRINT "        J2<=5, THEN 1<=I1<=I2<=50."
2052  PRINT "        THAT IS, YOU CANNOT CREATE A NON-RECTANGULAR DATA MATRIX."
2054  PRINT "        THE NUMBER OF UNDEFINED ROWS, Q4-1, WILL BE CHANGED IF"
2056  PRINT "        J IS AN OLD COLUMN WITH SOME UNDEFINED ROWS."
2061  PRINT 
2062  PRINT "USE OF 'APPO' OR 'APPB' CANNOT CHANGE THE NUMBER OF UNDEFINED"
2064  PRINT "ROWS."
2065  PRINT 
2066  GOTO 9990
9020  IF P[64]=0 OR P[64]>10 THEN 9180
9030  PRINT "* MORE ?";
9040  ENTER 255,Q8,C$
9050  PRINT 
9070  IF Q8>0 THEN 9130
9080  PRINT "PLEASE RESPOND:"
9090  PRINT "NO,"'10"FOLLOWED BY A CARRIAGE RETURN, ";
9100  PRINT "IF YOU DON'T WANT ANY MORE EXPLANATION"
9110  PRINT "WITH A CARRIAGE RETURN ONLY,"'10"IF YOU WANT MORE EXPLANATION"
9120  GOTO 9030
9130  IF C$="" THEN 9190
9132  IF C$[1,1]="Y" THEN 9190
9140  IF C$[1,1]="N" THEN 9998
9150  IF C$[1,1]="?" THEN 9080
9160  PRINT "INVALID RESPONSE."
9170  GOTO 9080
9180  PRINT 
9190  RETURN 
9990  PRINT "TO USE '";E$;"', REISSUE '";E$;"'."
9998  CHAIN "$IDA",150
9999  END 
