File PRPLAN.BA (BASIC source file)

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

10 DIM K(200,3),M(48,12),M1(48,12),F(48,3),L(48),S(48,14)
20 FILE#1:"DTA1:PRKOM.BA"\INPUT#1:Z,H,H
30 FOR I=1 TO Z\FOR I1=1 TO 2\INPUT#1:K(I,I1)\NEXT I1
40 INPUT#1:A,B,C\K(I,3)=10000*A+100*B+C\INPUT#1:H,H
50 IF END#1 THEN 60
60 NEXT I\CLOSE#1
70 FILE#2:"SYS:PRLDTF.BA"\FOR I=1 TO 45\FOR I1=1 TO 3
80 INPUT#2:F(I,I1)\NEXT I1\INPUT#2:H,H\IF END#2 THEN 90
90 NEXT I\CLOSE#2
100 FILE#3:"DTA1:PRLDTS.BA"\FOR I=1 TO 45\FOR I1=1 TO 8\FORI2=1TO5
110 INPUT#3:L((I1-1)*5+I2)\NEXT I2\INPUT#3:H,H\IF END#3 THEN 120
120 NEXT I1\FOR I1=3 TO 39 STEP 3
125 S(I,I1/3)=10000*L(I1-2)+100*L(I1-1)+L(I1)\NEXT I1
130 S(I,14)=10000*L(40)\NEXT I\CLOSE#3
140 FOR I=1 TO Z\IF K(I,1)<=G THEN 150\G=K(I,1)
150 NEXT I
220 FOR I=45 TO 1 STEP-1\IF F(I,1)<>0 THEN 230\NEXT I
230 Z1=I\PRINT "TEIL 1"
240 FOR I=1 TO Z\IF K(I,1)>1000 THEN 480
245 FOR I1=1 TO 40\IF I1=S1 THEN 470\Z6=0
250 IF L(I1)=INT(Z1/5) THEN 470
260 FOR I2=1 TO L(I1)\IF K(M(I1,I2),1)-1000=K(I,1)THEN 470
270 NEXT I2
280 FOR I2=1 TO 3
290 A=INT(K(I,3)/100^(3-I2))-100*INT(K(I,3)/100^(4-I2))
300 FOR I3=1 TO 14
310 FOR I4=1 TO 3
320 C=S(A,I3)\B=INT(C/100^(3-I4))-100*INT(C/100^(4-I4))
325 IF B=I1 THEN 470\NEXT I4
330 NEXT I3\NEXT I2
340 FOR I2=1 TO 45\FOR I3=1 TO 3\IF F(I2,I3)<>K(I,2) THEN 380
350 FOR I4=1 TO 14\FOR I5=1 TO 3
360 C=S(I2,I4)\B=INT(C/100^(3-I5))-100*INT(C/100^(4-I5))
365 IF B=I1 THEN 390
370 NEXT I5\NEXT I4\Z5=Z5+1\GOTO 390
380 NEXT I3
390 NEXT I2
400 FOR I2=1 TO L(I1)\IF K(M(I1,I2),2)<>K(I,2) THEN 410\Z6=Z6+1
410 NEXT I2\IF Z6*5+3>Z5 THEN 470
420 L(I1)=L(I1)+1\M(I1,L(I1))=I\K(I,1)=K(I,1)+1000
430 FOR I2=1 TO 3\A=INT(K(I,3)/100^(3-I2))-100*INT(K(I,3)/100^(4-I2))
440 FOR I3=1 TO 14\FOR I4=1 TO 3
442 B=INT(S(A,I3)/100^(3-I4))-100*INT(S(A,I3)/100^(4-I4))
444 IF B=0 THEN 446\NEXT I4\NEXT I3
446 C=I3\B=3-I4
450 S(A,C)=I1*100^B+S(A,C)\IF S3=1 THEN 601\NEXT I2
460 GOTO 475
470 NEXT I1
475 IF S2=1 THEN 810
480 PRINT I,I1\NEXT I\Z2=0
490 FOR I=1 TO Z\IF K(I,1)<1000 THEN 500\Z2=Z2+1
500 NEXT I\PRINT Z2;" VON";Z
505 PRINT\PRINT\PRINT "TEIL 2"
509 I=0
510 I=I+1\IF I>40 THEN 606\I1=0
511 I1=I1+1\IF I1>L(I) THEN 510
512 I6=0
515 I6=I6+1\IF I6>2 THEN 605
519 I2=0
520 I2=I2+1\IF I2>45 THEN 600
525 I3=0
526 I3=I3+1\IF I3>3 THEN 520
528 IF F(I2,I3)<>K(M(I,I1),2) THEN 580
530 I4=0
533 I4=I4+1\IF I4>14 THEN 560
536 I5=0
538 I5=I5+1\IF I5>3 THEN 533
540 A=INT(S(I2,I4)/100^(3-I5))-100*INT(S(I2,I4)/100^(4-I5))
550 IF A=I THEN 590\GOTO 538
560 IF M1(I,I1)<>0 THEN 570\M1(I,I1)=100*I2\GOTO 600
570 M1(I,I1)=M1(I,I1)+I2\GOTO 600
580 GOTO 526
590 GOTO 520
600 S3=1\A=I2\Q=I1\I1=I\GOTO 440
601 S3=0\I1=Q\GOTO 515
605 IF S2=1 THEN 830\GOTO 511
606 PRINT\GOSUB 2000
607 PRINT "TEIL 3"\J=0
610 J=J+1\IF J>G THEN 850\Z6=0\FOR I3=1 TO 40\FOR I4=1 TO 10
620 IF K(M(I3,I4),1)-1000<>J THEN 640
630 Z6=Z6+1\IF Z6=1 THEN 650\IF I3-X2<=2 THEN 690\GOTO 650
640 NEXT I4\GOTO 660
650 X2=I3
660 NEXT I3\GOTO 830
690 S1=I3\N=I4\S2=1\K(M(I3,I4),1)=K(M(I3,I4),1)-1000\S4=S1
700 IF M1(S1,N)=0 THEN 740
710 FORI4=1TO2\L=INT(M1(S1,N)/100^(2-I4))-100*INT(M1(S1,N)/100^(3-I4))
720 IF L=0 THEN 735
730 GOSUB 2500
735 NEXT I4
740 FOR I4=1 TO 3
750 L=INT(K(M(S1,N),3)/100^(3-I4))-100*INT(K(M(S1,N),3)/100^(4-I4))
760 GOSUB 2500
765 NEXT I4\I=M(S4,N)
770 FOR I4=N+1 TO 10\M(S1,I4-1)=M(S1,I4)
780 M1(S1,I4-1)=M1(S1,I4)\NEXT I4\L(S1)=L(S1)-1
790 M1(S1,10)=0\M(S1,10)=0
800 GOTO 245
810 S4=I1\N=L(I1)\IF K(M(S4,N),1)>1000 THEN 820\S1=0\GOTO 800
820 I=S4\I1=N\GOTO 512
830 PRINT J\GOTO 610
850 PRINT
2000 PRINT "TEIL4"\FILEV#1:"SYS:PRMAT.BA"
2010 FOR I=1 TO 40\FOR I1=1 TO 9\PRINT#1:M(I,I1);\NEXT I1
2020 PRINT#1:M(I,10)\FOR I1=1 TO 9\PRINT#1:M1(I,I1);\NEXT I1
2030 PRINT#1:M1(I,10)\NEXT I\CLOSE#1
2040 RETURN
2500 I5=0
2501 I5=I5+1\IF I5>14 THEN 2550\FOR I6=1 TO 3
2510 A=INT(S(L,I5)/100^(3-I6))-100*INT(S(L,I5)/100^(4-I6))
2520 IF A<>S1 THEN 2540
2530 S(L,I5)=S(L,I5)-100^(3-I6)*A\GOTO 2550
2540 NEXT I6\GOTO 2501
2550 I7=15
2551 I7 =I7-1\IF I7<1 THEN 2580\FOR I8=1 TO 3
2560 A=INT(S(L,I7)/100^(3-I8))-100*INT(S(L,I7)/100^(4-I8))
2570 IF A<>0 THEN2580\NEXT I8\GOTO 2551
2580 S(L,I7)=S(L,I7)-100^(3-I8)*A
2590 S(L,I5)=S(L,I5)+100^(3-I6)*A
2600 RETURN
3000 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