|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
8 `1 M, ?/ d7 H8 s* D8 v7 d6 {9 y3 M T8 ?/ d/ G& B
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
# b0 c7 m# z6 m( s' v; k0 C W$ Q1 W) t M
形式1:
& q3 |2 s- \8 Q+ b. |#100=选兵(陸.海.空)
( u2 _0 o; w+ P$ cIF[#100 EQ 陸 ] GO1
% b! u! p' n( H4 S9 q; o$ KIF[#100 EQ 海 ] GO21 f' W- h: A6 x- X* c; u- H
GO3(鼻用說.當然是空軍)* k) M, [% B! g: b( q+ l* Q
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
7 F; b& R" B9 J/ Q- E9 J7 m# M4 a因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)6 \, q/ b( A3 F; a- l& J! P8 T1 A
- s3 @: m! k# C
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆. r: i7 S+ N% Q z5 z. o# K/ d
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做0 D7 X, c7 U8 [
% x: x( c6 Q) Y# s; \( D* |) E還有一種防呆寫法:
3 z" d% s8 ^+ W. N& B; _#100=選兵(陸.海.空)
: v, g- h" f, l+ p: ^IF[#100 EQ 陸 ] GO1$ L8 V7 o5 }- C/ U. b: Z( s3 W B9 J
IF[#100 EQ 海 ] GO23 t, K' n/ l7 `( g$ c8 D! x" o- m
IF[#100 EQ 空 ] GO3" s( W0 q8 P( c5 N
#3000=1.(如果流到這裡表示#100投入有誤)
; Z1 C& D% T! k5 V3 o" Q1 yN1....
* b3 F; l. N V6 n
5 W6 |/ D' g, q* |" X. I: qN2....2 I5 ]" e. }$ B! A9 @1 c! }5 O
2 g) {7 y U1 V; `& V( iN3..../ C- l5 W' @" H3 c
% i8 [ I" T5 V; M8 c
M99
4 s1 m! s4 X! a, P7 T7 u9 f8 O' Y* _; n8 E+ a3 T! J5 r6 W0 _
- `; @- C* J7 J5 w+ C9 Z形式2:
2 l( S8 |+ C- e+ s, L#100=領國家的薪水(人民,老師,軍警,政官(民意.立法)). D; ~8 z4 F. M
IF[#100 EQ 0万] GO1* |) r9 E; _8 ~- H7 T
IF[#100 GT 5万] GO2
: n+ R; o; J- G+ B- V) e9 y2 U1 M: fIF[#100 LT 5万] GO3- @/ l6 B- ?1 {4 |
GO4(可省略條件式[#100 EQ5万])老師! K1 e# K/ f3 ?& l7 d3 [
..........
1 g+ C5 U0 I+ ?: ~( {1 E) H) uN1 人民& {7 {; ?) }" W' h% Z
( F7 X+ o0 o( n- N" p( l* QN2 政官 m$ G% g% k+ T1 H7 F* o
/ d, ~, S9 I" |5 D+ A" wN3 軍警4 I7 E0 s4 ?! E. O- O
" } m* ]% Q2 S& h& k
N4 老師
6 h- [; W# p# f; A* B
- e$ y; K0 X/ p6 e: ]M99
% n" \2 V1 r' b5 j$ i! F5 v7 K
1 O& _" y9 B; P/ I※注意1與3可能會有衝突,有前後順序性的# l, P. t \& t4 u9 ~$ d
形式2是以新台币計價的1 g0 _, s+ Q* Z0 ^* R
* |( z- @: b6 i- q) d$ L/ x& \/ U1 [- \- h& ?
另外一個IF-THEN的例子:& L1 p7 D7 i2 M1 u8 ~
假設#100=已用四則運算,算好的結果
* B" W0 ?$ H$ ]
3 k3 ~3 O6 ~' E) x- i* z# p1 J2 ]IF[#100 EQ 2.5万] TH#30=10.
" ?4 v! _+ z& f" G- @& xIF[#100 EQ 0万] TH#30=10.$ |$ D! ^' k, I) l# b2 {
IF[#100 GT 2.5万] TH#30=20.8 V- _& y& z5 O% C: r
IF[#100 LT 2.5万] TH#30=15.5 a% l/ C! w' t# ~
N1 G1 X#30 Y#25.......開始加工
, U- e# l; F% K% Q- F9 B
2 m4 g0 M( y) E) S上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:) r. V) O$ |& q+ I
( Y) f0 e1 C( v+ L1 B" {9 r
IF[#100 EQ 2.5] TH#30=10.
- S6 P7 p& ^. L5 V d) ~IF[#100 EQ 0.] TH#30=10.
$ V; `0 ~6 ?( Z! MIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)' V% G6 k& b M$ d! `/ j6 @
IF[#100 GT 2.5] TH#30=20.( K1 [8 {9 }6 X
IF[#100 LT 2.5] TH#30=15.
9 x+ m+ ]( f3 a: Y& UN1 G1 X#30 Y#25.......開始加工
8 W$ g' P/ H; }( q$ `0 ]6 _3 H- E
5 \" z0 T: u# ]% Q& D; x6 z或改寫成,B法:使用或閘(OR)
) t9 o& o" ~4 c2 e, l1 k#30=10.- N3 f. k* U1 q0 x, W
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
! x# O- Z; ~5 K% @IF[#100 GT 2.5] TH#30=20.- C. x* B% ^! p0 C' D
IF[#100 LT 2.5] TH#30=15.1 C+ X- c1 a! s# a
N1 G1 X#30 Y#25.......開始加工
+ r) k4 ~% Q; ], s) z
: w7 T, R$ W8 B' j% {, D還有一種不使用TH的寫成,如下:( ^0 L q6 z' D; N8 ~$ l' p8 S
30=10.9 P( \/ p4 G/ D$ M
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
# i8 `+ r1 z- U1 P1 V' q* A- N#30=20.7 B* `2 t1 K- M' M
IF[#100 GT 2.5] G01. |4 C$ i) N, R+ W$ ^! b
#30=15.
& z0 d) Q* V2 M# m1 XIF[#100 LT 2.5] GO1<---此條件式可以省略
/ e: h/ t R/ b0 B4 W) s+ N+ ~N1 G1 X#30 Y#25.......開始加工6 Q7 ~3 h6 @( K( O, w2 e2 }
; K0 I- S0 {9 g& D- h' E3 h' Z#30會一直有數值去覆蓋它" J2 |9 j, y$ b- \
+ v. M, t$ s+ v3 h, f, o
, [6 R: \! F& ?- D1 s. V形式3:理髮3 `( [+ K. Q- e" `8 r- c0 F0 \
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)* y" F: t6 D6 p9 f* X* g T% i
IF[ #100 LE 3. ] GOTO理15分頭# }7 r# o) w r( t$ w m
IF[ #100 LE2.5] GOTO理12分頭5 D: Z; u6 e7 ]5 d4 l
IF[ #100 LE 2. ] GOTO理9分頭1 q4 k2 l2 S5 Z8 |' k" [1 E- n& R
IF[ #100 LE1.5] GOTO理6分頭
9 h2 g0 F+ K7 X, S- c+ QIF[ #100 LE 1. ] GOTO理豬頭: R7 S; Y$ D& S2 j$ { d
5 m+ S! \: T8 p$ U
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
) @2 h% s3 O: {6 v# f% C
- q9 C ? l) X' x$ O# ~另外的一種B式
: \6 C' E/ n; nIF[ #100 GE 3. ] GO: A# \" d4 ?5 i8 \: {
IF[ #100 GE 2.5] GO
* M6 ?( w% N5 H* D, ~7 o" gIF[ #100 GE 2. ] GO
2 m+ M$ @6 d5 I3 M& RIF[ #100 GE 1.5] GO
5 s' b5 R7 W) QIF[ #100 GE 1. ] GO
' g! P9 B) M0 ^- \; L8 E/ M. p順序不可顛倒喔!不然少將會理成狗頭
$ m& v2 _9 Y, ?2 m2 G此例不能安排、佈置快捷性
; ?5 V# I$ f$ ^, g+ x
. ?; E% q/ T2 K& ]1 x. I5 Z1 ^ Q8 a! q* D& M
A式:有點像把數值逼到牆角比,自不量力可直接看出
3 z/ _% h/ X6 ^) R0 s' VB式:像在自由空間比,如果順序調換( Y1 N4 R8 Z6 I" `. s
有錢人也可以去小吃店吃牛肉麵/ J* q9 D/ P5 U+ t; \& L$ q
高學歷也可撿回收物當職業- M V( @ a4 G( o- R9 O
& @3 l6 @1 a$ T: X7 W: v
再說一下B:順序不能上下倒立,只能轉身如6 t! [! ]: ~$ I" X
IF[ 3. LE #100 ] GO
) z2 b4 k: ?' F5 D% c! h...
0 U5 [$ I1 \! W* p...! k D: {4 E* d4 O/ }
IF[ 1. LE #100 ] GO# f" c) w* p* ?8 [$ ~$ h
* M ?0 s; I( A4 D4 |. Q9 D5 {
A.B兩者有一種共通的特性,領多少錢就做多少事2 a6 H% a, I E% h6 x; l
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用6 `5 R5 {1 r- T6 R f2 [/ k W
9 Q2 J+ I1 d% Z" ?8 V4 u
( ~9 a3 x2 K# V% k7 U
以上為個人的經驗 |
|