|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 ( e- ~' e, {2 K6 B0 U7 P
5 t v, ]% B) l Y. k% Z2 W" @" P使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性3 @3 G" e& r* l/ K
9 g& X) _7 {; T: Y
形式1:5 ]0 f; Y$ n+ L5 B- V$ Q ]
#100=选兵(陸.海.空)% O/ Q% r' {3 g- [0 H% G& O
IF[#100 EQ 陸 ] GO1- Q5 r9 W) I) |, z; C, E+ T
IF[#100 EQ 海 ] GO2 N; X$ W/ s/ C& H0 o8 B) |' G! r* S. n
GO3(鼻用說.當然是空軍)
+ J7 b: b$ q' ]+ n(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
) W/ G* e" o7 K. n2 A+ g7 L; p因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
$ |7 B, x: L5 Q: ~. H* C
5 q+ l8 h! L8 Z) w+ [9 M3 g如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
* p; j: i- r! V$ f" i' A* m. o也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
# w a$ R/ Q# J3 [: z
$ l+ S$ L$ n& i還有一種防呆寫法:
& ]- }0 F5 c* W" ]#100=選兵(陸.海.空)
5 s t3 ?# X- ` [: ~IF[#100 EQ 陸 ] GO14 }% a4 p. l9 f
IF[#100 EQ 海 ] GO21 H ?: d% Z$ U3 }( l$ u0 j
IF[#100 EQ 空 ] GO3
, N* i1 g# f/ ?8 F) C#3000=1.(如果流到這裡表示#100投入有誤)) L: X# P# ~- B) x
N1....
( C/ |, U8 y4 e
4 U E5 k2 B: x$ t& |- ]N2....
7 c% w2 \/ S$ S5 G9 M, [2 Y2 a: U, i( z$ g0 V' v- O
N3....
1 U# G# k R) f/ p& y9 k& A, f2 i; r2 G4 B. F) z
M99
8 {5 ~) K( t. Y( h: g4 y( T/ k
^6 |( v9 ^; b7 @ g
* r& a L. F$ W6 i7 k y7 C" P形式2:; j( m( J$ }; T; _/ n
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
! m4 Z' O. r; }" c. a& _& TIF[#100 EQ 0万] GO18 Z) t6 z `* a+ Z
IF[#100 GT 5万] GO24 f# C. N8 C7 N% ]- `1 [/ }0 g* R
IF[#100 LT 5万] GO30 S) F% O! n* r3 q
GO4(可省略條件式[#100 EQ5万])老師 C1 T- ?7 Z6 V) g9 V
..........( s N% J( L! e" I( G* o
N1 人民
0 ?/ I$ C3 D# V a" H: y* f; \: X ?+ _; [8 o- Q7 @& `
N2 政官
1 F/ V! f' [" `
( R5 P0 n# _3 b4 r$ IN3 軍警2 @( r+ E, f X. G( r
2 U1 e" n3 s9 I/ w; p3 H
N4 老師3 Z# z+ P4 T" I
: Z; k' v8 k9 O3 k
M99' q2 I/ G$ I2 E& o3 P5 r5 d
3 B5 A9 t1 d5 {
※注意1與3可能會有衝突,有前後順序性的
1 ~) T- z% t! V6 m1 ~8 _形式2是以新台币計價的
/ j- L# m' _ _0 O; s3 _ m8 f7 i( W5 u0 }1 `1 l$ N/ Z5 w
& V( ?3 C2 S$ L5 l
另外一個IF-THEN的例子:: x4 o; r& x$ i6 V8 W4 |# K6 R
假設#100=已用四則運算,算好的結果
+ D" H# J3 r& _) `* P
2 e0 e$ s: X6 r3 J. ~8 J% r2 m- mIF[#100 EQ 2.5万] TH#30=10.
% ^" R; @* m- @4 c5 @4 Y GIF[#100 EQ 0万] TH#30=10.
5 H' q; M5 W PIF[#100 GT 2.5万] TH#30=20.- D& @+ ~! F T
IF[#100 LT 2.5万] TH#30=15.
5 u; z3 e+ A9 o4 e V/ bN1 G1 X#30 Y#25.......開始加工- R B8 l& d3 h8 i9 v1 v/ q3 |" z9 V
+ } H F7 i* J( O6 D上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
- o0 L" M! p1 T1 v" d/ H& y# K+ b a+ W2 h k" l2 }9 d7 O7 r* Q7 T8 M
IF[#100 EQ 2.5] TH#30=10.
* W6 l; f) F# d8 x& e+ u4 e- M) i; O' qIF[#100 EQ 0.] TH#30=10.
) M8 g, L4 d( o$ kIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)* r/ E O/ ?/ d
IF[#100 GT 2.5] TH#30=20.. j) Z$ r2 v. v/ U- V
IF[#100 LT 2.5] TH#30=15.
! F& \( a% V( RN1 G1 X#30 Y#25.......開始加工+ ^* N- k$ W9 b8 Y
' d6 J- c# Z. q4 G4 ~- f0 W" p
或改寫成,B法:使用或閘(OR): P% T. G V: b- m- B
#30=10.
' A3 M+ J X7 y1 y! MIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
) b5 d6 ]" p7 s/ rIF[#100 GT 2.5] TH#30=20.
3 C9 R! ^9 Q# F, K$ aIF[#100 LT 2.5] TH#30=15.
; e7 w" ~8 ~$ p. d! I1 kN1 G1 X#30 Y#25.......開始加工
& \' n+ N7 b1 k* c/ f9 O
" k3 B- H( Y: W. V還有一種不使用TH的寫成,如下:
% ?, P! e) L2 q7 X, k30=10.
1 m% o1 ?; R6 R1 _* g' QIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO11 u/ g( q: z5 S. k2 t. a: b2 l% R, j
#30=20.
# b i. j6 I4 k+ v* q. lIF[#100 GT 2.5] G01, e+ E+ T b \7 I, O8 r
#30=15.
2 C7 X0 J+ q6 I' [9 F4 n% w# T& oIF[#100 LT 2.5] GO1<---此條件式可以省略
* D) P( W# _# R; X6 c) fN1 G1 X#30 Y#25.......開始加工
! q8 {# t& O% u, U2 i# W
: b: c: D3 n! v7 ]: a( i" f+ r/ ]7 x5 A#30會一直有數值去覆蓋它
; R# C2 j+ _; D! m9 a1 W# L( b, H) X0 @) g* V9 }
9 d0 ]4 {9 ]8 m2 ~% W8 [
形式3:理髮3 W# b& ~. p+ ?; w
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
. L$ I0 i" i( A1 }2 YIF[ #100 LE 3. ] GOTO理15分頭
! O" H1 L A! j- F9 I) p# I4 J8 i# fIF[ #100 LE2.5] GOTO理12分頭
$ C: J) K1 o B* ]* yIF[ #100 LE 2. ] GOTO理9分頭
: O' t- [) r0 o& H+ G9 w% u% j( HIF[ #100 LE1.5] GOTO理6分頭% A t' i! X: _
IF[ #100 LE 1. ] GOTO理豬頭
) T. X7 x, z5 {7 Y) C& |: q9 q. i4 V! V7 |" P( n# G% _$ p
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
+ K3 e) K& F1 z1 \' i; q% E- c9 e3 U0 ]& c$ E! C1 A+ V
另外的一種B式
7 Y) F/ Z& e- S! J. Z- bIF[ #100 GE 3. ] GO
* C0 Q, y. \5 r: H; ?, ]$ b, kIF[ #100 GE 2.5] GO
0 z: B. a5 Z- s" _3 aIF[ #100 GE 2. ] GO
- @3 O# P! s) Q. J, sIF[ #100 GE 1.5] GO# P! u( r4 |# r5 H6 H3 [. d
IF[ #100 GE 1. ] GO
u! C: Q: y0 u3 f順序不可顛倒喔!不然少將會理成狗頭
" o+ j) ^3 A# m0 S9 t0 B5 S此例不能安排、佈置快捷性: S/ D2 w2 X) G" V% A
1 ` J8 z% _1 l1 e* z) A* w( X
- M& U3 d% z, h5 h8 \A式:有點像把數值逼到牆角比,自不量力可直接看出
0 |5 F/ I( i8 gB式:像在自由空間比,如果順序調換+ B# x# f- n, L
有錢人也可以去小吃店吃牛肉麵, s- j& D* n6 r! m1 w$ C
高學歷也可撿回收物當職業8 O& ^' U6 x7 s
7 T3 i9 \# \3 g# n再說一下B:順序不能上下倒立,只能轉身如
/ L' G% n! Y/ M5 c4 w1 wIF[ 3. LE #100 ] GO
, x3 y3 S2 W# F' h" ]& q.... q' i& j# c6 C* ~
...8 t, B( d$ x& M0 ]
IF[ 1. LE #100 ] GO! e2 x J9 M, A# N! M; k% y
0 Q& t6 K" u- L' k, T# w; w I3 n! eA.B兩者有一種共通的特性,領多少錢就做多少事8 O. ~/ T! ^% N4 R B( X/ |8 L
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
5 O% b/ Z' b0 F8 q, @' L* I; x! Z1 n! S a6 O* e) \1 H" U7 q; }9 t
0 e# V4 {0 M7 o) d' `8 d B9 A
以上為個人的經驗 |
|