|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 % B7 r' d) |: Q( o3 ]1 }2 c
1 L ]& N5 O/ F4 l9 ]使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性" m3 j' w4 L& S8 x9 _ ?
. \6 g( ]& R$ [' v% E% r+ \5 G形式1:' D# q1 y4 [" E; B; h4 x2 j
#100=选兵(陸.海.空)
/ z9 O: Q I, C* T% c9 T/ dIF[#100 EQ 陸 ] GO14 Y8 K& U, K6 {% K& S
IF[#100 EQ 海 ] GO2
5 ^; Z0 I3 C4 J+ @' m2 r( _GO3(鼻用說.當然是空軍)
) [- K8 ]* [4 [2 v( ]1 G* J0 t(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
3 d' d: c, t5 B0 I# q! p( d5 D因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
' V6 o6 E0 A! h/ g9 \3 g% c, [/ @4 M) s( f1 r
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆( g, W! k4 a s2 O$ \+ W
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做1 ~& C; d& y H: J
1 v6 b3 @8 b1 r7 v( v5 ]還有一種防呆寫法:
$ n: b3 [* v( t6 @7 E#100=選兵(陸.海.空)
- C/ H$ `& z. I0 h% D/ S! @IF[#100 EQ 陸 ] GO15 }# i6 S T7 `% L. p; L
IF[#100 EQ 海 ] GO2' e, p/ X$ D* E2 | T! [5 o" \
IF[#100 EQ 空 ] GO3
^. w- b: j# h" U$ t. f g+ p2 y' R#3000=1.(如果流到這裡表示#100投入有誤)
. g' J( [- a8 Y4 L" A2 L( `N1....
( D/ c% r3 u) w' v1 ~9 `8 W- W) v3 M7 S/ C! {$ a: K
N2....4 ^9 k& [1 _$ h' ^; |
( w4 F7 Z2 Q4 Z* a y4 O
N3..../ V, A# o7 V$ w1 g0 G7 u$ x- _
& V9 `5 V' K6 g* z V) E
M99
4 v8 T4 J1 O# _9 m) [( N: q6 k0 Z: w0 y( q1 ~
9 J8 e3 p+ f; _ Y) I形式2:
3 V9 h$ g- Q! Q9 S; H#100=領國家的薪水(人民,老師,軍警,政官(民意.立法)), d e. O: d* R1 _6 X6 C
IF[#100 EQ 0万] GO18 f Z0 \0 v6 U! U, @8 s0 s
IF[#100 GT 5万] GO2
0 a% ^7 q- ^' XIF[#100 LT 5万] GO3
8 K- `4 E. o" \, c8 G' e$ FGO4(可省略條件式[#100 EQ5万])老師, V' m& U1 v7 T2 m2 G
..........
% j0 K: A: I+ k) r2 G! iN1 人民
* D( i; Y" |. [: |
+ E, H& d) t- O0 d9 mN2 政官0 ?* X" b7 u: ^0 M4 p8 O( D* h
+ p. ]3 d3 }% }! [2 |6 ~N3 軍警/ H% }& T6 b4 q6 S0 K" O3 b; l+ ]
$ m) \) ^+ P* c5 ]) W
N4 老師
3 n+ A( I( l7 B( ?# H, `! x5 I4 t8 w2 b0 y: ~
M99
6 S# x5 J8 G# W7 W" R: _1 v
" m7 s: l+ Y& a l※注意1與3可能會有衝突,有前後順序性的% c0 _" X' Q# p
形式2是以新台币計價的
% K4 z; [0 l- ?# i% ~( p" C' a' ^& K+ X$ t+ o. ^) Y
- v6 z+ D- J1 l. d( Q
另外一個IF-THEN的例子:( q \# j l* t( v! R) q( a3 P
假設#100=已用四則運算,算好的結果7 c/ z) G: Q: I" ~& W- @
5 w+ ]1 p1 }) r; { J: c( R" A
IF[#100 EQ 2.5万] TH#30=10.' T+ [% {! N% U6 E! W/ _
IF[#100 EQ 0万] TH#30=10.
; W+ h a1 [6 A, X3 l8 u7 WIF[#100 GT 2.5万] TH#30=20., S8 J8 l* ^2 X f
IF[#100 LT 2.5万] TH#30=15.
$ K; b& F, a: i! eN1 G1 X#30 Y#25.......開始加工% w( ]9 e' B% b# w
4 k$ o. Q' W5 X) N2 ?5 v) o2 c; _
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
. M% e3 U0 G2 t2 r& x1 `: \% ?7 G( i% c0 e, F9 y( g& R8 H
IF[#100 EQ 2.5] TH#30=10. D) C; \/ y) A; R
IF[#100 EQ 0.] TH#30=10.; h' a( v5 Q! e& _& _$ O' M
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開). T9 Q7 o5 n7 J) V. M2 c/ m
IF[#100 GT 2.5] TH#30=20.
, }- Y: a' t1 `1 a4 BIF[#100 LT 2.5] TH#30=15.
" P2 {7 I$ e% g& r FN1 G1 X#30 Y#25.......開始加工4 c9 h. i& b$ g4 [5 \
) R4 u; Q( ~; K# q$ I( Y4 A% U
或改寫成,B法:使用或閘(OR)
5 Q' U6 f& A1 f; q3 F#30=10.
' U% ]$ k) f4 P- F* XIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
3 Z" I$ N' u" g3 ?% U+ j* p1 I1 oIF[#100 GT 2.5] TH#30=20.) g2 q7 [9 j" L. b/ ]0 h
IF[#100 LT 2.5] TH#30=15.
1 E1 X' q3 ~9 w1 |+ f' ?* ON1 G1 X#30 Y#25.......開始加工
* u- C$ A2 i0 U7 c9 g( z$ x. y8 ^- {: k, b) y0 c P/ K# s
還有一種不使用TH的寫成,如下:2 k" _+ o% S) L) f; B, J
30=10." V3 e l# W( q" S3 r
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1$ B. P7 W. W) C, {4 K
#30=20.
; k. g0 ], j* m ]6 t( wIF[#100 GT 2.5] G01/ K. {. E) f( ^
#30=15.2 ^7 i4 J2 |# ]/ Z n1 g8 W
IF[#100 LT 2.5] GO1<---此條件式可以省略, t1 ^, ~2 _/ x9 q
N1 G1 X#30 Y#25.......開始加工5 B; I7 \* A& Z, F9 ?7 M; a/ T9 G3 k
7 L/ Q: h1 U: ?& }8 M3 H0 L. Z6 O
#30會一直有數值去覆蓋它
' L; v9 g4 j0 C0 @! K/ N: W" W+ Y* k
/ k7 Z4 U. L# \& @" q6 V8 X! r( T
形式3:理髮* ^1 J( L. P) h5 ]
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0); e0 |9 y$ B4 E, e: H/ ]
IF[ #100 LE 3. ] GOTO理15分頭( c8 P0 L1 T) P% E, F& P; `
IF[ #100 LE2.5] GOTO理12分頭' B) y& i2 c; N7 N/ T" }& r
IF[ #100 LE 2. ] GOTO理9分頭
- Y8 R$ o! T5 t+ oIF[ #100 LE1.5] GOTO理6分頭
% ^/ t+ F% h9 F3 S( a I+ M% K) `IF[ #100 LE 1. ] GOTO理豬頭# I( V" b0 s' }% S' t8 k
' [* R, E/ l# X8 R9 A0 j$ z
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
# r. C% w4 V8 n J
! U: t2 l, r* Y$ F: a( H9 f另外的一種B式6 Z4 O' t( d2 ?/ E- `
IF[ #100 GE 3. ] GO4 x, z5 U' T5 F$ u. e! j
IF[ #100 GE 2.5] GO
( g; d5 b8 _: T9 eIF[ #100 GE 2. ] GO- o( M5 F* R' X, u: o
IF[ #100 GE 1.5] GO
* ?# ?% Q5 M$ m( gIF[ #100 GE 1. ] GO
: z% v! M+ l8 L: j% K順序不可顛倒喔!不然少將會理成狗頭
$ ]1 _2 o1 g, o7 C z# |此例不能安排、佈置快捷性
+ l# {: Z1 f( M* ]/ {8 F; t, ^* l( a, p
$ H- E" h7 ^" @" f4 i, \; }A式:有點像把數值逼到牆角比,自不量力可直接看出
: G8 D% k- L6 G6 iB式:像在自由空間比,如果順序調換
- R$ \3 ]: `2 N有錢人也可以去小吃店吃牛肉麵+ j& Y4 j5 O9 `
高學歷也可撿回收物當職業* v& {" M2 n/ Y% d: ? f, J
6 a/ [- @: G/ K& v. I. d/ J- r% _8 ~
再說一下B:順序不能上下倒立,只能轉身如% m4 }: w Y' U, K
IF[ 3. LE #100 ] GO
& K2 [* A" N, X...
" B2 T4 x- N" g8 f6 e5 f! k...
7 g; t! O: y( g1 x# H4 Y* tIF[ 1. LE #100 ] GO
6 p& c! Y" `9 c% t1 q$ J3 E' t, L/ N2 L1 o" S
A.B兩者有一種共通的特性,領多少錢就做多少事
3 ~ ~3 J. v- _+ v" l8 `! e5 @如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
6 E3 n1 g/ T+ G5 K9 g- v8 X Z4 g
: w4 i L2 b; G* \! x- K+ z& Y: d" @2 i: A: }) a2 f
以上為個人的經驗 |
|