|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
% b& R6 N4 N: C
$ p% p! D' b: G t使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性; q& d+ z9 ?, X7 G5 k6 _
7 X8 ]* ^7 g v- _; K; ~, `/ Z
形式1:
z4 N& e) j) g# X( ~1 t#100=选兵(陸.海.空)9 |, G6 [) ?/ h/ ]3 [0 Y% c3 U" g& s
IF[#100 EQ 陸 ] GO1 u/ S. g8 A/ q/ O- D
IF[#100 EQ 海 ] GO2
5 I0 l* g0 \+ G0 KGO3(鼻用說.當然是空軍)
4 \* o$ A1 X! U5 z( w. W(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
8 Z6 d _) _' a4 Y" m* H% ]. q1 k: t因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
2 v/ W# i) r8 b% I5 @5 l
$ {6 f5 ~/ m7 a" ~1 `如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆% L9 k+ {- v6 r- _, O. V: f B
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
2 l1 z# o4 j F
T& `7 A% y$ _- h7 K; A還有一種防呆寫法:9 B0 n: o3 X& I7 W! V R5 o
#100=選兵(陸.海.空)* H& v' A/ S# A+ m
IF[#100 EQ 陸 ] GO1
$ }8 H# o! u7 f0 g' {6 ~IF[#100 EQ 海 ] GO2
7 j$ ? ^& c, s0 C# nIF[#100 EQ 空 ] GO3 z/ y: t: I# E, A( T5 @: V; _
#3000=1.(如果流到這裡表示#100投入有誤)
& b) Z6 a8 Q' kN1....! c( Z( f7 w- P! n
6 t) |; S f! I2 T" _0 A. Y) D
N2....* _! N+ }, V. z0 `' O6 ]
v! s2 Y7 x- I" k& ^( g
N3....: w6 p& n/ e6 K. B8 t! d
( S( ] s$ L/ d: @M99
; c& r5 d! x' r6 Q* T, n9 b- R# c3 {6 {* `
* T3 _' |! V) T$ G8 z+ p- H形式2:: C9 s% z! O$ |; [; e
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法)), i, c& r5 R3 T# X8 U: g% b& V* z. A
IF[#100 EQ 0万] GO1
6 D- o s' c+ t1 }IF[#100 GT 5万] GO21 [: ~6 }8 l1 [8 X, \2 z
IF[#100 LT 5万] GO3& y1 t& S% J. n( ^6 T' U
GO4(可省略條件式[#100 EQ5万])老師$ U9 U) t$ F3 U& ^6 y/ f
........... k1 G+ N1 `2 v9 ?3 u+ p9 i9 P
N1 人民
, L! W, k! D+ L! k7 K& s& v4 v/ Z* b3 K% k, G8 d$ j/ F
N2 政官4 {: f1 B: o: {' P8 G1 _( E4 v
8 M2 Y, N( | }; o; m, _1 {; h
N3 軍警
8 ^4 {8 k( r2 I& o
- r6 a& t6 m7 r! f7 r6 LN4 老師
" _; u+ K- i& M) w) X
& V, Z @/ T( s7 a: ~M99* c/ V$ T$ B/ u
& p/ D$ t( p. R |7 w
※注意1與3可能會有衝突,有前後順序性的
3 i9 \0 ?0 F* f6 m/ _! O, W! x3 y形式2是以新台币計價的
# q2 O+ d& b ~$ h+ d+ `
& g, {7 y4 \! b2 L V y- e: P- W0 s/ N, @, B1 p1 p
另外一個IF-THEN的例子:
4 ]' L) [8 i) o X9 Z7 U& h假設#100=已用四則運算,算好的結果; A9 W. h3 |" r3 R( \7 }
) K4 B4 O% R6 z# N* [IF[#100 EQ 2.5万] TH#30=10.; p' p% e; w, \; h2 g. x
IF[#100 EQ 0万] TH#30=10.# Q1 Q) }% b, k- V# `9 |6 Z
IF[#100 GT 2.5万] TH#30=20.
) U5 \; T& W/ IIF[#100 LT 2.5万] TH#30=15.: @0 u9 K( l+ Z' ^+ t% P2 E
N1 G1 X#30 Y#25.......開始加工
: L4 s- T3 U; \8 w( k
' ~9 ?& C/ _# ~" O- T5 Z" j9 u3 e上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:: X8 H/ a# ~' U
5 E+ n$ b; V u5 K VIF[#100 EQ 2.5] TH#30=10." _3 K" g! |& L
IF[#100 EQ 0.] TH#30=10.
( q b- R. F z( eIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)6 o( J2 P0 C: ?8 {8 P( ~- ?$ M
IF[#100 GT 2.5] TH#30=20.6 M2 {4 m8 q# E% K2 p% I) M
IF[#100 LT 2.5] TH#30=15.
5 | T0 e1 k$ g( ?! \) V* GN1 G1 X#30 Y#25.......開始加工
4 n4 _" p9 ?7 [+ R2 [, r' e2 ?- O% G% ?0 Z4 Q( ]
或改寫成,B法:使用或閘(OR)2 l' a, G/ d( c9 C% ~
#30=10.
$ J1 J* M) N2 f8 {0 q* RIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)6 P* \' J% m" s7 D7 p$ f+ B+ i
IF[#100 GT 2.5] TH#30=20., w) `, B* c7 G$ L
IF[#100 LT 2.5] TH#30=15.
! Z D% W* t+ d) pN1 G1 X#30 Y#25.......開始加工/ q. O% H% u) I- X2 \/ F4 j+ _# I* `
; W- W2 y/ R& \0 Y. U* ~) w( R還有一種不使用TH的寫成,如下:
9 g0 F1 G5 q# [* S* p$ N3 n8 t30=10.1 x$ z. f! q, X* C/ F
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
k! r- y$ s1 m" l* C( a#30=20." J& k* E. q7 _! P% Z( P
IF[#100 GT 2.5] G01
* d" T$ u0 O/ a+ M! O#30=15.
% [2 O3 b3 ^. A8 V, d. FIF[#100 LT 2.5] GO1<---此條件式可以省略/ \2 _/ P# i5 d4 w7 `4 ]0 m5 Y( l
N1 G1 X#30 Y#25.......開始加工9 [; }: L/ D4 F. s% T K" C& x
! Q- I2 Z3 d6 F0 A! _
#30會一直有數值去覆蓋它
/ Q+ W! d* x" m* e5 F& \3 j7 V! [# ` U9 l/ e# p: w2 a
- p3 J' E* v, p {
形式3:理髮
" q% }: A5 O9 M- D#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)0 N. X( f u6 d
IF[ #100 LE 3. ] GOTO理15分頭 H& `2 ]* D* ]
IF[ #100 LE2.5] GOTO理12分頭' j6 K0 I5 f6 N9 M
IF[ #100 LE 2. ] GOTO理9分頭: i+ [7 [/ S" W+ s
IF[ #100 LE1.5] GOTO理6分頭' \7 B2 x8 J2 I
IF[ #100 LE 1. ] GOTO理豬頭
1 l: |. K0 B7 R( c3 Q3 x! U3 I& o0 G, H$ r) F, T8 C" p
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性, {7 o9 T& D0 K# _- T4 s
7 f* V# |1 y; U4 w' P; ^" y5 n) ^0 E) y另外的一種B式
+ [3 I k- k' Y) h$ z* i4 Q% qIF[ #100 GE 3. ] GO
" x; D$ F3 M- i. RIF[ #100 GE 2.5] GO
8 @7 Q4 z0 _" B7 @IF[ #100 GE 2. ] GO
* K8 ?" `% ~: w7 ~7 ^8 xIF[ #100 GE 1.5] GO
6 q5 O! w- T: [IF[ #100 GE 1. ] GO$ p+ `9 m- j3 z2 _# n: d' _. h
順序不可顛倒喔!不然少將會理成狗頭* t, k; q3 e/ P
此例不能安排、佈置快捷性
0 X. D/ C G; D- |# K6 n
- m) V( v+ i; `" ]2 J
1 d' P8 r0 q9 G6 S) p, ~! GA式:有點像把數值逼到牆角比,自不量力可直接看出. R6 h' S! e! {# S2 O3 |7 r
B式:像在自由空間比,如果順序調換& u, @/ X( F# X* y/ Q
有錢人也可以去小吃店吃牛肉麵 r" X2 ?! \# }+ W; e
高學歷也可撿回收物當職業' ]9 t; ~3 k# N3 ?; `* U9 {* K
/ j. Q; a7 K4 Y. S5 i% C# r再說一下B:順序不能上下倒立,只能轉身如
1 f3 U1 M& o, X; Q1 _. t( JIF[ 3. LE #100 ] GO
3 S5 t8 Z$ L7 E2 _1 e$ M+ e+ |# a.../ y/ R, A( |) J# ~
...
$ ?+ d% F4 o0 Y6 E& Z5 k; fIF[ 1. LE #100 ] GO( \! @, H! b: k, g1 ?
: @; X% [' \- e" H. z5 k; n
A.B兩者有一種共通的特性,領多少錢就做多少事
8 D0 A, J! p% _% x: c; z/ c如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
* U% B3 G; \1 k' E+ S, }) }3 d) Z& H. Z
: e) g* X' b, d$ d
以上為個人的經驗 |
|