|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
6 Q4 `( a5 G- X3 y; N7 g9 v4 r& W- X0 f$ F
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性8 e* V; {4 z7 z1 r7 a
+ t% p8 \ q- Q$ `
形式1:
1 v* {5 L4 O' e2 h% P#100=选兵(陸.海.空)- A1 R# s: z3 x: `# I
IF[#100 EQ 陸 ] GO12 E. [4 p0 \7 K X0 s
IF[#100 EQ 海 ] GO2, e6 K5 l! p6 _1 [% ~5 P2 A1 r
GO3(鼻用說.當然是空軍), l7 J& ]5 Y2 @% I$ U0 @+ b* W3 ^
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)6 |7 d. k3 H J" f& @; q6 d, t
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
3 N7 n' K3 E1 m; V) O- }) Q
( \. `) C& l* v" Q q C# O( l如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
8 K/ F3 l0 J4 G也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做$ B$ Q+ G9 @# E% z
4 C. I. `- t9 |7 @, J! g, o還有一種防呆寫法:# a" S3 G- C! |3 C) k
#100=選兵(陸.海.空)9 ^; b: D+ I+ m7 a5 e
IF[#100 EQ 陸 ] GO1
) z1 }' A: x1 z7 JIF[#100 EQ 海 ] GO2( u6 a/ m6 q1 \' F3 s
IF[#100 EQ 空 ] GO3* f' y1 Q7 K& L7 w. E- X5 R+ p
#3000=1.(如果流到這裡表示#100投入有誤)
( W) e4 D1 _0 KN1....) \( s7 x# S" h ^* H0 f) k6 @2 s; s6 X, ]
( n3 y7 t7 x* R- }0 s( p8 }5 IN2....* a& v0 w( V% ~4 }4 o: Y( [7 D
/ H+ c) x' i7 u* F$ g B
N3....
$ }: A2 c( ^3 c7 [+ M1 {% ^9 J, I) {, ^( e
M99
2 h$ q3 o: F6 l( L+ h" `8 C" |: T0 D" z
; f% U8 q7 u( q; r2 T形式2:5 ~5 E( Q( g: l* A! Q4 N
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))1 R! e( k, C1 I/ ]* j, L) {
IF[#100 EQ 0万] GO13 p8 N2 p& F+ [
IF[#100 GT 5万] GO2
# ^+ h! u4 u2 D V% [3 TIF[#100 LT 5万] GO3' F% P! r0 K- B6 @ F
GO4(可省略條件式[#100 EQ5万])老師
! i0 G! z* G# W4 G: V; P7 t..........% Q8 V4 H% ]- \. N4 h' R
N1 人民8 T9 S" E' B7 M" B. T M
: Z7 c# q) k" V: U. Q3 m) I( }N2 政官
2 P- h1 V7 N+ _: e# ?) l
6 d1 H$ s, r& K6 T. r7 Y9 R9 bN3 軍警
8 c+ H' Y3 ^& Y% ] ~% D
# ]7 Q6 s% U0 X8 M8 G; o6 c iN4 老師( I6 B. m" E+ m
7 Y" I) u* S w
M99$ M6 B6 y6 T; d# r
3 W: t5 K9 |" P+ L$ g* l
※注意1與3可能會有衝突,有前後順序性的
! {3 d# I2 u, m形式2是以新台币計價的
4 A( S7 o' r+ o+ S R0 ^2 G4 h' R2 [1 k9 l# o. U
4 ~+ h/ f9 N+ R7 t5 J2 m( ^- ~
另外一個IF-THEN的例子:
% ~1 S6 b4 y' r5 e' S, S$ m- ?. B假設#100=已用四則運算,算好的結果
# N+ @) A, S# |8 J- v* c) C5 G# D8 v0 Z; _
IF[#100 EQ 2.5万] TH#30=10.
8 ~* H* d5 O8 V O: j$ h* K9 hIF[#100 EQ 0万] TH#30=10.
% X; o+ P! D( p: [: hIF[#100 GT 2.5万] TH#30=20.
: l: a" y* u8 B- H( P EIF[#100 LT 2.5万] TH#30=15.
+ P( {; b' r5 O$ ~1 m2 j; l8 @N1 G1 X#30 Y#25.......開始加工% E+ B9 v. M( A
8 M: i/ Y0 k7 c# @: K! O上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
# ^" _& v, E3 w# e# J: c! r9 d8 Z0 }' e- D. r
IF[#100 EQ 2.5] TH#30=10.8 |+ g) q: W/ w1 P1 j3 }' u# r
IF[#100 EQ 0.] TH#30=10.6 j6 x4 b. q8 y6 r. z7 V U
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)3 K7 H5 B- x1 h# {/ v: F' P
IF[#100 GT 2.5] TH#30=20.
/ h8 v. k) i" z1 o% cIF[#100 LT 2.5] TH#30=15.8 Z1 W% k/ P( |5 ^+ [
N1 G1 X#30 Y#25.......開始加工
; T) b4 k: S8 S( c: ?& h1 M+ W5 Z5 L$ b; Y1 q* J7 m$ y
或改寫成,B法:使用或閘(OR)
' w* q8 k c7 I. h' r8 L#30=10.+ S# @5 i% U3 I/ \
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開) z* b2 R3 [) R( Q
IF[#100 GT 2.5] TH#30=20.
' O. D) ~4 p1 ^. GIF[#100 LT 2.5] TH#30=15.
* R! b/ }) t6 l( YN1 G1 X#30 Y#25.......開始加工
, A; G: V8 n- ^' e' y; {. g+ ?& H* m0 w" Y8 [4 ]
還有一種不使用TH的寫成,如下:0 e5 @& F& q2 K
30=10.
/ M( @& J* R- R0 x+ t- v# mIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1( d6 N( ~+ @2 N/ ]
#30=20.. O4 S2 Z( |3 |$ p
IF[#100 GT 2.5] G01, \& I4 ~+ t4 o# }' O i! _7 R
#30=15.4 W% y: Z1 l2 L# s- g
IF[#100 LT 2.5] GO1<---此條件式可以省略1 T* a4 e; b; G; I; g
N1 G1 X#30 Y#25.......開始加工
4 Y1 Q6 j) ]- X4 X# X% D* f
: [8 Q6 r8 B9 j#30會一直有數值去覆蓋它8 ~! s+ }3 j( d; B' ^" ]: D2 M
3 E+ Y7 V# X# r, h+ T @, G' Y5 G: \; f. d
形式3:理髮! f$ G) ]* E! n) ?# M0 O
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
# m& M, {; F) `IF[ #100 LE 3. ] GOTO理15分頭) [* I+ r0 K4 a2 |% r! L6 [' r
IF[ #100 LE2.5] GOTO理12分頭
: s6 P: I+ r$ Y" m! _IF[ #100 LE 2. ] GOTO理9分頭' e4 ?* Y: E. Y* ^( T6 q) K. _8 A$ @
IF[ #100 LE1.5] GOTO理6分頭! S: x$ j+ Y- Y: i
IF[ #100 LE 1. ] GOTO理豬頭
! k7 F. s% C2 q3 D8 G9 S( ?) w+ ?+ I
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
/ X4 j3 Z/ D5 I8 D# I! }
3 y8 }. d# {: L7 e) a% k1 I另外的一種B式) u, N! P( h! ^, H' i% J0 i
IF[ #100 GE 3. ] GO
' K" C2 s7 M. A3 rIF[ #100 GE 2.5] GO# C* T& G q; N' ~! ~' v
IF[ #100 GE 2. ] GO5 U6 f4 c4 z: N+ E1 S- r
IF[ #100 GE 1.5] GO8 |2 E$ N3 A% [& A6 l2 _4 F5 C
IF[ #100 GE 1. ] GO7 A9 n3 W' W7 D' c) G9 |: }
順序不可顛倒喔!不然少將會理成狗頭0 R& P% x9 v T0 ]
此例不能安排、佈置快捷性
1 p8 Y: r9 ?6 ?7 L9 I0 j0 C' k- v: L! U( z9 e9 l" n& X$ ~
. n' B X8 e \, KA式:有點像把數值逼到牆角比,自不量力可直接看出
1 ~! `* `) u, W! j" r2 p. qB式:像在自由空間比,如果順序調換& V+ g4 S/ l5 y- i$ @2 R! [( a& |
有錢人也可以去小吃店吃牛肉麵2 H: s+ s- G7 l8 u# {
高學歷也可撿回收物當職業* u; H H# f2 Z( c1 n3 d
6 }0 P( J9 U& D6 }1 }( `, W再說一下B:順序不能上下倒立,只能轉身如
8 M4 v4 _& z, _ Z6 ]' Z& PIF[ 3. LE #100 ] GO; Q; e2 w+ J2 w s' d9 W
...: S$ P% n/ i8 o5 J. ~2 `
...0 {5 } e' c0 \- q% R
IF[ 1. LE #100 ] GO% s6 R8 l" j! R- ^# l$ F
8 w p2 n8 N% T( GA.B兩者有一種共通的特性,領多少錢就做多少事! L9 O' h3 c- j" ]0 f& q4 G
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用- R& I0 v" F, o% P- [
2 m- v8 H! r; z
+ L# C8 H# {+ v7 A以上為個人的經驗 |
|