|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
0 N- J3 Y! t# |3 @* [- k% D7 p) ~' [5 Z9 P9 }
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性. }+ ?& n; I* g2 Y
1 W6 e$ G' L Q3 y形式1:5 G @1 X( `! S3 l* b! l
#100=选兵(陸.海.空)
/ v; i' O5 i( i: b, o) @IF[#100 EQ 陸 ] GO1' X/ i( L- M/ h
IF[#100 EQ 海 ] GO2
. Z" z1 L) z0 I' t! L9 K. a. IGO3(鼻用說.當然是空軍)
: r" u% i5 h% K6 u(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)' x9 q! X2 K/ [9 W" n
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)9 Z* O. r/ ~5 \, q1 B. x- R
4 h0 C" u& D: R2 ?# z6 O如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆3 G' C- o* w k* h) C
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
, W" v1 U, }, }3 g
) y6 O' H/ w+ Y還有一種防呆寫法:
# Q& s3 c. C) a#100=選兵(陸.海.空)' \, T1 @/ Z& n+ O$ G/ B2 d
IF[#100 EQ 陸 ] GO16 E' N3 R* T! s6 v8 A
IF[#100 EQ 海 ] GO2
; c6 z3 p2 o1 o8 M) W! c" yIF[#100 EQ 空 ] GO33 T* H% b- }* s. R* k7 L
#3000=1.(如果流到這裡表示#100投入有誤)! {8 Q! ^) u9 S3 f
N1....- K( }/ e' R- u! Y: M( T
( G. E3 m: [" |7 eN2....( A& {' V" r2 V! |3 N
W5 L6 _ ~3 L% [; } H( MN3....
$ K0 J8 M3 `9 _3 }$ w& S; r$ P5 p: E' Q% n
M99/ h4 P1 Y0 O: Y( d7 z& U
1 h+ g( l8 q0 O( V# b/ x: M8 t b" n. L* _: W3 i2 L' Y# |
形式2: |& H/ I; E, D" e. ~! {
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
; K/ u3 d4 U9 M8 Z `IF[#100 EQ 0万] GO1- m" l9 y$ [ V& k' X2 U2 \
IF[#100 GT 5万] GO2
3 X# X9 @9 ~* F, ?IF[#100 LT 5万] GO32 i8 b7 k# z0 ?4 E4 X, ^+ g
GO4(可省略條件式[#100 EQ5万])老師0 ~ M ]1 y' T; o4 n2 S# {- J6 X9 N
..........2 K$ V: l7 ~, w, J: Y, {6 L
N1 人民
3 z: p: a/ p- m/ }5 J( \* B7 g \. C! u- K: C6 s& X. _
N2 政官
! x* K9 \1 T: Z( q. G/ W; B2 U2 `2 W- G
N3 軍警
9 D1 v ?6 G' E. |# P' X' w- }1 [% x3 _2 d) w' W% g: r7 b
N4 老師$ h/ k+ g6 ^+ F
' M' z T7 x: r+ ~) `# h
M99
. g/ s! g9 P& [8 D" r. w
6 w% A* H& S7 @. r* ]- t※注意1與3可能會有衝突,有前後順序性的
/ H L2 ^/ ?8 i. r- O: o形式2是以新台币計價的- I: R% E3 ^# y7 m$ M
8 V5 a% [3 [8 ]3 b* G
. [: R! P$ O P* c
另外一個IF-THEN的例子:
0 A5 S+ c/ D7 j$ |假設#100=已用四則運算,算好的結果
$ w$ O: ]- c0 o/ Q
; ]" `' C" |. o3 R7 l/ NIF[#100 EQ 2.5万] TH#30=10.7 w: m* ?! q: J& _' g4 ]2 G
IF[#100 EQ 0万] TH#30=10.; q. w( z9 P* O) ]6 j( c* B
IF[#100 GT 2.5万] TH#30=20.# b1 y1 a4 Y- `/ ^' N
IF[#100 LT 2.5万] TH#30=15.4 k" X3 e; q, j# H
N1 G1 X#30 Y#25.......開始加工
3 @9 t) B! o% g( x8 G- q+ z8 t* z' l
. k) T& b4 u' y" F; v+ E) F5 e上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
9 ?% {" P1 R' y/ T: ~6 v, |* `+ g8 Q( s0 H* t5 R
IF[#100 EQ 2.5] TH#30=10.& G, h* \7 u$ u3 t
IF[#100 EQ 0.] TH#30=10.
7 t' u2 _$ P) iIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
/ h8 Z1 T- B9 {. P7 G* v! S( o( ?IF[#100 GT 2.5] TH#30=20.
6 P' Y( k3 s- U5 E" bIF[#100 LT 2.5] TH#30=15.' c+ u; b+ q, Z/ T0 T% c
N1 G1 X#30 Y#25.......開始加工
: c, D1 z; C8 v. V8 |; R9 p
# O% b) T2 M: K2 O) L) f或改寫成,B法:使用或閘(OR)& N% q; R/ Q7 O9 r3 d( g
#30=10.
' W5 c5 q( {& p* N3 G+ j5 vIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
- b0 e, l! _3 k: X8 _IF[#100 GT 2.5] TH#30=20.
5 _2 G5 E d; z! J q3 k( TIF[#100 LT 2.5] TH#30=15.
. D5 H- R6 C1 I0 z1 ?% s% ^N1 G1 X#30 Y#25.......開始加工
" W, W: ~- N: r5 I% }2 O Y; Y% B8 g* a S
還有一種不使用TH的寫成,如下:+ D+ P& ? g) Y U/ |
30=10.
5 X6 F% a/ @+ E# l! sIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1' x3 f# G+ M: |+ C+ i8 _
#30=20.2 J1 V+ d8 V6 ]$ ]9 b# \
IF[#100 GT 2.5] G010 A6 g) a% _& {" u# k
#30=15.
, e6 l/ X. ]6 X7 j8 N$ ]' V, _IF[#100 LT 2.5] GO1<---此條件式可以省略
/ f$ D$ G! b: M; ^3 W7 y; W& E& VN1 G1 X#30 Y#25.......開始加工
) x. }3 j. _. k) c" P" X' w8 `+ L ~5 g+ D7 z
#30會一直有數值去覆蓋它
' }2 a3 `" o& i2 Z; W. E1 ?8 ], N' o2 K+ M! s8 C6 K3 y
) O% R' ?7 ~& {: v- y形式3:理髮
1 G$ c% h1 |( ?, g: E#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
: X6 R: o3 }8 J6 uIF[ #100 LE 3. ] GOTO理15分頭5 S- R' T2 H8 L: j. R ~
IF[ #100 LE2.5] GOTO理12分頭
t" A$ k& U3 a% i1 ?6 E! TIF[ #100 LE 2. ] GOTO理9分頭! i8 D8 |1 z3 m$ @" {. l
IF[ #100 LE1.5] GOTO理6分頭
' }# r3 O" R7 YIF[ #100 LE 1. ] GOTO理豬頭- `" {: Q" O5 t8 c0 z! q, a8 Z
5 {& y) `3 s" ~) P; M5 r
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性: l: q) b; J6 z4 u: E" L L! S
" O0 K$ u& o* L# a y$ Y, }
另外的一種B式
- m" }2 w- n8 I; lIF[ #100 GE 3. ] GO: ^ p+ {# Z \$ f9 A) H' }0 r- N
IF[ #100 GE 2.5] GO
6 r4 F/ B- v- U' N0 ~- bIF[ #100 GE 2. ] GO
( n% {( \& v6 ^/ B6 Q& d8 sIF[ #100 GE 1.5] GO
' V- z+ y( ^# n9 xIF[ #100 GE 1. ] GO
3 B4 Q$ i4 \- M! u順序不可顛倒喔!不然少將會理成狗頭( ?. t4 V- W0 ^4 V- s) k' B
此例不能安排、佈置快捷性/ q( b* @8 X: v* i+ T0 M- o9 P" ^" \: ?
/ D/ I2 D. d7 X! M2 c* B5 i: [7 Y5 f- k, P) }0 j0 n. F
A式:有點像把數值逼到牆角比,自不量力可直接看出
& _/ {% r% E( V) q8 K6 _B式:像在自由空間比,如果順序調換
6 W- `1 S1 u+ f2 h! T- R有錢人也可以去小吃店吃牛肉麵" v! a3 X9 I6 ^$ d; |7 Q" X
高學歷也可撿回收物當職業$ R3 n& W" {! J9 Q0 U$ C
( `* A! ^+ S. {
再說一下B:順序不能上下倒立,只能轉身如
1 s- i9 ?4 j' yIF[ 3. LE #100 ] GO
+ W; _- q$ x+ [# `, i1 ^1 m9 g...; s' V, ~% _6 _% f$ ~; Q
...
8 q3 H: l6 e0 W* m! QIF[ 1. LE #100 ] GO; G2 z# M0 }( H! \9 _
6 j/ z& l# @, ^5 v4 F
A.B兩者有一種共通的特性,領多少錢就做多少事
) j p! z" h5 H. |. R如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用4 J" H0 b2 K7 j4 F. X
0 J* ?. \3 X' n% [) ?7 u1 }4 `% J
S; e: c8 b8 [, t* ?3 {以上為個人的經驗 |
|