|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯 2 H8 I" q# I% B0 {" c# S( i: g
' |( y) Y5 ~9 Y0 a2 g# p* ~使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性. G: S! e: r$ G3 Q
( d/ F: E5 G7 t
形式1:
" N( m0 Y) ~: p J#100=選兵(陸.海.空)
$ z1 d1 C" m, d3 [5 b/ n% z9 `# x6 I3 AIF[#100 EQ 陸 ] GO1
9 e- V/ A) x- l5 ~6 C( lIF[#100 EQ 海 ] GO2
. i, S( P$ q/ {# v+ n8 HGO3(鼻用說.當然是空軍)* S6 U$ |0 p4 V; \
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
4 {& d; v4 L( \5 C$ ?因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)% t2 W' ^) k- x" {0 B
: u+ E4 [" R# e如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆$ _% A3 X/ V4 y9 e
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
! `$ i" c. D9 \2 j0 Z4 E6 t# g# S6 @: A) d: I" w% {' r: @
還有一種防呆寫法:
' E: x$ k% u+ ^8 L+ e. E9 q#100=選兵(陸.海.空)5 |6 w6 J. x. |# \
IF[#100 EQ 陸 ] GO12 F4 _& [3 f1 x# c
IF[#100 EQ 海 ] GO2/ p) y& u9 p7 V" @) _% d2 x7 [
IF[#100 EQ 空 ] GO3' T( n* D! M: k! t6 E0 t: n
#3000=1.(如果流到這裡表示#100投入有誤). H! M3 [, W5 }9 ?9 M
N1....
6 c# ~0 v+ c& v- B0 d# g8 o. k0 R% J8 q
N2....
9 W$ N/ Y/ _" N' ^, U$ \! q
/ `, G0 y& ^8 a. H( }N3....& G2 z. i6 d% N# L7 I
( R" E$ O: T1 z" @; J0 ?$ w
M99
6 i5 h* ~* B( c% S" D# ]5 L! p' N6 p" `6 I
* V, P. d3 E/ N: J
形式2:0 r0 O, F5 v1 {+ [- Z$ x
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))% W; ]& b: B$ u7 j6 W) j+ b
IF[#100 EQ 0萬] GO1
$ h9 G: O" u: L, |7 o$ T6 ^- ~2 wIF[#100 GT 5萬] GO2& f. W# ?+ X9 P9 i j* P
IF[#100 LT 5萬] GO33 d1 [; h% ?1 F" x* J# M* Z5 s2 ]
GO4(可省略條件式[#100 EQ5萬])老師
. ?8 A2 T( [: `8 U.........." Y, k7 d7 m9 K# ?2 l
N1 人民) J* n7 b: R+ z' T) I4 O
) |+ b! c3 k8 e) ]N2 政官
! {( R5 A$ C( ]- V( N. o- M7 a+ B7 Z' ~- a( F8 O
N3 軍警
3 v3 \+ V0 h/ K$ r: {' K0 v
; |$ z* S3 X3 v! c I0 H& EN4 老師/ b: I F' J; U( I( V4 E
# W: J5 K+ p( V) V8 a& PM99
' C8 }' `- O t" ^3 s" i3 p) h; G8 E) L% G2 K4 N
※注意1與3可能會有衝突,有前後順序性的
) n' h8 x; T3 M* [# X形式2是以新臺幣計價的
9 A ~) r" v; H
. U( S. o, Q# S5 N9 ]
+ O: `; ]6 }0 Q' a( @另外一個IF-THEN的例子:
1 X1 v6 R% o$ ]假設#100=已用四則運算,算好的結果 S2 e$ Y3 A0 R2 M- e" V
) h! o) J6 M) Q# d* U7 v7 L: ]- MIF[#100 EQ 2.5萬] TH#30=10.+ r" l6 P) ^" X$ W
IF[#100 EQ 0萬] TH#30=10.. e/ ], F% |$ S d* F0 k
IF[#100 GT 2.5萬] TH#30=20.! ] F6 \$ ?! y2 h; e/ c
IF[#100 LT 2.5萬] TH#30=15.
; R4 K6 ^7 Q% k$ J# G' m# IN1 G1 X#30 Y#25.......開始加工$ f3 d% e2 r: G- a* w
8 p t8 s# C# n" g1 `/ j9 |0 R
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法: y @1 h5 S$ N& p: n. Q
) C4 _$ t' |& C
IF[#100 EQ 2.5] TH#30=10.
0 o/ [) v0 K2 ^- P# x+ S' BIF[#100 EQ 0.] TH#30=10.4 k' r2 K( y6 Q: t/ o
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
- x4 s# F$ V- u9 T% e) PIF[#100 GT 2.5] TH#30=20.
! H3 n# y- x; v" D* B V; [ XIF[#100 LT 2.5] TH#30=15.
/ t* O5 Y* K+ q& ^ { GN1 G1 X#30 Y#25.......開始加工$ m E, J0 q# v5 V9 Y
3 k' v. c3 p4 f
或改寫成,B法:使用或閘(OR)& g* d* J9 b; Q" O! Q$ f
#30=10.
' e7 q- D: Q) J9 y$ U. h6 V9 |IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)# n8 E! ]: z* y0 x0 F: m
IF[#100 GT 2.5] TH#30=20.; q- j) |5 N, w1 ^- Y0 E
IF[#100 LT 2.5] TH#30=15.
. J$ B# y$ b8 T" W$ yN1 G1 X#30 Y#25.......開始加工, S3 o; s F/ r1 n2 g- W% j5 u
' ~0 I0 x! U' p6 d+ {# L還有一種不使用TH的寫成,如下:
2 U, n4 @; G8 j3 D- j. f& N30=10.
" i' N* S1 Y' o8 Q% sIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO12 ] [9 Y6 @# B& d; t/ t# {0 A- n) y
#30=20.
R% h0 l9 ?3 O% |IF[#100 GT 2.5] G01
+ ~5 d* e) J( G9 _' m& G#30=15." _. I" f& V4 o9 y. A
IF[#100 LT 2.5] GO1<---此條件式可以省略/ {# ?' ]) I1 T
N1 G1 X#30 Y#25.......開始加工
- w) l. K5 z' Z: [
* P9 ]* _3 N l7 Q% o( l#30會一直有數值去覆蓋它
" N1 Y( l0 ^0 O
" B1 S$ W- i P9 q$ ^. {2 N P/ |
: O: W* ?/ ^9 P形式3:理髮! x: e1 O+ i2 K& U- t
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)# b( p. r7 F6 ~ E5 M" c: I
IF[ #100 LE 3. ] GOTO理15分頭8 g* W3 j* U& d7 R$ r# _8 t
IF[ #100 LE2.5] GOTO理12分頭* i8 M: i- L6 k! X
IF[ #100 LE 2. ] GOTO理9分頭. M& g7 z4 q* ]8 e9 q
IF[ #100 LE1.5] GOTO理6分頭/ F1 n: Z9 D; A, t+ J6 }- |
IF[ #100 LE 1. ] GOTO理豬頭
. L& f7 F7 J7 y2 ]# v# M" a- ~
; Z% ~9 B0 Z3 B7 g+ {※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
5 J4 X- q+ N5 b" }6 E
% I- g$ u0 q% _6 o另外的一種B式/ C" r n; j/ V' |. Y' T' t: S
IF[ #100 GE 3. ] GO2 R6 }, w- \. Y$ @. }, H
IF[ #100 GE 2.5] GO
5 Y4 w2 T9 \5 K$ t2 GIF[ #100 GE 2. ] GO' I) y, ~+ D% o `: K5 S
IF[ #100 GE 1.5] GO
6 D% P6 P9 V a# ?% t% p" f, PIF[ #100 GE 1. ] GO! e- t2 q7 @9 |# n* I
順序不可顛倒喔!不然少將會理成狗頭
( P' c% R0 \+ e此例不能安排、佈置快捷性
9 P( C$ ]" U1 @( \/ D- g( r. N0 ~2 t7 R* Z$ R N4 h: o" `
2 Q: F2 g. G! S$ v4 qA式:有點像把數值逼到牆角比,自不量力可直接看出9 p5 f a. V, E1 K T5 w
B式:像在自由空間比,如果順序調換
0 f+ K6 V! v6 p, i: S有錢人也可以去小吃店吃牛肉麵
[0 h, V3 O4 S高學歷也可撿回收物當職業/ [5 p1 `. p0 L& F' h
+ ~/ i. j: Z- D, N+ Q5 e3 x
再說一下B:順序不能上下倒立,只能轉身如
! E7 m/ v7 X. a7 g* [- E& mIF[ 3. LE #100 ] GO
* {) w) D- x8 p( M...
9 H0 t% ]( \5 i* B...
7 n2 t& P9 r4 z4 U% aIF[ 1. LE #100 ] GO) c8 H/ s% o' s% \
* w+ l. w, c+ n PA.B兩者有一種共通的特性,領多少錢就做多少事. b {/ O( ]( h# ~" K" v2 i; C
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用9 z V N1 c: Z
; g, R( e$ s% r; l8 i2 h( Z: `, s5 z% K+ S. y( c
以上為個人的經驗 |
|