Source Code
10 PAUSE 200
12 PRINT AT 0,0;" "
14 RETURN
16 LET X=(H*7)-6
18 LET U=X+6
20 RETURN
22 PRINT AT 2,6;"NAME"
24 PRINT AT 3,0;" NAME%F%U%N%C="
26 RETURN
28 GOSUB 12
30 PRINT AT 0,0;"SCROLL:U=7,D=6,R=8,L=5,NONE=0"
32 INPUT Q
34 GOSUB 12
36 IF Q=0 THEN RETURN
38 IF Q=5 THEN LET H=-(H1=H)+H+1
40 IF Q=8 THEN LET H=H-1+(H=1)
42 IF Q=7 THEN LET V=V+1-(V>V1)
44 IF Q=6 THEN LET V=V-1+(V<4)
46 LET H2=H
47 FOR K=11 TO 25 STEP 7
48 IF H>H1 THEN GOTO 76
50 GOSUB 16
52 PRINT AT 1,K+3;CHR$ (H+37)
54 PRINT AT 2,K;A$(1,X TO U)
56 PRINT AT 3,K;A$(2,X TO U)
57 LET V2=V
58 FOR J=4 TO 18
60 IF V>V1 THEN GOTO 73
61 PRINT AT J,0;CHR$ (V+35);".";A$(V,141 TO 149)
62 PRINT AT J,K;A$(V,X TO U)
64 LET V=V+1
66 NEXT J
68 LET H=H+1
69 LET V=V2
70 NEXT K
71 LET H=H2
72 GOTO 30
73 PRINT AT J,0;" "
74 GOTO 68
76 FOR J=1 TO 18
78 PRINT AT J,K;" "
80 NEXT J
82 GOTO 71
500 PRINT AT 10,0;" %C%A%U%T%I%O%N: REFER TO INSTRUCTIONS FOR RULES AND PROCEDURES"
510 PAUSE 200
520 CLS
565 PRINT AT 0,0;"1=IN,2=C,3=F,4=W,5=TC,6=TR,7=ANS"
580 INPUT Q
590 IF Q<1 OR Q>7 THEN GOTO 570
600 GOSUB 12
610 GOTO 700+((Q-1)*1000)
700 LET Q1=0
701 CLS
702 DIM A$(22,149)
705 LET H=1
710 GOSUB 22
715 FOR K=11 TO 25 STEP 7
716 DIM X$(6)
717 PRINT AT 0,0;"INPUT COLUMN NAME;*=END"
720 PRINT AT 1,K+3;CHR$ (H+37)
725 PRINT AT 2,K;"% "
727 PRINT AT 3,K;" "
730 INPUT X$
732 GOSUB 12
735 IF X$(1)="*" THEN GOTO 805
740 GOSUB 16
745 LET A$(1,X TO U)=X$(1 TO 6)
750 PRINT AT 2,K;A$(1,X TO U)
765 PRINT AT 0,0;"INPUT COLUMN FUNCTION"
767 PRINT AT 3,K;"% "
770 INPUT A$(2,X TO U)
775 GOSUB 12
785 LET H=H+1
790 PRINT AT 3,K;A$(2,X TO U)
792 LET V=1
795 NEXT K
800 GOTO 715
805 LET H1=H-1
810 LET H=1
820 LET V=3
825 LET L=18
830 FOR K=4 TO L
835 PRINT AT 0,0;"INPUT ROW NAME;*=END"
837 PRINT AT K,0;CHR$ (V+35);"."
840 PRINT AT K,2;"% "
845 INPUT X$
850 GOSUB 12
855 IF X$(1)="*" THEN GOTO 920
860 LET A$(V,141 TO 144)=X$(1 TO 4)
865 PRINT AT K,2;A$(V,141 TO 144)
870 PRINT AT 0,0;"INPUT ROW FUNCTION"
875 PRINT AT K,6;"% "
880 INPUT A$(V,145 TO 149)
885 GOSUB 12
890 PRINT AT K,6;A$(V,145 TO 149)
895 LET V=V+1
900 NEXT K
905 IF L=8 THEN GOTO 820
910 LET L=8
915 GOTO 830
920 LET V1=V-1
925 LET H=1
930 LET V=3
935 PRINT AT 0,0;"INPUT VALUES"
940 FOR K=11 TO 25 STEP 7
945 IF H>H1 THEN GOTO 1065
950 GOSUB 16
952 PRINT AT 1,K+3;CHR$ (H+37)
955 PRINT AT 2,K;A$(1,X TO U)
957 PRINT AT 3,K;A$(2,X TO U)
960 FOR J=4 TO 18
965 PRINT AT J,K;" "
970 NEXT J
980 LET L=18
985 FOR J=4 TO L
986 IF V>V1 THEN GOTO 1045
995 PRINT AT J,0;CHR$ (V+35);".";A$(V,141 TO 149)
997 LET I=(H*7)-6
998 IF A$(V,145)="=" OR A$(2,X)="=" THEN GOTO 1130
\n1000 PRINT AT J,K;"% "
\n1010 INPUT A$(V,I TO I+6)
\n1015 PRINT AT J,K;A$(V,I TO I+6)
\n1020 LET V=V+1
\n1025 NEXT J
\n1030 IF V1<16 OR L=8 THEN GOTO 1045
\n1035 LET L=8
\n1040 GOTO 985
\n1045 LET H=H+1
\n1050 LET V=3
\n1055 NEXT K
\n1060 GOTO 940
\n1065 GOSUB 12
\n1067 PRINT AT 0,0;"INPUT CONSTANTS"
\n1070 LET Z=1
\n1075 DIM W$(120)
\n1080 FOR K=0 TO 24 STEP 8
\n1085 FOR J=19 TO 21
\n1090 PRINT AT J,K;"W";CHR$ (37+Z);"=";
\n1095 LET W1=(5*Z)-4
\n1100 INPUT X$
\n1105 IF X$(1)="*" THEN GOTO 565
\n1107 LET W$(W1 TO W1+4)=X$(1 TO 4)
\n1110 LET Z=Z+1
\n1112 PRINT W$(W1 TO W1+4)
\n1115 NEXT J
\n1120 NEXT K
\n1125 GOTO 565
\n1130 LET A$(V,I)="0"
\n1135 GOTO 1015
\n1700 LET H=1
\n1710 LET V=3
\n1720 PRINT AT 0,0;"MOVE CELL TO 1ST COL £ ROW"
\n1725 GOSUB 10
\n1730 GOSUB 46
\n1740 GOSUB 12
\n1750 PRINT AT 0,0;"INPUT NEW VALUE"
\n1760 GOSUB 16
\n1770 INPUT A$(V,X TO U)
\n1780 PRINT AT 4,11;A$(V,X TO U)
\n1790 PRINT AT 0,0;"ANOTHER CHANGE Y OR N"
\n1800 INPUT X$
\n1810 IF X$(1)="Y" THEN GOTO 1730
\n1820 GOTO 565
\n2700 CLS
\n2705 FOR H=1 TO H1
\n2710 GOSUB 16
\n2720 PRINT AT H,0;CHR$ (H+37);".";A$(1,X TO U);" ";A$(2,X TO U)
\n2730 NEXT H
\n2740 PRINT AT 0,0;"INPUT COLUMN LETTER,*=FINISHED"
\n2750 INPUT X$
\n2760 IF X$(1)="*" THEN GOTO 2860
\n2770 LET H=(CODE X$)-37
\n2780 PRINT AT H,10;"% "
\n2800 GOSUB 12
\n2810 PRINT AT 0,0;"INPUT VALUE"
\n2820 GOSUB 16
\n2830 INPUT A$(2,X TO U)
\n2835 GOSUB 12
\n2840 PRINT AT H,10;A$(2,X TO U)
\n2850 GOTO 2740
\n2860 CLS
\n2870 FOR V=3 TO V1
\n2880 PRINT AT V-2,0;CHR$ (V+35);".";A$(V,141 TO 149)
\n2900 NEXT V
\n2910 PRINT AT 0,0;"INPUT ROW LETTER,*=FINISHED"
\n2920 INPUT X$
\n2930 IF X$(1)<>"*" THEN GOTO 2955
\n2940 CLS
\n2950 GOTO 565
\n2955 LET V=CODE X$(1)-37
\n2960 PRINT AT V,6;"% "
\n2970 GOSUB 12
\n2980 PRINT AT 0,0;"INPUT VALUE"
\n2990 INPUT A$(V+2,145 TO 149)
\n3000 PRINT AT V,6;A$(V+2,145 TO 149)
\n3010 GOTO 2910
\n3700 CLS
\n3710 FOR K=1 TO 12
\n3720 PRINT AT K,0;"W";CHR$ (37+K);"=";W$((K*5)-4 TO K*5)
\n3730 PRINT AT K,15;"W";CHR$ (49+K);"=";W$(((K+12)*5)-4 TO (K+12)*5)
\n3740 NEXT K
\n3750 PRINT AT 0,0;"INPUT CONSTANT"
\n3770 INPUT X$
\n3775 GOSUB 12
\n3780 LET Z=CODE X$(2)-37
\n3790 PRINT AT Z-(12*(Z>12)),3+(15*(Z>12));"% "
\n3800 PRINT AT 0,0;"INPUT VALUE"
\n3810 INPUT X$
\n3820 IF X$(1)="*" THEN GOTO 565
\n3830 GOSUB 12
\n3840 LET W1=(Z*5)-4
\n3850 LET W$(W1 TO W1+4)=X$
\n3860 PRINT AT Z-(12*(Z>12)),3+(15*(Z>12));W$(W1 TO W1+4)
\n3870 GOTO 3750
\n4700 CLS
\n4710 PRINT AT 0,0;"INPUT COLUMN LETTER=";
\n4720 INPUT X$
\n4730 PRINT X$
\n4740 LET H=CODE X$(1)-37
\n4750 GOSUB 16
\n4760 PRINT AT 2,0;"COLUMN NAME=";A$(1,X TO U)
\n4765 LET Z=0
\n4770 FOR V=3 TO V1
\n4775 IF A$(V,X)=" " THEN GOTO 4790
\n4780 LET Z=Z+VAL A$(V,X TO U)
\n4790 NEXT V
\n4800 PRINT AT 4,0;"COLUMN TOTAL=";Z
\n4820 PRINT AT 6,0;"COLUMN AVERAGE=";(INT ((Z*100)/(V1-2)))/100
\n4830 PRINT AT 8,0;"ANOTHER COLUMN TOTAL Y OR N"
\n4840 INPUT X$
\n4850 IF X$(1)="N" THEN GOTO 520
\n4860 CLS
\n4870 GOTO 4700
\n5700 CLS
\n5710 PRINT AT 0,0;"INPUT ROW LETTER=";
\n5720 INPUT X$
\n5730 PRINT X$
\n5740 LET V=CODE X$(1)-35
\n5760 PRINT AT 2,0;"ROW NAME=";A$(V,141 TO 144)
\n5765 LET Z=0
\n5770 FOR H=1 TO H1
\n5775 GOSUB 16
\n5777 IF A$(V,X)=" " THEN GOTO 5790
\n5780 LET Z=Z+VAL A$(V,X TO U)
\n5790 NEXT H
\n5800 PRINT AT 4,0;"ROW TOTAL=";Z
\n5820 PRINT AT 6,0;"ROW AVERAGE=";(INT ((Z*100)/H1))/100
\n5830 PRINT AT 8,0;"ANOTHER ROW TOTAL Y OR N"
\n5840 INPUT X$
\n5850 IF X$(1)="N" THEN GOTO 520
\n5860 CLS
\n5870 GOTO 5700
\n6700 FOR K=1 TO (H1*7)-6 STEP 7
\n6710 IF A$(2,K)="£" THEN GOTO 6950
\n6720 FOR V=3 TO V1
\n6722 LET K1=K
\n6730 IF A$(2,K1+1)="W" THEN GOTO 6770
\n6740 LET H=CODE (A$(2,K1+1))-37
\n6745 GOSUB 16
\n6750 LET X=VAL A$(V,X TO U)
\n6760 GOTO 6800
\n6770 LET Z=CODE (A$(2,K1+2))-37
\n6780 LET Z=(Z*5)-4
\n6790 LET X=VAL W$(Z TO Z+4)
\n6800 IF A$(2,K1)="+" THEN LET A$(V,K TO K+6)=STR$ ((INT (((VAL A$(V,K TO K+6))+X)*10))/10)
\n6810 IF A$(2,K1)="-" THEN LET A$(V,K TO K+6)=STR$ ((INT (((VAL A$(V,K TO K+6))-X)*10))/10)
\n6820 IF A$(2,K1)="*" THEN LET A$(V,K TO K+6)=STR$ ((INT (((VAL A$(V,K TO K+6))*X)*10))/10)
\n6830 IF A$(2,K1)="/" AND X=0 THEN LET X=.01
\n6850 IF A$(2,K1)="/" THEN LET A$(V,K TO K+6)=STR$ ((INT (((VAL A$(V,K TO K+6))*X)/10))/10)
\n6870 IF A$(2,K1)<>"=" THEN GOTO 6940
\n6890 LET A$(V,K TO K+6)=STR$ X
\n6910 IF A$(2,K1+1)="W" OR A$(2,K1+2)=" " THEN GOTO 6940
\n6920 LET K1=K+2
\n6930 GOTO 6730
\n6940 NEXT V
\n6950 NEXT K
\n6960 FOR V=3 TO V1
\n6980 IF A$(V,145)="£" THEN GOTO 7210
\n6990 FOR H=1 TO (H1*7)-6 STEP 7
\n6995 LET K1=145
\n7010 IF A$(V,K1+1)="W" THEN GOTO 7050
\n7020 LET Z=CODE A$(V,K1+1)-35
\n7030 LET X=VAL (A$(Z,H TO H+6))
\n7040 GOTO 7080
\n7050 LET Z=CODE A$(V,K1+2)-37
\n7060 LET Z=(Z*5)-4
\n7070 LET X=VAL W$(Z TO Z+4)
\n7080 IF A$(V,K1)="+" THEN LET A$(V,H TO H+6)=STR$ ((INT (((VAL A$(V,H TO H+6))+X)*10))/10)
\n7090 IF A$(V,K1)="-" THEN LET A$(V,H TO H+6)=STR$ ((INT (((VAL A$(V,H TO H+6))-X)*10))/10)
\n7100 IF A$(V,K1)="*" THEN LET A$(V,H TO H+6)=STR$ ((INT (((VAL A$(V,H TO H+6))*X)*10))/10)
\n7110 IF A$(V,K1)="/" AND X=0 THEN LET X=.01
\n7120 IF A$(V,K1)="/" THEN LET A$(V,H TO H+6)=STR$ ((INT (((VAL A$(V,H TO H+6))/X)*10))/10)
\n7130 IF A$(V,K1)<>"=" THEN GOTO 7200
\n7150 LET A$(V,H TO H+6)=STR$ X
\n7160 IF A$(V,K1+1)="W" OR A$(V,K1+2)=" " THEN GOTO 7200
\n7180 LET K1=147
\n7190 GOTO 7010
\n7200 NEXT H
\n7210 NEXT V
\n7710 LET H=1
\n7720 LET V=3
\n7730 GOSUB 46
\n7740 GOTO 565
\n9550 SAVE "CA%L"
\n9555 LET X$="CAL"
\n9560 FAST
\n9565 LET N=0
\n9570 FOR L=5 TO 19 STEP 7
\n9575 LET N=N+1
\n9580 LET C=CODE X$(N)
\n9585 FOR H=0 TO 7
\n9590 LET P=PEEK (7680+C*8+H)
\n9595 LET V=128
\n9600 FOR G=0 TO 7
\n9605 IF P<V THEN GOTO 9625
\n9610 PRINT AT H+3,G+L;"% "
\n9615 LET P=P-V
\n9620 GOTO 9630
\n9625 PRINT AT H+3,G+L;"\@@"
\n9630 LET V=V/2
\n9635 NEXT G
\n9640 NEXT H
\n9645 NEXT L
\n9650 PRINT " Z CALC COPYRIGHT UAS"
\n9655 PRINT "BOX 612 HADDONFIELD,N.J. 08033"
\n9660 PAUSE 200
\n9670 CLS
\n9680 GOTO 500