|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 + T5 |2 v# d: v% v' w) `
5 i2 \2 H4 x% L2 _' c/ ?# U0 L
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
0 Q4 d' J. U) G4 R$ P7 R' V& q4 `6 o' t O, [8 J3 d7 q9 r: p
形式1:& W2 Y% e0 A2 C/ z2 }
#100=选兵(陸.海.空)3 Q( E6 |" L/ n9 b) J. p
IF[#100 EQ 陸 ] GO17 Z# ]) t4 o+ b+ T5 ^5 Q* b
IF[#100 EQ 海 ] GO2
; N A/ t" N; N3 s" w2 J yGO3(鼻用說.當然是空軍), l. r' p: c) Q
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)+ Z# c# ^3 |/ d/ ^6 o+ h
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)9 R* ]+ N' s" y, ^& C( l" \* W/ L
' }0 C+ ^, b( E9 [如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
* O% Q. L" m% U也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
4 Y" U' s z6 n2 x. l0 V7 V! H4 M# u! ^$ d9 e/ z
還有一種防呆寫法:
+ y' U* z/ _- S$ v& a1 Y#100=選兵(陸.海.空)9 `# n0 W+ | h! m; b2 I: h. ^ e
IF[#100 EQ 陸 ] GO18 L8 Y7 Q7 R m M. O) Z# b
IF[#100 EQ 海 ] GO2* E; @* x( j8 |/ Y& F
IF[#100 EQ 空 ] GO36 n6 s2 n( A) E( t% s# {
#3000=1.(如果流到這裡表示#100投入有誤)1 \- z* i W: V8 f8 p
N1....! ]. X% m# T# h# y
2 J9 n( U4 Y% b2 }* J7 g
N2....+ |! ~& z3 a! W6 P
0 M' [8 f# p6 B% TN3....% }) M! b- M' z7 `
2 \, j6 x! c/ a j @- aM99
4 z1 z# ? y' Y/ r* A
" l3 w! @* A" v7 J
6 A, @+ M% u; O% ]# J) k3 {形式2:5 u( P( G1 V) Z* S$ I
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))9 M% A4 f! @% w( S8 E# S
IF[#100 EQ 0万] GO1
# F7 b0 [/ h% w. T7 ?IF[#100 GT 5万] GO2
# j2 X% j( @& v, a/ fIF[#100 LT 5万] GO3: `+ S5 g$ W0 J
GO4(可省略條件式[#100 EQ5万])老師
/ H0 _' a5 Y6 O6 `5 w..........
7 t5 b: n! {$ j* j6 k/ mN1 人民$ ]' y+ r; h: R1 n" ?9 q4 w
8 Q1 X2 g0 p& E: t1 K4 YN2 政官
; x h t% q3 N
8 M/ [# x Z. H$ N4 iN3 軍警9 i# S: b* L" A; @
" }+ v- V% n0 N$ {
N4 老師: m2 p- ]( p/ R7 }7 E9 I/ j# K
* L+ q6 ^& n3 R6 GM99
" Q+ t+ }* |; R _. ~: g
7 G# `2 M$ ?1 e, ^! Y! U※注意1與3可能會有衝突,有前後順序性的
* W" r* P, i+ |1 `" J5 N$ e6 y# n9 k形式2是以新台币計價的
4 t& ?: |2 G2 l( B# e3 m# y
) B% Q# i" a# a, h3 J k0 t6 m V2 z& E+ q2 E+ Q
另外一個IF-THEN的例子:7 [4 `& ?" ^4 z2 Q
假設#100=已用四則運算,算好的結果 m8 L* M, x G& e3 g
7 K- v+ Q4 B3 |6 _- k% fIF[#100 EQ 2.5万] TH#30=10.5 J D7 N4 s: D7 X' I
IF[#100 EQ 0万] TH#30=10.
) V4 Z( \0 y ^: }8 W4 Q2 EIF[#100 GT 2.5万] TH#30=20.( R% C9 G! D) J1 Z
IF[#100 LT 2.5万] TH#30=15.
! ?& T- g* ^4 ~2 a0 DN1 G1 X#30 Y#25.......開始加工
1 }- H# i. e( l! W A. E9 D/ P' @% D+ }
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
+ X: l8 {4 m) T; [- Y8 K
* q: u8 x j% W6 oIF[#100 EQ 2.5] TH#30=10.. N' B5 Q; t$ e; `
IF[#100 EQ 0.] TH#30=10.
+ z3 o6 B/ D) [, g0 k* a4 ^IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)2 G: _- ^: t# P2 x1 ?& U! M
IF[#100 GT 2.5] TH#30=20.' I. i' Y* z0 y3 {. x# c( L# \1 F
IF[#100 LT 2.5] TH#30=15.
5 _5 e$ b" U! f# p) gN1 G1 X#30 Y#25.......開始加工
/ z6 P; C; d0 J+ h" q" R% Y4 O% U# M9 S
或改寫成,B法:使用或閘(OR)- U/ r5 D% O" A! y0 U: z
#30=10.& x# ~+ k( V9 p, E- r9 z! n# I6 t. J
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
. d, ?4 b; X( C) ]IF[#100 GT 2.5] TH#30=20.% K4 W2 }+ k" u
IF[#100 LT 2.5] TH#30=15.
) t W: y; J$ rN1 G1 X#30 Y#25.......開始加工; V) Y- v; O6 @" X5 _! V
( v* H. z& T, X7 S( Q' d還有一種不使用TH的寫成,如下:
6 O* t# x6 z. m& K30=10.5 e) P. b. I2 F/ t, w j8 f8 F1 J8 I
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1- K, X+ J' U; q* G/ ]( ?2 O
#30=20.7 Q Y& N7 u/ n5 Z8 u0 Z
IF[#100 GT 2.5] G01% d c& x) i6 j# O; A
#30=15.
9 v7 X( @8 t' ]: {) t# L5 G5 K4 ]IF[#100 LT 2.5] GO1<---此條件式可以省略
+ r$ O9 E$ h- Q3 Z; A& `N1 G1 X#30 Y#25.......開始加工
' K( K$ T8 R2 M: q# e U/ P- c3 a- l- A! l! Y7 Z
#30會一直有數值去覆蓋它
8 t" O+ }- k& Q" ~2 C* C
4 L' V# S& J5 @4 C4 Z# x. @+ Z g4 _
形式3:理髮
* j; Y4 s+ I. i$ p#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
[; H3 H. w6 a7 v$ uIF[ #100 LE 3. ] GOTO理15分頭
4 s. s# U' J/ g) SIF[ #100 LE2.5] GOTO理12分頭4 v4 A# X0 I' a- K' }
IF[ #100 LE 2. ] GOTO理9分頭
$ j9 x4 q; @' Y1 ~; J- ?IF[ #100 LE1.5] GOTO理6分頭
1 G8 d; C [5 q. U" g7 D0 BIF[ #100 LE 1. ] GOTO理豬頭
: j" ]9 w: V3 B+ p$ i" Y/ x$ v! y; `/ b) L8 Q1 H! r& x
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
% D/ N) d5 e5 D' T! a$ Y" X- R
9 E" w; I0 {4 k! D另外的一種B式
/ o# l5 G: R3 X: Q+ z9 [0 ^! a( l7 oIF[ #100 GE 3. ] GO
- `1 }9 Y# ~7 C9 f; |9 ~& bIF[ #100 GE 2.5] GO
( D7 v$ Y0 e8 K7 PIF[ #100 GE 2. ] GO
' s2 u# G+ _7 P; z4 @3 u7 a) iIF[ #100 GE 1.5] GO
' B/ s5 p, x2 I8 s" _2 ]IF[ #100 GE 1. ] GO
$ D5 d) I6 d& ]順序不可顛倒喔!不然少將會理成狗頭
: b( w0 q5 e( C: W) |& t( k& @' G1 w此例不能安排、佈置快捷性. M E. Q& N: S `2 M R9 R
4 B+ \/ ^2 m2 ~
; J4 q# w9 ~+ x. b
A式:有點像把數值逼到牆角比,自不量力可直接看出. o& R6 s- L: y3 ?+ x# m. O% D; b' T
B式:像在自由空間比,如果順序調換
# F* J) }0 ]9 E2 ~2 a P& g" D( O有錢人也可以去小吃店吃牛肉麵
# f$ P" G% o8 T% y高學歷也可撿回收物當職業
! j6 F. s: O A% a. }" g h4 P B! I! o- y7 ~- X
再說一下B:順序不能上下倒立,只能轉身如, _( r6 w. p: \* O2 k6 I
IF[ 3. LE #100 ] GO }* e2 s4 H- P# a& F
...
0 v2 Z8 {4 N+ |...
% N! g$ ~- @4 q1 _. n& fIF[ 1. LE #100 ] GO
1 E9 U( ~6 {' r3 v. k3 J
" x3 z# u9 i. p% z+ Z$ wA.B兩者有一種共通的特性,領多少錢就做多少事
5 o2 g6 o' J) M) h* V9 q) d如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用; V9 s) Z6 \+ g: G& m% i* v
. ?3 q, Z$ g3 ?# |1 I9 N
( f) b2 y7 ]1 I S: {以上為個人的經驗 |
|