10  COM P9,P8,P,T1,T[30],R[30],A$[18],C$[36],A[80],B[80],N[80],M[80]
20  COM I2,E$[6],D$[18],S$[26],T7,T8,T9
25  REM HP CONTRIBUTED LIBRARY, 2/75, 6 PROGRAMS; ATG, ATGE, ATGIB,
26  REM ATGM1, ATGW
30  DIM S[80],H$[30]
40  DEF FNR()=(INT(*100+.5))/100
50  FOR I=1 TO T1
60  N[I]=M[I]
70  A[I]=B[I]
80  NEXT I
90  F=1
100  L=T7
110  GOSUB 190
120  PRINT '10'10TAB(21);C$
130  PRINT '10TAB(26);"WORK SHEET"
140  PRINT '10TAB(22);A$;'10'10
150  PRINT "  ACCOUNT TITLE   I"TAB(36)"I"TAB(54)"I"
160  PRINT "  TRIAL BALANCE   I   ADJUSTMENTS   I INCOME STATEMNT I  BALANCE SHEET"
170  PRINT "  DR.       CR.   I  DR.       CR.  I  DR.       CR.  I  DR.       CR."
180  GOTO 310
190  FOR I=F TO L-1
200  FOR J=I+1 TO L
210  IF N[I] <= N[J] THEN 280
220  S=N[I]
230  N[I]=N[J]
240  N[J]=S
250  S=A[I]
260  A[I]=A[J]
270  A[J]=S
280  NEXT J
290  NEXT I
300  RETURN 
310  F=T7+1
320  L=T1
330  GOSUB 190
340  I2=0
350  I9=1
360  FOR I=1 TO T7
370  IF I9=1 THEN 410
380  FOR I4=1 TO I9-1
390  IF N[I]=S[I4] THEN 690
400  NEXT I4
410  FOR I3=1 TO 80
420  IF N[I]=I3 THEN 460
430  NEXT I3
440  PRINT '7"*"'7"*"'7"*"'7"*"'7"*"'7" ERROR - ACCOUNT NUMBERS DO NOT MATCH "'7"*"'7"*"'7"*"'7"*"'7"*"'7'10
450  CHAIN "$ATGE"
460  S[I9]=I3
470  I9=I9+1
480  IF N[I]=2*INT(N[I]/2) THEN 510
490  S[I9]=I3+1
500  GOTO 520
510  S[I9]=I3-1
520  I9=I9+1
530  X=N[I]
540  I2=I2+1
550  T[I2]=0
560  FOR I3=1 TO T7
570  IF N[I3]#X THEN 630
580  IF N[I3]=2*INT(N[I3]/2) THEN 610
590  T[I2]=T[I2]+A[I3]
600  GOTO 670
610  T[I2]=T[I2]-A[I3]
620  GOTO 670
630  IF N[I3]=2*INT(N[I3]/2) THEN 660
640  IF N[I3]+1=X THEN 590
650  GOTO 670
660  IF N[I3]-1=X THEN 610
670  NEXT I3
680  R[I2]=X
690  NEXT I
700  S1=S2=S3=S4=S5=S6=S7=S8=S9=0
710  FOR K=1 TO 79 STEP 2
720  I5=I6=S9=0
730  FOR I=1 TO I2
740  IF R[I]#K THEN 810
750  X=K
760  GOSUB 1800
770  IF T[I]<0 THEN 840
780  PRINT T[I];
790  S1=S1+T[I]
800  GOTO 860
810  IF R[I]#K+1 THEN 890
820  X=K+1
830  GOSUB 1800
840  PRINT TAB(9);-1*T[I];
850  S2=S2-T[I]
860  S9=S9+T[I]
870  I5=1
880  GOTO 900
890  NEXT I
900  FOR J=T7+1 TO T1
910  IF N[J]#K THEN 1050
920  IF I5=1 THEN 950
930  X=K
940  GOSUB 1800
950  PRINT TAB(18);A[J];
960  S9=S9+A[J]
970  S3=S3+A[J]
980  IF J=T1 THEN 1140
990  IF N[J+1]#K+1 THEN 1140
1000  I6=1
1010  PRINT TAB(27);A[J+1];
1020  S9=S9-A[J+1]
1030  S4=S4+A[J+1]
1040  GOTO 1140
1050  IF N[J]#K+1 THEN 1130
1060  IF I5=1 THEN 1090
1070  X=K+1
1080  GOSUB 1800
1090  PRINT TAB(27);A[J];
1100  S9=S9-A[J]
1110  S4=S4+A[J]
1120  GOTO 1140
1130  NEXT J
1140  IF ABS(S9)<.01 THEN 1400
1150  IF K>36 THEN 1240
1160  IF S9<0 THEN 1200
1170  S7=S7+S9
1180  PRINT TAB(54);FNR(S9)
1190  GOTO 1400
1200  S9=S9*-1
1210  S8=S8+S9
1220  PRINT TAB(63);FNR(S9)
1230  GOTO 1400
1240  IF K#37 THEN 1340
1250  IF N[J]#37 THEN 1320
1260  PRINT TAB(36);A[J];
1270  S5=S5+A[J]
1280  IF I6=0 THEN 1400
1290  PRINT TAB(45);A[J+1];
1300  S6=S6+A[J+1]
1310  GOTO 1400
1320  IF N[J+1]=38 THEN 1290
1330  GOTO 1400
1340  IF S9<0 THEN 1380
1350  PRINT TAB(36);S9
1360  S5=S5+S9
1370  GOTO 1400
1380  PRINT TAB(45);-1*S9
1390  S6=S6-S9
1400  NEXT K
1410  PRINT " -------- --------I-------- --------I-------- --------I-------- --------"
1420  PRINT 
1430  D1=S6-S5
1440  D2=S7-S8
1450  PRINT FNR(S1);FNR(S2);FNR(S3);FNR(S4);FNR(S5);FNR(S6);FNR(S7);FNR(S8)
1460  PRINT " -------- -------- -------- --------"
1470  PRINT " -------- -------- -------- --------"
1480  IF D1>0 AND D2>0 THEN 1550
1490  D1=D1*-1
1500  S6=S6+D1
1510  D2=D2*-1
1520  S7=S7+D2
1530  PRINT "NET LOSS FOR THE PERIOD"TAB(45);FNR(D1);FNR(D2)
1540  GOTO 1580
1550  S5=S5+D1
1560  S8=S8+D2
1570  PRINT "NET INCOME FOR THE PERIOD"TAB(36);FNR(D1);TAB(63);FNR(D2)
1580  PRINT TAB(36)" -------- -------- -------- --------"
1590  PRINT TAB(36);FNR(S5);FNR(S6);FNR(S7);FNR(S8)
1600  PRINT TAB(36)" -------- -------- -------- --------"
1610  PRINT TAB(36)" -------- -------- -------- --------"
1620  PRINT '10"DO YOU WISH TO TRY ANOTHER PROBLEM (Y/N) ";
1630  INPUT R$
1640  IF R$="Y" THEN 1660
1650  STOP 
1660  CHAIN "$ATG"
1670  DATA "CASH","ACCOUNTS RECEIVABLE","ALLOWANCE FOR BAD DEBTS"
1680  DATA "MERCHANDISE INVENTORY","SUPPLIES","PREPAID RENT","PREPAID INSURANCE"
1690  DATA "EQUIPMENT","ACCUM. DEPREC.-  EQUIPMENT","BUILDING"
1700  DATA "ACCUM.. DEPREC.- BUILDING","LAND","MISC. ASSETS","ACCOUNTS PAYABLE"
1710  DATA "SALARIES PAYABLE","MISC. PAYABLE","CAPITAL","DRAWING"
1720  DATA "INCOME AND EXPENSE SUMMARY","FEES INCOME","SALES"
1730  DATA "SALES RETURNS & ALLOWANCES","SALES DISCOUENT","PURCHASES"
1740  DATA "PURCHASES RETURNS & ALLOWANCES","PURCHASES DISCOUNT"
1750  DATA "ADVERTISING EXPENSE","BAD DEBTS EXPENSE","DELIVERY EXPENSE"
1760  DATA "DEPREC. EXPENSE - BUILDING","DEPREC. EXPENSE - EQUIPMENT"
1770  DATA "INSURANCE EXPENSE","RENT EXPENSE","SALARY EXPENSE"
1780  DATA "SUPPLIES EXPENSE","UTILITIES EXPENSE","MISC. EXPENSE"
1790  DATA "RENT INCOME","GAIN ON FIXED ASSETS","LOSS ON FIXED ASSETS"
1800  RESTORE 
1810  FOR L=1 TO INT((X+1)/2)
1820  READ H$
1830  NEXT L
1840  PRINT " -------- --------I-------- --------I-------- --------I-------- --------"
1850  PRINT H$
1860  RETURN 
1870  END 
