|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 1 A3 W, a2 L) Y' l% U
0 X* T# w( B8 | { E9 o1 j0 \使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
! g4 V, `) K0 b7 J, g2 R; W l3 |3 F1 _$ e
形式1:
. h/ A/ C9 I/ c7 {, C! J! d#100=选兵(陸.海.空)
9 q" s# b7 N5 f; |IF[#100 EQ 陸 ] GO1
9 Z$ {# M9 L; r. o/ eIF[#100 EQ 海 ] GO21 k& c, l# h s) X+ _5 e* l9 h
GO3(鼻用說.當然是空軍)" N: S3 a/ j( _7 B3 W7 ]' ^
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分); u& K) q0 v3 N) N& s( |5 }6 B/ ?
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
5 W5 n. a* Q; \* w/ g D! E+ M/ o. T8 C# b- I* J' L: R8 [( O9 v
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆5 s, ^0 S0 g4 p" L
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
" R/ P/ G! p* L6 U
9 G' H; t' E4 ~. h" N9 M還有一種防呆寫法:% H5 X- G: R& z+ W# f
#100=選兵(陸.海.空)6 r( x* W+ j6 k
IF[#100 EQ 陸 ] GO1! w+ g/ x; _/ t- U% s0 _- L' S
IF[#100 EQ 海 ] GO2+ l4 l5 t( z( o3 D9 ~2 _0 @* ^
IF[#100 EQ 空 ] GO3
5 o5 S4 I2 M9 r# ]9 c* ?#3000=1.(如果流到這裡表示#100投入有誤)
, V" u* z X3 l6 i7 j. c8 rN1....6 F& X; i) d7 U# v. @! M
8 C7 O4 A- o h) g7 N# NN2....+ }! E" k8 d8 `' e: S
, o$ _% O t4 o4 ^/ u# x* sN3....7 j9 N: _1 q9 t* M* [/ Z
; @- u2 z2 ?& r6 z( T7 {) x. `) LM993 u g6 ~. p$ z8 s% l" J/ v4 x o7 c
' K* d' R q3 I& M8 V4 \+ S7 O
$ `$ E/ z, {2 l/ e! l6 @形式2:
* w4 e a: E0 E" Z2 Q! m' k#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
& R: b7 d% v% T+ F, s' IIF[#100 EQ 0万] GO1" Y2 h, {7 ?# L5 |9 V
IF[#100 GT 5万] GO2
5 V: k7 X2 w4 Q+ kIF[#100 LT 5万] GO3+ L0 G/ k k- u, I% S9 q
GO4(可省略條件式[#100 EQ5万])老師2 [6 ?; ?: ?0 W' T: K7 r. } L9 P7 Z
..........
8 i! H9 ?% ~/ P- T8 l0 P% `N1 人民8 t# L- _1 `/ x6 _' f
6 j/ K* k$ M* j6 dN2 政官
3 ~% Q1 m w2 d, ]' T& K3 y* i: t6 Z y$ I3 M
N3 軍警" T0 z Q- @0 Y, o$ j; j
0 C& T/ g- X9 b1 \
N4 老師' Q6 L, B' T& q2 w
; x7 S7 P0 y5 f$ g& N, A- y
M994 p, g5 p: e. Q' p* T2 O
+ b* I: c/ u0 s+ \! u' w m※注意1與3可能會有衝突,有前後順序性的
* I8 ?0 C8 u* I3 d' ~/ X4 w形式2是以新台币計價的, M2 z1 T; R- f" c
+ p) c- q. l1 c
* w" w$ j/ K E5 i另外一個IF-THEN的例子:/ k4 g7 x, V" Q' E1 X- [( a: [6 H
假設#100=已用四則運算,算好的結果
2 s. p# p m- R( p$ ]3 U0 M! n
# ]/ v5 _5 L/ q4 s' KIF[#100 EQ 2.5万] TH#30=10.
, ^: N# S& Y( JIF[#100 EQ 0万] TH#30=10.2 ?( L9 ^% d# u5 X+ X. I i# [
IF[#100 GT 2.5万] TH#30=20.
- n" N, ] D: J# xIF[#100 LT 2.5万] TH#30=15.
/ M/ n! e8 H+ K1 `) z' f9 h' JN1 G1 X#30 Y#25.......開始加工$ l8 }1 N. C [
! \6 |1 B9 S. N- _7 ^
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
# c; E! Q- a2 ?4 c# f0 _" y9 r: @) u% L$ Z3 N/ A$ V+ V3 x
IF[#100 EQ 2.5] TH#30=10." d5 l$ g1 f5 R! M* L5 F
IF[#100 EQ 0.] TH#30=10.0 H8 C }5 X0 E( w
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
* y, v0 u% Z' MIF[#100 GT 2.5] TH#30=20.
4 z0 C3 x' Y w' r2 r5 F: YIF[#100 LT 2.5] TH#30=15., c7 ^5 B2 o d4 ^+ H
N1 G1 X#30 Y#25.......開始加工
% ]- Z8 Y2 Y1 U2 D! u1 w3 y9 k0 d- e3 |
或改寫成,B法:使用或閘(OR)/ ]9 I4 k, x. G0 ?5 ~5 I: Z
#30=10." @) m5 C3 M. m& _ }- f' L
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
4 n/ y; w3 t0 W% d0 X3 L! bIF[#100 GT 2.5] TH#30=20.+ \) j- i0 v0 X5 \" {9 c1 B5 T
IF[#100 LT 2.5] TH#30=15.
5 {: c0 T8 J5 l- BN1 G1 X#30 Y#25.......開始加工
8 `' ^8 }! o3 y. Z/ h8 k$ z, f; }5 ]9 [6 W n" D2 o- l
還有一種不使用TH的寫成,如下:# h* |) s1 r! T# t
30=10.- M/ Y- T) ^' r# m6 R$ J
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO18 Q$ n! c5 k* z/ x& z5 J
#30=20.. U i A( _8 P: v% R6 L
IF[#100 GT 2.5] G01
- k3 u& v$ D. C; k* `- _#30=15.
' A+ e" E) m4 c( ~3 _5 ?IF[#100 LT 2.5] GO1<---此條件式可以省略' O2 c# x0 u1 C0 A3 R- g
N1 G1 X#30 Y#25.......開始加工8 u5 i+ b: F+ n5 l1 q) x g
9 y- j1 Y) y `1 c) E
#30會一直有數值去覆蓋它! B/ N) F/ L" @* _6 y
9 n2 p8 o+ W1 \% V
A( p0 Z4 B" J& B- n* D形式3:理髮 |9 H. u% J# j
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
8 _- [5 q% b0 w$ z" k1 i( \IF[ #100 LE 3. ] GOTO理15分頭8 f3 T" N9 i* ^# [2 w3 ?" g% |
IF[ #100 LE2.5] GOTO理12分頭" B1 E! k$ \# G2 k
IF[ #100 LE 2. ] GOTO理9分頭
) L& C. Y1 L3 S1 n/ D- x4 Q+ _& ~IF[ #100 LE1.5] GOTO理6分頭6 l, c( ~3 x2 V e* c$ w' C3 h) w( r- }
IF[ #100 LE 1. ] GOTO理豬頭% X# U5 y8 E5 B# O5 I& _
( R) e' @ [& m, W0 I, l6 I6 E% I※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
2 a- E: |- g* R
: D9 v, ~& `4 a( Z+ N. S另外的一種B式
( K4 p! O( [1 N4 D/ C+ XIF[ #100 GE 3. ] GO
! c' K" D' M2 W Z/ W) n8 SIF[ #100 GE 2.5] GO1 v7 M+ ^ m: B* b$ n( h" U# C9 r5 B
IF[ #100 GE 2. ] GO6 n* q) ^7 P+ K( z; f' q
IF[ #100 GE 1.5] GO& d Q9 H! m: Y& j3 r! t5 ~: J
IF[ #100 GE 1. ] GO
1 e5 t& }& T1 J5 z順序不可顛倒喔!不然少將會理成狗頭" R, c% U- f% I( h- A" R1 P
此例不能安排、佈置快捷性* n& K1 S4 i5 E( ?. ~8 B. s/ I( l% ^
* W. w2 |% ^2 ~9 J
9 e$ B. V% F& l% B4 V
A式:有點像把數值逼到牆角比,自不量力可直接看出
# d% p- K6 x1 d( {& oB式:像在自由空間比,如果順序調換
$ O* o) N* O: @- p2 ~有錢人也可以去小吃店吃牛肉麵
+ O# I. P# l: Z7 U/ _# G高學歷也可撿回收物當職業6 _- _- i0 k2 N- a- I
3 e+ l/ x; T- Y再說一下B:順序不能上下倒立,只能轉身如
; G2 }7 x2 J P6 kIF[ 3. LE #100 ] GO. x: ^8 V" ] G4 [4 t4 J9 C
...
5 x1 z! i& P- t s" r+ ^. K% I...0 Q ~( S [% C
IF[ 1. LE #100 ] GO
2 s& F3 p9 P' k8 }. Y: w$ O/ B
$ F* q/ d0 W* u7 U) DA.B兩者有一種共通的特性,領多少錢就做多少事4 _# P0 ^' h5 T9 p* X6 G2 Z
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
! d7 `6 b& p$ C5 V
" H5 w7 U0 }2 |: E
0 v" U& Q4 K8 f+ P以上為個人的經驗 |
|