Screenshot 1 Screenshot 2 Screenshot 3
2bc0 85bc 0000 B ... ELEKTRONIK
1..Filter 2..Belasteter Spannungsteiler 3..Schwingkreis 4..Transistor 5..Vierpol 6..Ungeregelte Netzteile 7..Operationsverstaerker 8..Passive Filter 9..Aktive Filter
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10 DIM AR(20),B1(20),C2(20),R1(20),R2(20)
   40 WINDOW:CLS:PRINT:PRINT
   41 PRINT "  "
   42 PRINT "         A Game by"
   43 PRINT "          "
   44 PRINT "          "
   45 PRINT "      "
   46 PRINT "       "
   47 PRINT "     "
   48 PRINT "      "
   49 PRINT "       Suhl c.1988"
   50 PRINT "  "
   51 PRINT:PRINT
   70 PRINT "Berechnungen der Elektrotechnik"
   75 PRINT ""
   80 PRINT "  1..Filter"
   85 PRINT "  2..Belasteter Spannungsteiler"
   90 PRINT "  3..Schwingkreis"
   95 PRINT "  4..Transistor"
  100 PRINT "  5..Vierpol"
  102 PRINT "  6..Ungeregelte Netzteile"
  103 PRINT "  7..Operationsverstaerker"
  104 PRINT "  8..Passive Filter"
  105 PRINT "  9..Aktive  Filter"
  106 PRINT:PRINT:PRINT
  110 INPUT "AUSWAHL";A
  115 IF A<1 OR A>9 THEN 40
  120 ON A GOSUB 130,475,655,910,1195,2000,3000,4000,5100
  125 A$=INKEY$:IF A$=""THEN 125:ELSE 40
  130 REM FILTERBERECHNUNG                                         
  135 WINDOW:CLS
  140 PRINT AT(10,7);"SELEKTIVES FILTER"
  145 PRINT AT(11,14);"mit"
  150 PRINT AT(12,5);"Mehrfachgegenkopplung"
  155 PRINT AT(14,5);">>>>>>>>>>+<<<<<<<<<<"
  160 PAUSE 50:CLS
  165 PRINT
  170 PRINT "          "
  175 PRINT "                     "
  180 PRINT "          C    R2     "
  185 PRINT "                    "
  190 PRINT "      R1         "
  195 PRINT "           "
  200 PRINT " o        o"
  205 PRINT "       C           "
  210 PRINT "Ue                    Ua"
  215 PRINT "                           "
  220 PRINT " o                   o"
  225 PRINT "         R3           "
  230 PRINT "                     "
  235 PRINT "                       "
  240 PRINT "                  "
  245 PRINT
  250 PRINT AT(7,24);CHR$(151)
  255 WINDOW 17,31,0,31
  260 PRINT "Eingabe der"
  265 PRINT "Schaltungsparameter"
  270 PRINT "---------------------"
  275 INPUT "Guete Q als Faktor:";Q
  280 INPUT "Resonanzfrequenz Fo:";FO
  285 INPUT "Verstaerkung in Resonanz Vr:";VR
  290 INPUT "Leerlaufverst.des OPV Vl:";VL
  295 INPUT "Kondensatoren C:";C
  300 CLS
  305 R2=Q/(PI*FO*C)
  310 R1=R2/(2*VR)
  315 R3=R1/((4*PI*PI*C*C*FO*FO*R1*R2)):!*-1
  320 IF VL<(5*Q*Q) THEN 350
  325 PRINT "R1=";R1
  330 PRINT "R2=";R2
  335 PRINT "R3=";R3
  340 PRINT:PRINT "Alle Widerstandswerte in Ohm"
  345 GOTO 395
  350 PRINT "Leerlaufverstaerkung fuer"
  355 PRINT "geforderte Guete nicht"
  360 PRINT "ausreichend !"
  365 A$=INKEY$:IF A$=""THEN 365
  370 Q=SQR(VL/5)
  375 CLS
  380 PRINT:PRINT "Maximal erreichbare Guete:";INT(Q)
  385 PAUSE 50:CLS
  390 GOTO 260
  395 PRINT:PRINT "Berechnung der Parameter"
  400 PRINT "mit genormten Widerstandswerten:"
  405 INPUT "R1=";R1
  410 INPUT "R2=";R2
  415 INPUT "R3=";R3
  420 FO=SQR((R1+R3)/(R3*4*PI*PI*C*C*R1*R2))
  425 Q=R2/(PI*FO*C)
  430 VR=R2/(2*R1)
  435 CLS
  440 PRINT:PRINT "Fo=";FO
  445 PRINT " Q=";Q
  450 PRINT "Vr=";VR
  455 PRINT TAB(15)"R1=";R1
  460 PRINT TAB(15)"R2=";R2
  465 PRINT TAB(15)"R3=";R3
  470 RETURN
  475 REM 
  480 WINDOW:CLS
  485 REM
  490 PRINT AT(1,10);"R1"
  495 PRINT AT(2,6);"Ig        Ia"
  500 PRINT AT(3,4);"o   "
  505 PRINT AT(4,9);"         "
  510 PRINT AT(5,16);"    "
  515 PRINT AT(6,16);" R2   R3"
  520 PRINT AT(7,4);"U1                   Ua"
  525 PRINT AT(8,16);"      "
  530 PRINT AT(9,16);"    "
  535 PRINT AT(10,17);"      "
  540 PRINT AT(11,4);"o"
  545 PRINT AT(13,1);"Der belastete Spannungsteiler"
  550 WINDOW 16,31,0,31:CLS:PAUSE 10
  555 INPUT "R1=";R1
  560 INPUT "R2=";R2
  565 INPUT "Ra=";RA
  570 INPUT "U1=";U1
  575 RG=R1+((R2*RA)/(R2+RA))
  580 IG=U1/RG
  585 UA=(U1*R2*RA)/((R1*R2)+(R1*RA)+(R2*RA))
  590 IA=UA/RA
  595 K=IA*IA*RA
  600 G=UA/U1
  605 PRINT:PRINT
  610 PRINT "Rg=";RG:PRINT
  615 PRINT "Ig=";IG:PRINT
  620 PRINT "Ua=";UA:PRINT
  625 PRINT "Ia=";IA:PRINT
  630 PRINT AT(28,20);"Pa="
  635 PRINT AT(28,24);K
  640 PRINT AT(24,17);"Ua/U1="
  645 PRINT AT(24,24);G
  650 RETURN
  651!
  652!
  653!
  654!
  655 REM SCHWINGKREIS
  656!
  657!
  658!
  659!
  660 WINDOW:CLS
  665 PRINT:PRINT:PRINT
  670 PRINT "Der Faktor R/2L ist die"
  675 PRINT "Daempfungskonstante,und"
  680 PRINT "wird im allgemeinen ver-"
  685 PRINT "vernachlaessigt (R=0)."
  690 PRINT:PRINT "Der Verlustfaktor des"
  695 PRINT "Schwingkreises d=R/(2*PI*f*L),"
  700 PRINT "die Guete Q=1/d und der Kenn-"
  705 PRINT "widerstand"
  710 PRINT "Zo=SQR(L/C) werden mit berechnet"
  715 PRINT "Der Kreiswiderstand Rk=L/R*C"
  720 PRINT "wird ebenfalls angegeben"
  725 A$=INKEY$:IF A$=""THEN 725
  730 WINDOW:CLS:RESTORE 755
  735 FOR I=1 TO 50
  740 READ X,Y,Z
  745 PRINT AT(X,Y);CHR$(Z)
  750 NEXT I
  755 DATA 2,15,82,4,11,160,4,12,160,4,13,165,3,13,168,5,13,167,3,14,160
  760 DATA 3,15,160,3,16,160,3,17,169,5,14,160,5,15,160,5,17,170,4,17
  765 DATA 163,4,18,160,4,19,160,4,20,169,5,9,129,5,20,161,6,9,129,6,20,161
  770 DATA 7,9,129,7,19,160,7,20,162,7,21,160,8,9,129,8,8,76,8,19,160,8,20
  775 DATA 164,8,21,160,9,9,129,9,20,161,9,22,67,10,9,129,10,20,161,11,20
  780 DATA 170,11,10,160,11,11,160,11,12,160,11,13,160,11,14,160,11,15,160
  785 DATA 11,16,160,11,17,160,11,18,160,11,19,160,4,10,160,5,16,160,4,9
  790 DATA 246,11,9,242
  795 PRINT AT(14,9);"Berechnung der"
  800 PRINT AT(15,8);"Resonanzfrequenz"
  805 PRINT AT(16,7);"****  Y2 8OH  ****"
  810 WINDOW 18,31,0,31:CLS
  815 PAUSE 10
  820 INPUT "L=";L
  825 INPUT "C=";C
  830 INPUT "R=";R
  835 PRINT
  840 FO=(1/(2*PI))*SQR((1/(L*C))-((R*R)/(4*L*L)))
  845 D=R/(2*L)
  850 Q=(2*PI*FO)/L
  855 ZO=SQR(L/C)
  860 IF R=0 THEN GOTO 870
  865 RK=L/R*C
  870 CLS:PAUSE 10
  875 PRINT "Fo=";FO
  880 PRINT "D =";D
  885 PRINT "Q =";Q
  890 PRINT "Zo=";ZO
  895 IF R=0 THEN RETURN 
  900 PRINT "Rk=";RK:PRINT
  905 RETURN
  906!
  907!
  908!      TRANSISTOR
  909!
  910 WINDOW:CLS:PRINT:PRINT:PRINT:PRINT
  915 PRINT "TRANSISTOR IN EMITTERSCHALTUNG":PRINT
  920 PRINT "  MIT SPANNUNGSGEGENKOPPLUNG.: 1"
  925 PRINT "  MIT STROMGEGENKOPPLUNG.....: 2"
  930 PRINT "  ALS EMITTERFOLGER..........: 3"
  935 PRINT:PRINT:PRINT "  Rueckkehr Hauptmenue.......: 4"
  940 PRINT:PRINT:PRINT:PRINT
  945 PRINT TAB(6);:INPUT "Waehlen Sie! ";A:CLS
  950 IF A<1 OR A>4 THEN GOSUB 1175:GOTO 910
  955 IF A<>4 THEN PRINT AT(29,5);"Angaben in OHM und VOLT"
  960 ON A GOTO 965,1030,1065,40
  965 PRINT "** TRANSISTOR MIT":PRINT "   SPANNUNGSGEGENKOPPLUNG **":PRINT:PRINT:PRINT
  970 PRINT SPC(10)"U0";SPC(31)"";SPC(29)"Rc";CHR$(159);SPC(27)"R1 ";CHR$(159) 
  975 PRINT SPC(8)"":PRINT " Rg   Rb";CHR$(158);CHR$(158);""
  980 PRINT "Ua":PRINT "";CHR$(158);CHR$(158);" Ue";CHR$(158);CHR$(158);
  985 PRINT "  ":PRINT "~      V1 ":PRINT "          "
  990 PRINT CHR$(158);SPC(3);CHR$(158);SPC(7);CHR$(158);CHR$(158)
  995 PRINT "B-STROM-":PRINT "  VERSTAERKUNG":PRINT
 1000 PRINT "V-VERSTAERKUNG":PRINT:PRINT "Ri-EINGANGS-":PRINT "   WIDERSTAND":PRINT
 1005 PRINT "Ra-AUSGANGS-":PRINT "   WIDERSTAND":WINDOW 5,26,16,31
 1010 INPUT "R1=";R1:INPUT "Rc=";RC:INPUT "Rb=";RB:INPUT "Rg=";RG:INPUT "U0=";U0
 1015 INPUT " B=";B:PRINT:PRINT:CS=RC:R2=100E+06:RE=RC/RC:GOSUB 1085
 1020 V0=-1/(1/RC+1/CE+1/R1)*B/BE:V=1/(1/V0-RB/R1):RI=1/((1-V0)/R1+1/BE)+RB
 1025 RA=1/(1/R1+1/(R1*BE/(RB+RG)+BE+R1)+1/RC+1/CE)/B:GOSUB 1180:GOTO 1010
 1030 PRINT "**** TRANSISTOR MIT":PRINT "     STROMGEGENKOPPLUNG ****":PRINT:PRINT
 1035 GOSUB 1110:PRINT AT(8,10);"" 
 1040 INPUT "R1=";R1:INPUT "R2=";R2:INPUT "Rc=";RC
 1045 INPUT "Re=";RE:INPUT "Rg=";RG:INPUT " B=";B:INPUT "U0=";U0:PRINT
 1050 CS=0:GOSUB 1085:V=1/(-1/(1/(1/RC+1/CE)*B/BE)-RE/RC)
 1055 RI=1/(1/(B*RE+BE)+1/R1+1/R2):RA=1/(1/((1/(BE+RE+RG)*B*RE+1)*CE)+1/RC)
 1060 GOSUB 1180:GOTO 1040
 1065 PRINT "******** EMITTERFOLGER ********":PRINT:PRINT:PRINT:GOSUB 1110:PRINT AT(10,10);""
 1070 INPUT "R1=";R1:INPUT "R2=";R2:INPUT "Rc=";RC:INPUT "Re=";RE:INPUT "Rg=";RG
 1075 INPUT " B=";B:INPUT "U0=";U0:PRINT:CS=0:GOSUB 1085:RI=1/(1/(B*RE+BE)+1/R1+1/R2)
 1080 V=1/(BE/B/RE+1):RA=1/(1/((BE+RG)/B)+1/RE):GOSUB 1180:GOTO 1070
 1085 UB=0:DU=2:RS=R2/(R1+R2):R0=-8.699988E-15*(RS*(R1/B+CS)+RE)
 1090 DU=DU/2:N=(EXP(UB/26.00001E-03)*R0)+U0*RS-UB
 1095 IF N>=0 THEN UB=UB+DU:ELSE UB=UB-DU
 1100 IF DU-100E-06>=0 GOTO 1090:ELSE IC=8.699978E-15*EXP(UB/26.00001E-03)
 1105 BE=B/IC*26.00002E-03:CE=BE*200E+03/B/B:UE=RE*IC:UC=U0-IC*RC:RETURN
 1110 PRINT SPC(8);"U0";SPC(27);"";SPC(25);"R1";CHR$(159);"Rc";CHR$(159)
 1115 PRINT SPC(6);"";CHR$(159);"  ";CHR$(159):PRINT " Rg   V1":PRINT ""
 1120 PRINT "";CHR$(158);CHR$(158);"    ":PRINT "  Ue  Ua"
 1125 PRINT "~  R2":PRINT "     Re":PRINT CHR$(158);"   ";CHR$(158);" ";
 1130 PRINT CHR$(158);"   ";CHR$(158);CHR$(158):PRINT:PRINT "B-STROM-":PRINT "  VERSTAERKUNG":PRINT
 1135 PRINT "V-VERSTAERKUNG":PRINT:PRINT "Ri-EINGANGS-":PRINT "   WIDERSTAND":PRINT
 1140 PRINT "Ra-AUSGANGS-":PRINT "   WIDERSTAND":WINDOW 5,25,16,31:RETURN
 1145 PRINT AT(27,5);"M-Menue   W-wiederholen":PRINT AT(31,14);"T U K"
 1150 I=DEEK(43):POKE I,32
 1155 PRINT AT(29,1);"(C) 1987 by Holger Tschirschky"
 1160 A$=INKEY$:IF A$=""THEN 1160
 1165 IF A$="M"THEN 910
 1170 IF A$="W"THEN CLS:RETURN
 1175 PRINT:PRINT "F E H L E R":PRINT:PRINT:PAUSE 30:CLS:RETURN
 1180 IF UC>=R0 GOTO 1185:ELSE PRINT " UE > UC":PRINT:PRINT " NEU":PRINT:PRINT " DIMENSIONIEREN":GOTO 1190
 1185 PRINT "Ic=";IC:PRINT:PRINT "Uc="UC:PRINT:PRINT "Ue=";UE:PRINT:PRINT " V=";V:PRINT:PRINT "Ri=";RI:PRINT:PRINT "Ra=";RA
 1190 GOSUB 1145:RETURN
 1195!
 1200!
 1205!
 1210!     VIERPOL
 1215!
 1220!
 1225!
 1230!
 1235!
 1240 WINDOW:CLS:PRINT " **** MENUE NF/HF-TECHNIK ****":PRINT:PRINT:PRINT
 1245 PRINT "BERECHNUNG EINES TIEFPASSES..: 1"
 1250 PRINT "PI-FILTER IMPEDANZANPASSUNG..: 2"
 1255 PRINT "WIDERSTANSDAEMPFUNGSGLIED....: 3"
 1260 PRINT "STERN-DREIECK-WANDLUNG.......: 4"
 1265 PRINT "DREIECK-STERN-WANDLUNG.......: 5"
 1270 PRINT:PRINT:PRINT "Rueckkehr ins Hauptmenue.......6"
 1275 PRINT TAB(6);:INPUT "Waehlen Sie! ";A:CLS
 1280 IF A<1 OR A>6 THEN GOSUB 1575:GOTO 1195
 1285 ON A GOTO 1290,1340,1400,1480,1480,40
 1290 PRINT "* BERECHNUNG EINES TIEFPASSES *":WINDOW 5,25,0,12
 1295 PRINT "   ":PRINT "  ":PRINT "    ":PRINT "    R1 ":PRINT "E        A"
 1300 PRINT "     R2 ":PRINT "Z1      Z2";:PRINT "        ":PRINT ""
 1305 PRINT:PRINT:PRINT "Z1: EINGANGS-    IMPEDANZ":PRINT:PRINT "Z2: AUSGANGS-    IMPEDANZ"
 1310 PRINT:PRINT:PRINT " Z1 > Z2":WINDOW 6,25,15,31
 1315 INPUT "Z1=";Z1:PRINT:INPUT "Z2=";Z2:PRINT:PRINT:PRINT
 1320 IF Z1<=Z2 OR Z1<=0 OR Z2<=0 THEN GOSUB 1575:GOTO 1315:ELSE R1=Z1*SQR(1-(Z2/Z1))
 1325 R2=Z2/SQR(1-(Z2/Z1)):M=SQR(Z1/Z2)+SQR((Z1/Z2)-1):L=20*LN(M)/LN(10)
 1330 PRINT "R1 =";R1:PRINT:PRINT "R2 =";R2:PRINT:PRINT "VERLUST:":PRINT:PRINT " ";L;"dB"
 1335 GOSUB 1555:WINDOW:CLS:GOTO 1290
 1340 PRINT "* PI-FILTER IMPEDANZANPASSUNG *":WINDOW 4,25,0,14:PRINT "      L"
 1345 PRINT "    ":PRINT "         ":PRINT "         ":PRINT "E      A"
 1350 PRINT "      ":PRINT "Z1 C1  C2  Z2";:PRINT "         ":PRINT ""
 1355 PRINT:PRINT "Z1: EINGANGS-      IMPEDANZ":PRINT:PRINT "Z2: AUSGANGS-      IMPEDANZ":PRINT
 1360 PRINT " Z1 > Z2":PRINT:PRINT "f:  FREQUENZ":PRINT:PRINT "Q:  GUETE":WINDOW 5,25,17,31
 1365 INPUT "Z1=";Z1:PRINT:INPUT "Z2=";Z2:PRINT:INPUT " Q=";Q:PRINT:INPUT " f=";F:PRINT 
 1370 C=((Z2/Z1)*(Q^2+1))-1 
 1375 IF Z1<=Z2 OR Z1<=0 OR Z2<=0 OR Q<=0 OR F<=0 OR C<=0 THEN GOSUB 1575:GOTO 1365:ELSE A=Z1/Q
 1380 B=Z2/SQR(C):D=((Z2/(Q*B))+1)*((Q*Z1)/(Q^2+1))
 1385 C1=1/(2*PI*F*A):C2=1/(2*PI*F*B):L=D/(2*PI*F):PRINT
 1390 PRINT "PI-FILTER":PRINT "---------":PRINT:PRINT "C1=";C1:PRINT:PRINT "C2=";C2:PRINT:PRINT " L=";L
 1395 GOSUB 1555:CLS:GOTO 1365
 1400 PRINT "** WIDERSTANDSDAEMPFUNGSGLIED **":GOSUB 1525
 1405 WINDOW 15,25,0,12:CLS:PRINT "Z1: EINGANGS-    IMPEDANZ":PRINT
 1410 PRINT "Z2: AUSGANGS-    IMPEDANZ":WINDOW 15,25,16,31
 1415 INPUT "Z1=";Z1:PRINT:INPUT "Z2=";Z2:IF Z1<=Z2 OR Z1=0 OR Z2=0 THEN GOSUB 1575:GOTO 1415
 1420 M=10*(LN((SQR(Z1/Z2)+SQR((Z1/Z2)-1))^2)/LN(10))
 1425 WINDOW 21,25,0,14:PRINT "MINIMALER":PRINT "SYSTEMVERLUST:":PRINT:PRINT " ";M;"dB"
 1430 WINDOW 19,25,16,31:PRINT "GEWUENSCHTER":PRINT:PRINT " VERLUST:":PRINT:INPUT "";L:PRINT
 1435 IF L<M OR L>=370 THEN GOSUB 1575:GOTO 1430
 1440 N=10^(L/10):A=2*SQR(Z1*Z2*N)/(N-1):B=(Z1*((N+1)/(N-1)))-A
 1445 C=(Z2*((N+1)/(N-1)))-A:D=((N-1)*SQR(Z1*Z2/N))/2
 1450 E=1/(((N+1)/(N-1)/Z1)-(1/D)):F=1/(((N+1)/(N-1)/Z2)-(1/D))
 1455 WINDOW 15,25,0,31:CLS:PRINT "Z1=";Z1;:PRINT "Z2=";Z2;:PRINT "VERLUST";L;"dB"
 1460 FOR I=1 TO 31:PRINT "";:NEXT I:PRINT:PRINT:PRINT "R1=";E;TAB(17)"R1=";B:PRINT:PRINT "R2=";F;TAB(17);
 1465 PRINT "R2=";C:PRINT:PRINT "R3=";D;TAB(17)"R3=";A
 1470 FOR I=18 TO 23:PRINT AT(I,14);"":NEXT I
 1475 GOSUB 1555:WINDOW 15,28,0,31:CLS:GOTO 1405
 1480 PRINT "** DREIECK <-> STERN WANDLUNG **":GOSUB 1525
 1485 IF A=5 THEN WINDOW 16,25,0,14:ELSE WINDOW 16,25,16,31
 1490 INPUT "R1=";X:PRINT:INPUT "R2=";Y:PRINT:INPUT "R3=";Z
 1495 IF X<>ABS(X)OR Y<>ABS(Y)OR Z<>ABS(Z)OR X=0 OR Y=0 OR Z=0 THEN GOSUB 1575:GOTO 1490
 1500 IF A=5 GOTO 1510
 1505 R1=X+Y+(X*Y)/Z:R2=Y+Z+(Y*Z)/X:R3=X+Z+(X*Z)/Y:WINDOW 16,25,0,14:GOTO 1515
 1510 R1=X*Z/(X+Y+Z):R2=X*Y/(X+Y+Z):R3=Y*Z/(X+Y+Z):WINDOW 16,25,16,31
 1515 PRINT "R1=";R1:PRINT:PRINT "R2=";R2:PRINT:PRINT "R3=";R3:GOSUB 1555
 1520 WINDOW 16,31,0,31:CLS:GOTO 1485
 1525 PRINT:PRINT "                "
 1530 PRINT "       ":PRINT "             "
 1535 PRINT "E  R3  A E  R1  R2  A":PRINT "                  "
 1540 PRINT "   R1             ":PRINT "Z1  R2Z2 Z1  R3    Z2" 
 1545 PRINT "                    ":PRINT " "
 1550 RETURN
 1555 PRINT AT(27,5);"M-Menue   W-wiederholen"
 1560 I=DEEK(43):POKE I,32
 1565 PRINT AT(29,1);"(C) 1987 by Holger Tschirschky"
 1570 A$=INKEY$:IF A$="M"THEN 1200:ELSE IF A$<>"W"GOTO 1570:ELSE CLS:RETURN
 1575 PRINT:PRINT "F E H L E R":PRINT:PRINT:PAUSE 30:CLS:RETURN
 2000 CLS
 2003 PRINT STRING$(32,"*")
 2006 PRINT:PRINT:PRINT "    UNGEREGELTE NETZTEILE":PRINT:PRINT:PRINT
 2009 PRINT STRING$(32,"*")
 2012 PRINT:PRINT "Auswahl:"
 2015 PRINT:PRINT:PRINT "Einweggleichrichtung   :1":PRINT
 2018 PRINT:PRINT "Zweiweggleichrichtung  :2":PRINT
 2021 PRINT:PRINT "Brueckengleichrichtung :3":PRINT
 2024 PRINT:PRINT "Spannungsverdoppler    :4":PRINT
 2027 PRINT:PRINT "Ende                   :5":PRINT
 2030 PRINT:PRINT:PRINT "Eingabe:";
 2033 A$=INKEY$
 2036 IF A$="" THEN 2033
 2039 A=VAL(A$)
 2042 S=1.5
 2045 ON A GOTO 2051,2081,2111,2141,2171
 2048 GOTO 2033
 2051 GOSUB 2180
 2054 UE=(UG+UB+.7)/1.4142
 2057 PT=IG*(UG+.7)*S
 2060 DS=2*UE*1.4142*S  
 2063 ID=IG*S
 2066 PD=ID*.7
 2069 UK=UG*S
 2072 CL=4950*IG/UB
 2075 PRINT "Einweggleichrichtung":PRINT:PRINT:B=50
 2078 GOSUB 2198:RETURN
 2081 GOSUB 2180
 2084 UE=(UB+UG+.7)/1.4142
 2087 PT=(UG+.7)*IG*S
 2090 ID=.5*IG*S
 2093 DS=2*UE*1.4142*S
 2096 PD=ID*.7
 2099 UK=UG*S
 2102 CL=1870*IG/UB
 2105 PRINT "Zweiweggleichrichtung":PRINT:PRINT:B=100
 2108 GOTO 2078
 2111 GOSUB 2180
 2114 UE=(UG+1.4+UB)/1.4142
 2117 ID=IG*S
 2120 PT=(UG+1.4)*ID
 2123 DS=UE*1.4142*S
 2126 PD=ID*.7
 2129 UK=UG*S
 2132 CL=1870*IG/UB
 2135 PRINT "Brueckengleichrichtung":PRINT:PRINT:B=100
 2138 GOTO 2078
 2141 GOSUB 2180
 2144 UE=(UG+1.4+UB)/2.8284
 2147 PT=(UG+1.4)*IG*S
 2150 ID=2*IG*S
 2153 DS=UE*1.4142*S
 2156 PD=ID*.7
 2159 UK=.5*UG*S
 2162 CL=2700*IG/UB 
 2165 PRINT "Spannungsverdoppler":PRINT:PRINT:B=100
 2168 GOTO 2078
 2171 RETURN
 2180 CLS:PRINT "Gebe folgende Werte ein !":PRINT:PRINT
 2183 PRINT "1. Gleichspannung Ug in V":PRINT:INPUT "   ";UG:PRINT:PRINT
 2186 PRINT "2. Gleichstrom Ig in A":PRINT:INPUT "   ";IG:PRINT:PRINT
 2189 PRINT "3. Spitzenwert der max. zulaes-    sigen Brummspannung in V":PRINT
 2192 INPUT "   ";UB:PRINT
 2195 CLS:RETURN
 2198 PRINT:PRINT:PRINT "Datenausgabe":PRINT "============":PRINT:PRINT:PRINT
 2201 PRINT "Trafo";PT;"W/";UE;"Ueff":PRINT
 2204 PRINT "Diode";DS;"V/";PD;"W/";ID;"A":PRINT
 2207 PRINT "Kond.";UK;"V/";CL;"Mikrofarad":PRINT
 2210 PRINT "Brummfrequenz :";B;"Hz":PRINT:A=0
 2213 INPUT "";A:RETURN
 3000!
 3001!
 3002!
 3003!
 3004!   OPERATIONSVERSATAERKER
 3005!
 3006!
 3007!
 3008!
 3009 WINDOW:CLS:PRINT:PRINT
 3010 PRINT "SCHALTUNGSBERECHNUNG":PRINT:PRINT "AN OPERATIONSVERSTAERKERN"
 3015 PRINT:PRINT:PRINT STRING$(32,"-")
 3020 PRINT "Auswahl des Schaltungstypes":PRINT
 3025 PRINT STRING$(32,"-"):PRINT
 3030 PRINT:PRINT "Invertierender Verstaerker:":PRINT:PRINT "(1)"
 3035 PRINT:PRINT "Nichtinvertierender Verstaerker:":PRINT "(2)"
 3040 PRINT:PRINT "Kombination beider Varianten:":PRINT:PRINT "(3)"
 3042 PRINT:PRINT "Rueckkehr ins Hauptmenue...4"
 3045 CLEAR:PRINT:PRINT:PRINT "Auswahl:";
 3050 A=VAL(INKEY$)
 3055 IF A=0 THEN 3050
 3060 CLS: WINDOW 4,31,0,31
 3065 PRINT AT(3,0);STRING$(32,"=")
 3070 A1=A:IF A>4 OR A<1 THEN 3045
 3075 ON A GOTO 3085,3200,3270,40
 3085 PRINT AT(1,0);"Invertierender Verstaerker":PRINT:PRINT:PRINT
 3090 CLEAR:GOSUB 3415
 3095 GOSUB 3435
 3100 IF S=1 THEN 3125
 3105 PRINT "-Vu:";
 3110 GOSUB 3640
 3115 GOSUB 3450
 3120 IF(S<>2)THEN PRINT "Falsche Eingabe":GOTO 3090
 3125 PRINT:IF VU=0 THEN VU=R2/R1:GOSUB 3660
 3130 IF R1=0 THEN R1=R2/VU:PRINT "R1= "R1
 3135 IF R2=0 THEN R2=VU*R1:PRINT "R2= "R2
 3140 PRINT:PRINT "Vu = "VU TAB(15)"="VU$
 3145 PRINT:PRINT "*R=Berechnung ";
 3150 PRINT "der E48-Reihe"::PRINT "*E=Ende":PRINT "Auswahl :";
 3155 A=VAL(INKEY$)
 3160 IF INKEY$="" THEN 3160
 3165 IF INKEY$="R" THEN PRINT "R":GOTO 3460
 3170 CLEAR
 3175 A=VAL(INKEY$)
 3180 IF INKEY$="E" THEN 3000
 3185 WINDOW
 3190 CLS
 3195 GOTO 3060
 3200 PRINT AT(1,0);"Nichtinvertierender Verstaerker"
 3205 PRINT:PRINT "(R2 darf Null werden)":PRINT
 3210 CLEAR:GOSUB 3415
 3215 GOSUB 3435
 3220 IF S=1 THEN 3250
 3225 PRINT " Vu:";
 3230 GOSUB 3640
 3235 GOSUB 3450
 3240 IF S=3 AND R2=0 THEN 3250
 3245 IF S<>2 THEN PRINT "Falsche Eingabe":GOTO 3210
 3250 PRINT:IF VU=0 THEN VU=R2/R1+1: GOSUB 3660
 3255 IF R1=0 THEN R1=R2/(VU-1):PRINT "R1 ="R1
 3260 IF R2=0 THEN R2=R1*(VU-1):PRINT "R2 ="R2
 3265 GOTO 3140
 3270 PRINT AT(1,0);"Verstaerker mit einem invert."
 3275 PRINT AT(2,0);"und einem nichtinv. Eingang"
 3280 PRINT:PRINT "(R2/R3 duerfen Null werden)":PRINT
 3285 GOSUB 3415:PRINT "R3 :";:GOSUB 3680:R3=R:PRINT "R4 :";:GOSUB 3680:R4=R
 3290 IF R1<>0 AND R2<>0 THEN 3305
 3295 PRINT "Vu1:";:GOSUB 3640
 3300 V1=VU:F1=VF:V1$=VU$
 3305 IF R3<>0 AND R4<>0 THEN 3320
 3310 PRINT "Vu2:";:GOSUB 3640
 3315 V2=VU:F2=VF:V2$=VU$
 3320 VU=V1:GOSUB 3435
 3325 IF S=2 AND R2=0 THEN 3335
 3330 IF S<>1 THEN PRINT:PRINT "Falsche Eingabe":CLEAR:GOTO 3285
 3335 S=0
 3340 IF V2=0 THEN S=S+1
 3345 IF R3=0 THEN S=S+1
 3350 IF R4=0 THEN S=S+1
 3355 IF S=2 AND R3=0 THEN 3365
 3360 IF S<>1 THEN 3330
 3365 PRINT
 3370 IF V1=0 THEN V1=(R2/R1):VU=V1: GOSUB 3660:V1$=VU$
 3375 IF R1=0 THEN R1=(R2/V1):PRINT "R1 = "R1
 3380 IF R2=0 THEN R2=(V1*R1):PRINT "R2 = "R2
 3385 IF V2=0 THEN V2=((R4/(R3+R4))*(V1+1)):VU=V2:GOSUB 3660:V2$=VU$
 3390 IF R3=0 THEN R3=(R4*((V1+1)/V2-1)):PRINT "R3 = "R3
 3395 IF R4=0 THEN R4=(R3/((V1+1)/V2-1)):PRINT "R4 = "R4
 3400 PRINT:PRINT "Vu1="V1 TAB(15)"="V1$
 3405 PRINT "Vu2="V2 TAB(15)"="V2$
 3410 GOTO 3145
 3415 PRINT:PRINT
 3420 PRINT "R1 :";:GOSUB 3680:R1=R
 3425 PRINT "R2 :";:GOSUB 3680:R2=R
 3430 RETURN
 3435 S=0
 3440 IF R1=0 THEN S=S+1
 3445 IF R2=0 THEN S=S+1
 3450 IF VU=0 THEN S=S+1
 3455 RETURN
 3460 PRINT
 3465 R=R1:PRINT "R1 =";:GOSUB 3495
 3470 R=R2:PRINT "R2 =";:GOSUB 3495
 3475 IF A1<>3 THEN 3145
 3480 R=R3:PRINT "R3 =";:GOSUB 3495
 3485 R=R4:PRINT "R4 =";:GOSUB 3495
 3490 GOTO 3145
 3495 F=1
 3500 IF R=0 THEN 3550
 3505 IF R<1 THEN R=R*10:F=F/10:GOTO 3505
 3510 IF R<10 THEN 3520
 3515 R=R*0.1:F=F*10:GOTO 3510
 3520 RESTORE:READ B
 3525 A=B:READ B
 3530 IF R>B THEN 3525
 3535 C=R/A:D=B/R
 3540 IF C<D THEN R=A:ELSE R=B
 3545 IF R=10 THEN R=1:F=F*10
 3550 IF F>1E6 THEN F=F/10:R=R*10:GOTO 3550
 3555 IF F=1E6 THEN F$="M":GOTO 3595
 3560 IF F>1E3 THEN F=F/10:R=R*10:GOTO 3560
 3565 IF F=1E3 THEN F$="k":GOTO 3595
 3570 IF F>1 THEN F=F/10:R=R*10:GOTO 3570
 3575 IF F=1 THEN F$=" ":GOTO 3595
 3580 IF F>1E-3 THEN F=F/10:R=R*10:GOTO 3580
 3585 IF F<1E-3 THEN F=F*10:R=R/10:GOTO 3585
 3590 F$="m"
 3595 PRINT R;F$ "Ohm":RETURN
 3600 DATA 1,1.05,1.1,1.15,1.2,1.25,1.3,1.4,1.5,1.55,1.6,1.7,1.8,1.9
 3605 DATA 2,2.1,2.2,2.3,2.4,2.55,2.7,2.85,3,3.15,3.3,3.45
 3610 DATA 3.6,3.75,3.9,4.1,4.3,4.5,4.7,4.9,5.1,5.35,5.6,5.9,6.2,6.5
 3615 DATA 6.8,7.15,7.5,7.85,8.2,8.6,9.1,9.55,10
 3640 INPUT "";VU$
 3645 IF VU$="" THEN VU=0: RETURN
 3650 FV=INSTR("DB",VU$)+INSTR("dB",VU$)
 3655 VU=VAL(VU$)
 3660 IF FV=0 THEN VU$=STR$(20*(LN(VU))/LN(10))
 3665 IF FV<>0 THEN VU=10^(VU/20)
 3670 VU$=STR$(VAL(VU$))+" dB"
 3675 RETURN
 3680 R$="0":INPUT "";R$
 3685 R=VAL(R$)
 3690 IF R=0 THEN RETURN
 3695 IF INSTR("K",R$)<>0 OR INSTR("k",R$)<>0 THEN R=R*1E3:RETURN
 3700 IF INSTR("M",R$)<>0 THEN R=R*1E6
 3705 RETURN
 4000!
 4005!
 4010!
 4015!
 4020!    PASSIVE  FILTER
 4025!
 4030!
 4035!
 4040 CLS:PRINT
 4045 PRINT "      Hoch und Tiefpaesse":PRINT
 4050 PRINT STRING$(32,"*"):PRINT:PRINT
 4055 PRINT "Unser Angebot:":PRINT
 4060 PRINT "RC-Pass...........1":PRINT
 4065 PRINT "RL-Pass...........2":PRINT
 4070 PRINT "LC-Pass...........3":PRINT
 4075 PRINT "LCL-Hochpass......4":PRINT
 4080 PRINT "LCL-Tiefpass......5":PRINT
 4085 PRINT "CLC-Hochpass......6":PRINT
 4090 PRINT "CLC-Tiefpass......7":PRINT
 4095 PRINT "Daempfungsglied...8":PRINT
 4100 PRINT "Ende..............9":PRINT:PRINT
 4105 PRINT "Bitte waehle ! ";
 4110 GOSUB 4985: CLS
 4115 IF A$="T" THEN RETURN
 4120 IF A<1 OR A>9 THEN 4000
 4125 ON A GOTO 4130,4220,4290,4375,4435,4485,4545,4685,40
 4130 PRINT "RC-Pass":PRINT "=======":PRINT
 4135 GOSUB 4770:S2=10:S1=18
 4140 GOSUB 4900
 4145 GOSUB 4605
 4150 PRINT:PRINT "Willst Du R oder C vorgeben ?":PRINT
 4155 PRINT "in Ohm oder nF  (R/C) :";:GOSUB 4985:PRINT A$:PRINT
 4160 IF A$<>"R" AND A$<>"C"THEN 4150
 4165 IF A$="R"THEN INPUT "R=";R:PRINT
 4170 IF A$="C"THEN INPUT "C=";C:C=C/1E9:PRINT
 4175 IF A$="R"THEN C=1/(2*PI*F*R)
 4180 IF A$="C"THEN R=1/(2*PI*F*C)
 4185 GOSUB 4675
 4190 PRINT "R =";R;" Ohm":PRINT
 4195 PRINT "C =";C*1E9;" nF":PRINT
 4200 GOSUB 4980
 4205 GOSUB 4790
 4210 GOSUB 4900
 4215 GOTO 4615
 4220 PRINT:PRINT "RL-Pass":PRINT "=======":PRINT
 4225 GOSUB 4770:S2=10:S1=18
 4230 GOSUB 4910
 4235 GOSUB 4605
 4240 GOSUB 4620
 4245 IF A$="R"THEN L=R/(2*PI*F)
 4250 IF A$="L"THEN R=2*PI*F*L
 4255 GOSUB 4675
 4260 PRINT "R =";R;" Ohm":PRINT
 4265 PRINT "L =";L*1E3;" mH":PRINT
 4270 GOSUB 4980
 4275 GOSUB 4790
 4280 GOSUB 4910
 4285 GOTO 4615
 4290 PRINT:PRINT "LC-Pass":PRINT "=======":PRINT
 4295 GOSUB 4770:S2=10:S1=18
 4300 GOSUB 4920
 4305 GOSUB 4605
 4310 PRINT "Willst Du L oder C vorgeben ?":PRINT
 4315 PRINT "in mH oder nF        (L/C) :";:GOSUB 4985:PRINT A$:PRINT
 4320 IF A$<>"L"AND A$<>"C"THEN 4310
 4325 IF A$="C"THEN INPUT "C=";C:C=C/1E9:PRINT
 4330 IF A$="L"THEN INPUT "L=";L:L=L/1000:PRINT
 4335 IF A$="L"THEN C=1/(4*PI^2*F^2*L)
 4340 IF A$="C"THEN L=1/(4*PI^2*F^2*C)
 4345 GOSUB 4675
 4350 L=L*1000:C=C*1E9:GOSUB 4660
 4355 GOSUB 4980
 4360 GOSUB 4790
 4365 GOSUB 4920
 4370 GOTO 4615
 4375 PRINT:PRINT "LCL-Hochpass":PRINT "============":PRINT
 4380 GOSUB 4835
 4385 GOSUB 4605
 4390 GOSUB 4650
 4395 F1=F/.9:Z=R/1.25
 4400 L=1000*Z/(2*PI*F1)
 4405 C=1E9/(4*PI*F1*Z)
 4410 GOSUB 4675
 4415 GOSUB 4660
 4420 X$="u":GOSUB 4980
 4425 GOSUB 4835
 4430 GOTO 4615
 4435 PRINT:PRINT "LCL-Tiefpass":PRINT "============":PRINT
 4440 GOSUB 4850
 4445 GOSUB 4605
 4450 GOSUB 4650
 4455 F1=F/.9:Z=R/0.8
 4460 L=Z*1000/(2*PI*F1)
 4465 C=1E9*2/(2*PI*Z*F1)
 4470 GOSUB 4675
 4475 GOSUB 4660:X$="o":GOSUB 4980
 4480 GOSUB 4850:GOSUB 4615
 4485 PRINT:PRINT "CLC-Hochpass":PRINT "============":PRINT
 4490 GOSUB 4855
 4495 GOSUB 4605
 4500 GOSUB 4650
 4505 F1=F/.9:Z=R/0.8
 4510 L=1000*Z/(4*PI*F1)
 4515 C=1E9/(2*PI*Z*F1)
 4520 GOSUB 4675
 4525 GOSUB 4660
 4530 X$="u":GOSUB 4980
 4535 GOSUB 4855
 4540 GOTO 4615
 4545 PRINT:PRINT "CLC-Tiefpass":PRINT "============":PRINT
 4550 GOSUB 4840
 4555 GOSUB 4605
 4560 GOSUB 4650
 4565 F1=F/.9:Z=R/1.25
 4570 L=2*1000*Z/(2*PI*F1)
 4575 C=1E9/(2*PI*Z*F1)
 4580 GOSUB 4675
 4585 GOSUB 4660
 4590 X$="o":GOSUB 4980
 4595 GOSUB 4840
 4600 GOTO 4615
 4605 F=0:INPUT "Grenzfrequenz in kHz:";F:F=F*1000:PRINT:IF F<=0 THEN 4605
 4610 RETURN
 4615 PRINT AT(30,24);">ENTER<" :GOSUB 4985:GOTO 4040
 4620 PRINT "Willst Du R oder L vorgeben ?":PRINT
 4625 PRINT "in Ohm oder mH       (R/L) :";:GOSUB 4985:PRINT A$:PRINT
 4630 IF A$<>"R"AND A$<>"L"THEN 4620
 4635 IF A$="R"THEN INPUT "R=";R:PRINT
 4640 IF A$="L"THEN INPUT "L=";L:L=L/1000:PRINT
 4645 RETURN
 4650 INPUT "Abschluss-R in Ohm :";R:PRINT:IF R<=0 THEN 4650
 4655 RETURN
 4660 PRINT "C =";C;" nF":PRINT
 4665 PRINT "L =";L;" mH":PRINT
 4670 RETURN
 4675 CLS:PRINT:PRINT:PRINT "Ergebnis :":PRINT "----------":PRINT
 4680 RETURN
 4685 PRINT:PRINT "Daempfungsglied":PRINT "===============":PRINT
 4690 GOSUB 4860
 4695 INPUT "Daempfung in dB :";N:PRINT:D=N*0.1151
 4700 IF N<=0 THEN 4695
 4705 INPUT "Wellen-R in Ohm :";ZL:PRINT
 4710 G=EXP(1)^D-1
 4715 R1=ZL*G:R2=ZL/G
 4720 CLS
 4725 GOSUB 4675
 4730 PRINT "R1=";R1;" Ohm":PRINT
 4735 PRINT "R2=";R2;" Ohm":PRINT
 4740 PRINT "ZL=";ZL;"Ohm":PRINT
 4745 PRINT "a =";N;" dB":PRINT
 4750 GOSUB 4860
 4755 PRINT:GOTO 4615
 4770 PRINT "Hoch- oder Tiefpass (0/1):";:GOSUB 4985:PRINT A:PRINT
 4775 IF A<0 OR A>1 THEN 4770
 4780 PRINT:IF A=0 THEN X$="u":ELSE X$="o"
 4785 RETURN
 4790 PRINT:PRINT "Die Grenzfrequenz gilt als"
 4795 PRINT:IF A=0 THEN PRINT "untere";:ELSE PRINT "obere";
 4800 PRINT " Grenzfrequenz.":PRINT:RETURN
 4805 Z2$="":RESTORE 4970:GOSUB 4930:RETURN
 4810 Z2$="":RESTORE:GOSUB 4930:RETURN
 4815 Z2$="":RESTORE 4975:GOSUB 4930:RETURN
 4820 Z2$="":RESTORE 4970:GOSUB 4930:RETURN
 4825 Z2$="":RESTORE 4975:GOSUB 4930:RETURN
 4830 Z2$="":RESTORE:GOSUB 4930:RETURN
 4835 Z2$="":RESTORE 4975:GOSUB 4845:RESTORE 4975:S1=19:GOSUB 4950:RETURN
 4840 Z2$="":RESTORE:GOSUB 4845:RESTORE:S1=19:GOSUB 4950:RETURN
 4845 S1=10:S2=13:GOSUB 4930:RETURN
 4850 Z2$="":RESTORE:GOSUB 4895:S2=18:GOSUB 4945:RETURN
 4855 Z2$="":RESTORE 4975:GOSUB 4895:S2=18:GOSUB 4945:RETURN
 4860 Z2$="":RESTORE 4970:GOSUB 4895:S2=18:GOSUB 4945
 4865 PRINT AT(18,7);""
 4870 PRINT AT(19,7);"":PRINT AT(19,23);""
 4875 PRINT AT(20,7);"":PRINT AT(20,23);""
 4880 PRINT AT(17,15);"R1":PRINT AT(24,16);"R2"
 4885 PRINT AT(22,10);"ZL":PRINT AT(22,20);"ZL"
 4890 RETURN
 4895 S1=15:S2=9:GOSUB 4930:RETURN
 4900 IF X=0 THEN GOSUB 4805:ELSE GOSUB 4810
 4905 RETURN
 4910 IF X=0 THEN GOSUB 4815:ELSE GOSUB 4820
 4915 RETURN
 4920 IF X=0 THEN GOSUB 4825:ELSE GOSUB 4830
 4925 RETURN
 4930 PRINT AT(20,5);STRING$(20,""):PRINT AT(27,5);STRING$(20,"")
 4935 PRINT AT(24,4);"Eing.":PRINT AT(24,24);"Ausg."
 4940 GOSUB 4945:GOSUB 4950:RETURN
 4945 PRINT AT(20,S2);Z2$:RETURN
 4950 FOR I=0 TO 5:READ Z1$
 4955 PRINT AT(21+I,S1);Z1$:NEXT
 4960 PRINT AT(20,S1);"":PRINT AT(27,S1);"":RETURN
 4965 DATA "","","","","","
 4970 DATA "","","","","",""
 4975 DATA "","","","","",""
 4980 PRINT "f";X$;"=";F/1000;"kHz":PRINT:RETURN
 4985 IF INKEY$<>""THEN 4985
 4990 A$=INKEY$
 4995 IF A$="" THEN 4990
 5000 IF A$="T" THEN CALL -352:  RETURN
 5005 A=VAL(A$):A1=ASC(A$)
 5010 RETURN
 5100!
 5105!
 5110!
 5115!
 5120!       AKTIVE FILTER
 5125!
 5130!
 5135!
 5140!
 5145 WINDOW: CLS: WINDOW 15,31,5,31
 5150 PRINT AT(0,0);STRING$(32,"x")
 5155 PRINT AT(8,0);STRING$(32,"x")
 5160 PRINT AT(3,4);"Butterworth Filter"
 5165 PRINT AT(5,4);"(Einfach-Mitkopplung"
 5170 FOR I=1 TO 7
 5175 PRINT AT(I,00);"x"
 5180 PRINT AT(I,31);"x"
 5185 NEXT
 5195 PRINT "Hochpass..........: H":PRINT  
 5200 PRINT "Tiefpass..........: T":PRINT
 5206 PRINT "ENDE..............: E"
 5210 PRINT:PRINT "Bitte waehle :";
 5215 A$=INKEY$
 5216 IF A$="E" THEN RETURN
 5225 IF A$<>"H"AND A$<>"T"THEN 5215
 5230 WINDOW:CLS:PRINT
 5235 INPUT "Grenzfrequenz in Khz :";FG:FG=1000*FG:PRINT
 5240 IF FG<=0 THEN 5235
 5245 INPUT "Ordnung       (1-40) :";OG:PRINT
 5250 OG=INT(OG+0.5):IF OG<1 OR OG>40 THEN 5245
 5255 INPUT "Eingangs- C1 in nF   :";C1:PRINT
 5260 C1=C1/1E9
 5265 IF C1<=0 THEN 5255
 5270 O$="G":IF OG/2-INT(OG/2)>0.1 THEN O$="U"
 5275 V=1
 5280 IF O$="G"THEN 5305
 5285 PRINT "Verstaerkung des Filters :":PRINT
 5290 INPUT " ( x-fach ) :";V:PRINT
 5295 IF V<=0 THEN 5290
 5300 V=ABS(V)
 5305 REM BERECHNUNG
 5310 N=INT(OG/2):IF O$="U"THEN N=N+1
 5315 FOR A=1 TO N
 5320 B1(A)=1
 5325 IF O$="G"THEN AR(A)=2*COS((2*A-1)*PI/(2*OG))
 5330 IF O$="U"THEN AR(A)=2*COS((A-1)*PI/OG)
 5335 NEXT A
 5340 IF O$="U"THEN AR(1)=1:B1(1)=0
 5345 IF A$="H"THEN 5425
 5350 XB=1:IF O$="U"THEN XB=2
 5355 FOR A=XB TO N
 5360 CX=4*B1(A)*C1/(AR(A)*AR(A))
 5365 CX=INT(CX*1E12+1)/1E3
 5370 CLS
 5375 PRINT "Gebe beim";A;" .Operationsverst.":PRINT
 5380 PRINT "C2 (in nF) so ein,dass C2 ":PRINT
 5385 PRINT "moeglichst nahe am Richtwert":PRINT
 5390 PRINT "CX liegt.Dabei muss aber :":PRINT
 5395 PRINT "C2>CX .":PRINT                 
 5400 PRINT "CX=";CX;" nF":PRINT
 5405 INPUT "C2 ( in nF ) =";C2:PRINT
 5410 IF C2<CX THEN PRINT "C2 ist zu klein.":PRINT:GOTO 5405
 5415 C2(A)=C2/1E9
 5420 NEXT A
 5425 IF A$="T"THEN 5490
 5430 FOR A=1 TO N
 5435 C2(A)=C1
 5440 NEXT A
 5445 R1(1)=1/(2*PI*FG*AR(1)*C1)
 5450 R2(1)=R1(1)*V
 5455 IF OG=1 THEN 5485
 5460 XB=1:IF O$="U"THEN XB=2
 5465 FOR A=XB TO N
 5470 R1(A)=1/(PI*FG*C1*AR(A))
 5475 R2(A)=AR(A)/(4*PI*FG*C2(A)*B1(A))
 5480 NEXT A
 5485 GOTO 5540
 5490 R2(1)=AR(1)/(2*PI*FG*C1)
 5495 R1(1)=R2(1)/V
 5500 IF OG=1 THEN 5540
 5505 XB=1:IF O$="U"THEN XB=2
 5510 FOR A=XB TO N
 5515 D=AR(A)*AR(A)*C2(A)*C2(A)-4*B1(A)*C1*C2(A)
 5520 NE=4*PI*FG*C1*C2(A)
 5525 R1(A)=(AR(A)*C2(A)-SQR(D))/NE
 5530 R2(A)=(AR(A)*C2(A)+SQR(D))/NE
 5535 NEXT A
 5540 REM AUSGABE
 5545 C1=C1*1E9
 5550 IF O$="U"THEN RF=R1(1)
 5555 IF O$="G"AND A$="T"THEN RF=R1(1)+R2(1)
 5560 IF O$="G"AND A$="H"THEN RF=R1(1)
 5565 CLS
 5570 PRINT:PRINT "Gesamtfilter":PRINT
 5575 PRINT "Schaltung  :",
 5580 GOSUB 5810
 5585 PRINT
 5590 PRINT "Ordnung            :";OG:PRINT
 5595 PRINT "Grenzfrequenz (khz):";FG/1000:PRINT
 5600 PRINT "OPV-Anzahl         :";N:PRINT
 5605 PRINT "Verstaerkung       :";V:PRINT
 5610 PRINT "Eingangswiderstand :";RF;"Ohm":PRINT
 5615 PRINT "Daempfung (dB/Okt.):";OG*6:PRINT 
 5620 PRINT "Daempfung (dB/Dek.):";OG*20:PRINT
 5625 PRINT:PRINT:PRINT "                    >ENTER<":PRINT
 5630 INPUT "";Q
 5635 CLS
 5640 IF O$="G"THEN 5710
 5645 PRINT:PRINT "Umkehrverstaerker 1.Ordnung":PRINT
 5650 PRINT "Schaltung  :",    
 5655 GOSUB 5810
 5660 PRINT
 5665 PRINT "OPV-Nr. = 1":PRINT   
 5670 PRINT "R1      =";R1(1);" Ohm":PRINT "
 5675 PRINT "R2      =";R2(1);" Ohm":PRINT
 5680 PRINT "C1      =";C1;" nF":PRINT
 5685 PRINT "C2      =";C2(1);" nF":PRINT
 5690 PRINT:PRINT:PRINT "                    >ENTER<":PRINT
 5695 INPUT "";Q
 5700 CLS 
 5705 IF N=1 THEN 5785
 5710 XB=1:IF O$="U"THEN XB=2
 5715 FOR A=XB TO N
 5720 CLS
 5725 C2(A)=C2(A)*1E9
 5730 PRINT:PRINT "Verstaerker 2.Ordnung":PRINT
 5735 PRINT "Schaltung  :",
 5740 GOSUB 5810
 5745 PRINT:PRINT "OPV-Nr. =";A:PRINT
 5750 PRINT "R1     =";R1(A);" Ohm":PRINT    
 5755 PRINT "R2     =";R2(A);" Ohm":PRINT
 5760 PRINT "C1      =";C1;" nF":PRINT
 5765 PRINT "C2      =";C2(A);" nF":PRINT
 5770 PRINT:PRINT:PRINT "                     >ENTER<":PRINT
 5775 INPUT "";Q
 5780 NEXT A
 5785 CLS
 5790 PRINT:PRINT "Neue Berechnung  (J/N)":PRINT
 5795 IF INKEY$<>"" THEN 5795
 5800 Q$=INKEY$:IF Q$=""THEN 5800
 5805 IF Q$="J"THEN 5100:ELSE RETURN
 5810 IF A$="H"THEN PRINT "Hochpass"
 5815 IF A$="T"THEN PRINT "Tiefpass"
 5820 RETURN