|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
* E" x" k. i9 }: h3 Q3 [: {# i! x0 c' Y. I
$ a& m7 a8 b) l0 t使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
* D* P0 x2 p- ~3 d, ^) L" ~$ d, w) q9 r, k+ d
形式1:
3 y' ?3 \. R m/ x#100=选兵(陸.海.空)
7 ~2 Z8 `4 U$ h2 l& [/ ]) g0 s& ?IF[#100 EQ 陸 ] GO1
7 t$ w* y) t6 s b/ l u% kIF[#100 EQ 海 ] GO2% p& X5 H& f' P; W* k; B$ L
GO3(鼻用說.當然是空軍)& ]2 Q" w+ I# h% a. i+ F0 e
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)6 U% C8 H7 b7 E! M2 |6 Z
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)4 z3 W8 }6 e( A/ O3 d- z
) h# G1 z' i* M
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
* T @( _/ T# s1 A: O/ V0 s也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
2 `# [' n( g( G# M+ ?. a" `. b+ C2 Q& Y$ T
還有一種防呆寫法:
5 S# i% V3 @4 B- u0 U#100=選兵(陸.海.空)
) d' m) P5 z4 l+ HIF[#100 EQ 陸 ] GO1& P0 s" M- |! L7 n, A7 e2 A
IF[#100 EQ 海 ] GO2& x4 \( E3 V# z
IF[#100 EQ 空 ] GO3
- E% y4 q% K! ^5 K( e#3000=1.(如果流到這裡表示#100投入有誤)
" v# k0 p* m' P2 d& W! ]& ]N1...., q5 n+ ]' V$ ~' H
, g% n0 ~: h4 C* I3 _
N2....
& l T( s# ^8 v- _* f' u0 E0 ~; k9 d8 w7 i! M
N3....
1 Y( z- b! o4 \- _8 Z" E. L6 D
3 G2 z' N2 M. \& H8 |( [1 |M99( F1 u& V( V0 n. [* [1 r
. X* v2 U2 N* w$ ]; J: H9 V
" U( C; r3 ?$ k0 k' F
形式2:; R0 \0 j6 U) N# q8 \" v( D# h
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))1 V; ]5 Q1 e5 }% h' ^. l* l- X6 a: v4 `7 |
IF[#100 EQ 0万] GO15 }) T: H) `6 e' I
IF[#100 GT 5万] GO2. Q! ^/ Z% Q" r/ v; ~; X
IF[#100 LT 5万] GO3
' N( w1 n C0 X$ H5 rGO4(可省略條件式[#100 EQ5万])老師
0 A" d9 R" ?, h$ x........... q- V9 M' m$ P6 u; o8 K
N1 人民
$ U6 {6 U. ~; H' _
9 r( x; K/ t) Y8 }, _3 u' n; o2 U9 P9 wN2 政官
& C9 B: w; p. s: g# v I0 {! z; z, p' E! c
N3 軍警
9 C2 y7 w: P6 E
! x9 t9 t9 Z% @& m0 }, |N4 老師
( t0 B% ^# I' u3 W+ ^; L
! G5 | K% M; L( tM99
+ Q* A+ m l0 q- d: F+ u, b* O S( t. u* u% @
※注意1與3可能會有衝突,有前後順序性的0 ^! f7 n3 }/ s; D
形式2是以新台币計價的
: g, v& C! l$ f# w' ?3 _! d3 C. S/ w7 D
0 o7 ^( B7 U; @% b; l2 v: y: n- j
另外一個IF-THEN的例子:
" n3 i0 _% t; o# `) h+ W假設#100=已用四則運算,算好的結果( w+ O) q& S$ U( z1 h
, Q7 D. \0 @8 V9 C4 @6 w5 y
IF[#100 EQ 2.5万] TH#30=10.
/ a8 u( ~# b* i6 V+ N1 Q! CIF[#100 EQ 0万] TH#30=10.
9 `0 w/ \6 a. h8 VIF[#100 GT 2.5万] TH#30=20.$ J) q3 |, U# `' N8 e& d) ]# x8 I
IF[#100 LT 2.5万] TH#30=15.6 C' K" u; N& p* g3 d
N1 G1 X#30 Y#25.......開始加工( l/ c9 J3 U: h
# J& e; H. a5 a
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
( U* ]3 a# X; h T5 q- R2 `: B( L: x) g
IF[#100 EQ 2.5] TH#30=10.
( s0 S% d' A# J4 u2 @$ s- `6 |IF[#100 EQ 0.] TH#30=10.5 W; ]8 \4 O% s' R0 e. M
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開). c6 k+ M5 p2 x; E1 I+ \
IF[#100 GT 2.5] TH#30=20.- \; d# E7 s7 p/ L" j0 t
IF[#100 LT 2.5] TH#30=15.
# B) @, U. B8 u ?! v3 g: i& |9 ?N1 G1 X#30 Y#25.......開始加工; V$ e5 i) P ^3 K$ K8 v" p
) C$ T3 ~& V' ~3 R: T或改寫成,B法:使用或閘(OR)4 v. p5 B# q$ E$ r4 l1 ]
#30=10.5 h, z( A% h' d" G
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)3 _2 \# w+ w1 s9 J" x" }. X4 c6 k1 Q
IF[#100 GT 2.5] TH#30=20.
" M9 `3 l E9 x. N6 x: s4 @IF[#100 LT 2.5] TH#30=15.
+ O! K( P4 H1 wN1 G1 X#30 Y#25.......開始加工1 `5 x$ j5 w# ?
# v8 C" p7 j$ h* J! X1 y4 G- Z- O% N還有一種不使用TH的寫成,如下:
& k* S! E8 d, U1 v30=10.
* y5 }" p T2 w# {4 o, jIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1' o- |$ _' K0 q7 g
#30=20.
, l# S+ h D2 \- D$ j" V' MIF[#100 GT 2.5] G01, y2 E0 T z( V5 L e8 t
#30=15.
" ^& o) D ^' Y& ~4 m WIF[#100 LT 2.5] GO1<---此條件式可以省略
# N" h C" s8 K# x) z- G5 _N1 G1 X#30 Y#25.......開始加工
7 ]$ ~' ]2 F' k0 G/ n% k# j
; V6 I8 N. X- v. A5 Y1 w( W+ N#30會一直有數值去覆蓋它4 c6 ?' g- r+ P- i: L" i
& N+ o1 a1 q6 u
/ y5 e3 e3 {9 J( G3 ^0 H- @形式3:理髮
- U+ U8 ]8 t; i% Z, ~1 t' j#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
; U7 y* v( Z% AIF[ #100 LE 3. ] GOTO理15分頭9 q* v+ y8 ^& ^5 Y" l2 M
IF[ #100 LE2.5] GOTO理12分頭+ z; t5 f) v" Y/ q! M
IF[ #100 LE 2. ] GOTO理9分頭1 L0 n: I# j/ ~ I5 ~& g
IF[ #100 LE1.5] GOTO理6分頭
5 C2 Y, g. P3 w% c/ P0 t* _IF[ #100 LE 1. ] GOTO理豬頭
. r9 F2 y- J, E/ Z% I" g
/ o" V9 \; H8 M※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
6 s) \* M2 O; {, J4 N/ h( _% k O# w/ d$ ~% i6 s0 `3 A9 P# Z8 ?3 z
另外的一種B式4 \. h+ t6 v5 y0 F6 {
IF[ #100 GE 3. ] GO; ~. n7 a- p+ d7 @+ p# }9 N3 S" t
IF[ #100 GE 2.5] GO
0 l. M9 l1 u: M) ~# t* nIF[ #100 GE 2. ] GO' h: l; U+ y$ }5 Q4 J( ?. ?/ a
IF[ #100 GE 1.5] GO3 c, d% q: I8 q+ d2 F
IF[ #100 GE 1. ] GO
6 S9 O$ X1 {1 n8 `順序不可顛倒喔!不然少將會理成狗頭
- |8 l) O2 w* [此例不能安排、佈置快捷性7 W0 L% `) x, @8 H$ R
5 r" C4 c6 L% I7 Y f+ ~/ m, y) \, I `4 g
A式:有點像把數值逼到牆角比,自不量力可直接看出% f0 N2 B* p& |% f
B式:像在自由空間比,如果順序調換
& U2 J5 @. d+ y3 f# d/ c+ i有錢人也可以去小吃店吃牛肉麵7 l3 O3 U- M9 u
高學歷也可撿回收物當職業3 h9 a( ]0 f; c7 X. I
# Q y- D; M/ P% t' O U再說一下B:順序不能上下倒立,只能轉身如
/ k3 r! w/ X6 nIF[ 3. LE #100 ] GO
% ~% d* W1 B) z* F8 X$ u...' G. z5 n; `9 i0 n2 a+ ^& C
...3 V/ B, F; z# z5 ~
IF[ 1. LE #100 ] GO
: h3 ?# I5 o8 t1 U; @$ n! E
S5 \( R6 ]& ]' a4 z( n! k. sA.B兩者有一種共通的特性,領多少錢就做多少事
5 `3 G) c- j) }5 S$ D如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用9 V0 k$ ?" ~5 `
! C/ F) d( t+ v; x3 k' P6 a7 F: @3 |
4 |( O# n: d& s( v以上為個人的經驗 |
|