home *** CD-ROM | disk | FTP | other *** search
/ PC & Mediji 1997 January / PCM_9701.iso / makri / sin.txt < prev    next >
Encoding:
Text File  |  1996-11-24  |  1.7 KB  |  48 lines

  1. Sub MAIN
  2.  
  3. '    program izracuna "SIN" za Abs(a) < 11796480 (Mat.prirocnik str.376)
  4.  
  5. '__________________zajem podatka in pretvarjanje v radiane_________
  6.  
  7. a = Val(Selection$()) : adeg = a
  8. If a Mod 360 <> 0 Then a = a - Int(a / 360) * 360 Else a = 0
  9. If a < 0 Then a = 360 + a
  10. If Abs(a) = 0 Or Abs(a) = 180 Or Abs(a) = 360 Then R$ = "0" : Goto IZPIS
  11. If Abs(a) = 270 Then R$ = "-1" : Goto IZPIS
  12. If Abs(a) = 90 Then R$ = "1" : Goto IZPIS
  13. a = a * 3.1415926535898 / 180
  14.  
  15. '__________________izracun SIN kota "a"____________________________
  16.  
  17. a2 = a : imen = 1 : koef = 1 : s = 1
  18. For N = 1 To 12
  19.     stev = a2 * a * a : a2 = stev
  20.     For x = s To (2 * N + 1) : imen = imen * x : Next  x : s = 2 * N + 2
  21.     If (N / 2 - Int(N / 2)) <> 0 Then koef = koef * (- 1)
  22.     vrsta = vrsta + (koef * stev / imen) : koef = 1
  23. Next
  24. rezultat = a + vrsta : R$ = Str$(rezultat)
  25.  
  26. '________________zaokrozitev na N decimalk________________________
  27.  
  28. N = 4 : If Len(R$) < 4 + N Then Goto IZPIS
  29. prim = 1 : For I = 1 To N : prim = prim * 10 : Next
  30. dc = InStr(R$, ".")
  31. If dc > 1 Then R$ = LTrim$(Left$(Str$(rezultat), dc)) Else Goto IZPIS
  32. dec1 = Val(Mid$(Str$(rezultat), dc + 1, N + 1)) / 10
  33. dec2 = Val(Mid$(Str$(rezultat), dc + 1, N) + "0") / 10
  34. D = dec1 - dec2 : If D >= 0.5 Then dec2 = dec2 + 1
  35. dec$ = LTrim$(Str$(dec2)) : s = Len(dec$)
  36. If dec2 = prim Then R$ = Str$(Val(R$) + 1) + "." : dec$ = "0" : s = 1
  37. For x = s + 1 To N : dec$ = "0" + dec$ : Next
  38.  
  39. IZPIS:
  40.  
  41. Insert "sin " + Str$(adeg) : Superscript 1 : Insert " 0 " : Superscript 0 : Insert " = " + R$ + dec$
  42.  
  43. REM WordRight :  Superscript 1 : Insert " 0 " : Superscript 0 : Insert " = " + R$ + dec$ : Insert " (sin)"
  44.  
  45. REM WordRight : CharRight 1 :  Insert Chr$(9) + R$ + dec$
  46.  
  47. End Sub
  48.