1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM        APDSTP:   CTC ACCOUNTS PAYABLE
4  REM
5  REM        36638 REV  A   PART 18 OF 24   6/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
10  DIM X$[1],J$[70],K$[10]
11  DIM T[2,2]
100  FILES *S4
300  REM *CTRL I,E*
310  PRINT '9;'5
320  READ #1;V$,B1,D1
400  IF  END #1 THEN 500
405  READ #1;A1,A2,X,X1
410  I=2
415  IF SGN(X)<0 OR SGN(X1)<0 THEN 425
420  I=1
425  X2=T[I,1]+X
430  X3=T[I,2]+X1
435  GOSUB 3500
440  T[I,1]=X2
445  T[I,2]=X3
450  GOTO 405
500  GOSUB 3000
510  READ #1,1
520  J$[1,10]="7005100029"
525  FOR I=11 TO 41
530  J$[I,I]=" "
535  NEXT I
540  READ #1;J$[42,60],B1,D1
545  J$[61,70]="          "
550  K$="          "
1000  IF  END #1 THEN 2100
1005  READ #1;A1,A2,X,X1
1010  X$=" "
1015  Z$="####  ##  ####  "
1020  IF A1#0 THEN 1040
1025  Z$[7]="          "
1030  Z[1]=A2
1035  GOTO 1080
1040  IF A1>9999 THEN 1065
1045  Z$[7,8]="  "
1050  Z[1]=A1
1055  Z[2]=A2
1060  GOTO 1080
1065  Z[1]=INT(A1/100)
1070  Z[2]=A1-Z[1]*100
1075  Z[3]=A2
1080  REM
1085  GOSUB 9000
1090  J$[11,26]=V$
1095  Z$="########"
1100  X$="0"
1105  Z[1]=X
1110  GOSUB 9000
1115  IF SGN(X)<0 OR SGN(X1)<0 THEN 1130
1120  J$[61,68]=V$
1125  GOTO 1135
1130  K$[1,8]=V$
1135  Z$="##"
1140  Z[1]=X1
1145  GOSUB 9000
1150  IF SGN(X)<0 OR SGN(X1)<0 THEN 1170
1155  J$[69,70]=V$
1160  K$="          "
1165  GOTO 1180
1170  K$[9,10]=V$
1175  J$[61,70]="          "
1180  GOSUB 4000
1185  REM
2050  GOTO 1005
2100  REM *CTRL D*
2110  PRINT '4;
2120  END 
3000  J$[1,2]="96"
3005  Z$="## ######"
3010  X$=" "
3020  Z[1]=B1
3025  Z[2]=D1
3027  GOSUB 9000
3030  J$[3,4]=V$[1,2]
3035  J$[5,10]=V$[4]
3040  Z$="######### ## ######### ##"
3045  X$="0"
3050  Z[1]=T[1,1]
3055  Z[2]=T[1,2]
3060  Z[3]=T[2,1]
3062  Z[4]=T[2,2]
3063  GOSUB 9000
3065  FOR I=11 TO 58
3070  J$[I,I]=" "
3075  NEXT I
3080  J$[59,67]=V$[1,9]
3085  J$[68,69]=V$[11,12]
3090  J$[70,70]=V$[14,14]
3095  K$[1,8]=V$[15,22]
3100  K$[9,10]=V$[24,25]
3110  GOSUB 4000
3140  RETURN 
3500  REM
3505  IF X3>-100 THEN 3520
3510  X2=X2-1
3515  X3=X3+100
3520  IF X3>99 THEN 3545
3525  IF SGN(X2)*SGN(X3) >= 0 THEN 3540
3530  X2=X2-SGN(X2)
3535  X3=X3-100*SGN(X3)
3540  RETURN 
3545  X2=X2+INT((X3*.01))
3550  X3=(X3*.01-INT(X3*.01))*100
3555  IF X3-INT(X3)<.9 THEN 3565
3560  X3=INT(X3)+1
3565  RETURN 
4000  REM *CTRL R*
4010  PRINT '18;J$;K$
4020  REM *CTRL T*
4030  PRINT '20
4040  RETURN 
9000  REM
9040  V=Z2=Z3=Z4=Z5=Z7=Z8=Z9=1
9050  DIM V$[72],Y$[10],Z$[72]
9060  Y$="0123456789"
9065  V$=""
9070  Z0=Z9-1
9080  Z0=Z0+1
9090  IF Z0=LEN(Z$)+1 THEN 9650
9100  IF Z$[Z0,Z0]="#" THEN 9170
9110  IF Z$[Z0,Z0+1]=".#" THEN 9170
9120  IF Z$[Z0,Z0+1]="+#" THEN 9150
9130  V$[V,V]=Z$[Z0,Z0]
9131  V=V+1
9140  GOTO 9080
9150  Z4=0
9160  GOTO 9080
9170  Z=100
9180  Z6=Z[Z2]
9190  Z9=Z0-1
9200  Z9=Z9+1
9210  IF Z$[Z9,Z9]="." THEN 9240
9220  IF Z$[Z9,Z9]="#" THEN 9200
9230  GOTO 9280
9240  IF Z5#1 THEN 9280
9250  Z5=0
9260  Z=Z9
9270  GOTO 9200
9280  IF Z#100 THEN 9300
9290  Z=Z9
9300  IF Z4=1 THEN 9350
9310  IF Z6 >= 0 THEN 9340
9320  V$[V,V]="-"
9321  V=V+1
9330  GOTO 9350
9340  V$[V,V]=" "
9341  V=V+1
9350  IF Z=Z9 THEN 9380
9360  Z6=ABS(Z6)+5*10^(Z-Z9)
9370  GOTO 9390
9380  Z6=ABS(Z6)+.5
9390  Z7=10^(Z-Z0-1)
9400  Z4=10*Z7
9410  FOR Z1=Z-Z0 TO Z+1-Z9 STEP -1
9420  IF Z1#0 THEN 9460
9430  V$[V,V]="."
9431  V=V+1
9440  Z3=0
9450  GOTO 9610
9460  Z8=INT(Z6/Z7)
9470  IF Z6<Z4 THEN 9500
9480  V$[V,V]="#"
9481  V=V+1
9490  GOTO 9600
9500  Z6=Z6-Z8*Z7
9510  IF Z8=0 THEN 9530
9520  Z3=0
9530  IF Z3=0 THEN 9590
9540  IF Z1#1 THEN 9570
9550  V$[V,V]="0"
9551  V=V+1
9560  GOTO 9600
9570  V$[V,V]=X$
9571  V=V+1
9580  GOTO 9600
9590  V$[V,V]=Y$[Z8+1,Z8+1]
9591  V=V+1
9600  Z7=Z7/10
9610  NEXT Z1
9620  Z3=Z4=Z5=Z7=1
9630  Z2=Z2+1
9640  GOTO 9070
9650  REM
9670  RETURN 
9999  END 
