|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
+ o) y% O# a N6 c, G' K2 O
( d( L6 r+ ]4 f' [6 G. U使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
0 w* X" f0 X: c& z1 u, {7 U
O' `0 M0 `) J+ J& A" _) K% w% I形式1:9 ~0 P( T7 I9 B% Z6 f
#100=选兵(陸.海.空)
4 O5 ^7 _- r5 B' _, m- GIF[#100 EQ 陸 ] GO12 C' [ K2 t1 B. }# F
IF[#100 EQ 海 ] GO2
5 n6 Y( R1 Q* g' T9 mGO3(鼻用說.當然是空軍): ]) g1 A/ R% [* H N
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)9 x" a7 }8 p, g9 o: g' t
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
! c ?% b% O$ z! V& U
2 ]0 P5 V+ d: S如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
% t/ {: S& R8 L3 P5 [4 x2 O8 Q也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做. o5 o1 J1 r( Q- V( ^
8 @7 i6 `5 }$ H- E$ ?, \
還有一種防呆寫法:
' C6 h/ d8 U4 X5 \ S. Q) A/ `: R( d#100=選兵(陸.海.空)
. D$ E) @$ B9 t1 W# P9 O# ]) hIF[#100 EQ 陸 ] GO1
, Q# y# o( ~9 H- m( `8 JIF[#100 EQ 海 ] GO2
. ^5 z6 d2 L$ k; O2 WIF[#100 EQ 空 ] GO3
$ U' e5 ]1 \! S U5 C#3000=1.(如果流到這裡表示#100投入有誤)' D4 R! w& i7 z4 G8 b" u& }
N1....$ o+ T+ |; I7 r. J7 y& @
- \/ ], i% i4 u3 u% J1 B
N2....
2 k- l8 g. m8 Y( J$ k8 b( w+ R
/ U' _9 W1 `, j( n) q/ U* ON3....$ P; _; l- o3 Q+ |- Z7 \
0 I/ t0 V4 D, s0 v
M99) G0 u, [' ?8 \6 S
/ r8 R* n+ W$ B8 O" x2 Z9 T! O
2 }# F6 y, E% |" W* l" c+ e, K
形式2:6 E- p1 ^. d+ p! a" `! p2 _3 G4 m8 J
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))' o+ A% [! ?3 B
IF[#100 EQ 0万] GO1
9 F6 R" ^# v' F! ?1 P& aIF[#100 GT 5万] GO21 P$ x( @9 u8 ~# X# s6 t, {
IF[#100 LT 5万] GO3. k' B5 B9 G* Z) j6 n2 N: J `
GO4(可省略條件式[#100 EQ5万])老師
5 l7 _" N* \5 ^# M..........
' A/ r- O( W/ f# J/ @N1 人民/ J* B q% ~4 Q: t/ Y5 b
) n6 f+ B1 y. M8 Z3 xN2 政官( H. U h# M* x# v
. Y `- @% m0 {( H4 a
N3 軍警
9 ^6 J4 D9 P! C+ C. U/ [4 K9 V3 L. m+ a& x: c7 j/ B2 o$ x2 I
N4 老師9 `3 R% Q$ W2 a" `: j# J) p2 h( G
& r. G2 I" \/ t# O( P3 SM99
; }4 J% _+ ~" M' U+ D
5 p0 \9 N# j; I6 x; A9 ]※注意1與3可能會有衝突,有前後順序性的
0 u1 k# y2 b8 S" o0 b8 p* r形式2是以新台币計價的
6 ~( |7 y4 i& l6 U' f( |. `- N- M/ K. J8 C9 K9 A
8 u) U# Z) ?9 g7 ^0 v* P6 ]* m
另外一個IF-THEN的例子:3 L) `: A! \% H
假設#100=已用四則運算,算好的結果- ]7 {2 c7 l( Q! X& _! j
% H) E! v9 C8 p- \! a2 y" VIF[#100 EQ 2.5万] TH#30=10.
8 F$ b4 n$ Z, Z EIF[#100 EQ 0万] TH#30=10.
m, O$ U# P+ rIF[#100 GT 2.5万] TH#30=20.
. m; @# Y. }0 z) X) ?- k, R+ i1 JIF[#100 LT 2.5万] TH#30=15., r* M, \) F& f$ s. j) C
N1 G1 X#30 Y#25.......開始加工6 w! \7 V S* D0 e
( j# r/ M% p' t" E! p
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:" `* D H( n2 s; H6 q/ Q
# L, A, Q3 Z) E$ RIF[#100 EQ 2.5] TH#30=10.
" E: C. M+ | O9 U5 j) \, Q9 pIF[#100 EQ 0.] TH#30=10.- f& V; ]2 V* P9 }% S
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)4 ^- C; ]& w" |+ }* i& R! {. C9 }
IF[#100 GT 2.5] TH#30=20.
/ k% V B3 v# W2 C7 VIF[#100 LT 2.5] TH#30=15.
: n% E/ N0 Y( {+ o, i/ S* RN1 G1 X#30 Y#25.......開始加工
% r j$ _( e( U; b
& e6 O9 Y/ h# f或改寫成,B法:使用或閘(OR)' A; y' l. G" w, J
#30=10.
. U( s1 [( C3 w0 C. W3 L/ F" [% jIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
0 o4 U; p6 B- c% B) ^IF[#100 GT 2.5] TH#30=20.
# H' i- x* k/ x5 l6 G/ ]5 xIF[#100 LT 2.5] TH#30=15.4 x: ?; Z! P; X9 n
N1 G1 X#30 Y#25.......開始加工* A* k: l. c3 U) g! V
6 e' J. s/ I/ S1 Q7 `還有一種不使用TH的寫成,如下:
" t7 Q( c8 s. Y0 H) C, ]( \30=10.
" a' t) X2 l. T: XIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1* D: R5 D; f" d0 {. G4 g- Y
#30=20.0 M6 b- @ k8 D; T/ a7 P2 }) S* H
IF[#100 GT 2.5] G01
" g) j; {7 ]% e& X0 z#30=15.
' }7 {# k: ~4 h6 ~) r, Z, BIF[#100 LT 2.5] GO1<---此條件式可以省略
* }# c3 l% s+ SN1 G1 X#30 Y#25.......開始加工0 W, d$ A* {7 ]
3 W) c8 j+ N" J% V( F
#30會一直有數值去覆蓋它0 p) ~) F4 S9 |- x
1 Z! i1 o r. n4 A+ u/ O& V* Z
# f( r5 L, O+ P/ a
形式3:理髮% i& p; v1 m7 F: C2 z
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
9 P1 m- h5 Z8 @6 @1 w6 wIF[ #100 LE 3. ] GOTO理15分頭- P4 Y$ M7 P6 c% T Q2 D: t2 |' t i
IF[ #100 LE2.5] GOTO理12分頭
' C2 p/ d7 ^7 }IF[ #100 LE 2. ] GOTO理9分頭
0 l% j8 J& G# [; |/ [: }' ^4 _9 sIF[ #100 LE1.5] GOTO理6分頭4 ]( F4 Q, m2 \: p7 P+ _$ b
IF[ #100 LE 1. ] GOTO理豬頭
( p% C- A! W4 b' I6 r4 P& [7 x* A" T8 a9 ~) J7 c
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性+ E% m7 j2 Z' s2 c5 r
2 c* [" d* X( o) x0 \$ ^4 ?/ ]7 S
另外的一種B式
! w8 u5 N' }% m. z3 Y% T) o& pIF[ #100 GE 3. ] GO L# e% q. s, }; l% B
IF[ #100 GE 2.5] GO
. Q1 q' X' T6 P$ i! b7 d$ zIF[ #100 GE 2. ] GO5 G* j! b; e( V$ @3 w6 }" w
IF[ #100 GE 1.5] GO
- j x! _6 r; a. o& H+ F) I0 IIF[ #100 GE 1. ] GO& }, p6 H! {0 @& ~& W
順序不可顛倒喔!不然少將會理成狗頭( u D$ t' {0 }* g& `
此例不能安排、佈置快捷性& B1 Z( [! {" K6 r, `
q$ D1 l( y0 F4 F: K" x# M d! P/ {* t) E4 h
A式:有點像把數值逼到牆角比,自不量力可直接看出9 B% u3 a2 v# y! s6 m
B式:像在自由空間比,如果順序調換
8 {1 f. g* m5 G9 N N, S有錢人也可以去小吃店吃牛肉麵
* U9 a1 y& Y. c高學歷也可撿回收物當職業
/ J z7 w5 B/ u. V9 _* b% q
5 q" K! y' v3 D. r% V$ {. p- j8 O再說一下B:順序不能上下倒立,只能轉身如
# r7 o* }% q- K9 Y0 K- }. n. f+ s& g, Y" yIF[ 3. LE #100 ] GO
9 x# s5 I' G- C8 G( ~4 ^...
! a9 f: W# G2 \; D9 ]...2 _' B2 [3 K4 t. g2 t/ H) r9 o3 t2 I/ m
IF[ 1. LE #100 ] GO- s- k- {& E0 _4 ]2 O
2 D+ P. Q! B, O6 x
A.B兩者有一種共通的特性,領多少錢就做多少事
) I9 L2 H3 z7 y2 o1 u% J1 u如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用 ^: S/ h# s1 K0 N/ E
. I% A5 N3 J: N% G
" c5 G& g# @5 L3 m \; L+ N: c
以上為個人的經驗 |
|