|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
1 q3 B4 M) D/ u( ~- M, T& C& D c8 s$ `1 X& o5 u% ?! P! h, b
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
# f' B: }$ G2 \4 V- a4 Z3 ]0 N( ]
形式1:2 L4 S2 _! J# s" J
#100=选兵(陸.海.空)
5 C3 }9 ?8 N: n# D. F) g& a3 LIF[#100 EQ 陸 ] GO1" q& r7 D8 X% ?7 ?
IF[#100 EQ 海 ] GO2
8 L) U# L# f8 _1 Z" d0 KGO3(鼻用說.當然是空軍)
: s" N- u) \9 y% j1 Y$ V* ^# D(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
$ b" \3 X+ ^1 B! M- B因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
1 `2 G9 p7 u; _/ \# Q" X* X0 I2 n$ \4 X$ U) j/ P
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
+ P. e9 G% x0 F: r, B% U- l) A也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
" K" \- P2 a8 V4 S
/ @# z% e$ M& t( p) S還有一種防呆寫法:
2 O1 k* r& @# i e% X9 K#100=選兵(陸.海.空)
( r+ X; \5 n0 Q. @: V, x T% _. |IF[#100 EQ 陸 ] GO1: B" f, b% R; }% u1 Q) t( D2 _
IF[#100 EQ 海 ] GO2
7 o: A8 B. Q# r9 L) `, v: nIF[#100 EQ 空 ] GO34 h7 b( F4 p6 H
#3000=1.(如果流到這裡表示#100投入有誤)
' m0 z5 n! ~- V: F9 a/ S' Q6 h LN1....
2 i9 r# E; k+ Z" Z, H: |6 _1 G. m6 @% _* S1 _5 ~4 @# A g
N2....
, G/ P+ L' [; o; ?; X! J
+ { K0 Q+ u, a0 I1 NN3....
. C7 d2 ~5 P; s# x# w9 S: l( I$ m1 Q# H! x, L _$ t
M99
% i' F9 X9 X X
. n, Q5 i/ L8 o4 u$ Y# h L% e; L9 X5 v( ^! F1 t
形式2:* q4 y- g5 n2 e4 R' Z+ H+ K
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法)); O8 x P5 V7 @" k$ M' p
IF[#100 EQ 0万] GO10 W2 _ @. ?$ p/ Y* I2 R; |1 r
IF[#100 GT 5万] GO2! ?8 o1 G+ G& k& A+ f' g
IF[#100 LT 5万] GO3( Z8 W$ S! K, z5 I8 l
GO4(可省略條件式[#100 EQ5万])老師9 p4 V* A s( W( w5 \
..........( h* v0 X3 ^8 B( h& L
N1 人民
- e9 E4 q. t' F7 D
# J' ?2 H2 L" x3 B. i M# ?N2 政官0 E' ^1 \) `+ u6 a0 X
+ m+ r- f) Z3 v! U5 W( e
N3 軍警6 H z) U8 K7 c" _0 C) `0 }, W, l
U( H# g: e2 \; X
N4 老師
5 S; g; \% h5 Y {6 q
% @$ B' N* i! v* E8 G0 I ?% _/ i2 `M99- w' U6 ]/ S, B. X
6 W" B) H7 o* |- A# R※注意1與3可能會有衝突,有前後順序性的0 { k3 H( w9 e+ `9 M+ c
形式2是以新台币計價的
! n* F6 B) R" a9 e* H2 v4 w4 k( t' U- G& D8 T
; Y# o% F/ I3 M* m# I5 u% K
另外一個IF-THEN的例子:
( B E5 [, d, E8 @假設#100=已用四則運算,算好的結果
& w% ^) E7 J+ D$ F: S% P
# H2 y" b1 M4 v- r' HIF[#100 EQ 2.5万] TH#30=10.
8 x3 {9 H. j' G3 uIF[#100 EQ 0万] TH#30=10.8 w$ t z3 E5 ~- ?2 i0 ^
IF[#100 GT 2.5万] TH#30=20.
; Q9 C+ m6 A( F2 c9 WIF[#100 LT 2.5万] TH#30=15.8 R0 Y! l# x8 _; ?6 N. e
N1 G1 X#30 Y#25.......開始加工
4 ?7 T: f# i, `7 @. L* l; O: @$ ~
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:6 p1 n" j. f, B
9 W1 o: K8 L0 U, P: L Y9 T1 YIF[#100 EQ 2.5] TH#30=10.- _$ u; \) t3 v6 M) i
IF[#100 EQ 0.] TH#30=10.
/ |% F; R D3 \1 J7 p, ^) P z8 MIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
+ q f l2 N( m, Q4 p0 o0 z( e: XIF[#100 GT 2.5] TH#30=20.
6 a( A+ `& ?, bIF[#100 LT 2.5] TH#30=15.
0 F1 m: i; f9 _! `2 M+ UN1 G1 X#30 Y#25.......開始加工- o% b9 f( y; d( C& c! a2 r
# |( M" ^& j+ Z$ A/ X( f! T5 `! I或改寫成,B法:使用或閘(OR)3 g- K0 z0 R s- ]6 |
#30=10.7 D; W# j; n$ {! l$ Q& Q! |% o- m
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
/ Y0 ?% D' `* s. r. @IF[#100 GT 2.5] TH#30=20.% g# o# V0 g6 ]/ v$ j
IF[#100 LT 2.5] TH#30=15.8 m9 t5 n* q8 l5 o
N1 G1 X#30 Y#25.......開始加工9 Q5 E8 I5 g* b# q* s
$ u' }& @0 w( P9 r/ ~+ t& }還有一種不使用TH的寫成,如下:
9 e& F1 ~2 J; S8 M0 U. B# n2 |- d30=10.
) U4 N1 u6 d. K9 D* iIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
* |5 }) U" N" Z* f% }9 s; O0 X#30=20.. l$ Z l# R! @0 w! h/ E/ u/ i& C
IF[#100 GT 2.5] G01/ F+ H% \, f4 d, }/ `
#30=15./ t% l3 ?$ h; A5 r0 E- W( c! T
IF[#100 LT 2.5] GO1<---此條件式可以省略
, ~; |0 D# H* Z3 f$ EN1 G1 X#30 Y#25.......開始加工
: y, q+ u& {7 {4 m/ C: e% @, K) u. o6 ]. o& ]3 o% ]) Q/ W
#30會一直有數值去覆蓋它
3 J& D" I% a; J
1 R; a' Y& v0 \- B ?% K: a) i4 \0 @# y" `. _
形式3:理髮* f; S& |% P1 ~( h. m( D$ L
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
, k% {5 K4 I/ K: ?& [IF[ #100 LE 3. ] GOTO理15分頭% B9 H% b, s6 B* o2 K9 \: v" m
IF[ #100 LE2.5] GOTO理12分頭
. y3 z* o/ t7 V aIF[ #100 LE 2. ] GOTO理9分頭# E2 \) K- w- I6 t: z
IF[ #100 LE1.5] GOTO理6分頭* w/ z o" j" m4 K( |( ?' k
IF[ #100 LE 1. ] GOTO理豬頭2 m- {3 M* S* `( v* q; ?0 w
i& Z# s# e# B; s* m" I4 \9 X5 E※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
( G8 L: Q b3 M7 r! O/ L- b- s$ {* v6 ]- j5 D- Z; I
另外的一種B式
' e* G `) V: T8 ~. |IF[ #100 GE 3. ] GO
- Y; }5 p# } I: B) {4 w9 k, UIF[ #100 GE 2.5] GO0 }0 ?% p/ W. B
IF[ #100 GE 2. ] GO7 `* S- ~8 X0 S7 G) }$ v& }
IF[ #100 GE 1.5] GO7 {4 y, W& _+ F1 q) @
IF[ #100 GE 1. ] GO4 F: _) u3 |. i4 G7 n( D9 Q7 R
順序不可顛倒喔!不然少將會理成狗頭0 X9 x! e1 g( m# [& R1 u6 L1 y
此例不能安排、佈置快捷性: B7 z8 h* `" S
3 V4 m8 Q- p1 R, R* A1 A3 J+ a
. c a+ ]' }8 `/ |A式:有點像把數值逼到牆角比,自不量力可直接看出
2 m3 P8 O8 ^9 n5 v4 E- I% v1 \B式:像在自由空間比,如果順序調換
% z. |& u Z6 r$ a& u" V/ B* e4 [有錢人也可以去小吃店吃牛肉麵; E9 P8 C+ s, i, a
高學歷也可撿回收物當職業
, x% }& ], s; \+ t& ?/ h% i# G
, e' b7 |: m* r4 x, ]再說一下B:順序不能上下倒立,只能轉身如# M8 ~. |; n; {6 I) t8 j3 n
IF[ 3. LE #100 ] GO
9 o* V8 z) D4 t' H+ @/ o2 W- A0 y...
0 \# m- t! i3 X; k& y...3 _4 r5 k3 i" t, q1 r! }! @7 i
IF[ 1. LE #100 ] GO7 U5 m6 L. P- j4 P- G# ~* n8 @
. @- r& ~5 P; x% n
A.B兩者有一種共通的特性,領多少錢就做多少事
" i$ v7 ?; }6 P5 Z3 e+ E如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用 w* @& d' ^6 X6 s' p: K4 Z) @/ C
d u2 S) a2 b6 k* M1 d) M3 J1 D" Q9 h6 W1 ?
以上為個人的經驗 |
|