|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 7 p% J" D1 q3 H7 C& `1 {3 l! I
0 t4 e% j _' J, t, O
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
) `4 E3 R$ {/ E6 g
: M4 z& r' s9 \1 q" Q形式1:4 ]$ M' |* p9 C5 O$ l7 {
#100=选兵(陸.海.空)
* o6 G, r+ l, o6 p4 ~( ]- xIF[#100 EQ 陸 ] GO1- @/ a8 R% e2 [. M# d
IF[#100 EQ 海 ] GO25 O- Q) w5 o1 A5 b: H1 M
GO3(鼻用說.當然是空軍)
/ k: ?& T& s* V( ^7 O(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)- R" x. Q' X- Q0 h0 q3 o; a
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)) t6 \7 T& B7 N; w8 Y2 y
- U& G5 X2 y) m# Z8 z
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆" h6 |. W0 W0 f7 R) ?
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做3 v' o, r+ `0 C2 {4 y- F% o
" @ O2 ~! h+ r& T還有一種防呆寫法:0 F- P( q+ K* j
#100=選兵(陸.海.空)
/ q: a3 Q* f6 {3 V- {$ L/ TIF[#100 EQ 陸 ] GO16 }1 Q1 q o7 h$ R
IF[#100 EQ 海 ] GO23 H r8 M2 [% n1 m5 m8 w+ U; c
IF[#100 EQ 空 ] GO3
7 u: v# Y7 z9 w& o4 u; a6 Z K#3000=1.(如果流到這裡表示#100投入有誤)
! N Y5 p, |6 n, z+ U* L tN1....
6 T/ Q H1 H4 A! @: M7 Q8 O8 s& N& r% H ?$ \2 C6 }7 O6 u
N2....
+ h" E" a1 N9 }$ G6 j8 R
3 D5 T8 C4 B6 v! sN3....
2 z/ b, j+ h, r7 d( { l- k& N/ ~9 d2 N. D5 M9 z. F! n% C
M992 F6 J2 y/ M! A
9 O' [* }' C3 ^7 @( `5 K5 `5 Z" R- Z/ O6 T% ?
形式2:
7 R7 h2 l' j7 x/ z#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
/ N1 j: k2 b' JIF[#100 EQ 0万] GO1
* t# a8 p' m" X+ WIF[#100 GT 5万] GO2
: f) R: n. q& b. h% M7 D. X6 ]IF[#100 LT 5万] GO3. x2 J, G% a5 @6 D3 S# C3 W+ z
GO4(可省略條件式[#100 EQ5万])老師
* M1 M: T) }; `! v% o# [..........0 k8 N: ]2 u( g$ v8 t7 g
N1 人民% e0 h$ l5 ^' ^: }0 S: o
" o9 G" S- k, V. P# v! D" q6 }N2 政官
/ H' c2 r- ^+ t5 w" n/ S `
' a. i+ L8 R2 @N3 軍警! B( F" O$ r3 q$ f& y7 a
$ E; N+ e7 s2 Q' c- E( M1 ]N4 老師
" m8 ?& z5 O5 ^& X( M6 V' r. r7 G4 b6 p( Y
M99
* G7 [7 Z: [" X: v
* F1 X1 q. R& z7 v) G※注意1與3可能會有衝突,有前後順序性的8 c! v' u5 O& B9 T! i
形式2是以新台币計價的
0 a N! g; J% w: Z
! i. X0 [0 p9 l) I" Y: z, X6 \# K+ t) b
另外一個IF-THEN的例子:" ?) ~6 B" D* }5 o2 u
假設#100=已用四則運算,算好的結果& O" J! i3 a$ z {- u/ F1 R
: \- `# [8 S# yIF[#100 EQ 2.5万] TH#30=10. R( i: s. [' o) E9 Z" }# o, i
IF[#100 EQ 0万] TH#30=10.: \! c, a- A3 T# r4 X( l( T# F- D
IF[#100 GT 2.5万] TH#30=20.
# N7 s" T1 Z/ J+ U" V# UIF[#100 LT 2.5万] TH#30=15.
% ~; W; y: D/ S4 }N1 G1 X#30 Y#25.......開始加工
- ?: k$ i, z& d4 c( U5 u# P9 _: }, E" q |" t3 G( B# a
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
3 l: h3 ~8 G+ r+ H; ^1 m) U' D" R% M! E6 i& v
IF[#100 EQ 2.5] TH#30=10.
( }' K5 y$ h9 ?4 d7 @IF[#100 EQ 0.] TH#30=10.
' x4 C& S- V, G! Z Q$ A* mIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
: U5 b1 q* d1 d$ i# j; D6 K5 iIF[#100 GT 2.5] TH#30=20.
$ s" O8 V2 u4 d2 MIF[#100 LT 2.5] TH#30=15.! U0 V/ r0 c# d5 d2 X c' I
N1 G1 X#30 Y#25.......開始加工
8 l$ W v, D$ D! c8 r, N, N8 b+ A% H/ W) z, _$ O8 ~ I3 W1 _
或改寫成,B法:使用或閘(OR)8 ~5 j$ X2 \& G ~
#30=10.
) g& V2 s8 d) W1 Z, `IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
' R/ `# p$ R& J6 D/ c$ ZIF[#100 GT 2.5] TH#30=20.
: D5 c; R4 R; g% S% a) V" MIF[#100 LT 2.5] TH#30=15. {8 e" k V. d# j% b* G! d
N1 G1 X#30 Y#25.......開始加工% X6 }2 a, g& n9 \# x
( ~& z8 p! ^7 k- H8 d" B2 j N還有一種不使用TH的寫成,如下:
8 Y/ w, t* L' F4 b2 b30=10.& u5 M' L* o# d& v, u
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
6 F$ j# E" f. Z% F2 q5 Y#30=20.
2 f* u- j# {; s( v2 AIF[#100 GT 2.5] G011 F) k) O5 M. d) s: j
#30=15.
% {7 J8 V( y% K% xIF[#100 LT 2.5] GO1<---此條件式可以省略
- Z: S7 o& O7 h1 }+ W! Q4 gN1 G1 X#30 Y#25.......開始加工
1 I0 u$ J, I% W
/ L0 O. R; Y3 T#30會一直有數值去覆蓋它) k. p1 r- J3 t& H4 C
; O, s) b! s6 B$ p8 R0 X( g2 r8 ?# _/ y$ E: _8 t$ @* S+ D/ S5 Z. a5 \
形式3:理髮
: _3 E2 {3 A& A% {5 f#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0): J+ ]- F& F3 u% ~# l
IF[ #100 LE 3. ] GOTO理15分頭+ W7 N5 a* J( L7 g. ]! I* E+ m
IF[ #100 LE2.5] GOTO理12分頭
" g! D4 s( k) IIF[ #100 LE 2. ] GOTO理9分頭
1 P' _5 Q, d- ]2 g6 kIF[ #100 LE1.5] GOTO理6分頭! H. k- k' V0 Y1 G7 O1 T1 J
IF[ #100 LE 1. ] GOTO理豬頭
: a9 u- D4 T& Q% A& V7 b
D5 P* {) v7 G9 z6 x& A※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
5 X/ z; ^$ K7 }; `' F! j
. N' H0 N& e. a/ Q" p另外的一種B式
6 u$ M0 G0 o& W( _IF[ #100 GE 3. ] GO4 D" D9 t7 m+ Q5 R. s. ~) S3 A
IF[ #100 GE 2.5] GO
& i; T! k0 I4 ^3 EIF[ #100 GE 2. ] GO
0 ], A3 A5 t3 Y+ nIF[ #100 GE 1.5] GO" b' e+ P& u) Z" o/ l
IF[ #100 GE 1. ] GO7 c0 q* w; R5 b) U$ ]
順序不可顛倒喔!不然少將會理成狗頭
) P5 ?5 [' U: s# G0 W5 b此例不能安排、佈置快捷性* z9 M& W4 m2 }( P- G
7 a& W6 x/ H9 P; h4 G
8 Q$ y5 I6 I/ l9 i% N/ u
A式:有點像把數值逼到牆角比,自不量力可直接看出
`- A0 W# z; [; p0 oB式:像在自由空間比,如果順序調換
; C/ _/ @+ m& t- g* A有錢人也可以去小吃店吃牛肉麵0 P% G1 c$ c) U0 H; y) [4 g
高學歷也可撿回收物當職業+ ]) ~5 T% F6 a
* [2 w0 c, r0 f% F再說一下B:順序不能上下倒立,只能轉身如
1 K) x7 X5 B3 c6 OIF[ 3. LE #100 ] GO( N( M! u! W& C; Z3 i; X
...
0 X6 e0 m$ j1 S, R/ a: F! Q1 ?- j...
; c& k* o8 h3 F! t4 YIF[ 1. LE #100 ] GO
; ?3 `4 \1 C7 q+ Q
* o3 K( N: H1 NA.B兩者有一種共通的特性,領多少錢就做多少事) X. A r; j9 S" `* A& k
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用' E0 {# q4 P; J1 Q7 a
0 q* ]3 o0 t1 l
- U- }" ]7 w& X以上為個人的經驗 |
|