|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
& U Z: Z+ b& [4 I# E
& Y) I p% [4 V使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
) K5 M2 L' \$ G; A; s' [7 k2 ]+ n8 ~% I5 L/ u! X
形式1:
* b2 U Y# c% E5 g3 ]#100=选兵(陸.海.空)
2 N- s7 h, I/ lIF[#100 EQ 陸 ] GO10 Z5 H5 p; J' v0 a
IF[#100 EQ 海 ] GO2 Y9 J$ m; R; l/ s2 k" o) d
GO3(鼻用說.當然是空軍)# W( h' s# e' b/ _
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
8 O, L4 o+ o! o p1 e2 Q+ E因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)) [% c" G% F: v) d$ `" g% |
7 q; e& o" S; {1 ?, g. i& N( w如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆/ x% ]& R" x8 k. n) H: K3 ?1 c9 a
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
0 g8 o: y. o- q& c/ v3 M; Q/ ~ A
. ]6 M4 ]9 p7 D' y- K7 ?5 x# i7 w9 Y還有一種防呆寫法:# C$ \7 R" \* {& T) ~5 }
#100=選兵(陸.海.空)$ g# h& z4 ~. J, j
IF[#100 EQ 陸 ] GO18 {2 y' F3 P* n8 |) X
IF[#100 EQ 海 ] GO2
! w3 }9 r, g, rIF[#100 EQ 空 ] GO36 }7 b( k" ?! Y' k
#3000=1.(如果流到這裡表示#100投入有誤)0 t j5 r! L w0 H
N1....
+ i1 W, i. v+ I% c" V: T5 i" P6 P9 q
& X8 e1 q* s1 N6 jN2....) J) M8 D& F ^8 y! `4 q
. m* a- R/ r C1 a9 x5 t
N3....
; _3 g( ]3 T9 J* j# Z
7 h2 ~- W j$ A6 j0 U/ J" |4 }M99
; T5 I0 T6 _" ^( {* X& B! K0 z( [9 G4 Q; M0 H0 n! O( z1 B" d
' V% G* C" `# C0 X形式2:
! R7 G! @, }. e$ c+ O7 y( w#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))& P* d: [) F3 k6 E1 E) J
IF[#100 EQ 0万] GO1
8 r- k' U0 K; w0 F1 ` rIF[#100 GT 5万] GO2
2 l; \( G; j. x) a$ K' uIF[#100 LT 5万] GO3
# l U! W! {4 [8 u. P5 VGO4(可省略條件式[#100 EQ5万])老師
+ p( J3 b+ u6 R/ @0 |0 Y3 {4 H* U! b..........
. R! ~% ^! j, A1 DN1 人民! }% R# F: z$ G
% P& n2 R6 n5 s2 o. e/ t' eN2 政官
. ~0 f( b5 r6 F( @! c. k
" l1 M; u' q/ ]' y/ d3 UN3 軍警
. G2 @( ~) n7 Q$ G" ` g0 K1 N" v3 c; P
N4 老師
' l, y$ I) B! P, n
, d% n2 f9 _& c7 ?- S, ]M994 E% H' |+ ]% ?# r2 y
- N' x/ }* o3 k4 L※注意1與3可能會有衝突,有前後順序性的% o* d p) A% r
形式2是以新台币計價的9 ]% i0 r" C- l. X- f8 [5 g. p
) d) l+ t \7 z2 n# r/ ^) a6 g5 \. z
另外一個IF-THEN的例子:
* J. H5 b6 I* h3 m# t假設#100=已用四則運算,算好的結果
; T, l' K" ^3 D0 q3 G* ?. H7 X( Z# y% @8 e# t) ~9 i
IF[#100 EQ 2.5万] TH#30=10.+ f% |4 y/ M8 C
IF[#100 EQ 0万] TH#30=10.
) ]9 l' ?$ \- p* `3 m& N/ LIF[#100 GT 2.5万] TH#30=20.
. m- A' X1 z& T0 m. j" I3 BIF[#100 LT 2.5万] TH#30=15.
) H( O J2 p/ H! M( M& U( H( oN1 G1 X#30 Y#25.......開始加工
! F+ F$ G! b# K- H0 _+ z; K) D+ t
" V v' i8 |( w( n0 E上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
& w) {5 E% g+ }5 L
2 P. |, t6 x s8 x) L5 @IF[#100 EQ 2.5] TH#30=10.
4 J; {- }* o/ WIF[#100 EQ 0.] TH#30=10., V, C( A9 ~5 J5 J
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
) X. _; P5 C2 k& eIF[#100 GT 2.5] TH#30=20.' N3 K$ ]% C, M6 q9 w6 v
IF[#100 LT 2.5] TH#30=15.
5 p0 I0 b# N' a* e+ iN1 G1 X#30 Y#25.......開始加工
" R* I |) |$ h, a& u$ L3 X
! q. |! e2 y8 c7 T, w$ q0 m或改寫成,B法:使用或閘(OR)
, o+ l+ X# m: q5 T# P9 Y0 }#30=10.
' Y* m p% I& wIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
[- a5 p( H. H3 }$ [IF[#100 GT 2.5] TH#30=20.! M6 W% z! z7 N& U# E1 J- X
IF[#100 LT 2.5] TH#30=15.3 r6 V' ^3 ?: k# }& S
N1 G1 X#30 Y#25.......開始加工
# ]4 K& r+ n. @8 Q* n3 C1 E0 x+ n+ }, E
還有一種不使用TH的寫成,如下:+ Q$ v. e: |/ R' K3 Y! U9 B! J
30=10.( m& m; A; K% y, O& Z
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1; {4 j- Y9 n9 _! A) T4 v. w2 W
#30=20.
: l* F& X$ \1 a. _8 ^: z+ DIF[#100 GT 2.5] G01
! U) t0 W5 B! Q+ r1 } \0 u! ^0 e#30=15.
6 v3 t5 P5 I* Y0 |' c1 L. k: R. M4 ~IF[#100 LT 2.5] GO1<---此條件式可以省略
j) d. b* _/ q$ c9 EN1 G1 X#30 Y#25.......開始加工2 p4 `# Z# a, D+ T# t
9 m$ B; G" z, P8 K/ t#30會一直有數值去覆蓋它
# c+ }$ c% Z9 x' H
: m" m( m+ h0 y; G! A
$ t7 @; P6 \ z7 y形式3:理髮+ E# x# N& j% C; {; i+ u
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
, c8 r1 W$ v' _2 F. y" E5 uIF[ #100 LE 3. ] GOTO理15分頭: D. E3 D3 R+ [
IF[ #100 LE2.5] GOTO理12分頭2 R& ^$ w v# R N
IF[ #100 LE 2. ] GOTO理9分頭
, M4 v3 ]# ]9 ^4 x: n0 OIF[ #100 LE1.5] GOTO理6分頭
/ o" t1 T* u, W. ` G8 }+ vIF[ #100 LE 1. ] GOTO理豬頭# e, X! k1 X t% Y
0 h* e, @2 l% b$ f! I
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
9 J' c3 S) A" X% K0 G
& q" C2 [ k8 Z另外的一種B式
. j- f& k9 `( Z; n6 uIF[ #100 GE 3. ] GO
/ ]1 q3 N- Y; b8 m$ @# I% UIF[ #100 GE 2.5] GO) Y0 u/ D) F1 S1 E
IF[ #100 GE 2. ] GO+ ]. }! L0 v4 ^# r
IF[ #100 GE 1.5] GO& N5 I7 h( G! Q* R' ^
IF[ #100 GE 1. ] GO7 Q, p- D: D. q% F! O& o
順序不可顛倒喔!不然少將會理成狗頭- F) h) d* y7 v* `9 W1 d
此例不能安排、佈置快捷性/ I& m' Q4 N' _
9 Q J# f: m1 P+ T/ s
: i2 }7 u1 L; D* C! \/ |1 ]
A式:有點像把數值逼到牆角比,自不量力可直接看出
1 R2 B. x$ p( |3 b, k; L9 t! e$ I( d7 bB式:像在自由空間比,如果順序調換
# O8 t3 y8 x- X/ u3 U有錢人也可以去小吃店吃牛肉麵+ x" s% O# D M* p5 p1 H3 D* |
高學歷也可撿回收物當職業0 B" {" X/ ^* _3 V# C) t
, }9 C' g" S2 K! x再說一下B:順序不能上下倒立,只能轉身如
1 i b, Z) t2 L' g7 kIF[ 3. LE #100 ] GO$ b: Q7 E. e ^
...! [0 o4 H8 e+ S# g8 d; B# |
..., D6 w* i/ X. o' r: c
IF[ 1. LE #100 ] GO M" b9 W1 v9 K: f3 k* j9 v F
6 x" S; R9 ~& S. R2 Y$ i0 t
A.B兩者有一種共通的特性,領多少錢就做多少事8 J' r* l8 o" P1 e
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用" Y m( c! s1 K
% s2 b+ `6 e! S5 o5 I
7 c/ _' M; r1 U. _+ K' z以上為個人的經驗 |
|