|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯
* e) m2 V4 T4 g9 x$ D: d6 J9 f0 o9 i K
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
& J* a* M6 H' [. C6 A( t+ U& k: E9 Q- P: w) ?7 L" U; G* H
形式1:1 o- D5 C% b# Z) l6 o6 P
#100=選兵(陸.海.空)
: |1 W# @6 x& HIF[#100 EQ 陸 ] GO1* ?1 Q2 P& q, t
IF[#100 EQ 海 ] GO2* y& A2 T$ ]% R `4 x
GO3(鼻用說.當然是空軍)
0 ]9 g4 U i7 J8 }) q2 ~: \- y4 ^(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
" W, |# @; X% O1 M$ y S因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
* f" T$ n- u8 g! b: r3 G( D
# i9 [$ D' @& I如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
) Q Q0 f) j) }, ?: B' E也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
5 B: e7 v1 c0 @! ?+ x m- Z/ X6 q' l2 `; U) n. I4 p+ q
還有一種防呆寫法:
) {: ]8 g2 r. v3 v; J: v#100=選兵(陸.海.空)" g, {/ b& I" e: i( r, i
IF[#100 EQ 陸 ] GO1
; C- M3 c: f" s9 r" lIF[#100 EQ 海 ] GO2
, j' J& Q: K3 S, \& ?IF[#100 EQ 空 ] GO3
( q( R: a6 Y( K6 P9 g1 m* N#3000=1.(如果流到這裡表示#100投入有誤)2 o! Y+ w8 O/ u$ H% ]. Z0 Y4 ^
N1....+ ]$ w# |% F. i
! s: N; M* ^" y& o5 n r3 a
N2....
; w! {, L) k# C9 |
; p* C3 Q+ |) Z* w* G) j; ZN3...., m& u7 j8 J# c4 `5 Z$ e3 T# y: u
! l2 y; S, C& o+ ^: a7 H
M99( g, |& q% }) E
2 I! P3 q5 J6 g4 M2 a3 s$ s
|' ]" p7 ^) r9 K* j! Q& {形式2:$ |, D5 F0 M' O) m) h
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
3 r: ~8 h; E3 v( |" {1 s N' Z9 mIF[#100 EQ 0萬] GO1
& K5 g# r/ `1 I D. M, Y1 i( w. Q: PIF[#100 GT 5萬] GO2: L- V$ b- `/ m) v$ ?( H5 K
IF[#100 LT 5萬] GO3
0 E X& X6 x# rGO4(可省略條件式[#100 EQ5萬])老師* m4 H" T4 z( Q5 o
..........8 n' v2 s" F* L. l1 K' P
N1 人民
0 K* x' x8 D! r' O1 m: \! l6 @0 ~. b1 {$ y1 o- D
N2 政官
! i1 ~9 R* Q$ ~" P6 N
- a0 p1 o! @8 F: Q8 n0 WN3 軍警
/ G. J3 G) d! V7 J( x4 g; d4 n" n, R2 m4 c: S+ N. s
N4 老師4 U0 u3 ^4 ~$ f i
4 i. D; I0 ~; x& g) w0 i- l
M99
# h, S5 @' _- M5 I+ F; E" Z7 D. }/ f6 s& y( H6 n
※注意1與3可能會有衝突,有前後順序性的
5 u% U+ o$ o4 t形式2是以新臺幣計價的
; l1 i6 c& Q9 Z; g5 f% f
( _1 X% N4 ?7 |2 [' K" g7 `7 ]# [2 R% ^. }8 {# ~
另外一個IF-THEN的例子:$ p, N% a$ x4 y) B/ g$ ~: p' P A
假設#100=已用四則運算,算好的結果% X; N- d+ ^" C9 a# A
( J7 x& a. H! N9 k
IF[#100 EQ 2.5萬] TH#30=10.
8 I% b6 R$ o$ t# G7 ^IF[#100 EQ 0萬] TH#30=10.9 | _4 j% a+ E: h
IF[#100 GT 2.5萬] TH#30=20.
2 M( _5 l5 F: @$ S* l* \IF[#100 LT 2.5萬] TH#30=15.
& |1 D) z7 B1 u- y4 \N1 G1 X#30 Y#25.......開始加工. J6 ]7 J' I" W! E
" j, r: O0 A3 N2 t3 `上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:6 }, N4 `9 r7 N/ T3 V! i
/ z0 A/ ~/ {* Y4 r( K7 PIF[#100 EQ 2.5] TH#30=10.( L# o, Q8 |& Z' {! ]* e
IF[#100 EQ 0.] TH#30=10.
) ?2 o3 R- i4 }( Z5 l( A TIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)4 N7 V4 ]5 T( {' M3 z( d0 B5 ?
IF[#100 GT 2.5] TH#30=20.& U7 f4 u; i, X% B4 w
IF[#100 LT 2.5] TH#30=15.8 z7 \# I$ l0 \" g+ Q
N1 G1 X#30 Y#25.......開始加工
+ i+ s1 |) k' B2 ?+ t; V5 g+ _$ z) k6 {7 M: L7 i7 }6 t
或改寫成,B法:使用或閘(OR)
) l+ n- ~, y3 |% Q- | c8 n! D8 K#30=10.
. a9 D! C; B& M5 P5 ]5 }IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
% E+ t: }- R* S4 t/ pIF[#100 GT 2.5] TH#30=20.2 F$ u% r$ N7 v" m6 x
IF[#100 LT 2.5] TH#30=15.
; ?: g( E# }+ T a* r SN1 G1 X#30 Y#25.......開始加工) `0 Y8 W3 r9 x! r3 q4 X
; @* h/ H& g* x! r
還有一種不使用TH的寫成,如下:7 s! v1 p1 H$ A3 L
30=10.! w) \0 P# J8 q+ a& u+ s0 w4 U; `1 r0 H
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1; U# q" q. b$ y) M% J% D; T) G
#30=20.
2 D; c2 a: c; X' s5 O+ kIF[#100 GT 2.5] G01
: z; f' K) M2 }0 [& G2 S, O2 d9 C#30=15.+ L6 q5 @6 Q, F6 _8 ]7 O6 U
IF[#100 LT 2.5] GO1<---此條件式可以省略" v/ p% u- E: X7 W* n/ ^5 C
N1 G1 X#30 Y#25.......開始加工7 {1 G9 ~3 W7 W7 k
t/ k' F, ^6 C$ B l6 t#30會一直有數值去覆蓋它
- v' k; _( q, @% r1 P0 I% f& @" R) A
/ r, R5 b0 i' @7 k$ ]形式3:理髮
! Z% ]: m. ?: l7 W ^# [# Q#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
% x* e% X5 d: e+ D+ }: f8 rIF[ #100 LE 3. ] GOTO理15分頭
% [; f; I1 d T/ v, QIF[ #100 LE2.5] GOTO理12分頭
" B' a" t! R+ o. uIF[ #100 LE 2. ] GOTO理9分頭
: m( t) v; L. \' J. G; h% i. HIF[ #100 LE1.5] GOTO理6分頭
+ o: p8 e- P$ Q1 UIF[ #100 LE 1. ] GOTO理豬頭2 w# e. C! c0 a/ q. h3 o. ^
" V4 o$ m) Y% ]+ g! R/ `2 Y※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
7 U* T7 w/ C3 j/ q" Y" ?: O2 p& g& u5 h5 C/ Y) n
另外的一種B式
8 `/ ]6 z) r; u# V( y/ JIF[ #100 GE 3. ] GO4 M/ N b; @ T* {' S
IF[ #100 GE 2.5] GO
* w: t+ C- I; wIF[ #100 GE 2. ] GO2 \* J* J" n" V8 b! J' }
IF[ #100 GE 1.5] GO* t5 r$ v4 ]5 I3 E1 M; J% o
IF[ #100 GE 1. ] GO
8 y- w ?5 _5 i: _: G順序不可顛倒喔!不然少將會理成狗頭5 O& q# @- Y- I0 w
此例不能安排、佈置快捷性8 ]& O# y2 L* |# r% _% R
" i) p4 p0 `9 W( F; {+ J' _
# k: M6 |' [- i" }A式:有點像把數值逼到牆角比,自不量力可直接看出
* y! J$ z, z. J* a! CB式:像在自由空間比,如果順序調換
. D& C& L2 ^7 @- h5 J* z% x有錢人也可以去小吃店吃牛肉麵
& }( m' t3 p5 X0 @6 t3 L高學歷也可撿回收物當職業
L3 @. ?! I4 Q$ Q2 u% i9 D' |# y' r
再說一下B:順序不能上下倒立,只能轉身如# o( t9 F! n# U) o2 d$ f+ ?# q; d
IF[ 3. LE #100 ] GO0 v6 _- M8 K; y: R' M1 Y8 f" J4 U/ d
...6 I+ _ l/ P. {# w# g7 p* f
...5 \: I- `- U7 y' G
IF[ 1. LE #100 ] GO
- @) {8 M4 a& U# y- D% Q8 q
# w2 a$ R1 E# I% r# a" V3 yA.B兩者有一種共通的特性,領多少錢就做多少事) d( `6 o4 J# Q, ~$ e
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用0 x3 s" [4 h e
- m. I% }8 l* B8 w0 j
: ?0 K0 d( d8 ` B: D( G9 g* J以上為個人的經驗 |
|