|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 : @9 b0 M/ z% ?8 a0 C1 r
( g: B4 I8 I# K1 {' n
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性. D( m, o5 b( j# Q4 X+ ~
( R, B: n* ` A3 H: q# D+ N
形式1:
6 F @. V" O" N) |4 ]% q5 u* O: ]5 H#100=选兵(陸.海.空)& O3 |; d% f% p! f
IF[#100 EQ 陸 ] GO1# d# N" ^7 b, t/ v
IF[#100 EQ 海 ] GO2
/ R+ x* E7 x' j2 u2 gGO3(鼻用說.當然是空軍)- F& D! K0 L* c' _; ]4 ~8 U# @
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
1 ?% x; q0 V6 P; W1 G5 \因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)& q5 C) _& y" c! [4 x& h6 Z! D! P
3 W8 }6 S/ \7 R: p$ l" @
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆6 D( M. c1 Y9 M1 W/ ^0 Y- U6 m) _
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做0 _1 [: R$ v ^" T0 B
Y2 N* _, V3 Y1 m0 f' d7 O還有一種防呆寫法:
, s: g( S: ?3 p% |& T9 m( h#100=選兵(陸.海.空)
( T$ ]& M0 ^6 z* j) Y! w# F0 NIF[#100 EQ 陸 ] GO1
& i2 u- Q5 b, H; ~$ w% p9 SIF[#100 EQ 海 ] GO2
8 e0 ]3 P5 m2 _: O6 KIF[#100 EQ 空 ] GO3
& t, A( t' R) \: y#3000=1.(如果流到這裡表示#100投入有誤)
. i# l; |) C6 Z$ }8 E$ ]N1....% `# t3 ^/ q- U4 T+ T! d; x# U# Z
" n" x& O \! V* }& j
N2....
8 Z6 h, Z$ V$ Y9 d9 Y0 L) l
" T" @& G S* NN3....8 l' M( }. `; ]4 f7 }
5 O6 c! V6 i- V" X! ?7 OM99
7 c* Z$ ]9 C! f" [; _
% q$ y+ P" s7 O! ?+ t
7 `! l2 p: K% A形式2:; v" W; x9 s. U% }1 L
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
" u! y& o5 }7 D# ]8 l1 O! C# G7 GIF[#100 EQ 0万] GO1* `6 X n! q, }0 Q+ b- c# v
IF[#100 GT 5万] GO2
) s+ t' x) }# F6 L" `IF[#100 LT 5万] GO3" {/ X. T5 D4 q; @& d
GO4(可省略條件式[#100 EQ5万])老師
0 G; M9 w1 f9 M( {..........0 C- m8 C3 t, E% T" A
N1 人民9 K: ~" }: d h+ Q" d8 r7 ~, q* ?! _
c. |! s- P9 e/ E2 w) P$ k5 g
N2 政官4 Y! w8 E) o. j, {
8 h M1 y8 H4 ^8 Y- e4 J
N3 軍警( e* t P3 W W/ i
8 g7 p( [: O% v; c1 {7 Z
N4 老師
* n; U( w" U& r" ?1 C* X! n
( R* R/ F7 O7 s/ dM99
3 N, J; j6 d) c4 G1 t" n" S: g( }7 ]0 o7 v I* J
※注意1與3可能會有衝突,有前後順序性的( y- N. e( C5 ^" T
形式2是以新台币計價的
4 g& M5 S. r$ o9 B' ~" i3 ?& d+ u; [ }5 B$ b
. H( i+ X. i" F, d) l7 ?% @$ J9 T
另外一個IF-THEN的例子:/ T# j' P# R+ {0 z2 c! r
假設#100=已用四則運算,算好的結果
/ [6 Q" a) x0 d+ X
. D( l4 z% H4 d9 r7 ZIF[#100 EQ 2.5万] TH#30=10.
6 `, H; }+ Q9 {/ y; _ UIF[#100 EQ 0万] TH#30=10.
& F c& y: ~0 }' C& o$ [! _IF[#100 GT 2.5万] TH#30=20.& P0 h( K" e5 Z1 D9 b% O6 A
IF[#100 LT 2.5万] TH#30=15.
, O1 F7 |8 }! FN1 G1 X#30 Y#25.......開始加工
( A8 A. P/ y& ]( f, I- [$ v- L$ ~+ O1 t# g+ ~5 C
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
" K [# h; k, i- S" q7 z7 K* h% v' n/ s' U; q" _
IF[#100 EQ 2.5] TH#30=10.
8 d# L3 v) k: ]+ p2 q# N1 @IF[#100 EQ 0.] TH#30=10.8 x5 h9 h) s8 T
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
$ j: E1 r/ b4 }' | V' i% EIF[#100 GT 2.5] TH#30=20.+ K0 R3 I7 b/ q! Y9 p
IF[#100 LT 2.5] TH#30=15.) h: C! ^+ o. q' _+ ?; a, c3 l0 C
N1 G1 X#30 Y#25.......開始加工: W: b( y! f# ^7 q$ e6 t
8 N A: t7 i. [5 P! u- B7 f或改寫成,B法:使用或閘(OR)
) A T% x( \' f; S8 z#30=10.
+ p% N$ H2 z% _# G8 zIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
' p# Y h+ h/ V% z) n4 B9 `IF[#100 GT 2.5] TH#30=20.
* j" y' ^6 u; r7 s. R RIF[#100 LT 2.5] TH#30=15.
; O; b6 J% m+ J9 s- H9 ~N1 G1 X#30 Y#25.......開始加工! E6 N1 L2 W$ p0 m3 C7 v6 K
5 M; _* C% w( Q/ q1 k6 f還有一種不使用TH的寫成,如下:
' l8 Z' U+ ^0 o* q( G! a2 ~/ t30=10.
2 A- y' ~& o6 V: M6 ~# c* @$ |IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO14 T# |2 R4 ^5 [$ W
#30=20., P( Q9 [3 d Z& B
IF[#100 GT 2.5] G01
2 J" a; ~6 Q/ D0 C#30=15.' s3 F" o: U5 N' f. v+ ?6 z
IF[#100 LT 2.5] GO1<---此條件式可以省略' Z0 c: f' s2 U6 n
N1 G1 X#30 Y#25.......開始加工) c; \' s6 c1 b
0 D. M g& E& s! h) p9 X3 Q: g#30會一直有數值去覆蓋它
/ O; }7 m# v9 y/ i8 X* d8 a4 ?- G! o6 d, T
9 D' q2 X+ `! L' V9 T5 o形式3:理髮
) e% f# t; A, A% x+ H#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
7 B# N, L4 V+ ~$ CIF[ #100 LE 3. ] GOTO理15分頭
( p: Z8 X$ j( H& w. `IF[ #100 LE2.5] GOTO理12分頭# d, U8 X* E& ~& W J! L
IF[ #100 LE 2. ] GOTO理9分頭6 f/ h; A! k) u4 b
IF[ #100 LE1.5] GOTO理6分頭1 Y5 N/ N2 C* g
IF[ #100 LE 1. ] GOTO理豬頭( H: Q9 j# f" k4 u
7 Y- q& {: e3 w% l, H
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
+ @" |. f3 x/ O" {5 x' x. b$ B* z
" } R- J! N0 {另外的一種B式/ v. E$ I$ u- k4 X' P, [7 P! c
IF[ #100 GE 3. ] GO( Z3 |6 Y/ i% e
IF[ #100 GE 2.5] GO
! j2 C. _. r% nIF[ #100 GE 2. ] GO. C/ h9 s8 U8 f4 y3 s' t; }; C
IF[ #100 GE 1.5] GO
4 B5 t) w O f' s6 k$ ]( CIF[ #100 GE 1. ] GO0 ~. T. d6 y' s9 T3 ~. b3 _
順序不可顛倒喔!不然少將會理成狗頭1 J! r1 J/ o* z9 F" k
此例不能安排、佈置快捷性4 n! |& J* j U) o0 u5 q
1 h+ ~3 Q7 e8 G. H( o$ C/ k* Z1 j! A5 u* a
A式:有點像把數值逼到牆角比,自不量力可直接看出% P0 ?! C; Y' d- R" _' Z
B式:像在自由空間比,如果順序調換
7 Q; w+ K2 j7 F- [- @有錢人也可以去小吃店吃牛肉麵
# Z; @) E: k' p9 C2 Z# n$ q高學歷也可撿回收物當職業
6 O% s, H& }' b/ d) `; H8 r2 C) X2 u1 l
再說一下B:順序不能上下倒立,只能轉身如
4 r, A; n6 I1 `! |IF[ 3. LE #100 ] GO
; \( m# E; F, {. X4 K: y, Y...8 t0 O' C: b3 Q7 ~& Q* M
...
) R8 P& U0 u" W/ hIF[ 1. LE #100 ] GO$ a! d; v" p. x* y7 m' [
( B! y; a2 X2 o' f N( ]A.B兩者有一種共通的特性,領多少錢就做多少事
8 Z& [" J; }- h& j1 m% n3 q9 x如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用2 r" a6 g. ^- T. o
( y4 ^- U" y* x( q* @8 s4 y0 G6 I8 [7 G- q* S. {& V6 R* P
以上為個人的經驗 |
|