|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 2 K8 S8 `, y0 ^7 u* _* d4 ~
0 _' J# m6 p- s8 j- q8 o: S
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
6 J% a; y/ C) [% [3 h# [4 m- r( I$ q0 _4 c7 c- y- W
形式1:
, t4 n0 h! p3 I" u& |: M#100=选兵(陸.海.空)$ F8 v; Q' T& L
IF[#100 EQ 陸 ] GO1" D* Y: I! W& q' c; ^' c% M
IF[#100 EQ 海 ] GO2
; D9 G, N0 T# [ Z6 J: O; DGO3(鼻用說.當然是空軍)4 ^9 D& m9 K. m4 m# o" Q
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)& ]; ]+ l1 u/ S
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)1 p; S: K1 G$ k/ ~6 d5 ^# e
' s5 K( n4 n' }; W如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
+ j2 [9 K# }$ a也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做9 a8 }0 Y. d6 Y
. }8 |) I: S1 K- |還有一種防呆寫法:
1 a# ?, S* O$ C& b+ ?8 D% D. L4 l* T#100=選兵(陸.海.空). Y' ?! O* V1 V8 V( R" m
IF[#100 EQ 陸 ] GO1 o0 z) F( H$ f, f. H7 p* ~
IF[#100 EQ 海 ] GO2
8 {% N0 z- a+ M. j4 u9 k. fIF[#100 EQ 空 ] GO3
. @( _4 D, j% K* m#3000=1.(如果流到這裡表示#100投入有誤)2 m+ K" u/ e% Y% q# L2 r c
N1....
$ p9 F2 Z; C) ^6 G4 g; i0 l; w
0 u I0 U+ P+ y8 K9 r) u" v/ l, LN2....
/ w* Y0 X. p' u' T+ [$ a& z
1 \- c3 u9 W3 ^ FN3....9 \0 E# G7 U% d2 W; u8 ]& R- W
6 |4 i) P: T+ X8 E+ O' l9 tM99
1 ?& E0 `0 n: A" V, O. n1 O* j" ?# Z$ |# m6 r
+ G% X. F% e5 i: {( U$ f9 R2 i. C
形式2:
+ `- \4 A/ R. D. { f#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))" l' }. `; e6 s
IF[#100 EQ 0万] GO1. Y0 k3 N+ M) P8 i- x9 |2 P
IF[#100 GT 5万] GO2( O' [% z/ W4 g) V
IF[#100 LT 5万] GO3
( w3 q0 O; W4 b' B5 [. lGO4(可省略條件式[#100 EQ5万])老師
9 s9 l& a% n# @' u& a2 j0 I8 X..........
4 D$ G. p! t) R# rN1 人民7 v& @6 B! L/ l! k% O3 i
' F& w, ?) t6 I2 J* g1 Z
N2 政官5 _0 |) E" f6 M) W- M! h$ g
0 N/ w, s' U$ n3 ~5 S
N3 軍警
; _( Z: N1 X' Z! g: o3 ?, E: m7 c, I [3 w, Z6 d9 [' L+ b
N4 老師
# B# {" l9 T0 D( m4 r) z# p) ?& x9 _
M99
U: M$ u& n9 e3 c# w4 v* i0 [1 {
) s; j; v9 J" @& e' R※注意1與3可能會有衝突,有前後順序性的( v4 r2 x' Z4 V; D! L
形式2是以新台币計價的6 i! U& N8 V$ J, _
2 O- S& `6 ?7 G7 a! R3 D+ j9 V; A' Y; `+ Z' ^& O
另外一個IF-THEN的例子:
) O3 k: w7 L7 J7 e/ R假設#100=已用四則運算,算好的結果8 o2 ?8 b7 w+ C) {8 a7 g% Z
' G4 T, W/ }9 [! a. z
IF[#100 EQ 2.5万] TH#30=10.
3 A% g; f! O5 v( t x) _% g$ xIF[#100 EQ 0万] TH#30=10.: c" s& v: V' {5 { }1 A- {8 O
IF[#100 GT 2.5万] TH#30=20.
2 m" ~! ~$ F; \3 y% M( HIF[#100 LT 2.5万] TH#30=15.
7 Z& Z7 I* \ X5 k$ qN1 G1 X#30 Y#25.......開始加工
# a0 g% m$ F/ m6 \# K# `5 o& R' ^1 n
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:) g8 c+ p* m& b. d" n
' e: {9 d9 W& y5 W3 p$ V* A$ V
IF[#100 EQ 2.5] TH#30=10.0 Q% }$ ?6 l3 f8 F
IF[#100 EQ 0.] TH#30=10.
) i( n6 R8 m, r5 V% RIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)# w+ Y2 [: u* q# z7 z! O4 R) F
IF[#100 GT 2.5] TH#30=20.. E' w; V% i3 ]
IF[#100 LT 2.5] TH#30=15.
" _# e# p6 C) f: j2 K, ]N1 G1 X#30 Y#25.......開始加工9 q; N+ R0 T3 y
& |7 b4 d" E- O4 g/ r. w% r* a8 c: V或改寫成,B法:使用或閘(OR)6 A, p4 K* i6 g2 f) j8 M
#30=10.
7 I8 x8 c; ]( a$ N# LIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)6 M& ~9 v! ]- Z: b9 V- T$ J
IF[#100 GT 2.5] TH#30=20.* b1 O3 [9 h" Z& C
IF[#100 LT 2.5] TH#30=15.; M) z' f$ z3 f7 J+ _3 b( ?
N1 G1 X#30 Y#25.......開始加工8 L2 \& ?! Y: l. ], S
) l8 c V" i+ Z, J7 X
還有一種不使用TH的寫成,如下:
1 `% P" |3 Y: G( t0 J: c30=10.+ A9 n* l0 z: F/ W' b [
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1; w# z, z* z: \
#30=20., E9 U8 O4 _, d9 j
IF[#100 GT 2.5] G01
1 b; D8 g& W m, w$ [#30=15.
. O5 @/ x5 R2 A* B* l, V! {IF[#100 LT 2.5] GO1<---此條件式可以省略
( W2 m1 I1 u2 q0 a0 A0 x4 IN1 G1 X#30 Y#25.......開始加工
& ~/ R& w8 g, y U7 r5 n; P2 H+ l* g5 W/ j
#30會一直有數值去覆蓋它 }2 {6 p, q( i. M; {6 w5 a
1 S8 R8 {/ Y" \9 w& }# p& a
8 k6 D+ `: N8 ~8 i+ ~6 s形式3:理髮
/ b. Y0 ?* b1 [7 v, e#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0) [- Q: ]- l2 ~( G% Q9 C
IF[ #100 LE 3. ] GOTO理15分頭
% C+ `6 I: g" B( x, h4 i$ dIF[ #100 LE2.5] GOTO理12分頭2 E: X) u% ]/ S) X [7 t
IF[ #100 LE 2. ] GOTO理9分頭0 t2 U. _/ j' P
IF[ #100 LE1.5] GOTO理6分頭
) P$ G- |: h/ oIF[ #100 LE 1. ] GOTO理豬頭
`- c$ s: W' v) ^$ ~3 c; K% O) Y: N% Z, M; g; Q
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性; b2 Y7 D; [9 X$ n2 O
9 Q1 K( s$ b/ x另外的一種B式
/ p8 s2 k! U. s5 n, BIF[ #100 GE 3. ] GO! T/ m+ o! ?6 Q* l9 U: {6 ]
IF[ #100 GE 2.5] GO6 {4 U$ H L8 h3 O' v( K. f2 k
IF[ #100 GE 2. ] GO
0 c1 @ g; C3 ]( p/ r2 c7 CIF[ #100 GE 1.5] GO
5 s, P) P$ [/ P1 \7 @IF[ #100 GE 1. ] GO. b+ C" K! c C( k4 g; \
順序不可顛倒喔!不然少將會理成狗頭
" b4 g+ P5 g6 K8 Q6 x此例不能安排、佈置快捷性# m* P5 [9 Q4 r$ J7 T
& q9 [( O5 H# D
0 K8 y: O; {; ] P( Y) HA式:有點像把數值逼到牆角比,自不量力可直接看出
! {; H( p6 K0 i& oB式:像在自由空間比,如果順序調換
5 n# ^+ @* |, H: S6 h* B有錢人也可以去小吃店吃牛肉麵
$ E1 V) U" F/ T4 u. I$ S高學歷也可撿回收物當職業
8 c2 x% |( k0 j( a' Z- ?0 ?2 ^$ B3 I- o
再說一下B:順序不能上下倒立,只能轉身如
/ O2 e! N" [7 h R; w1 X0 @IF[ 3. LE #100 ] GO
* @* T- D3 W. l...
0 ~) \, ~, R& O' A4 f, {! {...; O$ m; C4 Z4 x9 O; Y5 c
IF[ 1. LE #100 ] GO& f+ \; x) B: o3 s( x) A ]1 p- f1 G
: g9 X4 L+ U3 U/ L. r# |
A.B兩者有一種共通的特性,領多少錢就做多少事
$ J# J* ~& u, H& X! u1 w+ w如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用& z" V3 W& `' w; n9 i- c8 L
% t8 K; J( e) [0 i
' ~- }5 ^+ C, s1 N1 {5 `5 i
以上為個人的經驗 |
|