|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 5 o# m2 B! W8 ^+ y
@3 r) e: b$ p& _: m* x使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
6 }" v# E% @$ @0 W& U
% P! f( ]' z" G! `形式1:7 \' t3 x5 j% }5 e( n l1 N$ V
#100=选兵(陸.海.空)8 @! v2 P8 k2 O- s" G
IF[#100 EQ 陸 ] GO1: _7 I+ t7 p+ H' e8 Y6 [2 D
IF[#100 EQ 海 ] GO2" ^9 U: p: i; D1 f6 _
GO3(鼻用說.當然是空軍)9 C* {9 W; ?5 b3 s5 M& _
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
6 K/ C+ L. h* P6 C因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)$ s' L& A) |% C# u. ~3 [; D
9 ^' v) n5 L. O/ E8 W. S# T2 A2 ]如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
6 {" _: ^, U/ u- o( ^: F9 }; a' H8 x也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做$ v, Q! Z) m2 Y( q2 A
+ \6 {& H! r6 w還有一種防呆寫法:1 a9 H3 s% H+ x) i! C
#100=選兵(陸.海.空)
6 \$ c* t9 h- Q$ T) [" ?IF[#100 EQ 陸 ] GO1
! E+ J4 `9 m) N0 |3 PIF[#100 EQ 海 ] GO27 | @# B; {, x& D+ U# x8 z
IF[#100 EQ 空 ] GO3- B" E# c8 n4 ~4 U
#3000=1.(如果流到這裡表示#100投入有誤)# h/ a2 s* x& X+ R
N1....
2 X' q1 [# Z4 W
6 |3 p C8 _, c" ]0 U5 P% AN2....( P( x4 s# Y* S
+ R, w8 g" H, g1 M v% r& {
N3....4 n# H( q5 N8 Y' i( u9 a
/ [# D& _0 Q4 X7 Z8 c* Q! U! l
M99
8 w( P9 l K( i3 s0 R+ {. b& a) F7 [& {% O
; S8 x, @* m# h/ t7 I. K
形式2:
3 \9 [1 n7 e- y1 N#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
, G( d$ D6 n* ?1 vIF[#100 EQ 0万] GO1# N2 h( L/ F3 b4 x. W
IF[#100 GT 5万] GO2/ t+ Y1 m, I) M; ?9 @& i: R' j
IF[#100 LT 5万] GO3- H( _# g" a) ?' \, i! }4 }2 h7 d; k
GO4(可省略條件式[#100 EQ5万])老師* q1 ?0 Z7 ]0 z; W, h: F
........../ t; t. G; |3 b& O; M
N1 人民! b# b8 K1 I2 W. I O
( v$ ^( C& r" ?) W& Q/ C! JN2 政官 `8 j3 z" `# s
- [6 k/ u; r5 ?N3 軍警
1 c( W) N8 b; Y5 Z: W: i0 v
; `' T% v) e l/ Q) ]( p/ HN4 老師* S/ t6 ^5 D) q: y# e$ k
- ~ O# I( Z; j: n: \, hM99
- l/ T4 [4 W8 |/ A$ Z' b M2 T! ]
4 F+ }9 V; x& A4 i. L6 {- Q! s# H※注意1與3可能會有衝突,有前後順序性的2 W! T# A/ B# y b
形式2是以新台币計價的
0 k: l: U# s% A0 C9 i/ s& U, @: m7 s. z
- u$ S8 [: ?0 C% ?; ?. `0 ^ i c" U
另外一個IF-THEN的例子:( m) ?( _( t- _' G6 i* ]
假設#100=已用四則運算,算好的結果
" X, A6 E* t0 J4 y0 V/ A" U
1 m; E0 p/ {3 @$ ~4 RIF[#100 EQ 2.5万] TH#30=10.
8 ]5 ?) _+ b' c- B) BIF[#100 EQ 0万] TH#30=10.
X3 q* w) w$ i4 z6 V" g) r& IIF[#100 GT 2.5万] TH#30=20.
" z- Z* N9 S. n5 CIF[#100 LT 2.5万] TH#30=15.
4 Y, f( F# l9 ]9 v' ~# s9 d, QN1 G1 X#30 Y#25.......開始加工
+ X& U( a4 H0 n
* A/ p, O+ E, _( p5 Q/ T2 W上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
" m6 H& | I* I
" t" K, y" I: M0 Z) ?IF[#100 EQ 2.5] TH#30=10.; I6 z. e. c5 b2 v
IF[#100 EQ 0.] TH#30=10.
8 X. p, O. y- O( b, `/ tIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
. }1 s" |, y7 Q# G5 S0 V' tIF[#100 GT 2.5] TH#30=20.
5 j" n( a' t) ^/ u- g( UIF[#100 LT 2.5] TH#30=15.
+ x4 p/ X! \8 B. c5 T- y, s. IN1 G1 X#30 Y#25.......開始加工
# `3 O, o4 x% p
1 w" g% X" ]! m$ a9 |8 q或改寫成,B法:使用或閘(OR)
+ r. @" \6 T* z0 _4 {#30=10.
9 _9 i0 p6 I `. ]. v& `IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)3 G4 P# B- u) b4 u3 w7 ~
IF[#100 GT 2.5] TH#30=20.4 R5 ~& s+ k& E. n7 Y! @
IF[#100 LT 2.5] TH#30=15.
6 f6 S+ V; F0 B+ U. wN1 G1 X#30 Y#25.......開始加工
& W) g5 j2 {& R% b% U1 I9 P; ^) F7 r$ o
還有一種不使用TH的寫成,如下:
6 H; {% h/ q! P8 P; a* L( u+ W30=10.
8 d+ j( T5 H' G6 L6 E7 u) |. @- mIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
a# \7 L6 X- W3 b/ Z' a#30=20.
* P# {. R# K' vIF[#100 GT 2.5] G01
: [2 N( ]' R1 R& S& m! L7 t2 p#30=15.
4 O; t( P0 g& u1 K% _6 j% t0 JIF[#100 LT 2.5] GO1<---此條件式可以省略
, R( I r4 }: G( p2 }, j/ AN1 G1 X#30 Y#25.......開始加工
2 ^* N# L" I: }: K( z8 d8 a H: z4 f; z) D
#30會一直有數值去覆蓋它$ U7 J7 Q; U# Y
. }2 _/ n8 p- n7 n+ y' l; K
/ n0 D: D4 e9 B/ k形式3:理髮
0 d1 ?$ I7 x! T4 B0 ~+ ~2 {: H5 l/ h#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
( I3 b( G: Q6 Z0 `4 r: P. ]- TIF[ #100 LE 3. ] GOTO理15分頭
; W0 p; A9 |' ~$ p( \+ U- h9 P$ {IF[ #100 LE2.5] GOTO理12分頭) r4 |1 o" l Y) _
IF[ #100 LE 2. ] GOTO理9分頭
. ]& S- s/ d8 @) kIF[ #100 LE1.5] GOTO理6分頭, l* x8 P5 u6 X: s$ s* |
IF[ #100 LE 1. ] GOTO理豬頭+ [ S1 Q3 R7 z i+ A
0 V9 y J4 n6 r2 d: Q$ ~- f5 [% u5 n
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性! ]" [) ^1 N; W5 W: ]) x# }" ~: w
+ n+ I; S$ l3 \
另外的一種B式6 B/ z2 L8 w- M
IF[ #100 GE 3. ] GO
% L& a/ j+ q7 j, e- o9 ]IF[ #100 GE 2.5] GO8 x1 H+ H5 F! X u
IF[ #100 GE 2. ] GO Y! f: b/ U `4 B0 S
IF[ #100 GE 1.5] GO
& W( I' `, [' }7 r& SIF[ #100 GE 1. ] GO
$ j R- O- o! o6 G8 t順序不可顛倒喔!不然少將會理成狗頭
; K1 P4 K7 }# l0 Q( `此例不能安排、佈置快捷性2 z0 w% D5 K2 M% s- l2 q3 x" m; D
, r" i0 d" F/ P* @5 d
8 Q3 S" K* ^" C/ `' MA式:有點像把數值逼到牆角比,自不量力可直接看出$ E5 L% [3 u# h7 m' d, |6 ]
B式:像在自由空間比,如果順序調換
/ N* @: D& Q% T1 O有錢人也可以去小吃店吃牛肉麵
2 h) \+ q+ ?! c* t高學歷也可撿回收物當職業$ o! ~, m+ H3 @' b% m* y$ B
# ], ?+ w: g! ]1 x% M' m- _
再說一下B:順序不能上下倒立,只能轉身如; a/ Q% ]7 J6 E" d3 b: R! R$ s
IF[ 3. LE #100 ] GO H* U& i) n* `! \0 L6 e( A- |
...- T+ b, Y7 J2 M$ N' F; s- V2 a
...$ _9 T+ }" Z5 W$ W. w
IF[ 1. LE #100 ] GO
& c7 E8 Z* R3 m% }3 L6 V( u) i
, B1 z$ F; ^3 x! y) O, _A.B兩者有一種共通的特性,領多少錢就做多少事
6 {, d$ {4 y2 J: X4 l4 I$ k% k% H如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
" v5 V% ^( V( @$ h7 y" V
1 [8 s& C& \ Y# A
1 p5 E, g, R# Y- k. M' X& n) w以上為個人的經驗 |
|