|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
) o' T0 U# d! U' _9 J
1 `% t0 s9 i' I7 |# \- T% b, t使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
# O( K$ Z+ t- [. Q0 I- W6 Z& J) j1 D5 w( L
形式1:$ \# ]+ K; l5 r; F
#100=选兵(陸.海.空)
: v- _$ l- k& \7 Z' ^: _IF[#100 EQ 陸 ] GO1
S' Q, n+ q {$ O! u$ BIF[#100 EQ 海 ] GO22 ?; z- }9 N4 l
GO3(鼻用說.當然是空軍)0 T# _! d9 E9 S# A5 `
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
2 X+ O: `9 E8 Z7 ?" R# i: o/ g因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)* Y4 m; O8 n6 l( A9 s
# `/ `/ z3 {) g0 \) s7 v! b s4 C
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆) x" z; r' o8 w' i) ]* ~
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
# a, ]; r6 r) I j+ W
) }, Y O( _2 h! F* S% ]9 ^還有一種防呆寫法:$ X$ t* f7 _2 |9 K, ~: z% h# M L
#100=選兵(陸.海.空)- K* c8 _' R8 M; ]! Z( K
IF[#100 EQ 陸 ] GO1
* M1 l2 C' i# R; i6 BIF[#100 EQ 海 ] GO2
4 b# V4 ^( z. u' m; d* @* ]IF[#100 EQ 空 ] GO3
) F; r, T, z, W5 z8 \! p9 o#3000=1.(如果流到這裡表示#100投入有誤)( W5 c x6 g$ Q" N
N1....
# w4 M9 U V# h8 t3 i8 C" [7 c4 c# o' K, n" C- ^
N2....; Y ?. C, P8 |4 F) k
& P/ N% @1 q! v- ^& O# CN3....# \5 |7 N4 ]% l1 W/ B) [( s. X
* ]. d( d* V1 |/ r1 D" L6 B- HM998 B! L* r% E3 D
* n" Q2 s! @# R; ^5 s
5 ^% B- `1 U$ x形式2:
& i6 r0 x5 l3 p8 @7 j#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
. @& m* J' f5 `IF[#100 EQ 0万] GO1
) p; A8 @! c8 ~7 G @IF[#100 GT 5万] GO2
1 p3 x6 [" N( D6 R/ |IF[#100 LT 5万] GO3+ H- i5 j) z' V
GO4(可省略條件式[#100 EQ5万])老師2 P3 Z1 q) w Y O! s' J( B+ V
..........
/ m- D( [/ g8 u3 p5 ZN1 人民
9 [/ a9 J* G3 \- J/ c' E4 c# D( R/ I# U7 D7 H0 u1 i
N2 政官5 j7 r4 t/ Q: {& Y
$ U+ D' f+ [0 Z% R0 ?) n: q4 cN3 軍警
! _2 P2 y' H! F& g+ ^* X) J0 k% ?3 }+ i7 U% ^0 ~8 B# r( \
N4 老師8 O- c6 _1 j( B+ k- D" X ?
: r I( F' ^1 o* y% uM99
: B- k0 G, q- Z; X1 z: A' c! O( m n1 L
※注意1與3可能會有衝突,有前後順序性的5 j' T4 I. d% o8 t% s
形式2是以新台币計價的
6 x/ o0 p% {5 G$ R1 ?& J; O2 o4 H; L1 v+ U) i q/ ]% H
. o# q7 i- Y) }5 @" [7 g+ Y! k另外一個IF-THEN的例子:
# ?0 P N, b8 ]; u2 g4 _假設#100=已用四則運算,算好的結果$ f8 Y% P4 k2 J4 O
; c* {' F! o# ^5 @" a6 q% X
IF[#100 EQ 2.5万] TH#30=10.
9 ] y0 i4 }- ~( qIF[#100 EQ 0万] TH#30=10.
. k+ Q3 s; J1 h8 R0 AIF[#100 GT 2.5万] TH#30=20.
) r5 r( o c& h5 A+ W& Y0 [IF[#100 LT 2.5万] TH#30=15.6 `: b W2 J3 b+ b4 B1 F
N1 G1 X#30 Y#25.......開始加工
# M: a+ [+ ~. |. T' O7 e' `' j3 _4 T! J# b# s2 z- [- \
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
! V" M! V/ W3 C5 S, Y
! B2 ?3 }" D: h- k- y! @' m1 S2 eIF[#100 EQ 2.5] TH#30=10.2 A& B' I3 l6 p" F4 u3 t
IF[#100 EQ 0.] TH#30=10.
! Q8 p8 ~; H+ h: V* }( yIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
% k! ~5 U9 s$ C; \8 _IF[#100 GT 2.5] TH#30=20.9 `; r* O% i7 v' w" g8 ?
IF[#100 LT 2.5] TH#30=15.0 a; H& R% d* c7 j/ E. `
N1 G1 X#30 Y#25.......開始加工# V% q9 w- O) x- M4 N% W( Y% }
8 n6 t& {) s [7 ~5 Z; X或改寫成,B法:使用或閘(OR). ~" C j& T' x% G* x ]; ]
#30=10.
% `" W& ?+ P/ Y8 S3 r( QIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
; U# P* B, p9 O3 ~; n7 B) BIF[#100 GT 2.5] TH#30=20.
/ ]/ Z; u/ m; Q( L `2 c, ?8 zIF[#100 LT 2.5] TH#30=15./ U* Q0 T& x" h
N1 G1 X#30 Y#25.......開始加工( E0 R3 p3 g( n# j
! z+ _5 N3 B7 ]5 G0 \還有一種不使用TH的寫成,如下:
% c3 r/ x6 K, E8 M S/ i, ^- I30=10.) h$ Q& T. e5 b4 j
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
* Y" P, V$ G; s. \ a: q' r#30=20.
/ ~3 O; p- f' m, b& x) L) Z9 QIF[#100 GT 2.5] G01
) Q& x" r* ]! q) Q, r0 {#30=15.
7 S) L* Y1 }1 q3 u7 lIF[#100 LT 2.5] GO1<---此條件式可以省略
8 d$ `4 ]8 g. W" {9 i9 XN1 G1 X#30 Y#25.......開始加工, y3 ]/ U/ v5 \/ G+ Y
7 g# U; s; v8 L- O: Y* b#30會一直有數值去覆蓋它
; Z- Z$ ?+ E9 a2 H% `8 Q M1 f) `: o7 f2 F l, J8 i- o* u
6 [3 l6 Z9 x+ d, P8 u- W. a
形式3:理髮
8 u3 |3 t- A! Q+ y3 d/ a- |3 _7 [#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)& l6 X( t. i$ b. I, H
IF[ #100 LE 3. ] GOTO理15分頭1 i, G. |( e- n- S7 ^
IF[ #100 LE2.5] GOTO理12分頭6 Y, c5 X- n5 ~( K; ]* |
IF[ #100 LE 2. ] GOTO理9分頭
7 ?& W K/ u# ]' r/ tIF[ #100 LE1.5] GOTO理6分頭
% T6 |# |% U/ k" l/ d: q& d2 XIF[ #100 LE 1. ] GOTO理豬頭
1 e; ?3 p P" J* U3 U6 o4 j1 A) r" q
, k& ?5 ]8 {9 a* B- ^/ y- ^/ H※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性! \* K$ i7 N9 `$ b( d
# J, E, t: w$ [5 |另外的一種B式
) U/ E$ ~, t; E3 W4 kIF[ #100 GE 3. ] GO% g3 H9 P8 n, V' S
IF[ #100 GE 2.5] GO. t2 L7 }; `0 `! p! C
IF[ #100 GE 2. ] GO- b! r+ ~& G8 H% W& T' U& x
IF[ #100 GE 1.5] GO# D0 J4 p3 _8 `, h6 Z
IF[ #100 GE 1. ] GO
: R$ B) i( O" n$ g( S; r! y順序不可顛倒喔!不然少將會理成狗頭- x& Q8 y s2 _) f' |
此例不能安排、佈置快捷性+ [- C* o/ s$ N9 p( j
8 n- S0 g* s( y+ B- @* W5 p, w& v
7 m2 R' u' g XA式:有點像把數值逼到牆角比,自不量力可直接看出
6 J5 |% g; t9 x* E m; V) V" V7 h% IB式:像在自由空間比,如果順序調換5 e- h$ d# l9 D+ @6 W
有錢人也可以去小吃店吃牛肉麵/ h3 X! i4 n. {9 F$ v
高學歷也可撿回收物當職業
% b" o' F2 s; s8 w! y
C! A8 j% @& T' I再說一下B:順序不能上下倒立,只能轉身如2 r1 u4 \, K: @6 i; j) f8 C( I
IF[ 3. LE #100 ] GO% H6 a1 B3 M* r% @% o
..." F1 P0 V4 { S
...
* l3 T2 R: h2 ?$ C, ~. K. ~IF[ 1. LE #100 ] GO
- b# W8 b3 `7 @1 t4 [3 Y# Y1 `5 z% {/ o$ z# k9 X
A.B兩者有一種共通的特性,領多少錢就做多少事
; Z/ h+ O" N& D" D如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
2 C0 c' O& V0 G5 q# w2 ?, m$ U5 w) j1 A1 q+ |8 j% h4 g/ X
! |8 v) l1 m. Y以上為個人的經驗 |
|