100 REM BAR GRAPH (INTERACTIVE DATA ENTRY) 104 PRINTCHR$(14)"[144]":POKE53280,5:POKE53281,1 105 PRINT"[147] [212]HIS PROGRAM REQUIRES A 1520 [208]RINTER/" 106 PRINT"[208]LOTTER OR SIMILAR DEVICE. " 107 PRINT:PRINT"[196]O YOU HAVE THIS TYPE OF DEVICE?"; 108 POKE198,0:WAIT198,1:GETK$:IFK$<>"Y"ANDK$<>"N"THEN108 109 PRINTK$:IFK$="N"THEN63000 110 OPEN4,6,0 :REM PRINT ASCII DATA 120 OPEN1,6,1 :REM PLOT X,Y DATA 130 OPEN2,6,2 :REM COLOR 140 OPEN3,6,3 :REM CHARACTER SIZE 145 PRINT#4:PRINT#4:PRINT#4,"BAR CHART":PRINT#4 147 PRINT#4:PRINT#4:PRINT#4:PRINT#4:PRINT#4:PRINT#4:PRINT#4 150 GOSUB 980 :REM MAIN TITLE 170 C=1:GOSUB950 :REM SUB TITLE 180 PRINT#1,"M";0,-360 190 PRINT#4 200 PRINT#1,"M";35,0 :REM PEN TO 35,0 210 PRINT#1,"D";35,500 :REM DRAWS Y AXIS 215 PRINT#1,"D";35,-200 220 PRINT#1,"H" 230 PRINT#1,"M";35,0 240 PRINT#1,"D";500,0 :REM DRAWS X AXIS 250 FORI=-200TO500STEP25 :REM TICKS MARKS 260 PRINT#1,"M";30,I 270 PRINT#1,"D";35,I 280 NEXT I 290 : 300 FOR I=1TO L 310 C=I :GOSUB950 320 H=A(I)*5:GOSUB590 330 NEXTI 340 : 350 FOR I=1 TO L 360 C=I :GOSUB950 370 H=A(I)*5:GOSUB670 380 NEXTI 390 : 400 PRINT#1,"H" 410 PRINT#4 420 : 430 FOR I=1 TO L 440 C=I:S=1:GOSUB950 450 X=0:Y=0:GOSUB800 460 NEXTI 470 : 480 A$=T$ 490 C=3:S=2 :GOSUB950 500 X=80:Y=540 :GOSUB890 510 A$=S$ 520 C=2:S=1 :GOSUB950 530 X=90:Y=510 :GOSUB890 540 : 550 PRINT#1,"H":PRINT#4:PRINT#4:PRINT#4 553 PRINT#4:PRINT#4:PRINT#4:PRINT#4:PRINT#4 554 GOSUB1105 555 OPEN7,6,7:PRINT#7:REM RESET PLOTTER 560 CLOSE4:CLOSE1:CLOSE2:CLOSE3:CLOSE7 570 END 580 : 590 REM==WRITE BOX== 600 X(I)=(I-1)*36*2+36:W=36 610 PRINT#1,"M";X(I),0 620 PRINT#1,"D";X(I),H 630 PRINT#1,"D";X(I)+W,H 640 PRINT#1,"D";X(I)+W,0 650 RETURN 660 : 670 REM==FILL BOX== 680 X(I)=(I-1)*36*2+36:W=36 690 PRINT#1,"M";X(I),0 692 IF H=>0THEN700 694 IF H<0THEN735 700 FOR J=0TO H STEP2 705 PRINT#1,"D";X(I)+W,J 710 PRINT#1,"D";X(I)+W,J+1 715 IF J+1>H THEN 735 720 PRINT#1,"D";X(I),J+1 725 PRINT#1,"D";X(I),J+2 730 NEXT J 735 FOR J=0TOH STEP -2 740 PRINT#1,"D";X(I)+W,J 745 PRINT#1,"D";X(I)+W,J-1 750 IF J-16 THEN GOTO 1010 1030 FORI=1TOL 1040 PRINT" ":PRINT"DATA POINT",I 1050 INPUT"ENTER NAME 1-6 CHARS";A$(I) 1055 IF LEN(A$(I))>6 THEN GOTO1050 1060 INPUT"ENTER SIZE -40-40";A(I) 1070 IF A(I)<-40 OR A(I)>40 THEN GOTO1060 1080 NEXT I 1090 RETURN 1100 : 1105 PRINT#2,2 1110 PRINT#4,"DATA POINTS....." 1120 FOR I=1 TO L 1130 PRINT#4,A$(I),A(I) 1140 NEXTI 1150 PRINT#4:PRINT#4:PRINT#4 1160 PRINT#4:PRINT#4:PRINT#4 1170 RETURN 63000 REM CONNECT BACK TO L.S. 63001 PRINT"[147] [211]ORRY, THIS WON'T WORK FOR YOU." 63002 PRINT"LOAD"CHR$(34)"PAYLOAD"CHR$(34)",8":PRINT"RUN" 63004 POKE198,0:POKE631,13:POKE632,13:POKE198,2:END