10 REM +++++++++++++++++++++++++++++++++ 11 REM ! Program .... REX 12 REM ! Utg}va 1.1 1980-07-20 13 REM ! av S. LUNDGREN, S. RUNDBERG 14 REM ! Copyright MEDINIK AB 15 REM ! Minne 16 Kbytes 16 REM ! Ins{nt av SVEN RUNDBERG 17 REM +++++++++++++++++++++++++++++++++ 18 REM PROGRAM F\R RADIATORER 19 ; CHR$(12) : K=2*PI : F=0 : C=0 : X=0 : L=0 : H1=0 : H2=0 : H3=0 : H4=0 20 ; CUR(1,0)"R E X - Reaktansber{kningsprogram" 21 ; : ; "(C)MEDINIK AB" 22 ; CUR(5,0)"MATA IN TV] VARIABLER" 23 ; CUR(6,0)"DE TV] OK[NDA ANGES MED 0 (=NOLL)" 24 ; CUR(7,0)"ENHET V[LJES MED RETURN-TANGENTEN" 25 ; CUR(19,0)"N[R DU HAR VALT ENHET, TRYCK P] J" 26 ; CUR(20,0)"OM DU SKRIVER FEL INNAN DU HAR TRYCKT" 27 ; CUR(21,0)"P] RETURN - R[TTA MED PILTANGENTEN" 28 ; CUR(10,0)"F - FREKVENS" : ; CUR(12,0)"C - KAPACITANS" : ; CUR(14,0)"L - INDUKTANS" : ; CUR(16,0)"X - REAKTANS" 29 ; CUR(10,20); : IF H1=1 THEN 51 : ONERRORGOTO 31 : INPUT F : IF SGN(F)=-1 GOTO 31 30 GOTO 32 31 ; CUR(10,20)STRING$(60,32) : GOTO 29 32 S=1 : IF F=0 THEN 51 33 ON S GOTO 34,35,36,37 34 ; CUR(10,27)" Hz" : Z=1 : GOSUB 111 35 ; CUR(10,27)"kHz" : Z=1000 : GOSUB 111 36 ; CUR(10,27)"MHz" : Z=1E+6 : GOSUB 111 37 ; CUR(10,27)"GHz" : Z=1E+9 : GOSUB 111 38 S=S+1 : IF S=5 THEN 32 : GOTO 33 39 IF S=4 THEN 32 : GOTO 33 40 F=F*Z : GOSUB 119 : GOTO 51 41 ; CUR(16,20); : IF H4=1 THEN 29 : ONERRORGOTO 43 : INPUT X : IF SGN(X)=-1 GOTO 43 42 GOTO 44 43 ; CUR(16,20)STRING$(100,32) : GOTO 41 44 S=1 : IF X=0 THEN 29 45 ON S GOTO 46,47,48 46 ; CUR(16,27)" ohm " : Z=1 : GOSUB 112 47 ; CUR(16,27)"kohm " : Z=1000 : GOSUB 112 48 ; CUR(16,27)"Mohm " : Z=1E+6 : GOSUB 112 49 S=S+1 : IF S=4 THEN 44 : GOTO 45 50 X=X*Z : GOSUB 119 : GOTO 29 51 ; CUR(12,20); : IF H2=1 THEN 62 : ONERRORGOTO 53 : INPUT C : IF SGN(C)=-1 GOTO 53 52 GOTO 54 53 ; CUR(12,20)STRING$(60,32) : GOTO 51 54 S=1 : IF C=0 THEN 62 55 ON S GOTO 59,58,57,56 56 ; CUR(12,27)" F" : Z=1 : GOSUB 113 57 ; CUR(12,27)"uF " : Z=.000001 : GOSUB 113 58 ; CUR(12,27)"nF " : Z=1E-9 : GOSUB 113 59 ; CUR(12,27)"pF " : Z=1E-12 : GOSUB 113 60 S=S+1 : IF S=5 THEN 54 : GOTO 55 61 C=C*Z : GOSUB 119 62 ; CUR(14,20); : IF H3=1 THEN 41 : ONERRORGOTO 64 : INPUT L : IF SGN(L)=-1 GOTO 64 63 GOTO 65 64 ; CUR(14,20)STRING$(60,32) : GOTO 62 65 S=1 : IF L=0 THEN 41 66 ON S GOTO 70,69,68,67 67 ; CUR(14,27)" H " : Z=1 : GOSUB 114 68 ; CUR(14,27)"mH " : Z=.001 : GOSUB 114 69 ; CUR(14,27)"uH " : Z=.000001 : GOSUB 114 70 ; CUR(14,27)"nH " : Z=1E-9 : GOSUB 114 71 S=S+1 : IF S=5 THEN 65 : GOTO 66 72 L=L*Z : GOSUB 119 : GOTO 41 73 L=X/(K*F) : C=1/(K*F*X) : GOTO 79 : REM F&X.............. 74 L=1/(K^2*F^2*C) : X=1/(K*F*C) : GOTO 79 : REM F&C........... 75 F=1/(K*C*X) : L=1/(K^2*F^2*C) : GOTO 79 : REM X&C.......... 76 C=1/(K^2*F^2*L) : X=1/(K*F*C) : GOTO 79 : REM F&L........... 77 F=X/(K*L) : C=1/(K^2*F^2*L) : GOTO 79 : REM X&L............. 78 F=1/(K*SQR(L*C)) : X=1/(K*F*C) : REM C&L................ 79 ; CHR$(12) : ; CUR(6,5)"R E S U L T A T :" : REM UTSKRIFT AV RESULTAT 80 IF F>=1E+9 THEN 84 : IF F>=1E+6 THEN 83 : IF F>=1000 THEN 82 81 GOSUB 115 : ; F;" Hz" : GOTO 86 82 GOSUB 115 : ; F/1000;" kHz" : GOTO 86 83 GOSUB 115 : ; F/1E+6;" MHz" : GOTO 86 84 GOSUB 115 : ; F/1E+9;" GHz" 85 REM ------------------------------ 86 IF X>=1E+6 THEN 89 : IF X>=1000 THEN 88 87 GOSUB 116 : ; X;" ohm" : GOTO 91 88 GOSUB 116 : ; X/1000;" kohm" : GOTO 91 89 GOSUB 116 : ; X/1E+6;" Mohm" 90 REM ------------------------------- 91 IF C>=1 THEN 95 : IF C>=.000001 THEN 94 : IF C>1E-9 THEN 93 92 GOSUB 117 : ; C*1E+12;" pF" : GOTO 97 93 GOSUB 117 : ; C*1E+9;" nF" : GOTO 97 94 GOSUB 117 : ; C*1E+6;" uF" : GOTO 97 95 GOSUB 117 : ; C;" F" 96 REM ------------------------------- 97 IF L<.000001 THEN 101 : IF L<.001 THEN 100 : IF L<1 THEN 99 98 GOSUB 118 : ; L;" H" : GOTO 102 99 GOSUB 118 : ; L*1000;" mH" : GOTO 102 100 GOSUB 118 : ; L*1E+6;" uH" : GOTO 102 101 GOSUB 118 : ; L*1E+9;" nH" 102 RESTORE : ONERRORGOTO 108 : OPEN 'PR:' ASFILE 1 103 READ A,B : FOR N=A+31000 TO B+31000 : N$=N$+CHR$(PEEK(N)) 104 IF LEN(N$)>39 ; #1N$ : N$="" 105 NEXT N 106 GOTO 103 107 DATA 1512,1551,1040,1079,1296,1335,1552,1591,824,863 108 CLOSE 1 : ; CUR(20,5)"Tryck p} RETURN f|r ny ber{kning" : ; CUR(22,5)"Tryck p} S f|r stopp" 109 GET A$ : IF A$="S" OR A$="s" THEN 110 ELSE 19 110 ; CHR$(12) : CHAIN "" 111 ; CUR(19,32); : GET R$ : IF R$="J" OR R$="j" 40 ELSE 38 : RETURN 112 ; CUR(19,32); : GET R$ : IF R$="J" OR R$="j" 50 ELSE 49 : RETURN 113 ; CUR(19,32); : GET R$ : IF R$="J" OR R$="j" 61 ELSE 60 : RETURN 114 ; CUR(19,32); : GET R$ : IF R$="J" OR R$="j" 72 ELSE 71 : RETURN 115 ; CUR(10,5)"F - FREKVENS ="; : RETURN 116 ; CUR(16,5)"X - REAKTANS ="; : RETURN 117 ; CUR(12,5)"C - KAPACITANS ="; : RETURN 118 ; CUR(14,5)"L - INDUKTANS ="; : RETURN 119 H1=SGN(F) : H2=SGN(C) : H3=SGN(L) : H4=SGN(X) 120 IF H1+H2+H3+H4=2 THEN 121 ELSE 124 121 IF H1 AND H2=1 THEN 74 : IF H2 AND H3=1 THEN 78 122 IF H1 AND H3=1 THEN 76 : IF H2 AND H4=1 THEN 75 123 IF H1 AND H4=1 THEN 73 : IF H3 AND H4=1 THEN 77 124 RETURN