home *** CD-ROM | disk | FTP | other *** search
- Sub MAIN
-
- ' program izracuna "ARCTAN" (Mat.prirocnik str.380)
- ' (zelo pocasen za "a" okrog 1)
-
- '__________________zajem podatka ___________________________________
-
- a = Val(Selection$())
- pi = 3.1415926535898
- If (a) = 0 Then R$ = "0" : Goto IZPIS
- If (a) = 1 Then R$ = "45" : Goto IZPIS
- If (a) = - 1 Then R$ = "-45" : Goto IZPIS
- If Abs(a) < 1 Then Goto MALI Else Goto VELIKI
-
- MALI:
- '__________________izracun "arctan" za Abs(a)<1_____________________
-
- a2 = a : imen1 = 1 : st1 = 1 : stev1 = a2
- For N = 1 To (35 + 3 * Int(1 / (1 - Abs(a)))) 'zg.meja se prilagaja "a"
- stev1 = a2 * a * a : a2 = stev1
- imen = (2 * N + 1)
- st1 = st1 * (- 1)
- K = st1 / imen * stev1 : vrsta = vrsta + K
- Next
- rezultat = 180 / pi * (a + vrsta) : R$ = Str$(rezultat) : Goto ZAOKR
-
- VELIKI:
- '__________________izracun "arctan" za Abs(a)>1_____________________
-
- a2 = a : imen1 = 1 : st1 = 1 : stev1 = a2
- For N = 1 To (35 + 3 * Int(1 / (Abs(a) - 1))) 'zg.meja se prilagaja "a"
- stev1 = a2 * a * a : a2 = stev1
- imen = (2 * N + 1)
- st1 = st1 * (- 1)
- K = st1 / (imen * stev1) : vrsta = vrsta - K
- Next
- If a > 0 Then rezultat = 90 + 180 / pi * (- 1 / a + vrsta)
- If a < 0 Then rezultat = - 90 + 180 / pi * (- 1 / a + vrsta)
- R$ = Str$(rezultat)
-
- ZAOKR:
- '________________zaokrozitev na N decimalk________________________
-
- N = 4
- prim = 1 : For I = 1 To N : prim = prim * 10 : Next
- dc = InStr(R$, ".")
- If dc > 1 Then R$ = LTrim$(Left$(Str$(rezultat), dc)) Else Goto IZPIS
- dec1 = Val(Mid$(Str$(rezultat), dc + 1, N + 1)) / 10
- dec2 = Val(Mid$(Str$(rezultat), dc + 1, N) + "0") / 10
- D = dec1 - dec2 : If D >= 0.5 Then dec2 = dec2 + 1
- dec$ = LTrim$(Str$(dec2)) : s = Len(dec$)
- If dec2 = prim Then R$ = Str$(Val(R$) + 1) + "." : dec$ = "0" : s = 1
- For x = s + 1 To N : dec$ = "0" + dec$ : Next
-
- IZPIS:
-
- Insert "atan " + Str$(a) + " = " + R$ + dec$ : Superscript 1 : Insert " 0 " : Superscript 0
-
- REM WordRight : Insert " = " + R$ + dec$ : Superscript 1 : Insert " 0 " : Superscript 0 : Insert " (atan)"
-
- REM WordRight : CharRight 1 : Insert Chr$(9) + R$ + dec$
-
- End Sub
-