|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 2 s6 a1 A% B* p+ g' ]
% h3 s, e5 W( A8 b) U% n1 }# D: S
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性4 K) ^! F3 t$ C" p* m6 V
' j0 f2 g D3 N" {' K% v" z形式1:
7 f) a0 H, N) m/ E4 B#100=选兵(陸.海.空)" q$ m. t% F" i7 M! r1 Z2 L% O; U
IF[#100 EQ 陸 ] GO1
8 c; }( u4 i8 O# J! z7 m8 k4 |$ S; IIF[#100 EQ 海 ] GO28 ~% [* `0 Z& \0 c' F6 J; ?
GO3(鼻用說.當然是空軍)) ^( a# s& ^( [. Y+ A
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
2 b& k; f8 k# i/ t' a8 L* d x8 c因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)% f0 P, Q3 m8 C7 x& ]
1 w; y Z/ x" I G. _* x- j
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆1 i# a4 X# E: G. `
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做+ p& E$ R, k5 O
7 q/ `: ^4 ~. G- P$ C
還有一種防呆寫法:% L" Z; o$ _. s: q5 d: [6 Y/ Q
#100=選兵(陸.海.空)6 D6 }' ~6 z; O
IF[#100 EQ 陸 ] GO1
9 W" X/ v+ w9 L$ N0 z0 B# OIF[#100 EQ 海 ] GO2
" y! u9 |/ g5 a" q" xIF[#100 EQ 空 ] GO3
6 O+ y. M" Z% H) U3 J5 w& C, e#3000=1.(如果流到這裡表示#100投入有誤)
6 N8 |. A2 t8 vN1....$ w3 ]) P+ U$ ?$ v
6 K0 t, ?" G/ BN2...., }3 f' q9 W: N( f
3 x8 ^* R4 w7 c- n& ? H6 A; f7 EN3....
2 ^9 ]1 G" R9 {5 A. u% c5 j
$ U9 o! U& E: I7 `5 uM99
4 b0 U: t9 f) I: |
9 m6 G$ x9 Y" c3 ^! E8 j1 x
' `8 e$ ]0 Z i形式2:
1 [5 F( Y* K) L+ M: I% t#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
" k6 K, b. z( i/ u5 L, T7 PIF[#100 EQ 0万] GO1' W' j9 w% T- h% {* M
IF[#100 GT 5万] GO2/ @' R- S/ H T+ a9 R- g7 g# d: x
IF[#100 LT 5万] GO3
' t6 Z1 G# G. s' c) @. SGO4(可省略條件式[#100 EQ5万])老師$ A( @% S: P, M1 B' n3 F
..........
, m7 T& b8 t# L+ y" h/ ]0 s" LN1 人民3 Y. i- s9 A+ ^- q3 T1 x! r! a
' i; ?0 @. n# I
N2 政官
' B+ Q% m5 v/ t l% h0 R# _/ D1 k& P* A' {( B$ V
N3 軍警, U) J% L+ o' ~# u
# }* {' O# V* u( Q( v+ V( U( G1 xN4 老師2 o p" B# w L- D$ E+ p& {; Y5 ?$ h" C
' E% K3 D) G5 ?# V }
M99
% v: L9 U- P/ H ~9 |' H) V. s4 y
2 M5 V. O f5 B/ M( S- l※注意1與3可能會有衝突,有前後順序性的
6 @' X: w9 P0 @0 u& v形式2是以新台币計價的
/ f/ @2 g- y' U4 L5 ?8 \3 s9 \. g4 s5 F. h
2 R4 n% Q8 E, M另外一個IF-THEN的例子:0 H l6 V' q1 G7 c- K1 b
假設#100=已用四則運算,算好的結果$ U! q2 T( v" p
5 V, p; y* [# B$ l5 L; L- X
IF[#100 EQ 2.5万] TH#30=10.8 |3 b8 c2 s/ C% z$ z1 `
IF[#100 EQ 0万] TH#30=10.) S# c4 |# X9 A, ], A1 C
IF[#100 GT 2.5万] TH#30=20.- f5 W" g# @$ K9 [. W
IF[#100 LT 2.5万] TH#30=15.1 k' H" u2 _" n5 E. V$ e& @
N1 G1 X#30 Y#25.......開始加工3 `, t+ m9 J2 E
! w% g# r* }9 |& r
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法: ~. D+ g7 s! w) G) s
3 ~1 Q8 A3 S: {3 [) {
IF[#100 EQ 2.5] TH#30=10.
3 R+ k4 z; G% I) _2 S6 c5 oIF[#100 EQ 0.] TH#30=10.
1 Q Y6 L( J% f* e7 X8 b8 O# `3 lIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)6 K* r7 q x7 K# I
IF[#100 GT 2.5] TH#30=20.% B4 F+ g2 r: `3 q
IF[#100 LT 2.5] TH#30=15.
( O! Z- o. S0 ?N1 G1 X#30 Y#25.......開始加工
' [5 G7 P! f8 p" G+ S- ?$ j6 S, H6 Y6 c' b% ~
或改寫成,B法:使用或閘(OR)6 r) Q! V! J5 c4 |6 q; ^. ~2 z a
#30=10.
$ ?8 g. \- o, Y* \* uIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
K' F( U, B4 qIF[#100 GT 2.5] TH#30=20.
" y M" b9 }5 fIF[#100 LT 2.5] TH#30=15.! t- {/ K+ e2 R; ?/ I4 T3 q
N1 G1 X#30 Y#25.......開始加工/ J6 u0 K$ B( T, C6 k2 S
( j& z, o# p! M0 |' m3 S+ V6 m) |
還有一種不使用TH的寫成,如下:5 V9 a3 d, ?( z# r
30=10.$ \) p9 h7 G& Y1 ?8 d, t+ z
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO14 x. B. i M, ?; ~) v! o! U% _2 g
#30=20.$ Q9 ]- R) j; @, X7 ~, M6 {2 K
IF[#100 GT 2.5] G01
( T2 V+ z! }' z* o8 [8 d& ^#30=15.5 C$ N) l5 k7 b5 [- f3 O3 k
IF[#100 LT 2.5] GO1<---此條件式可以省略4 @1 x. B# O4 m( W/ e
N1 G1 X#30 Y#25.......開始加工
+ [7 u3 l; a( E/ U% O, N9 N4 F8 S3 x" A7 l
#30會一直有數值去覆蓋它, B; f6 C& H0 f/ A8 Z, _
/ t; f, x, l& C. h5 }* | N
1 J! Y9 L% w. B
形式3:理髮9 [+ ?. B/ Y9 Z. z6 h9 A+ s& ?% q
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)1 b0 ~9 @+ ]$ Z# l* O
IF[ #100 LE 3. ] GOTO理15分頭( W& u4 q+ O4 G& w* T( T( S
IF[ #100 LE2.5] GOTO理12分頭
& x- j* n+ \' W7 E2 d3 m! M& q/ @ IIF[ #100 LE 2. ] GOTO理9分頭
" q5 P, v, y8 _+ c# IIF[ #100 LE1.5] GOTO理6分頭3 ^& Q& |* T/ S5 j, h( d
IF[ #100 LE 1. ] GOTO理豬頭# B$ A: a, E1 ^) k
' v) F; Z& P! w5 Y, ?8 e※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性9 ]- u W3 T9 P! l/ _6 x
5 c1 Z# j* x& @, @" X- q另外的一種B式
3 A' Z+ A5 j$ P: U# _' xIF[ #100 GE 3. ] GO
1 r. n) Q/ B- ]% e. U% J: lIF[ #100 GE 2.5] GO$ b3 @! M' A! |% e
IF[ #100 GE 2. ] GO7 P3 Y' @; l! K
IF[ #100 GE 1.5] GO0 n) c1 v2 y! I" s! @4 F* r* c4 Z
IF[ #100 GE 1. ] GO
2 x! F: _! T- `5 E6 @/ A順序不可顛倒喔!不然少將會理成狗頭
* t) M# G* m% Y! b此例不能安排、佈置快捷性
' S b: F/ D8 p4 {
, {9 f) s* H9 h& ~" h/ m( a5 V) G+ O9 I8 \# O
A式:有點像把數值逼到牆角比,自不量力可直接看出 ]3 I1 P. N" U% ~
B式:像在自由空間比,如果順序調換 _; W8 [/ H5 L7 ~+ Y. i, D1 T
有錢人也可以去小吃店吃牛肉麵
7 \. r- O7 P& ~/ q" H高學歷也可撿回收物當職業4 _/ A9 S* S+ @1 Q# t
! s1 Q$ I9 u7 `: [5 |7 B. Q
再說一下B:順序不能上下倒立,只能轉身如! _! @$ x+ t( i& e6 u2 T) x
IF[ 3. LE #100 ] GO* d" f. z' l) { H+ V
...
- l) ?- N& O( r* ]% A# U! h... x1 q W9 `. W0 B N; c/ J
IF[ 1. LE #100 ] GO
5 i3 O: T0 R, n$ }/ a" x0 X9 N$ F1 C4 g2 g5 y1 j. M4 E
A.B兩者有一種共通的特性,領多少錢就做多少事
1 w8 @' h8 b+ ~% N/ O. O如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
' e# |, C# ^. B, [/ S: J8 e; ?+ K2 \: p
2 r% c9 E! w4 p9 O* I% L7 F. j+ z9 o6 k$ w: {& t
以上為個人的經驗 |
|