|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
" Y' Y. B5 [8 { Y( Q C7 s
6 [' j3 ?! O" R使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性$ q G" p, K0 o& J" ]
# V+ o" ?( ^4 v! X
形式1:
y( x; X3 r" n( Z- \% b5 `#100=选兵(陸.海.空)0 V+ l7 W. g- U4 ]6 Z: M
IF[#100 EQ 陸 ] GO1
: }0 l- d/ }8 r9 u& R& T @" CIF[#100 EQ 海 ] GO2
+ Z* v. ]. q; y" v- NGO3(鼻用說.當然是空軍): h* M C( m& t9 M o; w' i2 c! J
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分), X& U* z4 g. ]6 X
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
d/ k; h M: Y* D; f! h5 f( ^0 U: ?$ v4 u5 ^4 l! t
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
& X4 B" g( o. G; z* Z1 j7 z也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做' x% ?: W% k0 I$ }3 S
, L/ c9 G2 I& t5 s還有一種防呆寫法:
7 _1 m- |+ I/ M#100=選兵(陸.海.空)3 r3 M4 B+ M8 }
IF[#100 EQ 陸 ] GO1
; W5 f) g3 s4 \: W& m( yIF[#100 EQ 海 ] GO2
~5 z' ~9 _# o5 V8 G4 hIF[#100 EQ 空 ] GO3
) R. K5 I+ }9 \; f9 q& ]#3000=1.(如果流到這裡表示#100投入有誤): A4 O4 P6 _* E8 o
N1....
- f5 y) @7 ^+ M* e
6 ?& Q5 x$ j4 B$ V! IN2....3 _/ u3 Y- Z- r
3 e) y4 P, u; R/ I( S3 AN3....
: l H: d& [- D4 X5 G
$ R4 O8 _1 G/ w3 r% Z! S& D2 DM999 G, r3 U% n5 M
2 V) n9 p: W+ z5 {* P, C, a/ q0 {: @) a5 m
形式2:
6 Y6 b+ Q s& B6 j5 [#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
8 b2 z5 `% s6 @0 M1 u% \; k5 XIF[#100 EQ 0万] GO1# f) J, j0 L: v
IF[#100 GT 5万] GO2
3 z: k ^+ N- ^6 uIF[#100 LT 5万] GO32 `3 {" L- N8 p
GO4(可省略條件式[#100 EQ5万])老師
$ g) E$ ]* b% k( d V" ~..........6 Y9 p3 C$ S8 Q# p/ S* s m0 N
N1 人民
2 u" i9 D7 u& d! C
' ]# c8 p; f' a" K; BN2 政官
% d5 z* R- C" x& C9 R! ^! C# U1 h3 \
N3 軍警
5 W6 M h4 }+ \5 Q5 n V8 i8 Q9 H6 _2 c5 h0 _3 Q1 A6 M
N4 老師# D- u4 A I3 H! r# r4 ?
7 }5 A4 ^% o; a" ?M99
# a% M) Y- \, U1 @, H N+ L
" E; D' v c) s※注意1與3可能會有衝突,有前後順序性的: C0 \/ b6 _8 q4 Q/ `) _
形式2是以新台币計價的! ]& d4 C% W! }* E% b6 o
/ W/ @8 n' q: \4 ^* w
4 @- j/ x% R5 T
另外一個IF-THEN的例子:& m; F3 P& y8 D( u
假設#100=已用四則運算,算好的結果- M5 m, D: M1 n t! W
0 d7 \9 d% {( K9 nIF[#100 EQ 2.5万] TH#30=10." I+ I* M: w' z0 N
IF[#100 EQ 0万] TH#30=10.
& }( P# \& l4 O6 fIF[#100 GT 2.5万] TH#30=20.* G( x- H7 a. h/ l/ `9 ]# u* g
IF[#100 LT 2.5万] TH#30=15.
: P$ A' c6 J3 v5 G' U9 SN1 G1 X#30 Y#25.......開始加工
1 l. @# k/ r9 s2 Z1 \! w6 y+ z- i" n2 j
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:5 [( y2 S+ O4 q$ G
5 K/ Y( R4 i4 t2 v5 i+ w1 |
IF[#100 EQ 2.5] TH#30=10.
4 r3 y. |- \* ]# M1 K* o' @5 rIF[#100 EQ 0.] TH#30=10.
1 }/ m8 d+ O0 o, W- V* ^& JIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
5 B# u/ I% h! K0 X, k$ G; ?7 VIF[#100 GT 2.5] TH#30=20." O( ?. `( W5 S& {. V3 q8 R
IF[#100 LT 2.5] TH#30=15.
6 n4 ^) ~3 F; ?6 [( ?. GN1 G1 X#30 Y#25.......開始加工
# @" d2 M0 T( q: s1 V
& [( u) h+ p# E; K5 z或改寫成,B法:使用或閘(OR)
( i. C" \ o; K4 U6 d#30=10.' \5 ~5 v4 F5 V9 g+ ` L
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
+ J" H+ @4 J8 [* L) J( f$ a, o) vIF[#100 GT 2.5] TH#30=20.
5 I. r1 w0 s% p+ f" [IF[#100 LT 2.5] TH#30=15.' U, a! h% e9 F+ `+ E, B
N1 G1 X#30 Y#25.......開始加工
6 A# v4 W7 s* X" a! |$ j
9 `' j+ O, I( k# m( g; W還有一種不使用TH的寫成,如下:
! o: Z; s7 z) L! W3 U5 x, C6 {30=10.
4 {1 q. z+ N, K2 s7 B- H# @6 iIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1: v" H8 F+ \. k* N2 c+ {. C J6 ?: [
#30=20.; @7 d8 t: a( w2 E. \+ Y: k+ p# @
IF[#100 GT 2.5] G01
: \- P, G4 x# C0 Q& P& _) ~#30=15.
+ M1 ?& ?6 M. A6 S# I5 U/ t/ G$ n" d d# KIF[#100 LT 2.5] GO1<---此條件式可以省略
# X; y! P; |) W# h9 h8 wN1 G1 X#30 Y#25.......開始加工; F0 p, E5 `2 v+ L- r& L
/ s$ K% y3 x3 o, G% x
#30會一直有數值去覆蓋它
\' w5 }/ @; P- d% F3 h/ i5 `/ F% p7 m
4 H& b% q3 @2 B2 E2 \; R% G) M6 U形式3:理髮; \+ D- U8 K% \; F3 z' l
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
o: g2 ]1 |7 g3 i0 `% aIF[ #100 LE 3. ] GOTO理15分頭
# {+ [' E8 J1 h2 b% e& KIF[ #100 LE2.5] GOTO理12分頭 Z) S( q9 z( L9 }1 n
IF[ #100 LE 2. ] GOTO理9分頭
# A; i. `4 z" T9 }" }* Q! o1 o6 C `IF[ #100 LE1.5] GOTO理6分頭
; s7 x3 W w/ o; B3 j1 _$ x9 L/ RIF[ #100 LE 1. ] GOTO理豬頭 d5 y- @4 d" f- @2 c7 F
) n$ J ^+ j! Y" g5 |1 k. I- t. G$ t※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性% J% w1 ~( ]- m5 `( u: \& H
, Y0 F9 F; S8 s& W# j
另外的一種B式" |$ [# z! x& D) U( @$ w. M4 \0 m
IF[ #100 GE 3. ] GO& d7 s& D. }" E; K& N8 j
IF[ #100 GE 2.5] GO9 ^+ K. E% R+ u9 S4 \$ p- z @" B5 S
IF[ #100 GE 2. ] GO
& f& O/ f- c0 z1 C( mIF[ #100 GE 1.5] GO
3 k- S$ `' b9 G; @0 wIF[ #100 GE 1. ] GO$ }# C* P* q8 o& {% X4 B
順序不可顛倒喔!不然少將會理成狗頭4 d4 u7 u% @8 J) z$ _( Z
此例不能安排、佈置快捷性
8 w& Q7 s' O' V6 Q3 Y( k
5 T) H* o7 b# r/ ~9 U
& i* _1 k, H6 V3 ~A式:有點像把數值逼到牆角比,自不量力可直接看出
% H( y. k8 R" I4 {* j1 ?9 p" UB式:像在自由空間比,如果順序調換
6 ]. g, T/ c& V I# i$ X( z有錢人也可以去小吃店吃牛肉麵+ g# V @7 y; d1 T: m$ l* a5 \( @
高學歷也可撿回收物當職業4 M( Z+ m) B* C! x) {( P' r
5 a6 s* @3 g# h再說一下B:順序不能上下倒立,只能轉身如9 ?: R% R; s& ?
IF[ 3. LE #100 ] GO& z: @4 H6 i8 P
...% o6 r0 A' G0 `) ^+ q
...
. q/ l9 ]( a, y. h/ \IF[ 1. LE #100 ] GO
/ H) O, W) |% R0 m( h! H
5 ]% c: L J6 R# b. QA.B兩者有一種共通的特性,領多少錢就做多少事. b, `4 |8 W" P
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用) d; {, M6 ^" P `7 i
( x' D1 ?1 ~5 C" D; Z
$ n/ A8 u1 f: J# M
以上為個人的經驗 |
|