5 COM A[100],C[100] 7 COM X1,X9,Y1,Y9,H5,V5 10 COM E,P9,D2,D1,P1,P8,P3,Q7,Q8,Z$[60],D8,D9,H$[4] 20 COM X2,Y2,V1,V9,H1,H9,D3,Q9 30 COM E9,P0,S9,A9,F[2],X3,Y3 31 COM C$[1],D7 32 COM D4,Q1 33 COM S$[6] 40 DIM A$[12],I$[72],B$[10] 60 DEF FNF(A)=A-INT(A) 61 DEF FNL(A)=LOG(A)/LOG(10) 70 Q1=0 149 PRINT "PLTT" 150 PRINT 152 RESTORE 155 PRINT 156 FILES * 158 ASSIGN S$,1,X 160 PRINT "COMMAND:"; 161 INPUT I$ 170 L9=LEN(I$) 175 A$=I$[1,3] 176 IF A$="SCA" THEN 878 177 IF A$="AXE" THEN 883 178 IF A$="ANG" THEN 506 180 IF A$="CAP" THEN 270 185 IF A$="CHA" THEN 355 190 IF A$="COM" THEN 365 195 IF A$="CRE" THEN 470 200 IF A$="DIV" THEN 495 205 IF A$="XDI" THEN 515 210 IF A$="YDI" THEN 535 215 IF A$="EXP" THEN 555 217 IF A$="FIL" THEN 531 220 IF A$="XFI" THEN 565 225 IF A$="YFI" THEN 585 230 IF A$="HEL" THEN 365 234 IF A$="LIS" THEN 602 235 IF A$="INS" THEN 605 236 IF A$="NOS" THEN 875 237 IF A$="NOA" THEN 880 238 IF A$="XLA" THEN 885 239 IF A$="YLA" THEN 890 240 IF A$="PER" THEN 790 245 IF A$="RUN" THEN 810 250 IF A$="SIZ" THEN 815 255 IF A$="STA" THEN 810 257 IF A$="QUI" THEN 9000 260 IF A$="TIT" THEN 850 265 IF A$="VER" THEN 835 267 PRINT "WHAT?" 268 GOTO 150 270 PRINT " CAPABILITIES" 275 PRINT 280 PRINT " THIS PROGRAM ALLOWS EASY PLOTTING OF DATA FROM DATA FILES." 285 PRINT "NO PROGRAMMING IS REQUIRED TO RUN THE HEWLETT*PACKARD 7200" 290 PRINT "SERIES PLOTTERS. AUTOMATIC SCALING,AXES DRAWING AND TITLING" 295 PRINT "ARE DONE BY THE PROGRAM. MULTIPLE COLOR PLOTS MAY BE DRAWN" 300 PRINT "ON THE SAME PAPER WITH/WITHOUT MULTIPLE AXES. POINT,LINE," 305 PRINT "BAR OR STEP GRAPHS MAY BE DRAWN ON PLAIN OR GRID PAPER." 310 PRINT "DATA IN A SPECIFIED RANGE OF INTEREST MAY BE SPECIFIED." 315 PRINT "PLOTS MAY BE LOG OR LINEAR IN ANY COMBINATION ON THE X AND Y" 320 PRINT "AXES. PLOT LIMITS MAY BE ADJUSTED WITH PLOTTER CONTROLS TO" 325 PRINT "FIT ANY STANDARD GRID." 330 PRINT 335 PRINT "FOR INFORMATION CONCERNING HEWLETT*PACKARD PLOTTERS CONTACT" 340 PRINT "YOUR TIME-SHARE REPRESENTATIVE OR CALL THE LOCAL HEWLETT*" 345 PRINT "PACKARD SERVICE CENTER." 350 GOTO 150 355 PRINT " THERE ARE NO PREMIUM CHARGES FOR THE USE OF THIS PROGRAM." 360 GOTO 150 365 PRINT " COMMANDS" 370 PRINT 371 PRINT "AXES CANCLES NOAXES COMMAND" 372 PRINT "ANGLE SETS THE ANGLE OF THE TITLE LABEL" 375 PRINT "CAPABILITIES PRINTS THE CAPABILITIES OF THIS PROGRAM" 380 PRINT "CHARGES NO PREMIUM CHARGES TO USE THIS PROGRAM" 385 PRINT "COMMANDS PRINTS THIS LIST" 390 PRINT "CREDITS THIS PROGRAM SUPPORTED BY HEWLETT-PACKARD " 395 PRINT "DIVISIONS SETS NUMBER OF DIVISIONS ON X AND Y AXES" 400 PRINT "XDIVISIONS SETS NUMBER OF DIVISIONS ON X AXIS" 405 PRINT "YDIVISIONS SETS NUMBER OF DIVISIONS ON Y AXIS" 410 PRINT "EXPERT SHORTENES PROMPTS FOR EXPERIENCED USERS" 415 PRINT "XFIRST INDENTIFIES POSITION OF FIRST X DATA" 420 PRINT "YFIRST IDENTIFIES POSITION OF FIRST Y DATA" 425 PRINT "HELP PRINTS THIS LIST" 427 PRINT "INSTRUCTIONS PRINTS THE PROGRAM INSTRUCTIONS" 429 PRINT "LIST LISTS DATA TO BE PLOTTED" 431 PRINT "XLABEL ALLOWS LABELING OF X AXIS" 432 PRINT "YLABEL ALLOWS LABELING OF Y AXIS" 465 GOTO 150 470 PRINT " CREDITS" 475 PRINT 480 PRINT " THIS PROGRAM WAS DONATED BY THE STAFF OF HEWLETT*" 485 PRINT "PACKARD, SAN DIEGO, CALIFORNIA." 490 GOTO 150 495 Z$="=" 496 GOSUB 5000 497 B$=I$[B2+1,L9] 498 GOSUB 5100 500 D1=D2=B2 505 GOTO 150 506 Z$="=" 507 GOSUB 5000 508 B$=I$[B2+1,L9] 510 GOSUB 5100 511 A9=B2 512 GOTO 150 515 Z$="=" 516 GOSUB 5000 521 B$=I$[B2+1,L9] 522 GOSUB 5100 525 D1=B2 530 GOTO 150 531 Z$="=" 532 GOSUB 5000 533 S$=B$[B2+1,L9] 534 GOTO 158 535 Z$="=" 540 GOSUB 5000 541 B$=I$[B2+1,L9] 542 GOSUB 5100 545 D2=B2 550 GOTO 150 555 E9=1 560 GOTO 150 565 Z$="=" 570 GOSUB 5000 571 B$=I$[B2+1,L9] 572 GOSUB 5100 575 P1=B2 580 GOTO 150 585 Z$="=" 590 GOSUB 5000 591 B$=I$[B2+1,L9] 592 GOSUB 5100 595 P3=B2 600 GOTO 150 602 Q1=1 603 GOTO 901 605 PRINT " INSTRUCTIONS" 610 PRINT 615 PRINT "THIS PROGRAM HAS 4 REQUIRED INPUTS." 620 PRINT "" 625 PRINT "THE FIRST INPUT IS THE TYPE OF PLOT DESIRED. TYPE" 630 PRINT "L FOR LINE PLOTS" 635 PRINT "P FOR POINT PLOTS" 640 PRINT "B FOR BAR CHARTS AND" 645 PRINT "S FOR STEP GRAPHS" 650 PRINT 655 PRINT "THE SECOND INPUT IS THE PAPER OR PAPER SCALES TO BE USED." 660 PRINT "THE "'1"SCALES ON X OR Y ARE TYPED AS LIN/LIN,LIN/LOG,ETC. IN" 665 PRINT "X/Y ORDER. IF A PAPER NUMBER IS TO BE USED, THE PAPER" 670 PRINT "MAY BE SPECIED BY TYPING ITS NUMBER SUCH AS 9280-0180." 675 PRINT 680 PRINT " THE THIRD INPUT IS THE SCALE TO BE USED. TYPE" 685 PRINT "N FOR NEW SCALE; PLACES AXIS AT LEFT FOR Y OR BOTTOM" 690 PRINT " FOR X. TYPE" 695 PRINT "A FOR ANOTHER SCALE; PLACES AXIS AT RIGHT FOR Y OR AT " 700 PRINT " TOP FOR X. TYPE" 705 PRINT "S FOR SAME AXES. USES LAST SPECIFIED AXES TO PLOT NEW DATA." 710 PRINT " AXIS LABELING IS NOT USED." 715 PRINT 720 PRINT "THE FORTH INPUT IS THE RANGE OF DATA TO BE PLOTTED. TYPE" 725 PRINT "A TO PLOT ALL THE DATA." 730 PRINT "THE DATA RANGE OF INTEREST MAY ALSO BE SPECIFIED AS 10TO999." 735 PRINT "WHEN A DATA RANGE IS SPECIFIED, THE DATA LIMITS ARE ALSO USED" 740 PRINT "AS THE AXES LIMITS; THEREFORE THE 'A' MAY ALSO BE CONSIDERED" 745 PRINT "AS AUTOMATIC SCALING AND THE RANGE SPECIFICATION MAY BE" 750 PRINT "CONSIDERED AS CONTROLLED SCALING." 755 PRINT 760 PRINT 765 PRINT " THE INPUTS MAY BE SPECIFIED ONE AT A TIME AS PROMPTED" 770 PRINT "BY THE PROGRAM OR 'ALL AT ONCE' BY EXPERIENCED PROGRAM" 775 PRINT "USERS. A TYPICAL INPUT MAYBE L;LIN/LIN;N/N;A/A." 780 PRINT "OR B;9270-1008;A/A;1TO50/20TO500" 785 GOTO 150 790 Z$="=" 795 GOSUB 5000 796 B$=I$[B2+1,L9] 797 GOSUB 5100 800 P9=B2 805 GOTO 150 810 GOTO 896 815 Z$="=" 820 GOSUB 5000 821 B$=I$[B2+1,L9] 822 GOSUB 5100 825 Q7=Q8=S9=B2*1.5 830 GOTO 150 835 PRINT "LATEST UPDATE 11/72" 840 PRINT "VERSION 003" 845 GOTO 150 850 Z$="=" 851 GOSUB 5000 852 Z$=I$[B2+1,L9] 855 P0=1 856 CHAIN "$HP3A" 860 Z$="=" 862 GOSUB 5000 875 F[1]=1 877 GOTO 150 878 F[1]=0 879 GOTO 150 880 F[2]=1 881 GOTO 150 883 F[2]=0 884 GOTO 150 885 Z$="=" 886 GOSUB 5000 887 Z$=I$[B2+1,L9] 888 P0=2 889 CHAIN "$HP3A" 890 Z$="=" 892 GOSUB 5000 893 Z$=I$[B2+1,L9] 894 P0=3 895 CHAIN "$HP3A" 896 IF P8 <> 0 THEN 901 898 CHAIN "$HP3A" 901 FOR J=1 TO P1 902 IF TYP(1)=2 THEN 907 903 IF TYP(1)=3 THEN 947 905 READ #1;A[1] 906 GOTO 908 907 READ #1;I$ 908 NEXT J 909 FOR J=1 TO P3-P1 910 IF TYP(1)=2 THEN 915 911 IF TYP(1)=3 THEN 947 913 READ #1;C[1] 914 GOTO 916 915 READ #1;I$ 916 NEXT J 917 FOR I=2 TO 100 918 FOR J=1 TO P9-(P3-P1) 919 IF TYP(1)=2 THEN 924 920 IF TYP(1)=3 THEN 940 922 READ #1;A[I] 923 GOTO 925 924 READ #1;I$ 925 NEXT J 926 FOR J=1 TO P3-P1 927 IF TYP(1)=2 THEN 933 928 IF TYP(1)=3 THEN 940 930 READ #1;C[I] 931 GOTO 934 933 READ #1;I$ 934 NEXT J 936 NEXT I 940 E=I-1 942 IF Q1=1 THEN 1000 946 CHAIN "$HP2A" 947 PRINT " DATA FILE HAS INSUFFICIENT DATA" 948 STOP 1000 Q1=0 1001 PRINT " PLTT" 1002 PRINT 1003 PRINT 1004 PRINT " X Y" 1005 PRINT 1006 READ #1,1 1010 FOR I=1 TO E 1020 PRINT A[I];C[I] 1030 NEXT I 1040 GOTO 150 5000 FOR I=1 TO L9 5010 IF I$[I,I]=Z$ THEN 5050 5020 NEXT I 5030 B2=0 5040 RETURN 5050 B2=I 5060 RETURN 5100 A$=" 0123456789." 5120 B2=0 5130 FOR I=1 TO LEN(B$) 5135 FOR I1=1 TO LEN(A$) 5140 IF B$[I,I]=A$[I1,I1] THEN 5180 5145 IF B$[I,I]=A$[I1,I1] THEN 5180 5150 NEXT I1 5160 PRINT "ERROR ON INPUT-NONNUMERIC CHARACTER AFTER=" 5170 GOTO 150 5180 IF I1=1 THEN 5210 5190 IF I1=12 THEN 5230 5200 B2=B2*10+I1-2 5210 NEXT I 5220 RETURN 5230 I2=I 5240 A$=" 0123456789" 5250 FOR I=I2+1 TO LEN(B$) 5260 FOR I1=1 TO LEN(A$) 5270 IF B$[I,I]=A$[I1,I1] THEN 5310 5280 NEXT I1 5290 PRINT "ERROR ON INPUT-NONNUMERIC CHARACTER AFTER=" 5300 GOTO 150 5310 IF I1=1 THEN 5330 5320 B2=B2+(I1-1)*10^(-(I-I2)) 5330 NEXT I 5333 S$=I$[B2+1,L9] 5340 RETURN 8000 DATA "9270","LIN/LIN",15,10,15,10 8010 DATA "46 5492","LIN/LOG",7,3,7,10 8020 DATA "9280-0168","LIN/LIN",5,15,7,7.5 8030 DATA "46 3410","LIN/LIN",5,15,7,7.5 9000 STOP 9001 END