|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
3 T8 ^' b* P+ l3 U5 T; d; {9 Z( A5 q+ Q
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性3 T+ d0 Y6 @5 S5 E3 N- ]7 @! B' g
& {4 [& \/ U" v
形式1:, z+ Y Y8 v0 }' K) S
#100=选兵(陸.海.空)
6 m [; S; E8 IIF[#100 EQ 陸 ] GO18 ]0 _# l" v- N. i% w
IF[#100 EQ 海 ] GO2
& T! Q. y+ D3 l# W) L! wGO3(鼻用說.當然是空軍)' R+ G8 ^7 z: |2 J
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)9 }; F6 [# H7 _/ X p& c2 b0 j y
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)' t. `5 o/ R* h5 d
1 N( u/ \$ u( E
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆1 v% ?. D4 F# Q: k
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做" D+ K/ [+ Z! R& K- f) _
* [1 c u* x1 e
還有一種防呆寫法:( ~: O6 E8 h) D; k" K2 O
#100=選兵(陸.海.空)
6 `' b7 z, f' | M' T+ iIF[#100 EQ 陸 ] GO1) u" h! E9 S+ Q! T
IF[#100 EQ 海 ] GO2
) }3 _( N2 n& p8 E, o! E, }# T- fIF[#100 EQ 空 ] GO3
( p' }, S( Q2 B& B+ p#3000=1.(如果流到這裡表示#100投入有誤)( ?! V t# a" _' x9 ~( H2 V
N1....
l ~1 X7 y8 Q6 I' @: I4 b
- e, u& C5 {& S [9 sN2....
4 W6 v; ^, I/ q. e7 _/ d
; r/ A9 W8 d8 r, w* q3 ^! WN3....$ Q6 E5 w' y) s1 z/ [1 H
/ O" Z+ k0 G0 {% b. _6 gM99! ]! S( y! [0 a- L/ J
8 b0 k2 l! g8 x2 K
% [5 f5 U" U0 y6 K
形式2:
, H2 N6 G% X3 |4 f7 o+ v% ^. u#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
$ w% D- l% O, a4 i* R: mIF[#100 EQ 0万] GO1, j6 c% f. n- |9 l% I
IF[#100 GT 5万] GO20 h& n: `4 f- ]9 {0 {. |& O! s
IF[#100 LT 5万] GO3
. H( M1 q. N, i4 H+ uGO4(可省略條件式[#100 EQ5万])老師0 f) C& q A- d9 x+ h6 s
..........2 [8 l, \8 `1 u6 x* Q8 @ X+ N
N1 人民) M- x/ j/ a) f" k+ _7 h
5 o7 d1 V3 l* X6 n" C+ RN2 政官! S+ H( k. S' ]. q, Z- D
8 d, p F% K v2 x; e
N3 軍警" [& ~( S X/ B6 i7 l
- o" v6 k$ q# jN4 老師
7 r6 n7 O5 _5 V; t6 M- c* I- m& g* B8 u( A( N# l8 `6 F1 b2 l
M99
% x+ y% b6 I5 I; q+ _& W- c p; E6 q! E9 o* R0 L
※注意1與3可能會有衝突,有前後順序性的
6 r: A5 z8 z0 Q4 L6 i# O5 w形式2是以新台币計價的
7 g7 N7 o" A& ~4 W
8 {4 V* B) H s F, c+ D& T, e' L1 d5 @" t: `7 F' l+ F
另外一個IF-THEN的例子:" h% u2 O( K9 }0 d! e' Z& _1 P) j
假設#100=已用四則運算,算好的結果
) g8 w$ }5 K7 z* \) G2 d% J" m5 S
# R- G, \5 ?. i8 e# e4 o3 t RIF[#100 EQ 2.5万] TH#30=10.: v G- ~! R; ?3 K
IF[#100 EQ 0万] TH#30=10.
1 d/ ~- h) C" X+ ^IF[#100 GT 2.5万] TH#30=20.3 b7 i! G) T8 C
IF[#100 LT 2.5万] TH#30=15.2 g8 ~# v9 w" E
N1 G1 X#30 Y#25.......開始加工
4 x0 U/ G5 R' `2 f9 p9 e8 H8 k- M- t4 [7 D* r# D0 Q
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:# n8 c; s! p3 \) d% m
; Y6 A0 F8 z# C) |# C2 t7 K
IF[#100 EQ 2.5] TH#30=10./ D2 w8 c; [5 m6 V2 C! p# F: u" c
IF[#100 EQ 0.] TH#30=10.
- @5 f$ z! H% C3 a1 F% ~, O6 WIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
/ a2 C7 o7 X$ ?- kIF[#100 GT 2.5] TH#30=20.
p$ O ^; Q6 J) i5 n! g, `+ fIF[#100 LT 2.5] TH#30=15.
2 o, @& C) U' j, e. xN1 G1 X#30 Y#25.......開始加工0 I) v P0 G1 i! J) c1 f3 X
4 c( q8 M M+ A' P5 o或改寫成,B法:使用或閘(OR)
) S @8 Z1 K- s" A5 U8 G#30=10.. u& j+ t6 y7 t. q4 M
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)$ n8 t/ Q s1 S; u" c Y. }
IF[#100 GT 2.5] TH#30=20.& Z8 G5 t5 D7 f% Q. P) u
IF[#100 LT 2.5] TH#30=15.4 e+ R6 _! u1 z: t- ~* W9 K5 i
N1 G1 X#30 Y#25.......開始加工
4 K2 T6 r7 j9 ?) e- r
0 x' x* V6 X6 p6 _8 H$ b8 f還有一種不使用TH的寫成,如下:$ j- ?. T( Z8 W& x2 v/ m4 U# ^
30=10.' |8 p/ w5 x1 ]( x( {9 s
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
: S/ G8 E7 \- H#30=20.6 f. h* ~! I. L3 k2 T; F6 [
IF[#100 GT 2.5] G01
4 l1 p0 A* b! o2 X( G#30=15., w* a% Q" u4 m _, X6 U
IF[#100 LT 2.5] GO1<---此條件式可以省略; S8 B0 W" Z5 G, h- F8 i! d
N1 G1 X#30 Y#25.......開始加工4 m8 ]6 @ C7 x" E2 V$ l3 c) E% K
' O! I! g6 t) Y) y5 \* A" A#30會一直有數值去覆蓋它
' m# y, ?' @& V6 P. d6 Y8 Z. o% ~+ a: B3 b# Z- {$ Q' C
; d$ o9 e; e3 V* h3 j形式3:理髮6 P9 ?2 E! s* C/ |, j7 f
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)0 S7 ~# |6 P) ]8 j+ S. h
IF[ #100 LE 3. ] GOTO理15分頭
* ~2 ^4 z d n4 b3 h+ G* t% NIF[ #100 LE2.5] GOTO理12分頭" m4 {4 B7 u3 O9 d5 m$ j& Y/ E
IF[ #100 LE 2. ] GOTO理9分頭( ?; t* {) c( W. A; s+ n- e$ j, ~6 `1 `
IF[ #100 LE1.5] GOTO理6分頭
; l* m0 k. O; d `. MIF[ #100 LE 1. ] GOTO理豬頭8 B3 V% _. C# g; o( D& K, q
# Z4 h( o- I" Y7 H K
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性" u% J' ~; q* k6 f. p
/ @2 A5 `5 R% |
另外的一種B式& X+ M. o# s% w
IF[ #100 GE 3. ] GO/ ]( p: p' Y9 l0 r4 V0 @5 f! v3 @
IF[ #100 GE 2.5] GO1 b" K9 H, R- s7 ?
IF[ #100 GE 2. ] GO$ n X2 p5 ]- N4 X* q& R4 N
IF[ #100 GE 1.5] GO
' z; ~& M" g+ z, X: ^4 y B, SIF[ #100 GE 1. ] GO
3 B7 j% S$ A4 {6 S順序不可顛倒喔!不然少將會理成狗頭: f* g1 O8 Q N/ d" M) H
此例不能安排、佈置快捷性
( Z) \) l' m2 Q2 g8 c1 \
J9 p. A; u, c, P0 A9 i$ N9 R5 e! ?# P7 |
A式:有點像把數值逼到牆角比,自不量力可直接看出
$ |5 {5 J7 W3 V$ ]B式:像在自由空間比,如果順序調換
5 h/ f4 }( k( ^0 r3 J有錢人也可以去小吃店吃牛肉麵
; u( \# _' f/ `" ?+ u# C高學歷也可撿回收物當職業
2 {" @% L; T. ]0 L0 B3 U- ]4 q8 J8 N; E: T2 R- f; R$ m3 z6 j
再說一下B:順序不能上下倒立,只能轉身如* m% Z" q7 g- q7 ]7 a! \
IF[ 3. LE #100 ] GO6 z. p: x; ^5 p; O. O4 a9 T. j+ q
...
9 R }3 M6 E' w9 Q$ H: g...
4 N# T3 Q) l1 d1 [ @7 V" OIF[ 1. LE #100 ] GO
D4 x+ I0 x$ ]; D% u" |' O( i
1 v$ ?: j: y) G4 WA.B兩者有一種共通的特性,領多少錢就做多少事) w+ O! A9 K2 Q$ z
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
( t$ q5 @ i' h
, b% }/ E$ b& D L
3 K, d4 m1 i$ \7 ~4 t# r" O' I5 H以上為個人的經驗 |
|