|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 . E5 A9 j5 Y# E3 p7 Z7 r/ _/ c
; y4 r- Y6 Q1 r# r使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
6 ~5 ~& o, |, J0 Z6 k& ^0 A5 n" {5 U! z8 u& p4 }0 w2 e
形式1:
: S8 m" u; O& z8 U#100=选兵(陸.海.空)% P& G) P2 F' N7 Y1 w+ H; ^4 g
IF[#100 EQ 陸 ] GO1 B4 p5 W* B7 t- z- |2 g6 ^( c0 I. l
IF[#100 EQ 海 ] GO2
7 q9 V3 c" k, F8 w1 L, ~GO3(鼻用說.當然是空軍)
+ L8 `6 B) T" `1 E* g(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分); K# ]! T0 D1 Z7 D% K# @4 O a
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)3 F) ]; N/ u: A& f2 b, E" {
! ?$ Z+ Q7 e3 R4 t$ o- @+ p如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆6 }; m* _7 ~$ n
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
% s, x9 d0 M6 l; n; e0 s. [& `/ |. i& c/ x
還有一種防呆寫法:
" S; m# U4 i5 G) |* j9 W#100=選兵(陸.海.空)3 Q6 }. _% P8 n3 J G' A
IF[#100 EQ 陸 ] GO1- v9 X. ^$ r0 \& z+ L% f) P$ A
IF[#100 EQ 海 ] GO2
" x0 s w/ g8 E3 u! mIF[#100 EQ 空 ] GO3
/ S1 ]6 i/ P% I4 {7 k' R#3000=1.(如果流到這裡表示#100投入有誤)
* c: M! v6 s# S& ^5 @3 uN1....8 w+ d D' b9 t" I
0 \' R" d- n$ W2 L! w& a. a
N2....$ T+ N: f- h1 b% d% T" M) }
1 ?8 K7 `" Q5 MN3....! u) _2 ?- V' B6 U
" |/ s% N, J* hM99
c/ y2 D( x% y3 ?
4 h6 P& Q! W. F; C! L: n' n5 W9 i5 r u) \9 G( o8 I' q
形式2:! Y) L" t7 k( H: W- C
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))0 x* b; J6 O3 _8 y2 P- n# ~: l
IF[#100 EQ 0万] GO1
# B3 x! \9 l4 `8 b( }+ kIF[#100 GT 5万] GO2! H a! W+ a+ A$ s) O
IF[#100 LT 5万] GO3
% f" z% N w# h. v' wGO4(可省略條件式[#100 EQ5万])老師0 Q+ ^2 |9 D" l0 p. F2 V# Z U
..........
" p, B' s) V! i8 J. {N1 人民
5 S/ E. s1 H8 ]3 s( y5 |; z, |, j% }
: |: s! C8 ]# n4 @0 O4 t; kN2 政官
5 a- q2 O1 H: e5 a) V1 ], ?8 V/ [! |. ` w6 Z6 q* N w/ {' p, j
N3 軍警
) K$ T) ?& w/ y: V: w" Y a: s4 ~* R* O4 Z( ]
N4 老師3 Z" e3 s/ i. b7 I) ~
$ b+ G% z$ a/ i3 J& ?/ H
M99
8 L4 I! t O0 b5 T
) e* m$ j. x9 L# b※注意1與3可能會有衝突,有前後順序性的
" W" Q% a) n% C* s# h形式2是以新台币計價的
2 z; h- J5 @, ?1 ^
) N9 W5 H- i) [- t
2 O y% [. V- u8 \' ~+ r另外一個IF-THEN的例子:
# Z& ]5 v5 B: |, @* a& ^/ ~5 X假設#100=已用四則運算,算好的結果7 T' z' O2 Q) W; b6 Z* E! z" S
' T$ L8 G/ O* E. H/ xIF[#100 EQ 2.5万] TH#30=10.
% D, g% L! @; p3 kIF[#100 EQ 0万] TH#30=10.
1 F0 W h. [ d. rIF[#100 GT 2.5万] TH#30=20.4 D4 j, O/ @& G3 l0 r- a) f
IF[#100 LT 2.5万] TH#30=15.; m7 f& G9 t( s n% f
N1 G1 X#30 Y#25.......開始加工
8 K7 t& L5 u' b, t9 \1 ^0 C+ | o# V. G! N
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
$ @' d. ?$ o9 H# ^, \+ S5 r7 C* M0 e! t# {5 l8 @' g7 g
IF[#100 EQ 2.5] TH#30=10.
+ E4 r# \8 g' C! Q7 x2 j: L$ qIF[#100 EQ 0.] TH#30=10. T7 D, o% r9 a
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)1 R& i% r0 ]' O: t' i. _
IF[#100 GT 2.5] TH#30=20.
`5 F) W' V, [IF[#100 LT 2.5] TH#30=15.
% [% V P- {' WN1 G1 X#30 Y#25.......開始加工
2 n, M* T$ @/ u) ~! Z, ~: U; H- {+ ?7 q7 f
或改寫成,B法:使用或閘(OR)
% ^- ?7 W& Z* S6 h#30=10., E/ l2 [0 j8 d
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)$ P, l7 t G2 X) o4 M
IF[#100 GT 2.5] TH#30=20.
. D, B3 `% a4 K6 X. l5 hIF[#100 LT 2.5] TH#30=15.
8 }+ A3 F, X! A. W- a# _# N; gN1 G1 X#30 Y#25.......開始加工
5 I- a# _3 r4 H O4 s; t: s. O: J2 e0 z9 z6 i+ D3 z
還有一種不使用TH的寫成,如下:
V2 l9 V- a! W2 m q/ M4 d( ?) O30=10.: n# t9 K7 H2 N
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1" o5 ^9 M6 Z) G4 W9 o
#30=20.
' v( z" k( s) S n0 C4 QIF[#100 GT 2.5] G011 I" d" r8 X2 w- z7 i S
#30=15.
! I% ?, N! ~5 vIF[#100 LT 2.5] GO1<---此條件式可以省略
7 ]$ d2 h% \ ]; w2 N" l/ v$ S. zN1 G1 X#30 Y#25.......開始加工- w ~& l4 K5 Q0 I0 N5 @" E
- p& c+ ?7 I/ a; h6 o#30會一直有數值去覆蓋它: ]2 X7 F; [ S
% q9 T9 ~3 n$ V% o2 ?1 v
- E9 ?* z% |' ^* Y: p: s! W+ F
形式3:理髮! C2 D% M4 f8 c u! I. V
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)$ {% \5 \0 r. }1 f7 g( H# k2 z+ t
IF[ #100 LE 3. ] GOTO理15分頭5 l( `* l5 U F9 A
IF[ #100 LE2.5] GOTO理12分頭
* T3 U5 g% Y# a, M6 d" {" l7 qIF[ #100 LE 2. ] GOTO理9分頭8 o' n ~! M' q4 ]) B
IF[ #100 LE1.5] GOTO理6分頭) @& c; [9 o7 P
IF[ #100 LE 1. ] GOTO理豬頭$ o; q5 ?! {8 C: ] b5 q
0 K# W3 E0 E6 n [※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
, Z7 M2 l6 x d" M( s5 e+ |; a U/ E
另外的一種B式7 C0 L% L# l1 V
IF[ #100 GE 3. ] GO
_% r; r. ^4 u, {$ j: Z& H( _( ZIF[ #100 GE 2.5] GO
& t7 J4 h" B# v5 U j6 @' j4 BIF[ #100 GE 2. ] GO. C9 X( N9 u1 T2 d
IF[ #100 GE 1.5] GO0 d% D! u- @" z1 J# x. {$ V
IF[ #100 GE 1. ] GO" b, D: R, a. ^% f
順序不可顛倒喔!不然少將會理成狗頭
% m3 \' a1 l/ ~# S; J; R2 G此例不能安排、佈置快捷性
4 ?% H$ v. {6 ?0 Z6 Y% t/ l; N) @% `" f3 @, i( A3 c S
* \0 _; P4 @ |9 MA式:有點像把數值逼到牆角比,自不量力可直接看出9 n( P; s% }9 i& Y7 Z
B式:像在自由空間比,如果順序調換
% v7 c% b- o7 Y; u8 E2 I( D& P有錢人也可以去小吃店吃牛肉麵1 z( w( `! S( Z {' Z H
高學歷也可撿回收物當職業/ C( g: c; b4 G) E* d% ?, b
9 F' v% p+ G9 a4 X. S5 s8 B
再說一下B:順序不能上下倒立,只能轉身如 C+ ~$ u) w* S( K, P' x
IF[ 3. LE #100 ] GO- g N& b: M a: k; ]" z7 v
...& s6 x9 z+ }& t# S3 @
...
; f1 Z# i7 }/ tIF[ 1. LE #100 ] GO
8 K" O: Z% j z j, f' ]( V
) S( W& m- } R9 f5 e+ UA.B兩者有一種共通的特性,領多少錢就做多少事
e3 e2 L! t5 C% g1 A& S% K& G" v如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用& T9 M8 i, G+ V( R$ c2 Q2 F
! ?5 E A k3 E. ^3 {
- a. R, {9 d# ^' N! u以上為個人的經驗 |
|