|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯 . J6 T+ Z& L- `( n
! f5 C; ^6 |6 N7 Y& \, E" V4 _
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
" K b( ]/ Z s! V% q# I6 w
" x6 h2 g# m9 _9 U) Z q' j+ A- l6 }形式1:1 ?3 Q% a$ X6 {) x' c) t4 v
#100=選兵(陸.海.空)
4 i- w6 Q' S3 uIF[#100 EQ 陸 ] GO1
% M Z! J" b& ?" w+ U i- VIF[#100 EQ 海 ] GO2
1 s1 l" v" ~* u3 mGO3(鼻用說.當然是空軍)8 T9 D6 u$ U! R1 o
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)) l" Q! `2 l- q) O) _
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
8 U( ?; }& m3 s d5 ?# ^7 l0 x& _9 D1 M7 d* \9 \7 M
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
! w7 {% d( L9 Z3 b也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
4 c$ D1 d& F, E! ~& M
# [* j: h4 d* ~; {還有一種防呆寫法:& v5 Q2 S+ u5 g# ?+ V
#100=選兵(陸.海.空)
$ Y9 w4 y a V; U. {! j6 xIF[#100 EQ 陸 ] GO1- V$ s5 ~& x7 `2 `( z. J! U3 `
IF[#100 EQ 海 ] GO2
/ N t% r6 s) x8 ?, B. D& IIF[#100 EQ 空 ] GO3
' ^9 J& `8 ^8 v! h* Q* }. }/ N6 s& Q#3000=1.(如果流到這裡表示#100投入有誤)" }% R& p! ^: T" p
N1....# g# T, `8 g7 g% f! Z- F* h
/ B+ @4 i! A$ s# W( H) lN2....& E6 ~/ O# {) g
! m- a- s0 \& |: S: G4 `N3....
" }- f% x- x$ x9 d9 @
4 ? w3 D6 w$ J5 ^, \M99$ m5 L n2 w3 g1 }3 Z( j
/ ~' v- O- P2 [! g2 \! B* a
( o, V" I+ i. `+ a1 v, U& z, ^形式2:
8 u5 |6 b; E% _2 W, G#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))( o2 u, _: X9 Z9 f0 _
IF[#100 EQ 0萬] GO1( z" w! e8 S9 R1 n
IF[#100 GT 5萬] GO2
. H* `3 b1 D; f/ e) K0 }9 j fIF[#100 LT 5萬] GO39 g2 f5 N* q4 l! N
GO4(可省略條件式[#100 EQ5萬])老師' ^% Y$ Z1 M# m. w4 K/ X
..........3 M b5 {7 m8 @& B
N1 人民
' R) h; ^& m1 F
& D! ]$ M" l3 N8 S% |N2 政官
1 j @' E' j5 L! [; z
5 X, {4 }" x2 K6 o t* EN3 軍警* u- ?1 N& Q3 O: l' Q! O' w1 M$ M" R
6 z( m8 E, H! {3 O& ^# WN4 老師# R6 q: P: X1 D- k2 y: |5 y
) n- s% ?& ?. d
M997 F0 M6 F$ Y. W9 \. C, K$ H$ }9 u
; h( A/ |( P- O) ~7 {1 y: v※注意1與3可能會有衝突,有前後順序性的
- R" g0 b$ ~" j6 d/ f' n形式2是以新臺幣計價的
9 F# M' v% D9 R, K+ u+ t) j @
4 C1 @; B9 P' A2 U% W9 R9 a
- {) n- I5 E* J6 R X; A# D; D另外一個IF-THEN的例子:
2 a7 ^; h: k) I. a假設#100=已用四則運算,算好的結果
- g6 v* m N- i
9 h, g+ o2 r: w/ b* u4 wIF[#100 EQ 2.5萬] TH#30=10.; j* X- ?( d$ h4 f% f8 i4 @
IF[#100 EQ 0萬] TH#30=10.
9 X% }( h& {2 v+ k0 |7 W& gIF[#100 GT 2.5萬] TH#30=20." `8 M" ]# w/ J8 i$ G6 ^3 ]6 |
IF[#100 LT 2.5萬] TH#30=15.
& F/ ], ?/ m: v) O, Y$ zN1 G1 X#30 Y#25.......開始加工' k! p* K5 g5 E6 q8 ?' i5 x
, `! q4 }) j3 m1 r) k9 \上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
/ O* v7 I% H u1 o- h# s) y$ ]$ ^3 Q( B Z1 Q
IF[#100 EQ 2.5] TH#30=10.
& d7 W3 Q$ M: V) uIF[#100 EQ 0.] TH#30=10.! I; i% i) a" c4 ~0 C9 G, M
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)! q6 x, @/ h" K: p$ B+ e- O5 Y
IF[#100 GT 2.5] TH#30=20.9 o* p, @+ P5 U0 n( G! w. `
IF[#100 LT 2.5] TH#30=15.9 a- C& {5 k6 Z' ~# h0 m
N1 G1 X#30 Y#25.......開始加工 Z7 @) _5 N! H1 i6 C
1 I, t- C" ?/ K或改寫成,B法:使用或閘(OR)2 @. s+ w! q r& |% U, c* {
#30=10.3 }) }# v j$ \4 h7 T
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
$ Y+ G1 }( T- R$ `6 s& _( u2 r3 `IF[#100 GT 2.5] TH#30=20.+ E, {3 X% x2 I" H/ F
IF[#100 LT 2.5] TH#30=15.
9 E! {0 k& s; j2 M( v0 }) D4 `N1 G1 X#30 Y#25.......開始加工, n2 J( }- v) p7 y. ~* o/ D
4 C' N1 a6 `; d1 I+ m還有一種不使用TH的寫成,如下:, J; G* Z$ n' z4 k
30=10.
8 B3 Q; f; T1 ~, t' \IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1% U3 d* r n- X+ j# W1 m$ P
#30=20.
$ B, k8 t- B! I3 G# ?; @) \5 TIF[#100 GT 2.5] G01
/ o& N& g& E$ D+ M6 A! q7 d#30=15.
' s6 y" N' D. R8 D. G+ c& T7 z: TIF[#100 LT 2.5] GO1<---此條件式可以省略9 I% [& q0 }, E; m, l- _- H) r( ]
N1 G1 X#30 Y#25.......開始加工
3 j+ E- ^3 M4 q, k) P! g4 g6 k/ }& x2 O* ^3 o. H: E
#30會一直有數值去覆蓋它
6 Q7 ]" f- ~3 F/ G0 h
7 r9 h$ X6 |' x1 N% a6 f9 u p* V& A% U! m4 `
形式3:理髮! Y, j; e) y/ h9 h2 {, U
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)" K' E- w5 O* w( q }7 K v
IF[ #100 LE 3. ] GOTO理15分頭
9 E1 U7 `" l7 a( b$ S- SIF[ #100 LE2.5] GOTO理12分頭
% g4 B( P( t. B+ Y! v0 }5 _IF[ #100 LE 2. ] GOTO理9分頭
# l8 r$ a7 S8 u& R' lIF[ #100 LE1.5] GOTO理6分頭8 X) P a2 s! w L# Y6 T
IF[ #100 LE 1. ] GOTO理豬頭
6 C+ ~0 f$ }( u9 t8 h+ V: S7 E* P" K" h- l! d) P' K) I7 t, k6 y7 @
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性9 B, C: a0 ~8 b4 r
8 a6 L2 h( i2 @另外的一種B式
3 |9 T' g/ j$ W" W* ]) |( GIF[ #100 GE 3. ] GO
+ e, D3 I3 `. D4 CIF[ #100 GE 2.5] GO* l1 |' n' {3 ~5 X* Y6 T5 j
IF[ #100 GE 2. ] GO
# l8 b% |. }0 d5 _2 Y& p7 l8 f) @; XIF[ #100 GE 1.5] GO
3 M$ T, T" g BIF[ #100 GE 1. ] GO7 p" |( Z. v9 k! o& ~
順序不可顛倒喔!不然少將會理成狗頭' p( e. T( M# I2 r7 n- y& j" \
此例不能安排、佈置快捷性
$ `, F! I A2 q6 k7 B/ ]" S
* g) O: v( h. g% m3 }- E# X4 }. r! a! g. @7 |& I, v
A式:有點像把數值逼到牆角比,自不量力可直接看出; s5 Q% P: n3 }9 P, x
B式:像在自由空間比,如果順序調換0 R8 q6 O7 B& d
有錢人也可以去小吃店吃牛肉麵
+ L1 x7 V/ W# _; k1 O高學歷也可撿回收物當職業
9 a: ^( u8 x- _9 {7 ]! W% u, D) m: V6 m5 l) b
再說一下B:順序不能上下倒立,只能轉身如
( n1 T% W! e" v4 f' z, YIF[ 3. LE #100 ] GO# q% n: `, e4 W# I6 W, d; L# X7 q
...
V, o+ f( Q, ?+ G u6 {, Y...
: w: s4 o3 m7 h0 J/ wIF[ 1. LE #100 ] GO
- M, j# v: \$ l6 J O5 [7 k6 h9 x. `' E" j4 t: d6 T) G2 C# T- L& p1 z5 O
A.B兩者有一種共通的特性,領多少錢就做多少事9 y% G; j; }8 e9 Q
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用$ d& b5 n/ a7 C) E4 r6 c) D
( J2 X7 X: S) w# A$ p8 y6 l5 I3 a4 H7 N4 q6 p# o( a/ y
以上為個人的經驗 |
|