home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / elektro / el_demo / elektr.lst < prev    next >
Encoding:
File List  |  1989-04-05  |  15.9 KB  |  681 lines

  1. DIM hin&(360),ref&(360),huello&(180),huellu&(180),r(29),screen%(1)
  2. DIM kurve(600)
  3. DIM u%(90),i%(90)
  4. DIM u(72),i(72)
  5. screen$=SPACE$(32256)
  6. screen%(0)=XBIOS(2)
  7. screen%(1)=INT((VARPTR(screen$)+255)/256)*256
  8. '
  9. REPEAT
  10.   '
  11.   CLS
  12.   PRINT "             Physikprogramme zur Elektrizitätslehre"
  13.   PRINT "           =========================================="
  14.   PRINT
  15.   PRINT " A   Verstärkung an einer parabelförmigen Kennlinie"
  16.   PRINT
  17.   PRINT " B   Verlauf von U und I auf einem Halbwellendipol"
  18.   PRINT
  19.   PRINT " C   Oberwellenerregung eines geraden Leiters"
  20.   PRINT
  21.   PRINT " D   Rechtecksynthese nach Fourier"
  22.   PRINT
  23.   PRINT " E   Ausbreitung einer elektromagnetischen Welle entlang einer Geraden"
  24.   PRINT
  25.   PRINT " F   Stehende Welle vor total reflektierender Wand"
  26.   PRINT
  27.   PRINT " G   Stehende Welle auf Koaxialkabel mit veränderlichem Abschlußwiderstand"
  28.   PRINT
  29.   PRINT
  30.   PRINT " Z   Programmende"
  31.   PRINT
  32.   PRINT
  33.   PRINT " Wahl ?"
  34.   REPEAT
  35.     e$=INKEY$
  36.   UNTIL e$<>""
  37.   CLS
  38.   CLIP 0,0 TO 639,399
  39.   BMOVE XBIOS(2),screen%(1),32000
  40.   '
  41.   '
  42.   SELECT e$
  43.     '
  44.     '
  45.   CASE "A","a"
  46.     '
  47.     ' ARBEITSP: Auswirkung der Wahl des Arbeitspunktes
  48.     '           auf die Verzerrung des Ausgangssignales
  49.     '
  50.     GET 401,20,635,299,re$
  51.     PRINT AT(48,3);"Ia"
  52.     PRINT AT(2,4);"Gittervorspannung ändern:  <-  ->"
  53.     PRINT AT(2,6);"Eingangsspannung  ändern:  +    -"
  54.     PRINT AT(2,9);"Programmende:  Taste  q"
  55.     DRAW 250,300
  56.     FOR x=0 TO 149
  57.       y=x*x/100
  58.       DRAW  TO 250+x,300-y
  59.     NEXT x
  60.     SGET bild$
  61.     ugv=-50
  62.     ue=30
  63.     phase=0
  64.     iaalt=200
  65.     REPEAT
  66.       scr(phase MOD 2,(phase+1) MOD 2)
  67.       SPUT bild$
  68.       IF ugv>-150 AND ugv<0
  69.         DEFLINE 2,1,0,0
  70.         DRAW 400+ugv,300 TO 400+ugv,300-(150+ugv)^2/100 TO 400,300-(150+ugv)^2/100
  71.         DEFLINE 1,1,0,0
  72.       ENDIF
  73.       DRAW 400+ugv,399 TO 400+ugv,301
  74.       DRAW 400+ugv+ue*SINQ(phase+3),301
  75.       FOR y=1 TO 98
  76.         DRAW  TO 400+ugv+ue*SINQ(phase+3*y),300+y
  77.       NEXT y
  78.       ug=ugv+ue*SINQ(phase)
  79.       IF ug>0
  80.         ug=0
  81.       ENDIF
  82.       ia=300
  83.       IF ug>-150
  84.         ia=300-(150+ug)^2/100
  85.         IF ug<0
  86.           DEFLINE 3,1,0,0
  87.           DRAW 400+ug,300 TO 400+ug,ia TO 399,ia
  88.           DEFLINE 1,1,0,0
  89.         ENDIF
  90.       ENDIF
  91.       PUT 401,20,re$
  92.       DRAW 400,ia TO 401,iaalt
  93.       IF ugv>-150
  94.         DRAW 400,300-(150+ugv)^2/100 TO 401,300-(150+ugv)^2/100
  95.       ENDIF
  96.       iaalt=ia
  97.       GET 400,20,635,300,re$
  98.       phase=phase+3
  99.       IF phase>359
  100.         phase=0
  101.       ENDIF
  102.       PRINT AT(55,18);"Ug"
  103.       DEFLINE 1,1,0,1
  104.       DRAW 10,300 TO 450,300
  105.       DRAW 400,300 TO 400,20
  106.       DEFLINE 1,1,0,0
  107.       i$=INKEY$
  108.       LPOKE XBIOS(14,1)+6,0
  109.       IF i$<>""
  110.         IF i$="+"
  111.           ue=ue+3
  112.           IF ue>400
  113.             ue=400
  114.           ENDIF
  115.         ENDIF
  116.         IF i$="-"
  117.           ue=ue-3
  118.           IF ue<0
  119.             ue=0
  120.           ENDIF
  121.         ENDIF
  122.         IF LEN(i$)=2
  123.           IF CVI(i$)=75
  124.             ugv=ugv-2
  125.             IF ugv<-350
  126.               ugv=-350
  127.             ENDIF
  128.           ENDIF
  129.           IF CVI(i$)=77
  130.             ugv=ugv+2
  131.             IF ugv>0
  132.               ugv=0
  133.             ENDIF
  134.           ENDIF
  135.         ENDIF
  136.       ENDIF
  137.     UNTIL i$="q"
  138.     scr(0,0)
  139.     '
  140.     '
  141.     '
  142.   CASE "B","b"
  143.     '
  144.     ' DIPOLUI : Spannungs- und Stromverlauf auf einem Dipol
  145.     '
  146.     FOR x=0 TO 54
  147.       u(x)=100*COSQ(10*x/3)
  148.       i(x)=100*SINQ(10*x/3)
  149.     NEXT x
  150.     u=1
  151.     i=1
  152.     REPEAT
  153.       scr(phase MOD 2,(phase+1) MOD 2)
  154.       IF i$="p"
  155.         REPEAT
  156.         UNTIL INKEY$<>""
  157.       ENDIF
  158.       amplu=-COSQ(2*phase)
  159.       ampli=SINQ(2*phase)
  160.       CLS
  161.       PRINT " Spannungsverlauf - u     Stromverlauf - i     Pause - p       Programmende - q"
  162.       IF u
  163.         PRINT " ====================";
  164.       ELSE
  165.         PRINT "                     ";
  166.       ENDIF
  167.       IF i
  168.         PRINT "     ================";
  169.       ELSE
  170.         PRINT "                     ";
  171.       ENDIF
  172.       DRAW 50,220 TO 315,220
  173.       DRAW 325,220 TO 590,220
  174.       DRAW 315,220 TO 315,350
  175.       DRAW 325,220 TO 325,350
  176.       IF u
  177.         DRAW 50,220+amplu*100
  178.         FOR x=0 TO 54
  179.           DRAW  TO 50+10*x,220+amplu*u(x)
  180.         NEXT x
  181.       ENDIF
  182.       IF i
  183.         DRAW 150,220
  184.         FOR x=0 TO 54
  185.           DRAW  TO 50+10*x,220-ampli*i(x)
  186.         NEXT x
  187.       ENDIF
  188.       i$=INKEY$
  189.       LPOKE XBIOS(14,1)+6,0
  190.       IF i$="u"
  191.         u=1-u
  192.         IF u=0 AND i=0
  193.           i=1
  194.         ENDIF
  195.       ENDIF
  196.       IF i$="i"
  197.         i=1-i
  198.         IF i=0 AND u=0
  199.           u=1
  200.         ENDIF
  201.       ENDIF
  202.       IF i$="p"
  203.         PRINT "     ========="
  204.       ENDIF
  205.       INC phase
  206.       IF phase=360
  207.         phase=0
  208.       ENDIF
  209.     UNTIL i$="q"
  210.     scr(0,0)
  211.     '
  212.     '
  213.   CASE "E","e"
  214.     '
  215.     '
  216.     ' ELMAGWEL :  Erzeugt Bilder einer bewegten
  217.     '             elektromagnetischen Welle
  218.     '
  219.     ev=1
  220.     REPEAT
  221.       scr(0,0)
  222.       CLS
  223.       BMOVE screen%(0),screen%(1),32000
  224.       scr(1,0)
  225.       DRAW 0,65 TO 639,385
  226.       IF ew
  227.         DRAW 0,65
  228.         FOR x=0 TO 120
  229.           y=60*SINQ(3*x)
  230.           DRAW  TO x,65-y+x/2
  231.         NEXT x
  232.       ENDIF
  233.       IF mw
  234.         DRAW 0,65
  235.         FOR x=0 TO 120
  236.           y=60*SINQ(3*x)
  237.           DRAW  TO x+y,65+x/2
  238.         NEXT x
  239.       ENDIF
  240.       IF ev
  241.         FOR x=0 TO 120 STEP 6
  242.           y=60*SINQ(3*x)
  243.           DRAW x,65+x/2 TO x,65-y+x/2
  244.         NEXT x
  245.       ENDIF
  246.       IF mv
  247.         FOR x=0 TO 120 STEP 6
  248.           y=60*SINQ(3*x)
  249.           DRAW x,65+x/2 TO x+y,65+x/2
  250.         NEXT x
  251.       ENDIF
  252.       GET 0,17,119,170,a$
  253.       PUT 120,77,a$
  254.       PUT 240,137,a$
  255.       PUT 360,197,a$
  256.       GET 0,17,479,350,a$
  257.       DEFLINE 1,3,0,1
  258.       REPEAT
  259.         x%=0
  260.         y%=0
  261.         REPEAT
  262.           CLS
  263.           PUT x%-120,y%-43,a$
  264.           PUT x%+360,y%+197,a$
  265.           PRINT
  266.           PRINT AT(54,2);"El.  Hüllkurve      -  e"
  267.           PRINT AT(54,3);"Mag. Hüllkurve      -  m"
  268.           PRINT AT(54,4);"El.  Feldvektoren   -  E"
  269.           PRINT AT(54,5);"Mag. Feldvektoren   -  M"
  270.           PRINT AT(54,6);"Elektrischer Zeiger -  1"
  271.           PRINT AT(54,7);"Magnetischer Zeiger -  2"
  272.           PRINT AT(54,8);"Programmende        -  q"
  273.           IF ew
  274.             PRINT AT(52,2);"*"
  275.           ENDIF
  276.           IF mw
  277.             PRINT AT(52,3);"*"
  278.           ENDIF
  279.           IF ev
  280.             PRINT AT(52,4);"*"
  281.           ENDIF
  282.           IF mv
  283.             PRINT AT(52,5);"*"
  284.           ENDIF
  285.           IF ez
  286.             PRINT AT(52,6);"*"
  287.           ENDIF
  288.           IF mz
  289.             PRINT AT(52,7);"*"
  290.           ENDIF
  291.           IF ez
  292.             LINE 360,245,360,245+60*SINQ(3*x%)
  293.           ENDIF
  294.           IF mz
  295.             LINE 360,245,360+60*SINQ(360-3*x%),245
  296.           ENDIF
  297.           scr(y% MOD 2,(y%+1) MOD 2)
  298.           x%=x%+2
  299.           y%=y%+1
  300.           i$=INKEY$
  301.           LPOKE XBIOS(14,1)+6,0
  302.           SELECT i$
  303.           CASE "e"
  304.             ew=1-ew
  305.           CASE "m"
  306.             mw=1-mw
  307.           CASE "E"
  308.             ev=1-ev
  309.           CASE "M"
  310.             mv=1-mv
  311.           CASE "1"
  312.             ez=1-ez
  313.           CASE "2"
  314.             mz=1-mz
  315.           ENDSELECT
  316.         UNTIL x%>119 OR i$<>""
  317.       UNTIL i$<>""
  318.       DEFLINE 1,1,0,0
  319.     UNTIL i$="q"
  320.     scr(0,0)
  321.     '
  322.     '
  323.   CASE "C","c"
  324.     '
  325.     ' OBERWELL : Spannungs- und Stromverlauf auf einem Dipol,
  326.     '            der auf einer Harmonischen angeregt wird.
  327.     '
  328.     u%=1
  329.     i%=1
  330.     h%=2
  331.     REPEAT
  332.       f=(h%/2-1)/2+1
  333.       FOR x%=0 TO 90
  334.         u%(x%)=100*COSQ(2*h%*x%)/f
  335.         i%(x%)=100*SINQ(2*h%*x%)/f
  336.       NEXT x%
  337.       phase%=0
  338.       REPEAT
  339.         scr(phase% MOD 2,(phase%+1) MOD 2)
  340.         IF i$="p"
  341.           REPEAT
  342.           UNTIL INKEY$<>""
  343.         ENDIF
  344.         amplu=-COSQ(2*phase%)
  345.         ampli=SINQ(2*phase%)
  346.         CLS
  347.         PRINT " Spannung: u    Strom: i    Harmonische: 1..9    Pause: p       Programmende: q"
  348.         IF u%
  349.           PRINT AT(2,2);"==========="
  350.         ENDIF
  351.         IF i%
  352.           PRINT AT(17,2);"========"
  353.         ENDIF
  354.         PRINT AT(2,4);h%-1;". Harmonische      Dipollänge = ";h%/2
  355.         PRINT AT(38,4);" * Wellenlänge      f = ";h%
  356.         PRINT AT(64,4);" * Grundfrequenz"
  357.         DRAW 5,220 TO 635,220
  358.         DRAW 5,221 TO 635,221
  359.         IF u%
  360.           DRAW 5,220+amplu*100/f
  361.           FOR x%=0 TO 90
  362.             DRAW  TO 5+7*x%,220+amplu*u%(x%)
  363.           NEXT x%
  364.         ENDIF
  365.         IF i%
  366.           DRAW 5,220
  367.           FOR x%=0 TO 90
  368.             DRAW  TO 5+7*x%,220-ampli*i%(x%)
  369.           NEXT x%
  370.         ENDIF
  371.         i$=INKEY$
  372.         LPOKE XBIOS(14,1)+6,0
  373.         IF i$<>""
  374.           IF i$="u"
  375.             u%=1-u%
  376.             IF u%=0 AND i%=0
  377.               i%=1
  378.             ENDIF
  379.           ENDIF
  380.           IF i$="i"
  381.             i%=1-i%
  382.             IF i%=0 AND u%=0
  383.               u%=1
  384.             ENDIF
  385.           ENDIF
  386.           IF i$="p"
  387.             PRINT AT(50,2);"========"
  388.           ENDIF
  389.         ENDIF
  390.         INC phase%
  391.         IF phase%=360
  392.           phase%=0
  393.         ENDIF
  394.       UNTIL (VAL(i$)>0 AND VAL(i$)<10) OR i$="q"
  395.       h%=VAL(i$)+1
  396.     UNTIL i$="q"
  397.     scr(0,0)
  398.     '
  399.     '
  400.   CASE "D","d"
  401.     '
  402.     ' RECHTECK : Fourier - Synthese einer Rechteckspannung
  403.     '
  404.     PRINT " Summe aus Grundfrequenz und ungeradzahligen Vielfachen bis zum "
  405.     DRAW 20,145 TO 640,145
  406.     FOR x=0 TO 600 STEP 2
  407.       PSET x+20,145-120*SINQ(x),1
  408.     NEXT x
  409.     DRAW 20,350 TO 620,350
  410.     PRINT AT(2,18);"Als nächstes wird die      -fache Frequenz mit der Amplitude 1/     addiert"
  411.     SGET a$
  412.     ord=1
  413.     FOR x=0 TO 600
  414.       kurve(x)=120*SIN(x*PI/180)
  415.     NEXT x
  416.     REPEAT
  417.       SPUT a$
  418.       PRINT AT(65,1);ord;" - fachen"
  419.       DRAW 20,145
  420.       FOR x=1 TO 600
  421.         DRAW  TO x+20,145-kurve(x)
  422.       NEXT x
  423.       ord=ord+2
  424.       PRINT AT(24,18);ord
  425.       PRINT AT(65,18);ord
  426.       DRAW 20,350
  427.       FOR x=1 TO 600
  428.         y=120*SIN(ord*x*PI/180)/ord
  429.         DRAW  TO x+20,350-y
  430.         kurve(x)=kurve(x)+y
  431.       NEXT x
  432.       PRINT AT(7,13);"Taste !"
  433.       PRINT AT(5,15);"oder  q  für"
  434.       PRINT AT(5,16);"Programmende"
  435.       i=INP(2)
  436.       LPOKE XBIOS(14,1)+6,0
  437.     UNTIL i=113
  438.     '
  439.     '
  440.   CASE "F","f"
  441.     '
  442.     ' STEHWELL: Darstellung einer stehenden Welle vor einer reflektierenden Wand
  443.     '
  444.     ARRAYFILL hin&(),0
  445.     ARRAYFILL ref&(),0
  446.     ARRAYFILL huello&(),0
  447.     ARRAYFILL huellu&(),0
  448.     z1&=80
  449.     z2&=160
  450.     z3&=335
  451.     PRINT " Einhüllende: e      Seilende lose / fest        Pause: p       Programmende: q"
  452.     PRINT AT(69,5);"hinlaufende"
  453.     PRINT AT(69,6);"Welle"
  454.     PRINT AT(69,10);"reflektierte"
  455.     PRINT AT(69,11);"Welle"
  456.     PRINT AT(69,21);"beobachtete"
  457.     PRINT AT(69,22);"Welle"
  458.     DRAW 0,z1& TO 540,z1&
  459.     DRAW 0,z2& TO 540,z2&
  460.     DRAW 0,z3& TO 540,z3&
  461.     DRAW 540,z1&-33 TO 540,z1&+33
  462.     DRAW 540,z2&-33 TO 540,z2&+33
  463.     DRAW 540,z3&-33 TO 540,z3&+33
  464.     SGET bild$
  465.     anf&=180
  466.     abschl&=1
  467.     REPEAT
  468.       scr(anf& MOD 2,(anf&+1) MOD 2)
  469.       SPUT bild$
  470.       IF e&
  471.         PRINT AT(2,2);"=============="
  472.       ENDIF
  473.       IF abschl&=1
  474.         PRINT AT(31,2);"====     "
  475.       ELSE
  476.         PRINT AT(30,2);"        ===="
  477.       ENDIF
  478.       hin&(anf&)=30*SINQ(6*anf&)
  479.       DRAW 0,hin&(anf&)+z1&
  480.       FOR x&=0 TO 180
  481.         DRAW  TO 3*x&,hin&(x&+anf&)+z1&
  482.       NEXT x&
  483.       ref&(anf&)=abschl&*hin&(anf&+180)
  484.       DRAW 0,ref&(anf&+180)+z2&
  485.       FOR x&=0 TO 180
  486.         DRAW  TO 3*x&,ref&(anf&+180-x&)+z2&
  487.       NEXT x&
  488.       DRAW 0,hin&(anf&)+ref&(anf&+180)+z3&
  489.       FOR x&=0 TO 180
  490.         h&=hin&(x&+anf&)+ref&(anf&+180-x&)
  491.         DRAW  TO 3*x&,h&+z3&
  492.         IF e&
  493.           IF huello&(x&)<h&
  494.             huello&(x&)=h&
  495.           ENDIF
  496.           IF huellu&(x&)>h&
  497.             huellu&(x&)=h&
  498.           ENDIF
  499.         ENDIF
  500.       NEXT x&
  501.       IF e&
  502.         FOR x&=0 TO 180
  503.           DRAW 3*x&,huello&(x&)+z3&
  504.           DRAW 3*x&,huellu&(x&)+z3&
  505.         NEXT x&
  506.       ENDIF
  507.       hin&(anf&+180)=hin&(anf&)
  508.       ref&(anf&+180)=ref&(anf&)
  509.       IF i$="p"
  510.         REPEAT
  511.         UNTIL INP?(2)
  512.         ~INP(2)
  513.       ENDIF
  514.       i$=INKEY$
  515.       LPOKE XBIOS(14,1)+6,0
  516.       IF i$<>""
  517.         IF i$="p"
  518.           PRINT AT(50,2);"========";
  519.         ENDIF
  520.         IF i$="l"
  521.           abschl&=1
  522.         ENDIF
  523.         IF i$="f"
  524.           abschl&=-1
  525.         ENDIF
  526.         IF i$="e"
  527.           e&=1-e&
  528.           IF e&
  529.             FOR n&=0 TO 180
  530.               huello&(n&)=0
  531.               huellu&(n&)=0
  532.             NEXT n&
  533.           ENDIF
  534.         ENDIF
  535.       ENDIF
  536.       DEC anf&
  537.       IF anf&<1
  538.         anf&=180
  539.       ENDIF
  540.     UNTIL i$="q"
  541.     scr(0,0)
  542.     '
  543.     '
  544.     '
  545.   CASE "G","g"
  546.     '
  547.     ' STWKOAX: Darstellung einer stehenden Welle auf einem Koaxialkabel
  548.     '
  549.     ARRAYFILL hin&(),0
  550.     ARRAYFILL ref&(),0
  551.     ARRAYFILL huello&(),0
  552.     ARRAYFILL huellu&(),0
  553.     RESTORE
  554.     FOR n%=0 TO 29
  555.       READ r(n%)
  556.     NEXT n%
  557.     z1%=80
  558.     z2%=160
  559.     z3%=335
  560.     PRINT " R größer/kleiner: +-      Einhüllende: e      Pause: p         Programmende: q"
  561.     PRINT AT(69,5);"hinlaufende"
  562.     PRINT AT(69,6);"Welle"
  563.     PRINT AT(69,10);"reflektierte"
  564.     PRINT AT(69,11);"Welle"
  565.     PRINT AT(2,16);"Koaxialkabel mit Wellenwiderstand  50 Ohm          SWR ="
  566.     PRINT AT(70,14);"Abschluß-"
  567.     PRINT AT(70,15);"widerstand"
  568.     PRINT AT(72,19);"Ohm"
  569.     PRINT AT(69,21);"beobachtete"
  570.     PRINT AT(69,22);"Welle"
  571.     DRAW 0,z1% TO 540,z1%
  572.     DRAW 0,z2% TO 540,z2%
  573.     BOX -1,239,540,256
  574.     BOX 555,243,577,251
  575.     DRAW 541,247 TO 554,247
  576.     DRAW 578,247 TO 587,247 TO 587,256 TO 541,256
  577.     DRAW 0,z3% TO 540,z3%
  578.     SGET bild$
  579.     anf%=180
  580.     REPEAT
  581.       scr(anf% MOD 2,(anf%+1) MOD 2)
  582.       SPUT bild$
  583.       PRINT AT(60,16);swr
  584.       PRINT AT(72,18);r(rz%)
  585.       IF e%
  586.         PRINT AT(28,2);"=============="
  587.       ENDIF
  588.       hin&(anf%)=30*SINQ(6*anf%)
  589.       DRAW 0,hin&(anf%)+z1%
  590.       FOR x%=0 TO 180
  591.         DRAW  TO 3*x%,hin&(x%+anf%)+z1%
  592.       NEXT x%
  593.       ref&(anf%)=rf*hin&(anf%+180)
  594.       DRAW 0,ref&(anf%+180)+z2%
  595.       FOR x%=0 TO 180
  596.         DRAW  TO 3*x%,ref&(anf%+180-x%)+z2%
  597.       NEXT x%
  598.       DRAW 0,hin&(anf%)+ref&(anf%+180)+z3%
  599.       FOR x%=0 TO 180
  600.         h%=hin&(x%+anf%)+ref&(anf%+180-x%)
  601.         DRAW  TO 3*x%,h%+z3%
  602.         IF e%
  603.           IF huello&(x%)<h%
  604.             huello&(x%)=h%
  605.           ENDIF
  606.           IF huellu&(x%)>h%
  607.             huellu&(x%)=h%
  608.           ENDIF
  609.         ENDIF
  610.       NEXT x%
  611.       IF e%
  612.         FOR x%=0 TO 180
  613.           DRAW 3*x%,huello&(x%)+z3%
  614.           DRAW 3*x%,huellu&(x%)+z3%
  615.         NEXT x%
  616.       ENDIF
  617.       hin&(anf%+180)=hin&(anf%)
  618.       ref&(anf%+180)=ref&(anf%)
  619.       IF i$="p"
  620.         REPEAT
  621.         UNTIL INP?(2)
  622.         ~INP(2)
  623.       ENDIF
  624.       i$=INKEY$
  625.       LPOKE XBIOS(14,1)+6,0
  626.       IF i$<>""
  627.         IF i$="p"
  628.           PRINT AT(48,2);"========";
  629.         ENDIF
  630.         IF i$="e"
  631.           e%=1-e%
  632.           IF e%
  633.             FOR n%=0 TO 180
  634.               huello&(n%)=0
  635.               huellu&(n%)=0
  636.             NEXT n%
  637.           ENDIF
  638.         ENDIF
  639.         IF i$="+" OR i$="-"
  640.           FOR n%=0 TO 180
  641.             huello&(n%)=0
  642.             huellu&(n%)=0
  643.           NEXT n%
  644.         ENDIF
  645.         IF i$="+"
  646.           INC rz%
  647.           IF rz%>29
  648.             rz%=0
  649.           ENDIF
  650.         ENDIF
  651.         IF i$="-"
  652.           DEC rz%
  653.           IF rz%<0
  654.             rz%=29
  655.           ENDIF
  656.         ENDIF
  657.       ENDIF
  658.       rf=(r(rz%)-50)/(r(rz%)+50)
  659.       swr=ROUND((1+ABS(rf))/(1-ABS(rf)),1)
  660.       DEC anf%
  661.       IF anf%<1
  662.         anf%=180
  663.       ENDIF
  664.     UNTIL i$="q"
  665.     scr(0,0)
  666.     '
  667.     '
  668.   ENDSELECT
  669.   '
  670. UNTIL e$="z" OR e$="Z"
  671. '
  672. '
  673. ' Bildschirme umschalten
  674. '
  675. PROCEDURE scr(log&,phys&)
  676.   VOID XBIOS(5,L:screen%(log&),L:screen%(phys&),L:-1)
  677. RETURN
  678. '
  679. DATA .1,1,5,10,12.5,20,25,30,40,45,50,55,60,70,75,80,100,120,150,200
  680. DATA 250,300,400,500,1000,2000,4000,5000,10000,1000000
  681.