File ZA21.BA (BASIC source file)

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

10 REM 2. KONFERENZ DES ZA
20 REM BERECHNUNG DER ANZUSETZENDEN MUENDLICHEN PRUEFUNGEN
30 REM FNA(X,Y) ERRECHNET PRUEFUNGSERGEBNIS AUS SCHRIFTL. UND MDL. PRFG.
40 DIM N$(20),F(4,4), G$(6,5),X$(14),Y$(14)
50 DEF FNA(X,Y) = INT((8*X + 4*Y)/3)
60 PRINT" ABZURUFENDER DATENSATZ";\INPUT X$
70 X$="DTA1:"&X$&".BA"
80 PRINT" ZU ERSTELLENDER DATENSATZ";\INPUT Y$
90 Y$="DTA1:"&Y$&".BA"
100 FILE#1:X$\FILEV#2:Y$
110 A$="N"
120 INPUT#1:N$,X
130 IF N$="ENDE"THEN 1110
140 FOR I=1 TO 4
150 INPUT#1:F$(I),D
160 NEXTI
170 INPUT#1:F(1,1),F(1,2),F(1,3),F(2,1),F(2,2),X,X
180 INPUT#1:F(2,3),F(3,1),F(3,2),F(3,3),F(4,1),X,X
190 INPUT#1:F(4,2),F(4,3),X,X
200 PRINT\PRINT\PRINT\S1=0\P=0\Q=0
210 FOR I=1 TO 2\F(I,1)=F(I,1)/3\NEXT I
220 FOR I = 1 TO 4\P(I)=0\Q(I)=0\IF F(I,3)>15.16 THEN 1040
230 F(I,1)=(F(I,1)+F(I,2))/4
240 IF ABS(F(I,1)-F(I,3))<4 THEN 270
250 IF I = 4 THEN 270
260 P=P+1\P(I)=1
270 NEXT I
280  IF F$(4) = "SP"THEN 290\V$="MDL."\GOTO 300
290 V$="PR.TH"
300 PRINT N$ \ PRINT
310 PRINT,"L-FACH","L-FACH","3.FACH","4.FACH"
320 PRINT ,F$(1),F$(2),F$(3),F$(4)
330 PRINT "SCHNITT 12/13 ";F(1,1),F(2,1),F(3,1),"--"
340 PRINT"PKTE 13.2",F(1,2),F(2,2),F(3,2),F(4,2)
350 PRINT "PKTE PRFG","SCHR ";F(1,3),"SCHR ";F(2,3),"SCHR ";F(3,3),
360PRINT V$;" ";F(4,3)
370 FOR I = 1 TO 3
380F(I,4)=4*F(I,3)+F(I,2)\S1=S1+F(I,4)\H(I)=F(I,4)
390 NEXT I
400 IF F$(4)="SP" THEN 410\F(4,4)=F(4,3)*4 + F(4,2)\GOTO 430
410 X=INT(F(4,3))\Y=INT((F(4,3)+ .001 - INT(F(4,3)))*100)
420F(4,4)=FNA(X,Y) + F(4,2)
430 S1 = S1 + F(4,4)
440 PRINT "BISH.ERG",F(1,4),F(2,4),F(3,4),F(4,4)
450 PRINT ,,,,"SUM: ";S1
460 REM FESTSTELLUNG DER ERGEBNISGRENZEN
470 FOR I = 1 TO 3
480  O(I)= FNA(F(I,3),15) + F(I,2)
490 IF P(I) = 1 THEN 500\ U(I) = 4*F(I,3) + F(I,2)\U1(I)=F(I,3)\GOTO 510
500 U(I) = FNA(F(I,3),0) + F(I,2)\U1(I)=0
510 NEXT I
520 H(4) = F(4,4)
530 FOR I = 1  TO 3\ H(I) = U(I)\ NEXT I
540 GOSUB 1250
550  IF B< 111 THEN 680
560 IF P > 0 THEN 640
570  PRINT "BESTANDEN"
580 G$(1)="BESTA"\G$(2)="NDEN"
590 FOR I = 3 TO 6\G$(I)=" "\NEXT I
600 IF A$ = "J" THEN 630
610 PRINT#2: N$
620 FOR I = 1 TO 6\ PRINT#2:G$(I)\ NEXT I
630 GOTO 120
640 IF A$ = "J" THEN 660
650 GOSUB 1450
660 GOSUB 1600
670 GOTO 120
680 REM MAXIMIERUNG ALLER FAECHER
690 FOR I = 1 TO 3\H(I)=O(I)\ NEXT I
700 GOSUB 1250
710 IF B1=1 THEN 820
720 IF B>100 THEN 750
730 PRINT "NICHT BESTANDEN WEGEN 100-PKTE-BED."
740IF B>10 THEN 760
750 PRINT "NICHT BESTANDEN WEGEN 25-PKTE-BED."
760 IF A$="J" THEN 810
770 G$(1)="NICHT"\G$(2)=" BEST"\G$(3)="ANDEN"
780 FOR I = 4 TO 6\G$(I)=" "\NEXT I
790 PRINT#2:N$
800 FOR I = 1 TO 6\ PRINT#2:G$(I)\ NEXT I
810 GOTO 120
820 IF P = 3 THEN 830
825 GOSUB 1730
830 GOSUB 1600
840 REM 
850 REM FAECHER MIT GEFAEHRDUNGSPRFGEN DRUCKEN
860 REM
870 IF Q = 0 THEN 1010
880 PRINT "MDL. PRFG. WEGEN GEFAEHRDUNG IN ";
890 FOR I = 1 TO  3
900 IF Q(I) - P(I) <1 THEN 920
910 PRINT " ";F$(I);
920 NEXT I\PRINT
1010 IF A$ = "J" THEN 1030
1020 GOSUB 1450
1030 GOTO 120
1040 PRINT N$\PRINT
1045 PRINT "PRUEFUNGSERGEBNIS IN ";F$(I);" FEHLERHAFT."
1050 IF A$ = "J" THEN 1100
1060 PRINT#2: N$
1070 FOR I = 1 TO 6
1080 PRINT#2: "O"
1090 NEXT I
1100 GOTO 120
1110 REM ABSCHLUSS DES DATENFILES #2
1120 IF A$ = "J" THEN 1180
1130 PRINT#2:N$
1140 FOR I = 1 TO 6
1150 PRINT#2: "O"
1160 NEXT I
1170 CLOSE#2
1180 PRINT\PRINT\PRINT
1190 PRINT "SOLL DAS PROGRAMM NOCH EINMAL LAUFEN (J ODER N)";\INPUT A$
1200 IF A$ = "N" THEN 1240\ IF A$ = "J" THEN 1220
1210 PRINT "JA, WAS DENN NUN ?   ";\GOTO 1190
1220 RESTORE#1
1230 GOTO 120
1240 STOP
1250 REM U - P R   "BESTANDEN?"
1260 REM EINGABE:H(X), X=1,4,(=HYPOTHETISCHE PRFGS-PKTEIM X. FACH
1270 REMAUSGABE: B ALS DREISTELLIGE DEZIMALZAHL,DAVON
1280 REM          HUNDERTER = 1 ---> 100-PKTE-BED ERFUELLT
1290 REM         ZEHNERSTELLE NENNT DIE ZAHL DER L-FAECHER UEBER 24 PKTE
1300 REM          EINERSTELLE    "   "    "    "  G-  "       "   "  "
1310 REM PRUEFUNG IST BESTANDEN, WENN AM ENDE B > 110 IST.
1320 REM HILFSVARIABLE H = HYPOTH.  PKT-SUMME IM ABIBEREICH
1330 REM VORBEREITUNG
1340 B=0\H=0
1350 FOR X = 1 TO 4\H=H+H(X)\NEXT X
1360 IF H < 100 THEN 1370\ B = B + 100
1370 REM AUSREICHENDE L-KURSE
1380 FOR X = 1 TO 2\IF H(X)<25 THEN 1390\ B=B+10
1390 NEXT X
1400 REM AUSREICHENDE G-KURSE
1410 FOR X = 3 TO 4\IF H(X)<25 THEN1420\B=B+1
1420 NEXT X
1430 B1=0\ IF B<111 THEN1440\ B1 = 1
1440 RETURN
1450 REM UNTERPROGR "PRUEFUNGSFAECHER AUF BAND"
1460 REM EINGABE: N$, F$(I),Q(I), I = 1,3
1470 REM AUSGABE AUF BAND#2: G$(I) ALS PRFG-FAECHER, N$
1480  FOR I = 1 TO 6\G$(I)="     "\NEXT I
1490 FOR I = 1 TO 3
1500  IF P(I)+Q(I)=0 THEN 1540
1510 IF P(I)=0 THEN 1530
1520 G$(I)=F$(I)\ GOTO 1540
1530 G$(I+3)=F$(I)
1540 NEXT I
1550 PRINT#2: N$
1560  FOR I = 1 TO 6
1570 PRINT#2: G$(I)
1580 NEXT I
1590 RETURN
1600 REM
1610 REM  UNTERPROGR. "PFLICHTFAECHER DRUCKEN"
1620 REM EINGABE: N$, F$(I),P(I)
1630 REM AUSGABE: PFLICHTFAECHER AUF TTY
1640 REM
1650 IF P = 0 THEN 1720
1660 PRINT"MDL.PRFG. WEGEN ABWEICHUNG IN ";
1670 FOR I = 1 TO 3
1680 IF P(I)=0 THEN 1700
1690 PRINT " ";F$(I);
1700 NEXT I
1710 PRINT
1720 RETURN
1730 REM
1740 REM ERMITTLUNG DER GEFAEHRDUNGSFAECHER, DIE AUF JEDEN FALL
1750 REM      GEPRUEFT WERDEN MUESSEN
1760 REM
1770 FOR I=1 TO 3
1780 J=I+1\K=I+2
1790 IF I=2 THEN 1800\ GOTO 1810
1800 K=1
1810 IF I = 3 THEN 1820\ GOTO 1825
1820J=1\K=2
1825 IF P(K) = 1 THEN2110
1830 B2=0
1840 U1=U1(I)\U2=U1(J)
1850 FOR L = U1 TO 15
1855 H(I)=FNA(F(I,3),L) + F(I,2)
1860 FOR M=  U2 TO 15
1870 H(J) = FNA(F(J,3),M)+ F(J,2)

1880 H(K)=O(K) 1890 GOSUB 1250 1900 B2 = B2 + B1 1910 H(K)=U(K) 1920 GOSUB 1250 1930 B2 = B2 - B1 1935 IF B2>0 THEN2080 1940 NEXT M 1950 NEXT L 1960 GOTO 2110 2080 Q(K)=1 2100 Q = Q + 1 2110 NEXT I 2120 RETURN 2130 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