File PLOT.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

1 DIM Z(100)
2 DIM Y(100)
3 DIM X(100)
4 DIM T(12)
5 DIM D(5,100)
6 GOTO 57
10 FILE #1:"LOTDAT.BA"
15 FILEV #2:"DCWR:"
17 PRINT #2:
18 FOR I=1 TO 1000 STEP 1
20 INPUT #1: D(0,I)
22 IF END #1 THEN 50
25 IF D(0,I)=0 THEN 20
35 FOR K=1 TO 3
37 INPUT #1: D(K,I)
38 IF END #1 THEN 50
40 NEXT K
42 INPUT #1: A,B,C
43 IF END #1 THEN 50
45 GOSUB 100
47 LET D(4,I)=A
49 NEXT I
50 REM
51 GOSUB 600
52 REM
54 GOTO 900
57 REM
58 REM
59 REM
60 LET T(1)=0
62 LET T(2)=31
64 LET T(3)=59
66 LET T(4)=90
68 LET T(5)=120
70 LET T(6)=151
72 LET T(7)=181
74 LET T(8)=212
76 LET T(9)=243
78 LET T(10)=273
80 LET T(11)=304
82 LET T(12)=334
84 LET Y1=0.05
85 LET X1=2000
99 GOTO 10
100 REM SR CALCULATE DATE
101 REM
103 LET C=C-70
105 LET B=T(B)
110 LET A=A+B+C*365
120 RETURN
200 REM SR PRINT
201 REM
220 FOR K=0 TO 100
222 LET Z(K)=0
224 NEXT K
225 LET Z1=0
230 FOR J=50 TO 0 STEP -1
235 REM CR-LF
236 REM
240 PRINT #2:
242 REM PRINT Y-AXIS CHAR
245 IF J=0 THEN 290
250 IF J/5-INT(J/5)<0.001 THEN 280
260 PRINT #2: "!";
270 GOTO 288
280 PRINT #2: "+";
285 REM INIT LINE VEKTOR
288 IF H>0.01 THEN 310
290 FOR K=0 TO 100
295 LET Z(K)=0
300 NEXT K
303 LET Z1=0
304 REM WORK OUT LINE VEKTOR
310 FOR K=0 TO 100
320 IF Y(K)<>J THEN 347
340 LET Z(X(K))=Z(X(K))+1
342 IF Z(X(K))-1>0.01 THEN 347
345 LET Z1=Z1+1
347 NEXT K
348 REM
349 REM PRINT L.V.
350 IF Z1=0 THEN 490
352 PRINT #2: PNT(13);
360 FOR K=1 TO 70
370 IF Z(K-1)=0 THEN 400
380 PRINT #2: "#";
390 GOTO 480
400 IF J=0 THEN 440
410 PRINT #2: " ";
420 GOTO 480
440 IF K/7-INT(K/7)<0.001 THEN 460
450 PRINT #2: "-";
455 GOTO 480
460 PRINT #2: "+";
480 NEXT K
490 NEXT J
499 RETURN
500 REM
501 REM PLOT RATE VERS DATE
502 LET H=0
505 FOR K=1 TO 50
510 LET Y(K)=D(3,K)/D(2,K)
520 LET X(K)=D(4,K)
525 NEXT K
534 FOR K=1 TO 100
536 LET Y(K)=INT(Y(K)*50/Y1+0.5)
538 LET X(K)=INT(X(K)*70/X1+0.5)
540 NEXT K
550 GOSUB 200
555 PRINT #2:
556 PRINT #2:
557 PRINT #2:
560 RETURN
567 PRINT
600 REM SR HISTOGRAMM
605 LET H=1
610 FOR K=0 TO 100
612 LET Y(K)=0
613 X(K)=0
615 NEXT K
619 FOR K=1 TO 50
620 LET A=INT(10*D(3,K)/D(2,K)/Y1)
625 FOR I=0 TO 6
630 LET Y(7*A+I)=Y(7*A+I)+1
635 IF(7*A+I)<0.001 THEN 675
640 LET X(7*A+I)=7*A+I
645 NEXT I
650 NEXT K
660 GOSUB 200
670 RETURN
675 LET X(0)=1
680 GOTO 645
699 RETURN
900 CLOSE #2
1000 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search