fx-3900Pv程式編寫常用技巧

計數機的功能與電腦根本沒法比較。而在計數機中,3900這類程式系統又不如 fx-3950P 般多功能,更遑論圖像計數機了。但是,懂得運用一些技巧的話,其實 3900 的程式系統可以有很多的功能的,這裡就介紹一些編寫技巧。

(以下的P, Q, R, S, T為可變數,並非3900中任何一個command,請注意)

 

  • 數字型式轉換
    • P 10x
      e.g:1000 = 3 10x
    • P EXP Q
      e.g:30000 = 3 EXP 4

註:數字轉換的目的主要是為了節省step。

  •  數學功能
    • Absolute value
      P x2
    • Rounding up P
      P Fix0 RND NRM
    • Truncation of P (P > 0)
      P – . 5 = Fix0 RND NRM
    • Fractional part (P > 0)
      P – ( P – . 5 ) Fix0 RND NRM =
    • P div Q (P 除 Q 的 quotient) (P>0, Q>0   or   P<0, Q<0)
      [Kout P] / Q – . 5 = Fix0 RND NRM
    • Mod (P 除 Q 的 remainder) (P>0, Q>0   or   P<0, Q<0)
      P [Kin R] – ( [Kout R] / Q – . 5 ) Fix0 RND NRM * Q =
    • 由整數 1 到整數 P 的一個隨機數
      Ran# * P + . 5 = Fix0 RND NRM

 

  • 邏輯
    • NOT gate (A’)
      sin-1 cos
    • OR gate (A+B)
      P + Q – P * Q =
    • AND gate (AB)
      P * Q =

 

    • NOR gate (A+B)’
      A + B – P * Q = sin-1 cos
    • NAND gate (AB)’
      A * B = sin-1 cos
    • XOR gate (AB’)(A’B)
      A * B sin-1 cos + A sin-1 cos * B =
    • NXOR gate (A’B’)(AB)
      A sin-1 cos * B sin-1 cos + A * B =

 

  • Looping & 邏輯
    • if P ≠ 0 then loop
      P x2 x>0
    • if P ≠ Q then loop
      P – Q = x2 x>0
    • if P = Q then loop
      P – Q = cos – . 5 = Fix0 RND NRM x>0
    • if P > Q then loop
      P – Q = x>0
    • if P ≥ Q then loop
      Method1) Q – P = x <= M
      Method2) Q – P = cos – . 5 = Fix0 RND NRM + Q – P = x>0
      Method3) Q – P = Kin R cos – . 5 = Fix0 RND NRM + Kout R = x>0

註:
Method 1:
好處:短。
壞處:M-memory必須為0。

Method 2:
好:不用另儲於任何儲存器。
壞:長;P及Q必須之前已儲入儲存器中;|P-Q>|≠360 or multiple of 360。

Method3:
好:較method 2 短少少。
壞:浪費了一個儲存器;|P-Q>|≠360 or multiple of 360。

    • if P isn’t integer then loop
      P – Fix0 RND NRM = x2 x>0
    • for loop (for 1 to P do)
      1 [K+Q] ……{loop body} P – Q = x>0
    • if P = Q then output 1, if P ≠ Q then output 0 (|P-Q|≠360 or multiple of 360)
      P – Q = cos – . 5 = Fix0 RND NRM
    • if P = 0 then output Q,
      if P = 1 then output R,
      if P = S then output T
      R * P ^ ( log [T/R] / log S =

Leave a Reply

Your email address will not be published.