|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯
! x7 u9 i+ X% Y* Q* E4 H# E8 ~, K4 z1 s% g J2 d" K4 B# ^2 O5 B3 U
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
5 @# ~9 c, X0 j; o3 G; E4 R. G
形式1:
\% \8 \/ ?1 x; w6 B5 \& N; O7 i#100=選兵(陸.海.空)7 r0 c: j" r# [. d3 w5 D$ i) I
IF[#100 EQ 陸 ] GO10 l- y. v: o& Y/ B! M
IF[#100 EQ 海 ] GO2
' J a& u0 Y/ G4 iGO3(鼻用說.當然是空軍)
; h' y. H, U. s7 _$ I(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)# {) G% k W3 l) a4 H
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
r3 Y& P; ?# x3 S' G# e8 [3 H7 N& k8 i. I' z, T
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
2 ?8 x6 ^' \6 }' ~也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
4 `; J0 L) G' c. G. X/ }8 v( M9 k+ \9 K1 P, @4 N( d+ T9 r8 Y
還有一種防呆寫法:8 f8 F% s% W1 x
#100=選兵(陸.海.空): U. {0 F+ S% x/ K: d+ |
IF[#100 EQ 陸 ] GO1
' u0 j D( k ?$ h, B/ W% ZIF[#100 EQ 海 ] GO2: c& C+ K! x+ w" W
IF[#100 EQ 空 ] GO3 W8 ~$ j/ \% k3 L6 Q0 M5 H1 U5 b
#3000=1.(如果流到這裡表示#100投入有誤)
2 G! B+ d* S$ R' XN1....
- @" u( z- u" t! M
" ?4 m# R; P6 r. P- G4 ]( t) XN2....
6 _4 X3 [& k3 x* U4 N+ X8 a9 u# W* y) e, ~5 E
N3.... X! \% O, @( X2 j( ?
6 I' ~0 Z$ ^& T i/ MM99
8 O9 N& t4 {, W) X' C1 i/ N" X/ n5 t" C! X
0 z# V6 I2 c- T0 G! u( C* W形式2:+ V+ x8 m+ i* P+ j! R h6 ?7 ^$ x: L
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
% Z# B) b8 J& U5 \7 D9 FIF[#100 EQ 0萬] GO18 }7 l! Z4 P1 g- b3 O
IF[#100 GT 5萬] GO22 v: u! A( v( ^% Y7 b. E2 Y
IF[#100 LT 5萬] GO37 s% k2 p- {$ } n
GO4(可省略條件式[#100 EQ5萬])老師0 t" n% f: J$ G, k) J! m
..........! P( o. y8 D/ s' h3 E
N1 人民# g4 C& x) H" P! z- o' N; R' S/ V. Y
5 ^5 ?8 j/ f( y( G/ ON2 政官
0 y* K: k) q% V& e
$ Q$ c! B" F0 ?N3 軍警6 o K, A/ C* a/ i/ V# h7 H
* G' S2 ~6 y6 E( S* M- jN4 老師
% m' o/ o6 P3 L9 A& d
N7 ?7 g3 {/ UM99
8 j$ {+ |9 X( L2 E; z3 N9 [1 D$ Z% u0 i( T( R
※注意1與3可能會有衝突,有前後順序性的
* ] E/ d! `- y! Z形式2是以新臺幣計價的
9 A5 b! |8 ~0 w6 s. ?6 o" U1 k. W v8 G
5 _+ o+ E; T1 a6 K4 h0 e# {, l
另外一個IF-THEN的例子:& u# F4 Q% F. y; E
假設#100=已用四則運算,算好的結果
. n, s7 Z- F j5 ~5 b
' p0 k; n, y$ Q- CIF[#100 EQ 2.5萬] TH#30=10.
# E) |# D+ _! a9 v& ?IF[#100 EQ 0萬] TH#30=10.3 r# p9 e( C' f# x
IF[#100 GT 2.5萬] TH#30=20.6 Z& B4 Q5 V5 I4 l7 k" t
IF[#100 LT 2.5萬] TH#30=15." s& r8 D7 j8 L
N1 G1 X#30 Y#25.......開始加工# c9 v7 I+ t7 b' e3 Z+ k# J. r7 ^
& }( W6 c# ~0 B. v& }
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
( p$ |% {( u8 ^6 [/ c0 j& j8 M! K( H! _6 p
IF[#100 EQ 2.5] TH#30=10.8 ^4 p2 g4 s0 `$ |, ?
IF[#100 EQ 0.] TH#30=10.
5 P- n9 U: r e! N* a! X. e eIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
" ^* J& P4 ^# x# j$ ~% n) }IF[#100 GT 2.5] TH#30=20.
! W* N% N0 F) Z9 \2 M/ |IF[#100 LT 2.5] TH#30=15.: W. G: g6 ]; b% h
N1 G1 X#30 Y#25.......開始加工
9 a0 E+ l% p7 N6 \$ z8 W( ~ Y9 o `7 p6 P! }8 n
或改寫成,B法:使用或閘(OR)
T7 b( z3 U. |/ B#30=10.' M3 e$ @2 e( j0 o/ A
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
& o& e) N' B, G# d. mIF[#100 GT 2.5] TH#30=20.
{# _% b* [7 N6 ~" ]8 ^IF[#100 LT 2.5] TH#30=15.
0 a1 p _5 h) C) d8 JN1 G1 X#30 Y#25.......開始加工5 y1 W' ^8 ]& i c1 `
3 X6 U1 u# S3 Y) b5 c8 `5 B
還有一種不使用TH的寫成,如下:
. ~/ i) Y0 c" h5 x30=10.# t: a+ v7 N! I# d* D/ y1 U
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
% o8 i$ c- t1 H& B, u#30=20.; E( b% }2 V7 K A d" D
IF[#100 GT 2.5] G01
; I( [5 k' e3 X! c \' x2 |' _/ i#30=15.! j+ Y ?- e0 c7 s# H% w0 Q
IF[#100 LT 2.5] GO1<---此條件式可以省略5 u+ x5 x1 z% i, v& Q3 W
N1 G1 X#30 Y#25.......開始加工
) e: Q+ M# I3 \( r9 ?" e3 u" \# F8 o. B0 M, y
#30會一直有數值去覆蓋它0 o3 k5 ?" m S8 L5 q& U
8 K4 _$ X- G4 Z! c
+ x9 \+ v/ Y n8 {; c形式3:理髮5 l7 [1 z) N+ Q6 ~& j' @
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
# [1 k3 e3 K: M* ?. D9 OIF[ #100 LE 3. ] GOTO理15分頭: e v3 v7 c/ H; z: |, m. x: v
IF[ #100 LE2.5] GOTO理12分頭3 x$ B! R. @/ y. j I4 F3 G
IF[ #100 LE 2. ] GOTO理9分頭' c* I8 d3 r0 c2 I: X2 I: {
IF[ #100 LE1.5] GOTO理6分頭
1 T1 O8 h& p6 iIF[ #100 LE 1. ] GOTO理豬頭$ k' b0 V. N9 R
2 x( s$ }) d5 o- M+ J Y w
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性7 B4 A$ O- r; O8 c8 r
( u* }5 M* D5 u/ P, w+ i
另外的一種B式
0 b# S' v5 \4 j, J7 ~' u6 J* I) K5 `IF[ #100 GE 3. ] GO
" F. l b$ O. _. UIF[ #100 GE 2.5] GO
$ C& o. b$ M* A: X' y- _4 n& {- m. ?IF[ #100 GE 2. ] GO; {, y% J6 @- _4 W- B3 R
IF[ #100 GE 1.5] GO( t4 e I; m0 h i2 X
IF[ #100 GE 1. ] GO6 h4 H7 o0 N: [* c' ^
順序不可顛倒喔!不然少將會理成狗頭
% @) _0 Y3 P2 V0 g9 l此例不能安排、佈置快捷性- y$ v3 K/ F8 v
2 ^1 }0 Y" R2 @
/ i) g' z8 p( ^$ x9 ?1 k( Y0 V
A式:有點像把數值逼到牆角比,自不量力可直接看出
+ _* F7 q3 H# XB式:像在自由空間比,如果順序調換' U% h7 f9 Q5 ~' l+ A- ?3 @+ D
有錢人也可以去小吃店吃牛肉麵% M; }+ |9 g' B% H( p5 N
高學歷也可撿回收物當職業
6 R* q1 b5 r( ~) w2 d+ k3 [8 @4 s& m8 `# `* U
再說一下B:順序不能上下倒立,只能轉身如
4 u! C+ E) V9 c' H- ZIF[ 3. LE #100 ] GO
# m/ y/ o, v4 e7 \ W+ r$ y..., h4 E* v, c! y+ g$ c% ~6 @
...
( t e8 G \: E1 h9 BIF[ 1. LE #100 ] GO, b5 E: [1 ^) p5 E$ V% {! Q
7 c E1 e' D% {- s5 c/ r
A.B兩者有一種共通的特性,領多少錢就做多少事
4 p6 V: j! [5 X如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
% R0 b8 l4 _, W* j
7 Y4 O# S5 g9 M6 }- M7 r q5 o% q/ x2 s
以上為個人的經驗 |
|