|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
+ k: R/ `# g( V: I' [" t2 I& h% S- y) p6 U
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性! o6 O7 B: W) F8 d, X
: a, m: C: \2 H- E
形式1:
; q" _% b; u H8 Z, ~, v#100=选兵(陸.海.空)2 k2 _7 W; s- A3 T
IF[#100 EQ 陸 ] GO13 a* ` E2 |3 x5 ?1 e5 L
IF[#100 EQ 海 ] GO2
6 A6 l! Y a2 J0 hGO3(鼻用說.當然是空軍)3 V* g' E; p C. N' l
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)5 P/ U9 l' n8 P1 d$ z2 ? R
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)7 y8 }9 ` y8 F
/ f2 l- T" q3 x" z/ T如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
! [. C8 J3 ?9 \; {1 r4 b! k J也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
, Q6 B; y4 |) C: E" |. z
|* H; n' ~ m: t+ S還有一種防呆寫法:: m1 F+ H* g& [/ F3 X: E
#100=選兵(陸.海.空)
3 F0 Z( K- l8 R2 pIF[#100 EQ 陸 ] GO1# Q' y1 M; h5 C) U4 H
IF[#100 EQ 海 ] GO2
! B% [ J4 I, z" p' \IF[#100 EQ 空 ] GO3! p$ P- o) Q+ z9 o
#3000=1.(如果流到這裡表示#100投入有誤)
& `/ T2 j6 E+ Z% f, MN1....$ q1 J9 T/ B. t6 |! w/ o
3 E; s# i0 q: Q8 pN2....6 q ?9 |( k% X( }
* f5 j3 U) Y7 A, D8 I( @
N3....
+ n, m; a' e8 y5 `9 q3 Y
& n. ?, W+ z; w) BM99# ?; c+ F7 \* Y% r- b" [2 o
( q* k3 R6 F5 |2 u _2 q' |
& b# x; m. O% Q; Y+ _2 c( E) {3 t形式2:$ c7 Z9 h/ T: K1 E. k
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))+ B8 M3 {5 |) f! d/ z. u
IF[#100 EQ 0万] GO1
) g9 ~3 t: ?0 C: r! g) L! ~IF[#100 GT 5万] GO25 L2 L3 J4 [; O, J& w6 V
IF[#100 LT 5万] GO3
) Z) S) F0 g& g" s( m. jGO4(可省略條件式[#100 EQ5万])老師
& ? `# k( v9 G# H; n B..........7 [) q" u2 E8 I) ^% q
N1 人民
! G. a" x- j, `' H' t0 }& f+ S+ F7 m" g" f* Q W0 e
N2 政官# A) B# M" x! i" W5 @5 C
5 \3 `) |: d" _" E% M
N3 軍警) S8 s. K. n" p7 @, O
S' E0 C7 a- c* b
N4 老師, E: e. ` |7 N/ Q1 _3 m9 R' e6 @; y
' @1 ]- G" [, n4 O) y
M990 j6 n% k/ o# \( Z6 o
4 G4 S! G* _6 N d; X% o' `
※注意1與3可能會有衝突,有前後順序性的
+ h# X! T% P8 T- a* q形式2是以新台币計價的7 x% B9 X, y# \( @$ p+ N
0 G/ l3 y, _! n; G6 ]/ o6 n. M) N# e' d# I) Z( |/ [) c
另外一個IF-THEN的例子:/ p; q6 A0 M; D1 J: H) c' j9 D
假設#100=已用四則運算,算好的結果
& r! Y8 S% y! v4 x
& T! A8 \+ B5 ^) e$ |IF[#100 EQ 2.5万] TH#30=10.
7 g3 M3 v1 Y/ ]2 x( EIF[#100 EQ 0万] TH#30=10.- b% o: ~9 p2 {, i
IF[#100 GT 2.5万] TH#30=20.
8 k" m- \; g& PIF[#100 LT 2.5万] TH#30=15.9 c) K" K$ _7 a. [# V! T
N1 G1 X#30 Y#25.......開始加工/ N+ b4 f' V2 X9 s
% I8 ]& S- X8 a2 S
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
) U: E: @0 n6 F6 i
9 m: a& W- M$ z9 I0 E4 A, b5 lIF[#100 EQ 2.5] TH#30=10.
2 A7 ^2 _: O- J; U" }( F! u; UIF[#100 EQ 0.] TH#30=10.
& q+ R0 @) Z u5 yIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
4 d. H6 j t/ QIF[#100 GT 2.5] TH#30=20.8 y. x5 `3 R P7 }# V: z
IF[#100 LT 2.5] TH#30=15.
. ? W4 ?- ^) P4 a3 ON1 G1 X#30 Y#25.......開始加工; l3 `8 K) I; [& v
* y: j3 ]6 L; h. O
或改寫成,B法:使用或閘(OR)/ s9 e' K6 U' n
#30=10.
" h/ s* D! S( l8 ]* \: a: GIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)/ T2 z5 U1 Z! I3 y; q* v# e
IF[#100 GT 2.5] TH#30=20.
$ ?+ c( A' C2 P8 e, k' l3 e2 n! @* d7 rIF[#100 LT 2.5] TH#30=15.
5 X. a/ S# O, T" Z ]N1 G1 X#30 Y#25.......開始加工
7 C4 |0 k" R' s+ l& j3 O0 j( y7 w" F) u ~. J" C/ y
還有一種不使用TH的寫成,如下:# ^$ g( i2 W7 P6 k/ a
30=10.
* e6 ?* \4 W6 qIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
" Y6 S; r4 @+ K5 g#30=20.4 o, H) f; q4 c* n% s+ c/ T
IF[#100 GT 2.5] G01
) T6 D# S0 |$ G# o M6 |$ B#30=15.
4 W, M# s0 c2 D0 q8 j9 v& T' UIF[#100 LT 2.5] GO1<---此條件式可以省略6 m+ `% q" L3 ^ @* ], m
N1 G1 X#30 Y#25.......開始加工
[4 v) ?- S5 w2 z4 H( q# v
% E( K7 a: S$ p" Z5 ]9 ]#30會一直有數值去覆蓋它
0 V9 x, M' h* \7 }" ]
% k) A P* O# ]% l: l/ ]
+ I7 M0 D, p: v) M形式3:理髮# p0 b9 I- u4 l7 l5 O
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
# v* V$ u4 |; O J8 IIF[ #100 LE 3. ] GOTO理15分頭
( a% W+ m3 w% C; d0 b- CIF[ #100 LE2.5] GOTO理12分頭
1 @/ N% \3 z. s, RIF[ #100 LE 2. ] GOTO理9分頭
4 R/ ?6 p& s1 m) Y2 A5 MIF[ #100 LE1.5] GOTO理6分頭
# E' g, N4 r8 A- U2 Z& o3 UIF[ #100 LE 1. ] GOTO理豬頭
1 s' x1 Y5 ^+ p" z
+ r, L W2 g% p! P※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
: H7 Z7 Q' l8 K. H8 T- x4 X" W/ x. z1 A. @
另外的一種B式/ s! B' o: W; v, E
IF[ #100 GE 3. ] GO2 c% _3 J0 Q% Z# i% L1 x
IF[ #100 GE 2.5] GO% Y: _9 n1 V0 t3 `/ B+ \- y* T5 P
IF[ #100 GE 2. ] GO! u- E4 a9 Z$ x" E/ p0 ~
IF[ #100 GE 1.5] GO, f7 A& o$ X$ A" D1 o: n9 d
IF[ #100 GE 1. ] GO
9 I' ~- d- [. W; X; p$ j順序不可顛倒喔!不然少將會理成狗頭
4 A6 G3 R. D' ?) ?此例不能安排、佈置快捷性
$ q$ D8 O/ d4 p- {" ]) F
6 \: B6 n: P% z9 [
- ~) H' D# Y4 m0 h; SA式:有點像把數值逼到牆角比,自不量力可直接看出* ]) b. [7 Y- l* c" J
B式:像在自由空間比,如果順序調換
" B( X2 w2 U; i0 w有錢人也可以去小吃店吃牛肉麵
+ w/ l/ o3 p! h& O/ U3 a高學歷也可撿回收物當職業
% T( U1 |2 ~- z) n2 A
+ o7 W& y! X+ K3 u& g再說一下B:順序不能上下倒立,只能轉身如6 W5 k, }0 S- \% N
IF[ 3. LE #100 ] GO
9 w3 h) Q: I8 C- K0 p...
" Q G$ ]. i6 M) j* A" q..." U7 R4 o6 g0 }
IF[ 1. LE #100 ] GO' }* v( O6 ?; `7 e, |$ {3 N
6 a" }- P9 Z7 L% } f* w
A.B兩者有一種共通的特性,領多少錢就做多少事
, `4 O* [# q4 `; @- @如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用+ T$ q. [9 S6 r) }: ~. i2 j
1 Y6 n6 `% l# X0 x4 |1 j% m, K" h1 w
以上為個人的經驗 |
|