|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
7 J$ v3 r6 q3 l7 z
4 p. W7 M' l. b4 E( e使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
0 @( s( Z4 b3 u: R6 }# Y, d0 e% ^% s- l, G U
形式1:
) Y' ^! q: M5 h, ^& ~+ }$ ~& f#100=选兵(陸.海.空)
% w/ }2 T/ N: h* a; i# UIF[#100 EQ 陸 ] GO1% a5 Q1 Q. A7 W( A% M
IF[#100 EQ 海 ] GO2
, w# i* |" q9 n# p) w# fGO3(鼻用說.當然是空軍)
5 ^. N$ A! X0 }, M& a(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
, a% l( n& k' L2 j0 A因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
" [' I- h+ a$ ?/ [0 z2 s3 k, l
' ^( b6 I: S8 y; J N5 x如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆# b) ?( r% Q0 D; `+ a3 q6 L: t. G: G
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做6 B: o" v: H9 v7 t* s, [: W
' O- R; \4 u; F1 u還有一種防呆寫法:
, [' K4 G4 ]9 \. u* z#100=選兵(陸.海.空); K, x0 X, N5 W' b! j$ U7 [0 Y3 C
IF[#100 EQ 陸 ] GO11 B$ j% X0 U' @) N0 `4 z) P
IF[#100 EQ 海 ] GO2
- O6 n% A- } M4 O' H4 Q( kIF[#100 EQ 空 ] GO31 K7 |" g& {3 e7 F
#3000=1.(如果流到這裡表示#100投入有誤)
2 c9 Q3 L6 @( W, ]N1...." O4 t7 |8 O- b7 D. q. F4 L9 f
! G) I) q5 q; h/ `7 \2 LN2....9 l; ]7 ^# N9 F; _$ S( T
1 S% ~2 q1 \) D8 ] A
N3....! M9 ^+ l0 J2 s+ I8 v; x& v
- c: Q8 H0 Z9 ~! ?$ Z+ ]
M99
( P; C! g% R6 x; B% e7 ~0 r# q9 v& ~5 z5 e$ }
, e x6 E% h) S! s9 R
形式2:
& }0 {; ~/ t4 L3 L9 y! U6 l#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
6 A& g4 ~" F$ ~( @: P( |IF[#100 EQ 0万] GO15 b$ H" p' k" I
IF[#100 GT 5万] GO2
5 V- Y5 o2 ?2 Q; [3 BIF[#100 LT 5万] GO3# X: a* t: _/ N/ ]) h% e
GO4(可省略條件式[#100 EQ5万])老師& ~/ D8 j/ p2 l- F: w8 y: H
..........
1 D6 \7 k& s/ k' H4 @" BN1 人民8 a! r- {& B2 B/ x+ j' v
+ w5 x) r, {! o5 J5 q; b
N2 政官7 V. {* ]# L/ B) M+ [& `0 c1 t
0 m2 N, ] S9 k* w- w% xN3 軍警$ L. _4 H& n% e* q* d! \
& T. F; L" p* q$ T7 u
N4 老師* S: Z" h2 ~% t, R4 H) G" ]% g6 D
5 _( x! N- [: z( a& |& |1 M
M99/ a1 t: @ c- V; M* p5 I
. N6 C: H+ }* _8 F! d. c5 E2 N8 z& g
※注意1與3可能會有衝突,有前後順序性的
' N% y, Q/ D: h& O8 i' s+ C9 y3 w形式2是以新台币計價的
* p9 [* N" `, s% S# d
% n L4 v! `8 y' D% x! h" b( K& J4 E$ t. b) C% f- z
另外一個IF-THEN的例子:' t, i# @0 A( t
假設#100=已用四則運算,算好的結果
N0 H' y! p/ Y, ?; R, W# \% c- O0 e' J4 `& a
IF[#100 EQ 2.5万] TH#30=10.7 o! e1 H; M* o8 W5 E
IF[#100 EQ 0万] TH#30=10.: w; l: R9 d" Z$ G6 v# H! \* a
IF[#100 GT 2.5万] TH#30=20.
3 m7 D1 j: E7 hIF[#100 LT 2.5万] TH#30=15.
0 u8 b2 ]- Y. aN1 G1 X#30 Y#25.......開始加工
3 z3 f8 R3 v+ ^5 T- B7 B% M0 u+ i0 g3 d! Y$ f5 G- d
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:( V6 a# A9 f$ n, y/ j
, ~, D+ o) A7 N+ {/ K0 M8 WIF[#100 EQ 2.5] TH#30=10.- Y$ s; d' f7 O2 \5 Y1 \& ?
IF[#100 EQ 0.] TH#30=10.9 d: {7 H% o# Y6 J8 S3 F0 l7 b
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
( k9 r7 s4 ]* A0 ?- a6 PIF[#100 GT 2.5] TH#30=20.* P8 _8 L7 Z+ ^$ E4 d$ Q* x8 Z* L) r
IF[#100 LT 2.5] TH#30=15.. v8 q8 W; U1 ~1 ^# W
N1 G1 X#30 Y#25.......開始加工4 T1 G4 _% e) Q8 g2 A
7 h0 B4 l: m! i/ h6 U( p" l7 H8 B或改寫成,B法:使用或閘(OR)& b( L2 p9 M$ u& L7 T+ a) y
#30=10.
1 j! W. F ]* d$ D1 }IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)) A7 Q( F0 d% n- ^. _
IF[#100 GT 2.5] TH#30=20.7 f1 Z: _7 }( f- f( _; T
IF[#100 LT 2.5] TH#30=15.; P: S& W9 M: k& z: F
N1 G1 X#30 Y#25.......開始加工) } a# ]+ l4 ?
& x, O# F" H2 {2 `還有一種不使用TH的寫成,如下:
& j8 J7 P7 E# j' ^9 E30=10.
" V4 x3 @3 ~3 w1 t- o, Z0 U: RIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
$ A3 N1 d, [' C#30=20.4 v7 T( y9 h& _5 Y- m* E/ z
IF[#100 GT 2.5] G01
: v4 n5 W/ J4 E/ Y, ]- i#30=15.
7 }: {/ B8 s+ F) B% d2 }8 mIF[#100 LT 2.5] GO1<---此條件式可以省略
, A/ b: q0 [4 hN1 G1 X#30 Y#25.......開始加工
: a* N" _4 f2 Q1 u9 J- }8 J. S% F# ^+ m9 z$ k
#30會一直有數值去覆蓋它
Z3 r5 [- q7 S1 `% ~3 r/ r, ?5 X2 E4 q. h, I: l* p
* t/ M; t F- ~9 k形式3:理髮' o4 t4 [+ U) r% b/ G
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)0 ]6 H; o5 u `) a$ Q# F: s, r
IF[ #100 LE 3. ] GOTO理15分頭
2 e/ q m0 P; p" `% m* BIF[ #100 LE2.5] GOTO理12分頭. n+ j9 i3 ^: P/ Q
IF[ #100 LE 2. ] GOTO理9分頭6 V0 Z, h' ? B. e, K4 h% B; k
IF[ #100 LE1.5] GOTO理6分頭
1 O* b4 k w: Q8 [. B4 eIF[ #100 LE 1. ] GOTO理豬頭% p6 x, e q: `6 s1 S2 W' B* d
% Z5 \( T0 [9 |; ^2 j/ n& S7 u4 ]※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性0 j7 E! ^# ]- d6 ?
6 |9 C/ l9 c$ [3 l另外的一種B式' Q& V1 t E, g
IF[ #100 GE 3. ] GO/ c3 h* U+ `, ?; U2 m4 ?4 _
IF[ #100 GE 2.5] GO6 ^; c, ^5 j4 N! t8 @) `
IF[ #100 GE 2. ] GO I3 w! B3 ?* w4 W" x' P
IF[ #100 GE 1.5] GO5 f5 A8 B* ?9 F8 A+ p" f7 }
IF[ #100 GE 1. ] GO2 x3 O: V! f' M; F/ {4 ~
順序不可顛倒喔!不然少將會理成狗頭
' A; V6 G3 [0 G此例不能安排、佈置快捷性
) {! u7 W1 j6 L, B/ H0 L& T& n
5 O: V; {9 Z3 N" X) b% S# s% i/ A% q: f
A式:有點像把數值逼到牆角比,自不量力可直接看出
) W7 x/ N* f5 u" I* [( YB式:像在自由空間比,如果順序調換, s8 S1 L/ D3 V5 Q2 g% e
有錢人也可以去小吃店吃牛肉麵
/ f. C& Y* l, n9 K$ x高學歷也可撿回收物當職業# w! }+ v, g" `" \# Y
5 {4 j& Q. d1 R% D$ H再說一下B:順序不能上下倒立,只能轉身如) S" Y7 ~$ j1 k1 N5 }
IF[ 3. LE #100 ] GO& Z8 J( ?, q D6 A) o7 M1 O
...
+ _; | A2 Q* J( @...
' @7 w- P+ E/ g7 z7 j8 a$ u' w& DIF[ 1. LE #100 ] GO
" P4 F2 Z6 g" z% |0 d' r# Q- ?5 F$ h1 @
A.B兩者有一種共通的特性,領多少錢就做多少事' r9 P; S; w5 S- {: s; F7 ^
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
+ U! f: V* p2 V8 W' p! V' T1 f2 @4 T; i" R& x! ]5 k
; t v+ [6 r, d A
以上為個人的經驗 |
|