|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
0 v+ R0 f4 u0 A9 q3 ]1 _0 G2 @
0 M4 Q+ k* R* V: b. G" c: l7 @使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
% f" ?; [/ [/ R! R. U
7 r+ O3 Z1 j+ B5 n l) C形式1:
: j& m% m/ F m5 ~; o#100=选兵(陸.海.空) C' l/ U. q* x1 ^4 }$ R
IF[#100 EQ 陸 ] GO1 o0 s0 K4 B+ X) ]9 K5 Y
IF[#100 EQ 海 ] GO2
5 X+ Y5 r8 p) T2 m3 m* F0 {# ]6 |GO3(鼻用說.當然是空軍)( @ k% g1 u+ q0 ^
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
. p+ y2 F4 t8 k1 j$ u+ {9 p因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
5 d1 R3 V/ c1 U& M* R
( \( Z2 K, ]+ r" W如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
5 _. ~/ h, `& d, J- G% [( P也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做2 G9 w/ V# L, L: ]3 \3 v/ \
* [, n# ]5 ~3 p2 q" x& p3 j. x4 J還有一種防呆寫法:5 l9 w% D: R3 v0 j
#100=選兵(陸.海.空)
/ |1 X% R0 l0 Q2 XIF[#100 EQ 陸 ] GO1% d4 E6 `- m+ z1 I" g: S
IF[#100 EQ 海 ] GO29 a" e7 `- U9 A) \# f
IF[#100 EQ 空 ] GO3
7 G* n7 S3 i" G; I#3000=1.(如果流到這裡表示#100投入有誤)' X1 d4 D W7 W9 \
N1....+ N: u' M. ?$ T
' D& H4 Q5 ^, K0 y0 [. N+ I) K' `N2....7 K# O% J" c6 R
/ E; R" C; t6 u1 CN3....& x- G! R9 n' b% {9 Q/ n$ e
) l: ~; T4 y" r- g4 m7 _M99
( r' y- y8 k: l, H
! ]0 L/ G9 Q6 T9 m5 P5 s
5 h4 c* j( u+ x9 ^' R( ?. i0 T形式2:, x% E& t! ?# [$ }
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))( f9 h! U1 y& |* I) E. Z
IF[#100 EQ 0万] GO1
8 j) M) Z8 e7 z. J9 {7 JIF[#100 GT 5万] GO2" c3 F! c; y: X {1 A% z& |
IF[#100 LT 5万] GO3! N7 l' I. g h& c! H0 A
GO4(可省略條件式[#100 EQ5万])老師4 M R$ g8 Y% \8 V3 C9 h( [
..........' T O* F, p; {" X5 }" h
N1 人民/ `5 L }% X5 ]1 r) Q4 I
6 z2 n& B& p5 R
N2 政官" p j; t. k( K0 a- K0 k# Z5 i
7 ]* s6 y' l% w P. o$ p
N3 軍警+ Z7 I' t' }% W& B6 d' y
3 K& U. b+ m9 i3 \0 L MN4 老師& l6 ?9 N6 K% \9 S2 v7 Z
p! J7 B2 \/ P
M99) _: {; K0 U/ X- l# ? [7 h9 S
7 w6 H# a7 |/ J# A9 F' [
※注意1與3可能會有衝突,有前後順序性的
: o1 K8 l4 D0 R2 Z; U7 A形式2是以新台币計價的
, H( l( h/ \; c) m3 _8 S* s4 @) c l( z" z# j- E+ C' f/ O! W
* z- f, F5 f1 J- n2 g. e另外一個IF-THEN的例子:
& X" _' ~! H, A9 ^假設#100=已用四則運算,算好的結果
8 v* a+ [3 ]$ m: q" X7 B
5 @5 J# b; n; QIF[#100 EQ 2.5万] TH#30=10.
$ f/ D- r- E0 a0 XIF[#100 EQ 0万] TH#30=10.4 [ i, \9 q# _) I& s* G1 q
IF[#100 GT 2.5万] TH#30=20.6 R4 d+ D( B3 b9 Y4 {0 [9 E
IF[#100 LT 2.5万] TH#30=15.
( ~% ^( u: e$ gN1 G1 X#30 Y#25.......開始加工
5 k9 O* |2 X, v! n! p- `! T( a
, X7 n* s7 f6 e上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:; y7 Y& d% u0 r% j y7 u' q
: s; U9 d% o& p* q7 P) xIF[#100 EQ 2.5] TH#30=10.
$ l! A: C+ x2 @- x+ f/ cIF[#100 EQ 0.] TH#30=10.
* g: F# [3 I( d/ s* b/ L3 ^IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)" k; Z8 u( ~+ F; g7 | {
IF[#100 GT 2.5] TH#30=20.
- w, ] Y: R, ?0 E. A/ u' |IF[#100 LT 2.5] TH#30=15.
* \% ]+ a. C+ W% _N1 G1 X#30 Y#25.......開始加工5 d/ _) I* |- }5 o
( ?! \( n) z0 G9 E$ P7 A7 N或改寫成,B法:使用或閘(OR)
9 i. R- T" r' l4 F; [/ c#30=10.4 g" _# ?; Q& M" W- Y; ~9 l& C' V
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)8 Q& _5 V7 P! ], Q! Y
IF[#100 GT 2.5] TH#30=20.
+ o/ W; l# H2 C7 p; i. v+ q( _$ SIF[#100 LT 2.5] TH#30=15.
$ H6 ^" C9 J1 _! gN1 G1 X#30 Y#25.......開始加工
) B% s* o8 f4 T) Q' B2 @: u" T+ a
6 p$ m9 Y1 {7 x% |# H0 n0 B" s還有一種不使用TH的寫成,如下:" a' |! O4 u: {1 ]& N
30=10.2 \! [, m; t' `7 x, F9 l2 V4 [
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1+ {/ G: b' C2 s& R
#30=20.( l7 ^- ~. J8 ?) w- ~* a
IF[#100 GT 2.5] G013 ]0 }; u3 Q9 x# G# e3 t% h1 r/ X! G+ R
#30=15.! i+ ]. X6 Y4 D1 y; A
IF[#100 LT 2.5] GO1<---此條件式可以省略% e: c% [+ q4 F! ]
N1 G1 X#30 Y#25.......開始加工
5 k5 X" @' ?, P5 @/ {
: y$ e% g/ K3 A0 v#30會一直有數值去覆蓋它
- m# D; A c& S9 U7 k
" b1 I+ T5 C3 \3 S
a9 G' }/ L: E9 d4 d形式3:理髮
5 d+ H0 O; p9 ~+ @4 _#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
" ?7 ~- Z( B0 o& jIF[ #100 LE 3. ] GOTO理15分頭
2 h# {/ Y, J4 }. P/ V2 y ^IF[ #100 LE2.5] GOTO理12分頭; x4 P9 {6 |* t
IF[ #100 LE 2. ] GOTO理9分頭
1 R4 u" \$ _0 Y$ _+ ^5 @, y# k- sIF[ #100 LE1.5] GOTO理6分頭
6 s% X7 }0 W& t6 B- VIF[ #100 LE 1. ] GOTO理豬頭- D/ c Y% r6 k7 M2 r7 N, S2 C
9 o2 Q) n8 _& L※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
. [, ^; L4 q6 `; t% D& R# O* a) \$ _/ |- v) B
另外的一種B式# Z, J$ }7 R8 `/ u* j
IF[ #100 GE 3. ] GO
6 b7 O9 }; O! T8 l0 }! {IF[ #100 GE 2.5] GO2 z5 a& t8 E. W0 ]! t
IF[ #100 GE 2. ] GO
2 h' [* T" m" O! n& u; [, {2 P6 FIF[ #100 GE 1.5] GO
0 @& d: p( f2 j9 v' Y* N9 n; lIF[ #100 GE 1. ] GO( y* I$ r7 z/ C: @3 T
順序不可顛倒喔!不然少將會理成狗頭/ L" Q+ B6 v$ K: ]/ m
此例不能安排、佈置快捷性
, i& Y5 @" D, h' P9 u2 b& v# a2 X% A7 \
8 S n4 T) O2 f$ ?1 R5 r! }A式:有點像把數值逼到牆角比,自不量力可直接看出
5 v z4 L+ P- sB式:像在自由空間比,如果順序調換
" J/ V5 v. N3 v# U1 X. G2 D3 h4 f有錢人也可以去小吃店吃牛肉麵
9 x4 _, M$ I& s高學歷也可撿回收物當職業# E3 g: S: d& ?& {# [9 D
4 ^5 J2 }% z/ B5 R
再說一下B:順序不能上下倒立,只能轉身如
" `/ u: P0 f$ A8 N+ I' l7 EIF[ 3. LE #100 ] GO
/ M. e: Z3 x% v/ x...
" U- ?2 p- k- N4 z y1 u...
0 G4 n0 z% G: ~# s$ H) fIF[ 1. LE #100 ] GO" u* b/ i! |1 b0 e
- {7 d: J2 }3 H# _; FA.B兩者有一種共通的特性,領多少錢就做多少事
; J& |7 Z' N e* \/ }6 T如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
& t0 X+ r5 n7 s1 ]( S/ w% J+ a: t8 B& w6 ?2 b4 P* ]
' S1 p1 g5 H# p: p以上為個人的經驗 |
|