|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯
# c* F2 w' A& @' _( O! s: D% h3 ?8 y, i6 K# q! t6 M- h
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
/ x" G+ a B- H1 } h8 u& b/ F& k& F4 Q7 E. u* E
形式1:
3 E9 W- T x7 @1 [- C#100=選兵(陸.海.空)
/ X' t8 K. f# I. L8 m- fIF[#100 EQ 陸 ] GO1% ~3 Z( ? H3 C" d
IF[#100 EQ 海 ] GO2
, z A0 c7 O- X' M3 c$ s( HGO3(鼻用說.當然是空軍)9 h1 N. v3 L$ i# [6 K
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
( R. I+ a4 Y' _0 c" G: [- ]0 j因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)1 G" ?; D, T: A
# r# f( |9 N& ~6 t: J1 S5 I: C
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
: E; I) Q5 Z# v% T0 g& Z7 y0 R0 P也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
1 ^) m/ x+ ]; K, p6 {: [
0 N, C3 n) O! o# p/ M還有一種防呆寫法:5 [9 Y) W7 _+ N7 t5 B) R
#100=選兵(陸.海.空)1 R. B! ^+ |; k4 F9 S z
IF[#100 EQ 陸 ] GO10 S$ d3 m: G P, ~5 R1 B: l
IF[#100 EQ 海 ] GO23 y9 Q" M F3 I e) t
IF[#100 EQ 空 ] GO3
3 T, R9 M1 ~# Q' ?#3000=1.(如果流到這裡表示#100投入有誤)
/ R& U$ V8 n, o9 Y% tN1....
6 t. N) n' E. w3 O1 q: l* S& g6 h; Y/ k7 n
N2....
( ~5 u4 [4 ?6 X0 E' M7 e: s, y4 b4 A
N3....
8 J$ w3 m- N# w9 W) i9 `/ j3 |6 w& q
5 h9 o. t4 r! w4 J5 {: lM99
$ \4 g4 \+ I) q( O3 A, |( M
4 R& }4 u1 P: d/ R; d3 {1 T, }5 `
形式2:0 v: `+ }* [! r: e
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))0 d# l0 m: H9 g4 [4 U
IF[#100 EQ 0萬] GO10 I5 L/ w) Q& J. J" `0 f
IF[#100 GT 5萬] GO2. V3 }9 B3 m3 O& ]$ H# w2 y
IF[#100 LT 5萬] GO3
8 v6 m, u2 G w$ r+ b- @6 DGO4(可省略條件式[#100 EQ5萬])老師- ^& s9 [0 @& w# X) M1 j- U
..........( y1 _0 k+ y3 r( O
N1 人民
9 `4 J( D/ s, q- |, D5 }0 |6 |7 X; |$ \" \, y; E1 a' C* e
N2 政官 ]$ p2 a3 l# P& W6 i
3 I+ e9 b4 r, E: H7 J1 D
N3 軍警7 N$ \7 x5 c, [' D$ H6 U
/ ]. Q0 F D, l
N4 老師
5 P7 H2 d+ p+ m8 O: O3 Z4 F( ^
* [) a' Y# ?9 M3 ?( s: I; [+ C. }M99, g! W: a2 e$ }$ ^' ]1 `# @7 _
" q! B/ n+ i1 e3 t& X( I0 F0 w* C※注意1與3可能會有衝突,有前後順序性的8 N- ~* M. Y! e8 K4 S! U; K( x0 W
形式2是以新臺幣計價的' C$ N, f6 u( \ l+ Z8 _
$ o1 c$ {/ q8 o$ v2 k' G$ h
2 J& W+ g: [& l+ {另外一個IF-THEN的例子:
- v: F8 g8 B5 |& w假設#100=已用四則運算,算好的結果1 ?4 p+ N; P4 J! K' X2 \
9 S/ y/ E* W) A; h b6 ]IF[#100 EQ 2.5萬] TH#30=10.# ~( D" t& [4 o* [) a! S/ R# `4 P+ w( k
IF[#100 EQ 0萬] TH#30=10.0 k$ q9 C }: U
IF[#100 GT 2.5萬] TH#30=20.8 @" {6 ^' G( u
IF[#100 LT 2.5萬] TH#30=15./ I( C% c$ K* `1 v% w
N1 G1 X#30 Y#25.......開始加工5 B' L9 \/ I: } w( t$ r. r. G
, z# h/ F0 c. a" Y% i$ r8 s. {' D: j上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:( p2 Y B2 l3 q
" c V5 D$ X$ e j. `" t
IF[#100 EQ 2.5] TH#30=10.
$ L- V7 |1 P6 j& aIF[#100 EQ 0.] TH#30=10.+ ]: A6 ?2 C% s( g- ?
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)# y, h1 w9 ~2 Q) N" P
IF[#100 GT 2.5] TH#30=20.
3 j5 V1 K; b" U; @( ^- Q& aIF[#100 LT 2.5] TH#30=15.8 b6 P( m3 _. U$ ?7 u5 z
N1 G1 X#30 Y#25.......開始加工) w" U3 Z% s; s" |) x
i7 I* X2 E, k$ @1 E
或改寫成,B法:使用或閘(OR)
' v* |$ \+ J( o0 i4 {7 u3 T#30=10.( x5 d: W5 G# N$ M0 z
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)) W! W+ o( m. n( \' ]' x+ c
IF[#100 GT 2.5] TH#30=20.. Y& t& a6 |8 {. F1 P d
IF[#100 LT 2.5] TH#30=15.% ?. T9 e3 U% s* U/ c' U1 z
N1 G1 X#30 Y#25.......開始加工$ |3 v& z8 k ]
+ Z3 }0 M# b3 `5 M1 c
還有一種不使用TH的寫成,如下:: P( ~# v& H% _3 r( M4 j# X+ y) i
30=10.- k4 V. ~3 D; f( P$ h! L
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
) ?$ t% u3 E& e* q#30=20.8 J2 C& T6 [5 e+ f
IF[#100 GT 2.5] G01- _+ _" H- r/ `. H, A
#30=15.
8 ^/ U6 M: u( ?2 w3 }IF[#100 LT 2.5] GO1<---此條件式可以省略# `0 p) }* z" |8 R! h
N1 G1 X#30 Y#25.......開始加工
1 p' _7 P- J1 Q3 J5 A2 m! |
w; E" e3 }- {#30會一直有數值去覆蓋它7 n6 g; u( v- }& n' Y4 D3 q
- h. U4 b- e O: ~1 z) a! B& W8 G* G9 f$ Z- H
形式3:理髮 d/ U* A; P+ [$ I; s
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0) N0 V0 O2 o6 ?
IF[ #100 LE 3. ] GOTO理15分頭: V: }3 W; x, ?8 ]8 {, }7 T& w0 K+ C
IF[ #100 LE2.5] GOTO理12分頭
- y. M- b1 D" D) XIF[ #100 LE 2. ] GOTO理9分頭; d- z- a" L: S7 s2 _
IF[ #100 LE1.5] GOTO理6分頭( \; _9 l+ O* c! I6 J# O
IF[ #100 LE 1. ] GOTO理豬頭' o1 X4 ?% c* A" Q' E3 ^" Q) z
; P* y: a0 O1 ^, q5 o% \※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性/ ~$ y( d# K6 Y6 E g" b8 y
# m4 s* I+ l( ?8 K另外的一種B式
9 H1 f& j# z: D4 MIF[ #100 GE 3. ] GO
3 E* X7 z/ A& O1 s2 h) y0 c* }IF[ #100 GE 2.5] GO& ^( l4 G# w) \! w5 w4 H% @
IF[ #100 GE 2. ] GO2 t6 z l( X5 _7 p. K9 \
IF[ #100 GE 1.5] GO$ M! k3 N4 z+ F0 X G% ~# [* H
IF[ #100 GE 1. ] GO3 `2 O8 E0 ^" o+ P# d8 i" B& z
順序不可顛倒喔!不然少將會理成狗頭
6 K& v! w N2 V6 V此例不能安排、佈置快捷性0 E0 U" q' K$ w0 A8 U
8 }9 e& `; v7 P" `# m3 F5 L0 u3 R) C0 Z* g
# z. k. x/ B0 j o0 l9 v
A式:有點像把數值逼到牆角比,自不量力可直接看出! m: G, t, R( y0 b
B式:像在自由空間比,如果順序調換
! W! q- ^, e; {, Q1 g$ K有錢人也可以去小吃店吃牛肉麵( S( a$ U% b. M
高學歷也可撿回收物當職業: j; u3 D8 K) {; N" a
1 Y! [3 Q6 Q2 [+ R
再說一下B:順序不能上下倒立,只能轉身如
# X+ c C1 W0 G- v7 X0 QIF[ 3. LE #100 ] GO
* S% ]' a, z6 f; U ^- W...2 r( \" t9 m" w, o# M9 D3 y7 u
...
# Q J* H/ \. d3 M' a1 u& OIF[ 1. LE #100 ] GO
1 @$ _. Q' W: \9 E4 f3 L2 N/ Q) o' G1 k, X* T
A.B兩者有一種共通的特性,領多少錢就做多少事
3 m- I2 R; T! G如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用3 ]- ~+ D% Q. M9 _% K- j2 g: @
0 C, w1 I0 j9 L- ~. ]; P, M m
2 U+ P/ `& ?" Q& K* z
以上為個人的經驗 |
|