|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 / C7 d! E0 m4 ~* y
J4 A" A' a6 r* t# `" b6 s
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性& Y; w* s' R! o% E* Z' @: [
9 {5 p+ {; z6 _4 y7 _- m形式1:
% F* }! E* |) M# i) G& \#100=选兵(陸.海.空)7 p7 W: I3 ~# A5 C% }! h, S
IF[#100 EQ 陸 ] GO1
6 X Z' f% r& u: v% c6 j1 s. qIF[#100 EQ 海 ] GO2
3 }+ Q4 I7 s. m9 y: k+ v1 ]GO3(鼻用說.當然是空軍)
! g2 F$ R5 e+ M8 j, n5 \(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分), r3 R0 E7 i: Z
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
6 i$ m* t4 v3 l6 J2 g1 W
6 e* h" r+ R. D( K9 h6 ~7 g5 r# e如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆% T2 U/ Q2 `2 Q. R5 a
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做3 M: q( E, q" L! T$ X" c" g8 `+ T) T2 Q
; I$ F: ~3 ^* k, V1 T6 n6 D還有一種防呆寫法:
+ D& H$ ?. ]( Y$ [( b3 r#100=選兵(陸.海.空)
( }! ~8 K8 Q; h2 D0 H3 g- T& eIF[#100 EQ 陸 ] GO14 O1 q6 [: Y! n1 j
IF[#100 EQ 海 ] GO2% |% i1 N6 Z, h+ J) ]
IF[#100 EQ 空 ] GO32 `% t6 e( a) e/ r, _
#3000=1.(如果流到這裡表示#100投入有誤)" l0 y" Y$ ^5 @* r+ k7 ^
N1....4 u0 j% e5 `- i7 u1 `1 w
' A) G1 [% _9 }6 ] ~4 ?" |: p
N2....3 b' G8 I( M/ t/ {
( i$ d+ ~2 f- L# nN3....
; I8 l4 l4 s9 Y9 n" v6 a
" R2 Y/ r6 Q# }$ mM99* q; ?1 y7 c. t+ c' Y6 m
9 |# |& h8 Y8 I& F8 g3 c' v3 `) d
8 R& p8 L/ }5 I% ]
形式2:7 W( u* R# O* n' l
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法)) H" J- k G/ _* [4 Q7 M
IF[#100 EQ 0万] GO1
6 M c% {2 ]5 v/ R" uIF[#100 GT 5万] GO22 C* u( a# Y5 B$ V# R7 E
IF[#100 LT 5万] GO3
3 f) U$ ]' B8 ~4 c6 \' i! f: N1 [GO4(可省略條件式[#100 EQ5万])老師0 e: d- U% Z. K! t' d: i {3 X
..........
: k3 O- I6 P7 ~/ j! [0 z0 iN1 人民
8 w3 d$ a3 D! S# R3 u6 O. f/ ^0 F9 n. P: l% {0 P
N2 政官
. O1 W5 o, B0 X6 Z0 M! Z1 `& z, h" O1 W# `4 e' Q) s+ g8 O
N3 軍警
( Z: b0 G3 y/ I1 \) R! w; b( H, i% g3 _8 {* p( D! ^( m+ m
N4 老師
- q* Z" F8 _5 O3 @. g, I4 m
J" b& V. i v; C4 I: X2 RM99
6 J2 f9 L- ]2 m7 ~$ j) P
2 F% C6 @ C8 p8 z) J" }9 F2 F※注意1與3可能會有衝突,有前後順序性的! g6 Y d0 D) N( s8 }9 ?$ ?" M( @
形式2是以新台币計價的% t E' S8 o2 P, ]9 t5 O
/ ^4 x* ~( B) g: E' k
4 {! x# C+ F; ?( K4 \ c另外一個IF-THEN的例子:, b0 g% u' H5 M. W; O8 L s2 m
假設#100=已用四則運算,算好的結果
3 _9 ]3 S4 {# Y! J1 o S0 `8 u8 C, W3 }/ I! X; `0 q' x
IF[#100 EQ 2.5万] TH#30=10.
9 f, e% g4 y$ ]! W( A' SIF[#100 EQ 0万] TH#30=10.
$ }9 q6 l" t% Q$ \* YIF[#100 GT 2.5万] TH#30=20.
/ S) Y0 E) E- A& OIF[#100 LT 2.5万] TH#30=15.
& T' _9 c- ]. uN1 G1 X#30 Y#25.......開始加工/ z4 c3 U0 j6 C1 \
6 u" U2 R6 [( E+ i5 @: t
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
; w+ D: F8 @3 _2 Q2 ]
! D. @# k) e+ y/ g. e) GIF[#100 EQ 2.5] TH#30=10.# S$ Z7 O4 {: \- }* |
IF[#100 EQ 0.] TH#30=10.
6 K# u2 X) E3 r7 I& @; XIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
; ^: k) y" i: Q) KIF[#100 GT 2.5] TH#30=20.: Y3 N" g/ Y- P3 }
IF[#100 LT 2.5] TH#30=15.9 F! N/ Z7 `# H; U% Q0 g
N1 G1 X#30 Y#25.......開始加工
9 @& e; L$ D! ]
$ `2 D( c5 s# w或改寫成,B法:使用或閘(OR)3 a7 n: |/ ?, A7 N1 \+ t
#30=10.
: C, h% `% K" D6 L) o; ^IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)* y1 Y0 p7 Y' y& k, T3 t7 B: X
IF[#100 GT 2.5] TH#30=20.
! K; t% |# i' |7 i" J7 G; PIF[#100 LT 2.5] TH#30=15. E* {+ g0 ` F" b1 p: C0 \# N. t, ^
N1 G1 X#30 Y#25.......開始加工
. z& @9 v0 l0 o8 | L8 C3 d2 }# j6 C/ W
: F/ W: u5 a4 S9 _8 E/ c, L3 T還有一種不使用TH的寫成,如下:8 G: S0 a1 b8 Q. U, _/ a* u7 D
30=10.% h: T! g" f; a; J# f+ o5 k
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO12 B0 s0 `6 q6 N. v+ L( U/ i
#30=20.
# V/ Y' z' s. n' d' uIF[#100 GT 2.5] G01
$ R/ A3 s/ a5 k) Z' V#30=15.) A% `/ I8 J2 X$ d0 A; ^( w- a
IF[#100 LT 2.5] GO1<---此條件式可以省略) |- N+ f* k f& V2 n3 g' j
N1 G1 X#30 Y#25.......開始加工 u2 g: ], j0 O/ l- H
: L$ _4 {" Z9 o1 T0 Y" g
#30會一直有數值去覆蓋它
7 Q" o2 J9 h r! c- E- \ J \% o/ s: N8 b3 t M
* Y, u, k5 f' y1 [) l# e
形式3:理髮
) F+ a- ^( i2 x( @. o2 W: m#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0), X- Z& T7 Y, I( Z9 D8 S- \
IF[ #100 LE 3. ] GOTO理15分頭8 |2 A3 a' n: f8 r& f' |4 w
IF[ #100 LE2.5] GOTO理12分頭( f1 J, z( @: f; I9 O) l- {% w' G
IF[ #100 LE 2. ] GOTO理9分頭
- a2 L0 d4 ]! [IF[ #100 LE1.5] GOTO理6分頭
2 _5 T5 t5 E4 ^IF[ #100 LE 1. ] GOTO理豬頭- b G+ I8 I: _: }3 Y; c! j, |
7 F6 h# [/ K1 K- r
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
0 o" c' C' z* o6 h* {# L e' @2 m+ s% R+ j9 E$ t
另外的一種B式
1 q: C+ [# {' I% [- ?/ aIF[ #100 GE 3. ] GO( f2 R/ D" y2 k3 e+ B
IF[ #100 GE 2.5] GO( o8 t$ ]* z2 \- E" X! X
IF[ #100 GE 2. ] GO/ \. c# o2 K5 c
IF[ #100 GE 1.5] GO
T( e- I1 u, X o; n* x. ^( c# {IF[ #100 GE 1. ] GO4 F% K; U8 ]' [+ W; l
順序不可顛倒喔!不然少將會理成狗頭* a" q8 b2 a2 b0 X
此例不能安排、佈置快捷性
; {$ M- q! ?) C" @! ?' W+ {
7 d$ z7 V& B1 P; j( P4 Z7 g" Q+ I& l$ v V% U, c6 v
A式:有點像把數值逼到牆角比,自不量力可直接看出
9 T6 D8 p) T8 _1 Z6 jB式:像在自由空間比,如果順序調換
' }% c% [/ S0 r, h5 b" s有錢人也可以去小吃店吃牛肉麵$ R* t5 Q; M& F9 F, Y( V6 F: b. G
高學歷也可撿回收物當職業
3 D5 M1 @1 n. H5 x8 U- R
# w4 j0 p5 T+ k. \9 l: W7 _! q2 K再說一下B:順序不能上下倒立,只能轉身如
! N1 e. {7 C9 i: Z: q& }7 H' FIF[ 3. LE #100 ] GO
% C8 q5 d/ v! e+ v) D7 a4 m...% }" A. ]7 V- R4 X! ~5 C
...$ a( ?" v) b! p6 G
IF[ 1. LE #100 ] GO, Q7 f) R* }& ]/ a$ K. _
8 }1 R: @6 D- v, ?- A7 |' x1 AA.B兩者有一種共通的特性,領多少錢就做多少事
* m) y& Y! Y9 ^7 W如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用7 t* @% K: d. }; L3 s
; w4 o( I% u4 v* j
& U b' Y |2 X) C4 r以上為個人的經驗 |
|