|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 $ @/ b/ E! l* O8 H z4 D
2 i) f0 U7 y& i/ ?& |* [ f& x使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
, N, W( |$ u' v# n5 v* ?7 A2 D/ a9 c7 I
形式1:& ]; @& t; X( w( l( A& y
#100=选兵(陸.海.空)
& p' X7 M/ ?" O( n: y) c1 Q0 aIF[#100 EQ 陸 ] GO1. K$ X: Q) L) Y' T2 d7 j b% [
IF[#100 EQ 海 ] GO2* t: V. G! l# f& }& p2 }1 J
GO3(鼻用說.當然是空軍)
9 X$ G2 y* Q" {: h(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分), a1 U/ z0 z6 c* d+ ^( I, a
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)6 f3 W) z' A* [ |0 H5 c g" j# \
. o$ S& {; W) S7 q, o
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
; |+ W3 W* g! F& V. x也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做& V, `- [" i' K
9 C, k2 Q/ Z, H, U還有一種防呆寫法:
9 w* M: o! R+ k#100=選兵(陸.海.空)% Y) I& T! n6 a' `9 O0 A
IF[#100 EQ 陸 ] GO1
1 H) `) t8 f0 G5 e4 d" f4 zIF[#100 EQ 海 ] GO2
. w/ D- W2 ]9 G t' QIF[#100 EQ 空 ] GO3
s+ p f" c# c1 e1 z3 t8 p' A' X! Q#3000=1.(如果流到這裡表示#100投入有誤)
. N5 c+ I2 l% F/ WN1.... h4 f$ C: D3 ~- T$ V K5 M" \' H
0 d* b% r$ `" Y8 B3 \3 iN2....
9 O9 V7 y7 T% m
& a) Z) w( j, S8 [N3....
* _) W' _4 d* d7 _
, e& `, v/ S0 z/ [M99
3 p- F4 w: H/ t! m: o+ _& y7 c, Q) B2 k) p6 y, O1 ^
1 q6 O. a" @2 u3 v# Y7 T! s" ?
形式2:, T6 K5 C0 G7 }6 d
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))) L z3 M, C8 C& A4 t1 Q5 }' g1 X
IF[#100 EQ 0万] GO1
* H3 w- P0 W$ f# fIF[#100 GT 5万] GO2
* |. e6 K9 o3 N$ d xIF[#100 LT 5万] GO3
$ ]( k3 X3 [3 U6 EGO4(可省略條件式[#100 EQ5万])老師7 M& F2 e8 ~: [+ ~- O
..........
% S( \/ i4 w* N9 O2 gN1 人民
, |& i( F C- `; P0 `! ~1 A9 e; O
0 c8 h, M3 V, [+ Y/ m+ ^+ r1 yN2 政官
, w, h- Z; R% d
2 W1 e3 L/ _ r. `! \2 GN3 軍警
" R5 g( t7 I+ t
! W3 \# g7 C! B# w1 F# q% mN4 老師
! q# U* ^5 _/ K: \6 g) {/ \+ \4 w3 ~. H
M99
4 Q* o, i% m( ^: }, x* \' v0 f
& o4 y }! N$ |0 Z+ Q* h/ ]※注意1與3可能會有衝突,有前後順序性的
* J! R- s: `" ^形式2是以新台币計價的2 f' R' _, p+ g$ X1 K0 p
9 G; c/ a1 A4 r* t- E; ?3 a
) D! Z3 ?6 s! A
另外一個IF-THEN的例子:
d! E2 |- T2 S- k C8 R4 N假設#100=已用四則運算,算好的結果
0 |4 l$ h# s S: {/ ~- Z
/ z* M$ Y, n0 u) c7 q7 ]IF[#100 EQ 2.5万] TH#30=10.
" c- k' t9 q F. n SIF[#100 EQ 0万] TH#30=10. D' i2 Z6 i U/ F
IF[#100 GT 2.5万] TH#30=20.% I/ z% n# C( p; T: o8 }' O+ }
IF[#100 LT 2.5万] TH#30=15.
, |8 I# {1 Y o# E5 cN1 G1 X#30 Y#25.......開始加工
F p2 X5 q; |: C$ }8 ?# J8 k& u& ~; g" `! \; R1 ]
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
& h9 j/ i- T8 z& b7 u2 P
+ _" C2 ?! [& y+ s [% cIF[#100 EQ 2.5] TH#30=10.9 _6 }/ p- [' ^& p( Y3 e7 F/ R
IF[#100 EQ 0.] TH#30=10.5 u+ Y* J. D6 D& `5 [3 J) K
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)& ~% t8 e8 ~* @/ U7 ~3 ~/ k% W$ }
IF[#100 GT 2.5] TH#30=20.
, h3 O- K/ C' [2 f: ]6 Q) H$ iIF[#100 LT 2.5] TH#30=15.
& k+ R2 K( ~' p% bN1 G1 X#30 Y#25.......開始加工7 y( ~- E% `, K" l( `, t: _
) H/ }8 L, e/ ^- r或改寫成,B法:使用或閘(OR)
! o9 D4 ] q; a* y. ?) T#30=10.' E5 L3 \: ^, ^7 c4 ?- R
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)) x6 M6 S# V* p" w) M( M
IF[#100 GT 2.5] TH#30=20. ?6 n8 m* j: Q, ~
IF[#100 LT 2.5] TH#30=15.: H& v- ]. M- C1 i% I8 @' ?' h% W
N1 G1 X#30 Y#25.......開始加工
' {" {; n0 G( h: z" r1 a; t9 S4 l& Z. U" {
還有一種不使用TH的寫成,如下:
( Z) X( w5 W* z30=10.
0 ~- `# g" X4 ^ P! `IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO15 {; ^' G" M, Y* c7 u2 \
#30=20.
: G$ v. ~3 g4 ~/ T7 HIF[#100 GT 2.5] G01
Z7 ]; u4 s9 z2 E#30=15.# l K: R w7 Y6 Y
IF[#100 LT 2.5] GO1<---此條件式可以省略1 c7 F' g) [3 t; \, W& i) n, e
N1 G1 X#30 Y#25.......開始加工! D% Q2 j2 r% U
4 T' c7 y! O" g M9 S#30會一直有數值去覆蓋它
3 v" m+ r( ?! \: g- @
) k7 \- ^2 ?- Z& r5 Q+ ?; G8 v/ O6 l% g
形式3:理髮, |2 g2 F* G7 B
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
2 I8 L$ n+ R6 z. \+ X! b9 I+ AIF[ #100 LE 3. ] GOTO理15分頭1 n9 q+ t) L$ A# i8 W9 t3 P; N
IF[ #100 LE2.5] GOTO理12分頭
; K1 B b0 J6 K" P' b- t% P9 bIF[ #100 LE 2. ] GOTO理9分頭
v7 @& q6 @( ZIF[ #100 LE1.5] GOTO理6分頭
: Q( M% O" n" UIF[ #100 LE 1. ] GOTO理豬頭3 J) @2 p* k4 q9 C& G; L% A+ a. @
7 S! Q- L, E# {3 t※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
& b4 b9 W# B5 @' |! T/ P" g0 ?/ J1 f5 S$ c9 x9 A+ _
另外的一種B式
! F9 z' ^) U# Q. R* H. v, hIF[ #100 GE 3. ] GO- J. v1 V+ T+ ^$ @
IF[ #100 GE 2.5] GO& f( N- t3 e' d( R
IF[ #100 GE 2. ] GO0 b2 [7 {7 E N9 h' m
IF[ #100 GE 1.5] GO
! r4 h1 }+ Z0 I/ @7 \4 j; [IF[ #100 GE 1. ] GO- t! f* k k# i- A; K
順序不可顛倒喔!不然少將會理成狗頭
+ p; F* x' r. [7 K6 N. T此例不能安排、佈置快捷性
7 j' b) k, C( w: o. u' u0 ]- f& v" D- B% F) }8 s. `: [
1 o3 ^8 p% Z n; m* A6 oA式:有點像把數值逼到牆角比,自不量力可直接看出( m& J* z( b: s& \. ^9 q: c
B式:像在自由空間比,如果順序調換, B' ? m+ H' l" M- y
有錢人也可以去小吃店吃牛肉麵
# {2 i, f( x6 r% R高學歷也可撿回收物當職業
3 }/ e- V; `% x- A$ h5 F! K. H, T" t8 I6 c
再說一下B:順序不能上下倒立,只能轉身如 D7 y5 T. S& N
IF[ 3. LE #100 ] GO
* b& x- O# b* q4 c J( s7 Q, U' z1 a/ H...' ^- h6 [3 {! F5 D3 @! H
...
9 f+ B9 _3 s9 u, D( f O6 jIF[ 1. LE #100 ] GO
2 }. a. Z- J% q: G0 X
5 a" d, D& q) s2 E6 Q+ }A.B兩者有一種共通的特性,領多少錢就做多少事2 B3 R5 T6 }) B
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用, B- J" } h" I7 G3 y- G
3 _" M+ j! h7 ?0 S0 H* R: ^
( j8 A5 I- p. Y) z以上為個人的經驗 |
|