|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 $ I! L! J2 H; ?- l5 R6 a! f
x% p: @/ c% I8 M# U* v使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性1 J+ j# s' [" u* Y/ N
& z( V! R, c- x5 q/ o形式1:, X* T9 I ^+ w$ s* P F
#100=选兵(陸.海.空)
, b2 G% B! T8 h+ b' OIF[#100 EQ 陸 ] GO1
5 j( F- \5 ]& ?5 rIF[#100 EQ 海 ] GO2
6 |* R r+ @# F+ Q; vGO3(鼻用說.當然是空軍)) r% u; R* @3 o
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)$ T! I& A+ _6 L* C3 N
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)3 P0 Z! @# K$ {4 `7 y7 ^- O
- Y0 ^3 G! b/ g' R2 N
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
9 O/ e5 H! z, Y2 V& Z: t也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
; e4 J8 ?3 u8 V T+ p
/ u% l% [5 }6 _3 t p$ j還有一種防呆寫法:
) z+ N' B; A3 i6 k8 J$ u+ B! e#100=選兵(陸.海.空)8 v8 X; D/ {; X& m/ f$ s9 b
IF[#100 EQ 陸 ] GO1- g' n1 ~8 r6 B, H
IF[#100 EQ 海 ] GO2% t4 p. o% u1 O' N- D' W0 q- d
IF[#100 EQ 空 ] GO3
; G( U# h8 O* N [8 z#3000=1.(如果流到這裡表示#100投入有誤)
9 l$ R* k% ]) pN1....( p8 C: I' x6 {! ~" v7 w+ }
# h; N. J @* M; uN2....
f, n; j( t& V/ P0 [# U+ v
: ^4 q! {6 j8 q# ?$ f. Y- u2 kN3....8 X+ I; G2 n8 k
( g5 R, {4 ~& B8 Y8 B
M99: A: o3 h1 L" g& @2 K0 ~
8 T6 y% j3 p1 D3 z& A) C t+ R) B @0 n
形式2:
9 J6 f n: G) U#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
% {6 m/ ^6 c5 C# i/ v. iIF[#100 EQ 0万] GO1
. l* a9 e: o+ PIF[#100 GT 5万] GO23 m7 C- i3 P. {3 y, {
IF[#100 LT 5万] GO3" p" r. n! F, f) d( ?5 {
GO4(可省略條件式[#100 EQ5万])老師7 u7 U2 S& T. r6 l. G' t9 y
........../ }. |, F4 B. S' A: X& L
N1 人民
. d% m" ?% e# `; N; R4 {
* _5 e9 }" z' D4 K8 N) j9 i7 w4 AN2 政官% l" q' F; Q3 t7 f
( e/ Y \2 ]6 QN3 軍警2 x$ b5 O4 o. S' S: t- s% D
$ C( f2 _3 v8 G% k: X" u1 X
N4 老師6 K) J, w5 w" [ L) p6 M
( S3 }4 n. s: D! fM994 _3 H! ~0 h4 ~- k. a: b- }* W
$ o M) g* _5 c& A5 ^※注意1與3可能會有衝突,有前後順序性的
- z6 j% h" z4 B6 _形式2是以新台币計價的# ~& A; J' o: r2 u9 v
5 \0 U# J7 I% n' }6 ?. Q
3 ^ L+ o- F7 o7 A) o, P另外一個IF-THEN的例子:( I, E' Q. J$ y0 F
假設#100=已用四則運算,算好的結果
8 e: \2 F$ G) d- P5 ]5 z) X9 _" t7 K, m* m, H1 ?
IF[#100 EQ 2.5万] TH#30=10.; W. Q1 x! R: r9 J0 ^" |* w/ }" [
IF[#100 EQ 0万] TH#30=10.
# P5 `% W4 h. QIF[#100 GT 2.5万] TH#30=20.
% D. S Q, J5 a. S. NIF[#100 LT 2.5万] TH#30=15.% d4 B* n1 j0 n9 j1 B5 ~
N1 G1 X#30 Y#25.......開始加工* C \8 ^& }0 J' {. y2 o1 r% i
2 J( u5 Y( r. Y' x
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
5 D% @- Q% l: W- B6 U
/ |8 T/ j6 y' g4 V$ _) _IF[#100 EQ 2.5] TH#30=10.* ] e0 w+ R' o
IF[#100 EQ 0.] TH#30=10.
" O- h9 f: o7 J% T' w+ l: ?IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
8 ^) o0 k$ O1 a3 m( XIF[#100 GT 2.5] TH#30=20.2 U) g! k0 W4 X# e7 ]- B6 q
IF[#100 LT 2.5] TH#30=15.
! e% \$ g. J- P4 ZN1 G1 X#30 Y#25.......開始加工% n2 l1 ~! S; t( R5 Z
! O3 G% ?8 _$ W" C6 ^4 }
或改寫成,B法:使用或閘(OR)
+ [5 d) C2 h- e$ V# K8 K! ?, a#30=10.
$ _# I3 B, y- \. f, yIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)' e' t D! O- d. f M5 u3 b& W! C
IF[#100 GT 2.5] TH#30=20.
8 `. E- b2 ?6 V- Z4 dIF[#100 LT 2.5] TH#30=15., s/ f+ m4 C- R# J" q
N1 G1 X#30 Y#25.......開始加工
5 H% m) n/ A. [7 ^; `: G
1 J6 Y9 O! _5 |, D還有一種不使用TH的寫成,如下:
+ H" L: { x' P% B30=10.& M% _1 S' k: K2 e
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1/ z1 V0 N9 H- b: J$ y% C# l2 m K( m
#30=20.
5 F5 i- q2 G/ L' P! V4 q# x. tIF[#100 GT 2.5] G01$ i2 V7 i% {0 A9 R
#30=15.- V2 T1 T. d8 f! F
IF[#100 LT 2.5] GO1<---此條件式可以省略+ J' s: e+ C4 W( D2 b0 }
N1 G1 X#30 Y#25.......開始加工6 O* Q, B* t( n' r) W6 m
( o6 D# V' H$ b* u8 u#30會一直有數值去覆蓋它% M: G. ?/ v& y |; J X2 @
( q& Q0 x) f, w; k) S' G& b
/ T u, W6 v" d; A' Q( \形式3:理髮( {7 e+ V3 I0 v/ C; y4 p8 h% s
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)! u( C; [: w. ~# c
IF[ #100 LE 3. ] GOTO理15分頭; p/ b1 G+ ]9 g7 ~+ M# _! g
IF[ #100 LE2.5] GOTO理12分頭
* o4 ?: j& k# p6 c( w |) f1 YIF[ #100 LE 2. ] GOTO理9分頭) Y$ w. D7 C! V4 A ?4 b
IF[ #100 LE1.5] GOTO理6分頭
5 P) s5 A0 ~% O% r7 }IF[ #100 LE 1. ] GOTO理豬頭& ]7 S# Q6 d3 c2 |
- X- _8 K) l) q8 B, U. K7 P9 ^※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性2 E# H/ X' k* Z9 e9 _) B
/ C( k5 F5 t( H# K* k( F @另外的一種B式
! Y) W6 d; d" d' n( u! MIF[ #100 GE 3. ] GO8 D+ N0 l9 x; @0 t. Y
IF[ #100 GE 2.5] GO
% x& j& i; g) f' wIF[ #100 GE 2. ] GO2 |& x' S1 ~( r2 K( D( |8 E
IF[ #100 GE 1.5] GO0 x) z& n2 q0 M$ A; r
IF[ #100 GE 1. ] GO
5 P2 f& }5 [4 G$ \順序不可顛倒喔!不然少將會理成狗頭- n7 E. O" F8 L7 c( i' Z
此例不能安排、佈置快捷性: I" U5 b" G2 R
0 X1 E9 o/ z' d3 ]
& u% D: y% E f% C d
A式:有點像把數值逼到牆角比,自不量力可直接看出. E- A9 f& S3 b' F) {4 J4 Q/ K
B式:像在自由空間比,如果順序調換
# e! j5 u7 ~' e8 ?有錢人也可以去小吃店吃牛肉麵
( I5 ], n: {- X% A- B高學歷也可撿回收物當職業$ A0 G: s7 I4 ^5 d% j/ R: V
4 G8 y% j+ K) T5 K再說一下B:順序不能上下倒立,只能轉身如
4 R6 G P9 g: J3 g3 m0 Q: z; \IF[ 3. LE #100 ] GO7 l( R% N' q0 {* w& k- p4 u9 z
...
) X1 y% ~2 p. S; C- o; l) q! m...8 I3 x, b7 w* r! D; }! w+ g& Q
IF[ 1. LE #100 ] GO
- J$ m. |2 a2 f
/ \5 L: u/ N; NA.B兩者有一種共通的特性,領多少錢就做多少事2 o0 J+ j- U& n/ z+ E
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
" p/ r1 S7 h" C8 n; ^9 A9 n1 f
( s7 M* ?6 q" Y% W, j3 i( V7 p) D% Q7 h
以上為個人的經驗 |
|