ZCALC

Date: 198x
Type: Cassette
Platform(s): TS 1000

Content

Appears On

Related Products

Related Articles

Related Content

Image Gallery

ZCALC

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

People

No people associated with this content.

Scroll to Top