|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
& w, f+ V" n6 X4 B. r2 P9 l7 u. D$ t! ^4 v% R
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
0 f# r+ d$ {) {! m1 F( R. E; |! Z0 ~' ^* O* l- O: {
形式1:
" i, Q/ b0 z; T! z) Q6 S- v% ~/ }5 o#100=选兵(陸.海.空)' v" r8 v$ _2 |6 O
IF[#100 EQ 陸 ] GO18 o p% K8 T: B
IF[#100 EQ 海 ] GO2
& E8 o* X8 J! V4 w3 `6 l4 ~# l; a# TGO3(鼻用說.當然是空軍)5 N( R: R" J# Q8 Y8 w
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
8 l! w# a/ f2 k# ^因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
/ k7 m3 |# L7 [; ^! t7 ?5 g+ I! F% ^
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆( ]- n4 ]! b" t ]
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
q2 @$ z% K8 |; d: |- y8 T8 s" ~7 s v+ H8 ^7 X& }9 F
還有一種防呆寫法:5 d: o5 J3 q; |" b
#100=選兵(陸.海.空)9 t: \4 e4 g$ T) @
IF[#100 EQ 陸 ] GO16 _0 U8 k4 o2 K7 Q* K' \/ G& l
IF[#100 EQ 海 ] GO27 A, X, h) z. J* F! b
IF[#100 EQ 空 ] GO35 L" u$ h; o, p) s9 S/ c' {
#3000=1.(如果流到這裡表示#100投入有誤)6 h7 r% G) t. _! g7 C
N1....
4 Y+ O( n) b& G( |6 Z0 X
+ O% M, D% m) XN2....4 E: H$ q5 Y0 k m4 a* ~
+ v1 s9 h! x5 i3 W' X
N3....5 j/ j! m- I" O, f
; ], ?+ A( Y+ C4 V8 Q9 ~2 {( T4 S
M99
. K! w1 d U7 H, Z" l2 ]: j0 h, N8 N) s$ ?2 k
' C: [9 s% W* e% ?, O
形式2:: A& G6 g5 w# o1 g9 ]5 S
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
/ U/ K) {- u( j0 [& bIF[#100 EQ 0万] GO1+ U$ a, x* I9 _& X: f/ F5 ?
IF[#100 GT 5万] GO29 \/ Z) U- d! X5 H V
IF[#100 LT 5万] GO3
$ H1 w7 `4 q; }+ o; ^: ~GO4(可省略條件式[#100 EQ5万])老師
# L8 |5 y- q# f* I7 q..........* l4 Z9 i T: \: P+ ^
N1 人民 b1 l) S/ Q8 X0 c
* b4 [3 } E* g- }( q+ {4 IN2 政官
% m" }. T; Z: [0 W4 q! f
& Q$ O# O: J5 Q4 \4 hN3 軍警
! c: p7 R% N- n4 ]# D8 I5 \. W1 D6 e, x6 X3 `8 z& U( d
N4 老師
7 e- }1 X$ x3 H7 I5 E6 Y; G& V7 ^% q4 s \$ X9 C8 `
M991 u% |- r: | ~5 D, R: S7 W
+ }4 D- G4 [/ o2 i; H3 O※注意1與3可能會有衝突,有前後順序性的 \- o& I, a% S" L( \5 O2 A
形式2是以新台币計價的& c6 `6 F; h% q7 z
* Y+ V$ b) P3 ^: z% i2 h/ Z- X. R$ U
& ]# b; w' ]) }! W3 ^* g另外一個IF-THEN的例子:
0 Y. y t: y) \; Y' T假設#100=已用四則運算,算好的結果
; ?5 Q( \+ h# v; b+ v1 I- O% a5 l% A+ ?: l" N+ A& F6 J8 v# q# U
IF[#100 EQ 2.5万] TH#30=10. H% {( w4 {* m' O, l
IF[#100 EQ 0万] TH#30=10.5 L& ^( I: Q2 z& Q4 |
IF[#100 GT 2.5万] TH#30=20.
0 U* p. W& D$ y9 E2 I( EIF[#100 LT 2.5万] TH#30=15.9 e& Q# a+ H# ^5 z- E8 r& }
N1 G1 X#30 Y#25.......開始加工
9 c5 j5 N, a! w4 V$ K2 O$ z8 ^% f* b0 Q* c4 B: J4 @+ [
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
% ^, _$ g$ n7 K
& p6 n# _- q8 K6 j9 W- |& RIF[#100 EQ 2.5] TH#30=10.
# ~- ~7 y& ~5 n& K3 X* _IF[#100 EQ 0.] TH#30=10.; y3 O- d0 Z$ C8 y1 p7 _4 w) f
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)* m& a6 y7 u8 j9 ?( r. ?1 O
IF[#100 GT 2.5] TH#30=20.
# f2 b& b* ]5 G; b) @& ~IF[#100 LT 2.5] TH#30=15.0 ?6 ?9 `' n7 E( t: {3 z5 }
N1 G1 X#30 Y#25.......開始加工! {" p0 f" l" l; E- N3 u
) H! t" L* [/ r0 \0 o+ f/ l/ r& N
或改寫成,B法:使用或閘(OR)
2 F+ k0 o; [* z#30=10.
6 n: c) O; n; hIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
/ i3 |$ e% k0 U' w. DIF[#100 GT 2.5] TH#30=20.
+ g+ P1 f$ E0 fIF[#100 LT 2.5] TH#30=15.
; ]0 d; H3 M* S7 o- M7 r) t* c- RN1 G1 X#30 Y#25.......開始加工8 d5 w$ E% f1 \. O/ w
V6 }4 B/ a/ q0 I# @
還有一種不使用TH的寫成,如下:; s# D. [$ \6 T6 t( ]' F
30=10.
a2 q; U2 ]' o& Y m2 |IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO18 q$ f3 u+ z" Z% {! `
#30=20.7 k( s$ f4 Y, ~/ p" x* W8 c
IF[#100 GT 2.5] G01$ {$ A. l9 K6 t$ E
#30=15.
+ o- b7 l7 d" A4 }# l) yIF[#100 LT 2.5] GO1<---此條件式可以省略& @5 T7 u1 ^ I
N1 G1 X#30 Y#25.......開始加工' n; B4 `) }7 B9 R4 o) [3 Y2 R
% L6 {! @+ Z/ Q$ F5 [+ X1 e8 `#30會一直有數值去覆蓋它
) e, j q$ O! `8 x# \; D, i H# c* k6 `, }0 @5 f: z+ a
& L* [6 n% n& `' R4 D% V# W+ h
形式3:理髮+ p" v+ s/ F, f$ |) x
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
* K1 j: ~# R% A+ K" {IF[ #100 LE 3. ] GOTO理15分頭
' r/ o! m6 o8 ~' N8 QIF[ #100 LE2.5] GOTO理12分頭! H6 |: _3 j; s! Y
IF[ #100 LE 2. ] GOTO理9分頭! x8 A& o5 i% q
IF[ #100 LE1.5] GOTO理6分頭
$ J/ t+ A# O5 D$ cIF[ #100 LE 1. ] GOTO理豬頭
6 ^$ ]9 f- y6 V* P& p& X3 w1 i( U' b
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
' k, {6 r/ K/ c4 y0 |# H9 u( _3 ?: |" ~, }8 l, X! B
另外的一種B式
& {9 E6 h+ j; v( J; \' ?% I# tIF[ #100 GE 3. ] GO3 B. Y v% X6 g& v, s
IF[ #100 GE 2.5] GO
; X' M& {- S9 G( o# XIF[ #100 GE 2. ] GO
# T' B& s3 ]; h0 `1 M# ]* f9 E+ ZIF[ #100 GE 1.5] GO
$ z: }* q5 ?+ p( S4 H7 J* M( LIF[ #100 GE 1. ] GO
( }( K) E+ U, Y; F+ U; K" W順序不可顛倒喔!不然少將會理成狗頭! o, D. z: R; V6 V0 I
此例不能安排、佈置快捷性: |) Y- p" B" R, [) V' L
9 m9 V; o& ~: I( r* }' Y H
; i- T) z, ]+ s! u
A式:有點像把數值逼到牆角比,自不量力可直接看出
! c9 f9 Y1 j8 F' `" TB式:像在自由空間比,如果順序調換
, ~9 j: m( B/ T0 X V" u有錢人也可以去小吃店吃牛肉麵; |. N( R; u6 z6 E/ R6 B
高學歷也可撿回收物當職業
* a4 r4 m, Y% q6 B: q6 F+ ~# s
" O: r0 u" }% b; X再說一下B:順序不能上下倒立,只能轉身如1 L- ]/ ?( d4 c- b$ _
IF[ 3. LE #100 ] GO
# Y3 \1 O m2 ` { W...; q- ]/ m5 h) z8 X; h
...
% Q% d3 `9 a* w9 t, h$ H9 Y6 nIF[ 1. LE #100 ] GO
% b* u3 R) ?) E7 r2 [& ~; [
+ q4 u8 K4 y; T, A, ZA.B兩者有一種共通的特性,領多少錢就做多少事
& F9 l5 B+ d+ \5 S! g如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
. T% u @5 U4 Z& k; {( H* G6 |& {# t% x3 j2 X2 K/ D+ e/ [8 I
. B# S$ C3 g5 |2 k以上為個人的經驗 |
|