10 DIM D(100):SM=0 20 Y=0:LY=0:LB=0:SY=0:A1=0:KB=0 24 CLS:LOCATE 0,5:PRINT USING "###,###,###,###";SM 30 LOCATE 15,5:PRINT "(SUM)" 35 GOSUB 200 40 I$= INKEY$ :IF I$="" THEN A1=0:KB=0:GOTO 40 45 A= ASC (I$):IF A=A1 THEN KB=KB+1:IF KB<50 THEN 40 50 IF A=4 THEN LY=LY-1:IF LY<0 THEN LY=0:SY=SY-1:IF SY<0 THEN SY=0 60 IF A=5 OR A=13 THEN LY=LY+1:IF LY>3 THEN LY=3:SY=SY+1:IF SY>97 THEN SY=97 65 IF A=10 THEN LY=0:SY=0 'TAB 66 IF A=2 THEN GOSUB 500:IF I$="Y" OR I$="y" THEN SM=0:FOR J=0 TO 100:D(J)=0:NEXT:GOTO 20 'CLS 70 Y=SY+LY 80 IF A>=48 AND A<=57 THEN GOSUB 300:GOTO 60 90 IF A= 45 THEN LOCATE 14,0:PRINT "-":GOSUB 300:GOTO 60 180 IF Y<>Y1 THEN GOSUB 200 190 Y1=Y:A1=A:LB=LY:GOTO 40 200 ' 210 LOCATE 0,1:PRINT D(SY) 220 LOCATE 0,2:PRINT D(SY+1) 230 LOCATE 0,3:PRINT D(SY+2) 240 LOCATE 0,4:PRINT D(SY+3) 250 LOCATE 0,5:PRINT SM 255 LOCATE 14,LB+1:PRINT " " 260 LOCATE 14,LY+1:PRINT CHR$(135) 270 LOCATE 15,1:PRINT ":"; STR$ (Y);" " 280 RETURN 300 'INPUT 305 D=D(Y) 310 IN$=I$:A1=A:GOTO 360 320 I$= INKEY$ :IF I$="" THEN A1=0:GOTO 320 330 A= ASC (I$):IF A=A1 THEN 320 335 A1=A 336 IF A=13 THEN 380 337 IF A=23 THEN IF LEN (IN$)>0 THEN IN$= LEFT$ (IN$, LEN (IN$)-1):GOTO 360 340 IF A<48 AND A<=57 THEN 320 350 IF LEN (IN$)<10 THEN IN$=IN$+I$:IF IN$="00" THEN IN$="0" 360 LOCATE 0,0:PRINT VAL (IN$) 370 GOTO 320 380 LOCATE 0,0:PRINT " " 390 D(Y)= VAL (IN$):SM=SM-D+D(Y) 400 GOSUB 200 410 RETURN 500 ' 505 IF INKEY$<>"" THEN 505 510 LOCATE 0,0:PRINT "DATA CLEAR OK ?(Y)" 520 I$=INKEY$:IF I$="" THEN 520 530 LOCATE 0,0:PRINT " " 550 RETURN