home *** CD-ROM | disk | FTP | other *** search
- Sub MAIN
-
- ' program izracuna "SIN" za Abs(a) < 11796480 (Mat.prirocnik str.376)
-
- '__________________zajem podatka in pretvarjanje v radiane_________
-
- a = Val(Selection$()) : adeg = a
- If a Mod 360 <> 0 Then a = a - Int(a / 360) * 360 Else a = 0
- If a < 0 Then a = 360 + a
- If Abs(a) = 0 Or Abs(a) = 180 Or Abs(a) = 360 Then R$ = "0" : Goto IZPIS
- If Abs(a) = 270 Then R$ = "-1" : Goto IZPIS
- If Abs(a) = 90 Then R$ = "1" : Goto IZPIS
- a = a * 3.1415926535898 / 180
-
- '__________________izracun SIN kota "a"____________________________
-
- a2 = a : imen = 1 : koef = 1 : s = 1
- For N = 1 To 12
- stev = a2 * a * a : a2 = stev
- For x = s To (2 * N + 1) : imen = imen * x : Next x : s = 2 * N + 2
- If (N / 2 - Int(N / 2)) <> 0 Then koef = koef * (- 1)
- vrsta = vrsta + (koef * stev / imen) : koef = 1
- Next
- rezultat = a + vrsta : R$ = Str$(rezultat)
-
- '________________zaokrozitev na N decimalk________________________
-
- N = 4 : If Len(R$) < 4 + N Then Goto IZPIS
- 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 "sin " + Str$(adeg) : Superscript 1 : Insert " 0 " : Superscript 0 : Insert " = " + R$ + dec$
-
- REM WordRight : Superscript 1 : Insert " 0 " : Superscript 0 : Insert " = " + R$ + dec$ : Insert " (sin)"
-
- REM WordRight : CharRight 1 : Insert Chr$(9) + R$ + dec$
-
- End Sub
-