|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 - \/ n8 R2 L% q
- A* o0 C( L, y: X9 ?9 x9 T; S. n
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性3 j- l6 R2 f3 s0 x% ~
: V% a* g" J) D/ ?/ |) ^
形式1:
" x6 I; Z% Y! |4 f4 O#100=选兵(陸.海.空)
# B4 [& ]6 \8 D& ]2 f! _: ^8 IIF[#100 EQ 陸 ] GO1% R/ j& O2 w/ ^2 ]
IF[#100 EQ 海 ] GO2' R7 `, j6 ?- l v2 l$ |( n, {+ M
GO3(鼻用說.當然是空軍)
3 `( N M% P" W% [' M2 M/ X+ O# L(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
- F s# q) R: E6 E4 h, m因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
5 F+ x. G0 e; ~+ k. K/ o k' H: J. S
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆7 ]; U6 |6 v- v
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做1 c o, @7 k2 w
" Z9 m# V. n8 `+ d! t9 }9 Q* Z7 w還有一種防呆寫法:
' y* J' {$ {+ X, u#100=選兵(陸.海.空)
; q0 N( ~; w8 b; L" [IF[#100 EQ 陸 ] GO1( p1 D9 e# B$ V* Z3 s9 F& I
IF[#100 EQ 海 ] GO28 R- b( z2 i! j) }0 Y. l4 h3 ~
IF[#100 EQ 空 ] GO3
. t2 `1 @) ^- Z#3000=1.(如果流到這裡表示#100投入有誤)
1 S% P* ]& c- P; N2 tN1....
0 |9 B1 w" ?; `& B8 A/ p! L) E6 ]2 a8 E5 d
N2....
/ |( }6 U5 J, `4 b$ u) w7 Z( S7 N" {3 C" @) h, Z9 O$ H8 J
N3....
" f$ U) i! A" O( n# u
1 d2 f" I* Y* p5 ?M99
3 J) ?6 z: Z6 Q/ _* w( w! Q$ \: u% Q1 }1 ^, s, f3 v# A
! m2 j7 K3 M# N V形式2:% q2 I+ O4 J) P4 Q! [
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
?+ R( G1 Q5 ^8 ?6 R) IIF[#100 EQ 0万] GO1* R# }) q3 V3 S6 b4 U- y5 r U3 W
IF[#100 GT 5万] GO2% I( f- z3 k7 c. O4 i* W1 N; @
IF[#100 LT 5万] GO3
) O- U( Y% _& t6 g4 _/ W. d$ |GO4(可省略條件式[#100 EQ5万])老師
) G0 W, @8 |' f' P' f: P5 e3 K..........3 Z4 g% T3 j P- o
N1 人民2 `6 T! \; Q/ \- p) k s
6 M" y7 c8 `6 H0 \' cN2 政官" Q4 j& b! I5 |4 p3 z$ P# Z
9 S ?: H) T, Z1 UN3 軍警
% K. ]; C; E/ H6 [/ z; @: D5 ~9 o/ K6 `& ]
N4 老師% ^" L5 o6 P# f9 e
" \3 U& U/ g0 J, @
M99# a; F# c$ y' z1 t$ F& A! h t
% V2 p8 d# f( Q- J/ _※注意1與3可能會有衝突,有前後順序性的
% \+ M1 Q; f& p- Z( t形式2是以新台币計價的
' s- w$ @7 d$ x9 ^% w# q. o7 V) E4 f6 |
6 E( J7 r$ z+ c* X* _. @5 n
另外一個IF-THEN的例子:
/ E6 ~- h$ d+ y+ @假設#100=已用四則運算,算好的結果
' h8 N( y/ [4 T1 j3 A# K( P* q8 _9 a) W
IF[#100 EQ 2.5万] TH#30=10.
K6 p1 w4 V' @. H( PIF[#100 EQ 0万] TH#30=10.
! u6 j ~: \8 G' LIF[#100 GT 2.5万] TH#30=20.) } T" U: _) Y& [9 e- T* X
IF[#100 LT 2.5万] TH#30=15." r5 j& Y* _% o0 `- p
N1 G1 X#30 Y#25.......開始加工
& h6 _5 `; w* M5 E. e2 d V: X# J9 }1 o) `% g e. M+ M+ \. t
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
. [, N5 z% }* k+ f! Y4 p% y, r$ X$ Z% ]6 X- g. T \) A$ K& G+ \
IF[#100 EQ 2.5] TH#30=10.8 ?& [1 y% k3 z+ [! [
IF[#100 EQ 0.] TH#30=10.
1 F9 i& u9 d0 ^0 X( W( wIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)+ d% c K, H4 Q' \/ Z
IF[#100 GT 2.5] TH#30=20.: g4 u- r( P0 n
IF[#100 LT 2.5] TH#30=15.* L- b$ ^$ z4 o6 r, ^
N1 G1 X#30 Y#25.......開始加工
) X& T9 W6 n' B9 ^/ V' h/ ]$ Q6 a1 [; m- ~
或改寫成,B法:使用或閘(OR)# ~# B& M) ~* I- x0 g* ?
#30=10.
9 J$ t% c1 P `2 M( f; HIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)( ?$ q$ x. n) X# F* K
IF[#100 GT 2.5] TH#30=20.
* u0 f/ Z7 Z. z" x w6 lIF[#100 LT 2.5] TH#30=15.
% h+ [2 S Q9 r' H; LN1 G1 X#30 Y#25.......開始加工3 \$ b- G3 ^! ~6 v
: n1 t2 G/ X c9 V
還有一種不使用TH的寫成,如下:
! ]1 |8 Y% U1 B9 [4 {8 w+ j4 g30=10.5 Y% p, I6 R) b, I
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO16 t0 _- b/ O3 e4 y4 Z" l& [
#30=20.2 K' X: m& Q0 E1 I4 ~
IF[#100 GT 2.5] G01
7 \! G4 {6 b* ~, `( x# a: F#30=15.
$ A/ P' F, D& n4 X& J9 mIF[#100 LT 2.5] GO1<---此條件式可以省略+ U0 l& |2 Y/ o" V. u
N1 G1 X#30 Y#25.......開始加工* f% x; S; b5 S4 p; [ E9 E, i- L
' v4 Q0 s$ M3 p! |! P% p: m3 [
#30會一直有數值去覆蓋它( f! b- z/ P) Q# g7 e8 B3 I
$ E1 o. A8 z& X+ p' N, ], x) e' J- y
形式3:理髮 N1 K, ?9 i) y0 `: r: i8 B" M; `2 i
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
; x4 @, L/ a/ g! j, s9 \IF[ #100 LE 3. ] GOTO理15分頭- L4 K/ H3 F, q. A+ k6 |) Q
IF[ #100 LE2.5] GOTO理12分頭) H( a0 w. f1 A3 K6 t: t* c% P
IF[ #100 LE 2. ] GOTO理9分頭1 S! H) t2 K3 L/ f7 ~
IF[ #100 LE1.5] GOTO理6分頭/ x3 t- Z- R1 |# K, G
IF[ #100 LE 1. ] GOTO理豬頭/ w# d# @* W3 j$ Z$ d/ P
8 O2 [. S$ p: p+ o# B
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性3 @# P. ~6 J! `+ g4 v$ W
, |+ Z& m6 P# Y% w另外的一種B式) W0 g; z( V2 {; ?- |
IF[ #100 GE 3. ] GO
0 u) ~3 {% N$ ?/ P! B5 EIF[ #100 GE 2.5] GO
! B0 R' W) [' M, Q3 EIF[ #100 GE 2. ] GO' ^& h6 P7 ]- v1 ^- R% o* j
IF[ #100 GE 1.5] GO
# u7 |- Q M6 O2 n6 B9 f2 QIF[ #100 GE 1. ] GO
. U+ @ ]2 J5 O. v7 G順序不可顛倒喔!不然少將會理成狗頭# A: J2 u9 g9 I1 b! Z# J
此例不能安排、佈置快捷性 l' y8 Q/ [8 Y" O6 t
n Z0 [& u, F
; \ y, W, d6 |2 F4 V+ n. U8 g
A式:有點像把數值逼到牆角比,自不量力可直接看出
& s; f) ~7 @2 X7 I- I9 c! i8 V* ]B式:像在自由空間比,如果順序調換
# O2 A& k* c" r. X& e0 F6 G有錢人也可以去小吃店吃牛肉麵
; f \- |4 h+ Q3 u; w高學歷也可撿回收物當職業
$ l9 |0 [1 W3 m5 Y" _* d6 O+ ^" g2 V; o! E4 b) U, g, _& j" N. k
再說一下B:順序不能上下倒立,只能轉身如
& x& r( W9 T5 N7 t! h* j4 kIF[ 3. LE #100 ] GO6 V. c* g- @% P7 }
...
5 {$ |9 Z6 v0 N0 a...
) D; H7 o' m4 q- p$ XIF[ 1. LE #100 ] GO
- I; p9 A0 x6 i0 r3 j( K( B# t4 C: z8 M$ k: }
A.B兩者有一種共通的特性,領多少錢就做多少事
( p, J, G( V0 ?& n如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用: d: [ C+ ` I" z& g4 S& k
! h; T8 X$ A8 z
6 b1 O9 y) I9 l! ~2 E以上為個人的經驗 |
|