File BASIC.WS

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

10 DIM A$(14,20),B(14,8),L(3),D$(5),G(10),H$(5,6),N$(45)
20 FILE#3:"SYS:FAENAM.BA"
30 FOR I=1 TO 14
40 INPUT#3:A$(I)
50 NEXT I
60 H$(1)="11/1"\H$(2)="11/2"\H$(3)="12/1"
70 H$(4)="12/2"\H$(5)="13/1"
80 FOR I=1 TO 14
90 FOR J=1 TO 7
100 B(I,J)=0\C(J)=0
110 NEXT J\NEXT I
120 FOR I=1 TO 10\G(I)=0\NEXT I
125 PRINT"BERECHNUNG DER MAXIMALEN ABITURQUALIFIKATION!"
130 Z3=0\Z5=0\Z6=0\F=0\V=0\P=0\Z7=0\S=0\Z9=0\Y1=0\I1=0\F1=0\F2=0
140 N1=0\N2=0\Y2=0\F8=0\N8=0\O=0\Q=0\Q1=0\K8=0\M=0\C=0\I4=0\B=0\I2=0
145 I3=0\I5=0\Z8=0\N=0\N4=0\K1=0\K2=0\I6=0\I7=0\M1=0\B1=0
150 Z1=1\Z2=1
160 GOSUB 1350
170 GOSUB 1350
180 GOSUB 1350
190 Z1=3\Z9=1\L3=0
200 GOSUB 1350
210 Z9=0\L1=0\L2=0\L3=0\IF Z3>0 THEN 230
220 PRINT "SIE HABEN MIND. 1 LK UNTERSCHLAGEN!BITTE VON VORNE"\GOTO80
230 GOSUB 1350
240 Z1=2
250 GOSUB 1350
260 GOSUB 1350
270 Z1=1\Z7=1
280 GOSUB 1350
290 GOTO 1190
300 K8=1\FOR I=1 TO 3
310 IF B(L(I),1)<20 THEN 320\B(L(I),5)=B(L(I),1)
320 FOR J=2 TO 4
330 IF B(L(I),J)<20 THEN 340\B(L(I),5)=B(L(I),5)+B(L(I),J)
340 NEXT J
360 NEXT I
370 I2=0\I3=0\Z7=0
380 FOR I=1 TO 3\B1=0
390 FOR J=1 TO 3\IF J=I THEN 410\IF B(L(J),6)=0 THEN 410
400 B1=B1+B(L(J),6)
410 NEXT J
420 IF B1>3 THEN 430\GOTO 440
430 B(L(I),7)=1
440 NEXT I\K2=0\K1=0
450 FOR I=1 TO 3\IF B(L(I),7)=1 THEN 460\N=N+1\GOTO 470
460 IF P=0 THEN 510 \IF L(I)<3 THEN 510\B(L(I),7)=0\N=N+1\GOTO 500
470 PRINT A$(L(I));" KOENNEN SIE NICHT ABSTUFEN,DA SIE IN DEN 2 AND."
480 PRINT"LK NICHT DIE ERFORDERLICHEN 4 KURSE MIT MEHR ALS 4PKT."
490 PRINT"EINBRINGEN KOENNEN"\GOTO 510
500 PRINT A$(L(I));" KOENNEN SIE NICHT ABSTUFEN(PAR.9,ABS.1 ABI.ORD)"
510 NEXT I\IF N=3 THEN 2210\IF N<2 THEN 540\FOR I=1 TO 3
520 IF B(L(I),7)>0 THEN 530\NEXT I
530 FOR I5=1 TO 65\PRINT"*";\NEXT I5\PRINT
532 PRINT"SIE MUESSEN ";A$(L(I));" ABSTUFEN."
534 FOR I5=1 TO 65\PRINT"*";\NEXT I5\PRINT\GOTO 720
540 M1=1000\FORI=1TO3\IFB(L(I),7)=0 THEN 580\IF B(L(I),5)<M1THEN560
550 IF B(L(I),5)>M1 THEN 580\IF I2<>0 THEN 570\I2=I\GOTO 580
560 M1=B(L(I),5)\I1=I\I2=0\GOTO 580
570 I3=I
580 NEXT I\IF I2<>0 THEN 585\I=I1\GOTO 700
585 IF I3=0 THEN 590\I7=3\GOTO 600
590 I7=2
600 PRINT"SIE HABEN ";I7;" LK MIT GLEICHER GES.PKT.ZAHL IN DEN "
610 PRINT "3 BESTEN H.J.KURSEN. 1 LK DAVON MUESSEN SIE ABSTUFEN"
620 FORI=1TO3\IFB(L(I),7)=0 THEN 660\IF I=I1 THEN 630\IFI=I2THEN 630
625 IF I=I3 THEN 630\GOTO 660
630 PRINT"WOLLEN SIE ";A$(L(I));" ABSTUFEN";\INPUT D$
640 IF D$<>"J" THEN 650\I1=I\GOTO 700
650 IF D$="N" THEN 660\PRINT"FALSCHE EINGABE"\GOTO 630
660 NEXT I\PRINT"SIE MUESSEN SICH ENTSCHEIDEN"\GOTO 620
700 FOR I5=1 TO 65\PRINT"*";\NEXT I5\PRINT
705 PRINT"SIE STUFEN ";A$(L(I));" AB."
710 FOR I5=1 TO 65\PRINT"*";\NEXT I5\PRINT
720 N4=0\Z7=0\GOTO 1995
1190 IF L(I1)<4 THEN 1220\IF L(I1)<7 THEN 1210
1200 IF N2>1 THEN 1220\N8=Z6+1\GOTO 1220
1210 IF F2>1 THEN 1220\F8=Z6+1
1220 G(Z6+1)=L(I1)\L(I1)=0\K=0
1230 FOR I=1 TO 3\IF I=I1 THEN 1240\K=K+1\L(K)=L(I)
1240 NEXT I
1250 FILEV#1:"SYS:AQU2T2.BA"
1260 PRINT#1:S\PRINT#1:Z5\PRINT#1:F\PRINT#1:N8\PRINT#1:F8\PRINT#1:F1
1270 PRINT#1:F2\PRINT#1:N1\PRINT#1:N2\PRINT#1:L(1)\PRINT#1:L(2)
1280 PRINT#1:Z6
1290 FOR I=1 TO Z6+1\PRINT#1:G(I)\NEXT I
1300 FOR I=1 TO 2\FOR J=1 TO 4\PRINT#1:B(L(I),J)\NEXT J\NEXT I
1310 FOR I=1 TO Z6+1\FOR J=1 TO 4\PRINT#1:B(G(I),J)\NEXT J\NEXT I
1320 CLOSE#1
1340 CHAIN "SYS:ABIQ22.BA"
1350 Z4=0\L2=0\L3=0\N4=0
1360 FOR R=Z2 TO Z2+Z1-1\Y1=0\L1=0
1370 M=0\PRINT\IF Z1<>2THEN 1390\IF Z3<3THEN 1590
1390 PRINT A$(R);\INPUT C
1400 IF C<>0 THEN 1420\IF Z7=1 THEN 2050\IF Q1=0THEN 1800
1410 IF R<>9-3*Z9 THEN 1800\IF L3>0THEN 1800\Q1=0\GOTO 1810
1420 IF C<>2 THEN 1580\IF Z1=2 THEN 2040\IF Z7=1 THEN 2040
1430 IF Z1<>3 THEN 1440\L3=L3+1\IF L3>2 THEN 1450
1440 Z3=Z3+1\IF Z3<=3 THEN 1480
1450 PRINT"ZU VIELE LK"\IF Y2<>1 THEN 1470\Y2=0\PRINT"DANN STIMMT EINE";
1460 PRINT" D.OBIGEN EINGABEN NICHT,BITTE VON VORN!"\PRINT\GOTO 80
1470 Z3=3\L3=L3-1\Y2=1\GOTO 1390
1480 Z4=1\L(Z3)=R
1490 IF Z3<>2 THEN 1510\IF L(1)+L(2)=3 THEN 1500\GOTO 1510
1500 P=1
1510 IF Z5<>0 THEN 1630
1520 PRINT"FACHARBEIT IN ";A$(R);\INPUT D$
1530 IF D$<>"J" THEN 1540\GOTO 1560
1540 IF D$<>"N" THEN 1550\PRINT A$(R)\GOTO 1630
1550 PRINT "FALSCHE EINGABE"\GOTO 1520
1560 PRINT"PUNKTE";\INPUT F\IFF>15THEN1570\Z5=R\PRINT A$(R)\GOTO 1630
1570 PRINT "FALSCHE EINGABE"\GOTO 1560
1580 IF C=1 THEN 1600\PRINT "FALSCHE EINGABE"\GOTO 1390
1590 PRINT "SIE HABEN ZUWENIG LK EINGEGEBEN"\GOTO 80
1600 Z6=Z6+1\IF Q1=0 THEN 1610\IF R<>9-3*Z9 THEN 1610\Q1=0\GOTO 1810
1610 IF Z1<>3 THEN 1620\L2=L2+1
1620 Z4=1\G(Z6)=R
1630 IF Z1<>2 THEN 1660\IF R>11 THEN 1660
1640 PRINT "WENN SIE ";A$(R);" IN EINEM H.JAHR NICHT BELEGT HABEN,"
1650 PRINT "GEBEN SIE 0 EIN !"
1660 FOR I=2-V TO 5-V
1670 PRINT"PUNKTE IN ";H$(I);\INPUT B(R,I+V-1)
1680 GOTO 2090
1690 NEXT I
1710 M=B(R,1)\I4=1
1720 FOR I=2 TO 4
1730 IF B(R,I)<M THEN 1740\GOTO 1750
1740 M=B(R,I)\I4=I
1750 NEXT I
1760 FOR D=1 TO 4
1770 IF D=I4 THEN 1780\IFB(R,D)>=5THEN1775\B(R,D)=B(R,D)+20\GOTO1780
1775 B(R,D)=B(R,D)+20\B(R,6)=B(R,6)+1
1780 NEXT D\IF R<10 THEN 1790\IF R>11 THEN 1790\M=1000
1782 FOR I=1 TO 4\IF B(R,I)<20 THEN 1787
1784 IF B(R,I)<M THEN 1786\GOTO 1787
1786 M=B(R,I)\I4=I
1787 NEXT I\B(R,I4)=B(R,I4)-20
1790 IF Z1=2 THEN 1990
1800 NEXT R\IF L3>1 THEN 1820\IF Q=0 THEN 1820\Q=0
1810 PRINT "SIE KLEINER SHAKER ,SIE"\GOTO 2210
1820 IF Z4=0THEN 2010\IF Z1<>3THEN 1990
1830 IF Z9=1 THEN 1860\IF Z1<>3 THEN 1990\N1=L2\N2=L3\IF N2=0 THEN 1870
1840 FOR I=1 TO 9\IF G(I)<20 THEN 1850\G(I)=G(I)-20\GOTO 1990
1850 NEXT I\IF N2=0 THEN 1870\GOTO 1990
1860 F1=L2\F2=L3\IF F2>0 THEN 1990\IF F1>1 THEN 1870\F8=Z6
1865 IF N4=0 THEN 1990\R=G(Z6)\GOTO2150
1870 FOR J=1 TO 9-3*Z9\FOR I=7-3*Z9 TO 9-3*Z9
1880 IF G(J)<20 THEN 1890\G(J)=G(J)-20\IF L2>1 THEN 1960\GOTO 2650
1890 IF G(J)<>I THEN 1960\IF Z9=1 THEN 1910
1900 PRINT"IST ";A$(I);" IHR VIERTES PRUEFUNGSFACH";\INPUT D$\GOTO1920
1910 PRINT"HABEN SIE ";A$(I);" VERPFLICHTEND GEWAEHLT";\INPUT D$
1920 IF D$="J" THEN 1940\IF D$<>"N" THEN 1930\GOTO 1960
1930 PRINT"FALSCHE EINGABE"\IF Z9=1 THEN 1910\GOTO 1880
1940 IF Z9=0 THEN 1950\F8=J\GOTO 1990
1950 N8=J\GOTO 1990
1960 NEXTI\NEXTJ\IF Z9=1THEN1970\IF N8=0THEN2650\GOTO1990
1970 PRINT"SIE MUESSEN EINE FS VERPFL. BELEGT HABEN"\PRINT\GOTO 1860
1990 IF Z3<3THEN 1995\IF K8=1 THEN 1995\GOTO 300
1995 Z2=Z2+Z1
2000 RETURN
2010 IF Z1<>1 THEN 2020\PRINT"MUSS BELEGT SEIN"\GOTO 1360
2020 PRINT"SIE MUESSEN EINS VON DIESEN ";Z1;" FAECHERN BELEGT HABEN"
2030 GOTO 1360
2040 PRINT"ALS LK NICHT MOEGLICH"\GOTO 1390
2050 PRINT"BEFREIT ";\INPUT D$\IF D$<>"J" THEN 2060\S=1
2055 Z6=Z6+1\G(Z6)=R\GOTO 1995
2060 IF D$<>"N" THEN 2080
2070 PRINT"BITTE NEU"\GOTO 1390
2080 PRINT"FALSCHE EINGABE"\GOTO 2050
2090 IF B(R,I+V-1)<0 THEN 2560\IF B(R,I+V-1)>15 THEN 2560
2100 IF B(R,I+V-1)>0 THEN 1690
2110 IF Z1<>1 THEN 2280\IF Z7=1 THEN 1690
2120 Y1=Y1+1\IF Y1>1 THEN 2130\GOTO 1690
2130 PRINT "STIMMT DIE LETZTE PUNKTEINGABE";\INPUT D$\IF D$="J"THEN2150
2140 IF D$<>"N" THEN 2270\Y1=Y1-1\GOTO 1670
2150 PRINT"SIE DUERFEN IN ";A$(R);" NUR EINEN KURS MIT 0 PUNKTEN HABEN,"
2160  IF Z1<>1 THEN 2170\N$=A$(R)\GOTO 2190
2170 IFZ9=0THEN2180\N$="EINER VERPFL. GEWAEHLTEN FREMDSPRACHE"\GOTO2190
2180 N$="EINER NAT.WISSENSCH.,D. PRUEFUNGSF.IST,"
2190 PRINT"DA SIE 3 KURSE IN ";N$;" EINBRINGEN MUESSEN"
2200 PRINT
2210 PRINT"SIE HABEN DIE QUALIFIKATION ZUM ABITUR NICHT ERREICHT!"
2220 PRINT\PRINT\PRINT
2230 PRINT "NOCH MEHR SCHUELER";\INPUT D$\IF D$<>"J" THEN 2250\PRINT
2240 PRINT\PRINT\PRINT\GOTO 80
2250 IF D$="N" THEN 2260\PRINT "FALSCHE EINGABE"\GOTO 2230
2260 STOP
2270 PRINT"FALSCHE EINGABE"\GOTO 2130
2280 IF Z1<>2 THEN 2290\IF R>11 THEN 1690\GOTO 2580
2290 Y1=Y1+1\IFY1>2THEN 1690\IF Y1>1THEN2300\GOTO1690
2300 IF L(Z3)=R THEN 2310\GOTO2420
2310 IF Q=R THEN 1690\L1=L1+1\IF L1<2 THEN 2320\GOTO2130
2320 IF L3<>2THEN 2330\GOTO1690
2330 IF R=6 THEN2130\IF Z3=3 THEN 2130
2340 PRINT "STIMMT DIE LETZTE PUNKTEINGABE";\INPUT D$\IF D$="J"THEN2370
2350 IF D$<>"N"THEN 2360\L1=L1-1\Y1=Y1-1\GOTO 1670
2360 PRINT "FALSCHE EINGABE"\GOTO 2340
2370 IFZ9=0 THEN2380\N$="FREMDSPRACHEN"\GOTO 2390
2380 N$="NATURWISSENSCHAFTEN"
2390PRINT"HABEN SIE NOCH WEITERE ";N$;" ALS LK";\INPUT D$
2400 IF D$="N"THEN 2150\IF D$<>"J"THEN 2410\Q=R\GOTO 1690
2410 PRINT"FALSCHE EINGABE"\GOTO 2380
2420 IF L3=0 THEN 2430\GOTO 1690
2430 IF L2=2 THEN 2440\IF R=6 THEN 2130
2440 IF Z9=0 THEN 2450\N$="FREMDSPRACHE"\IF Z3=3 THEN 2490\GOTO 2460
2450 N$="NAT.WISSENSCH."\IF Z3=3 THEN 2490
2460 IF Q1=1 THEN 1690\PRINT"HABEN SIE EINE ";N$;" ALS LK";\INPUT D$
2470 IF D$="N" THEN 2490\IF D$<>"J" THEN 2480\Q1=1\GOTO 1690
2480 PRINT"FALSCHE EINGABE"\GOTO 2460
2490 IF Z9=0 THEN 2520\GOTO 2510
2500 PRINT "FALSCHE EINGABE"\GOTO 2480
2510 PRINT"IST ";A$(R);" VERPFLICHTEND GEWAEHLT";\INPUT D$\GOTO 2540
2520 PRINT"IST ";A$(R);" VIERTES PRUEFUNGSFACH";\INPUT D$
2530 IF D$<>"N" THEN 2540\G(Z6)=G(Z6)+20\GOTO 1690
2540 IF D$="J" THEN 2150\IF D$<>"N" THEN 2570\Y1=-1\N4=1
2550 GOTO 1690
2560 PRINT"FALSCHE EINGABE"\GOTO 1670
2570 PRINT"FALSCHE EINGABE"\GOTO 2510
2580 Y1=Y1+1\IF Y1>2 THEN 2590\GOTO 1690
2590 PRINT"STIMMT DIE LETZTE EINGABE";\INPUT D$\IF D$="J" THEN 2620
2600 IF D$<>"N" THEN 2610\Y1=Y1-1\GOTO 1670
2610 PRINT "FALSCHE EINGABE"\GOTO 2590
2620 PRINT "SIE DUERFEN IN ";A$(R);" NUR 2 KURSE MIT 0 PKT. HABEN,"
2630 PRINT "DA SIE 2 KURSE IN EINEM KUENSTL. FACH EINBRINGEN MUESSEN."
2640 GOTO 2210
2650 IF N1=1 THEN 2660\N5=0\GOTO 2700
2660 IF B(G(Z6),I4)=0 THEN 2680\B(G(Z6),I4)=B(G(Z6),I4)+20
2670 GOTO 1990
2680 PRINT"SIE KOENNEN IN ";A$(G(Z6));" NICHT D.GEFORDERTEN"
2690 PRINT"VIER KURSE EINBRINGEN"\GOTO 2210
2700 FOR I=1 TO 9\FOR J=7 TO 9\IF G(I)=J THEN 2710\GOTO 2770
2710 B(J,0)=0\B=4\B(J,7)=0
2720 FOR N=1 TO 4\IF B(J,N)<21 THEN 2750\N5=N5+1
2730 IF B(J,N)>B(J,N-1) THEN 2740\GOTO 2760
2740 B(J,7)=B(J,N)\GOTO 2760
2750 B=B-1
2760 NEXT N\IF B>2 THEN 2770\O=O+1
2770 NEXT J\NEXT I
2780 IF O=N1 THEN 2790\IF N5>3 THEN 1990
2790 PRINT"SIE KOENNEN D.GEFORDERTEN 4 KURSE IN NATURWISSENSCHAFTEN"
2800 PRINT"NICHT SO EINBRINGEN,WIE IN PAR.9,ABS.4;3C D.ABITURORDNUNG"
2810 PRINT"GEFORDERT"\GOTO 2210
2820 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