|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
( u B% ? @. v9 B+ z4 h0 ~. M
* L2 d2 s0 k1 m/ K! \使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性$ ?' h! l: {5 Z$ r3 E" z/ b
) i/ F: U, ?# G8 b1 p/ O$ C) i) \! q
形式1:$ {3 ~, Q9 `1 d. Y( _) t1 L
#100=选兵(陸.海.空)
; b4 Z6 }5 S$ Z8 i1 @/ RIF[#100 EQ 陸 ] GO1
6 Y, h; Y4 T; s" }4 C- NIF[#100 EQ 海 ] GO2
3 A7 C/ W4 P8 F# H7 l/ P: iGO3(鼻用說.當然是空軍)
- ^1 P5 g( V0 `& h* T0 y, c(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
& o) R) Q( a& s因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)3 g% a0 ^0 Y! }6 {! m/ H" p
" x- r) @% y, w* L; L如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
- |4 Z. E2 V8 Z) }也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
" q% ?: j7 P1 C t( D, H- c: A% q& R6 N7 `( S, @) S9 P
還有一種防呆寫法:* Y, N# W3 b% J3 W0 w
#100=選兵(陸.海.空)2 U% [# P# O" Y# ^1 Z8 T
IF[#100 EQ 陸 ] GO1
- C3 m5 O+ s: MIF[#100 EQ 海 ] GO2$ L: L( I P- U- i+ ~
IF[#100 EQ 空 ] GO3* R3 I' t7 `1 j! Q* h
#3000=1.(如果流到這裡表示#100投入有誤)3 Q( q* |1 V' @7 d/ u& S( r/ A
N1....
3 `1 T0 j- M! g/ y& T- c$ S9 \1 Y3 ]/ P+ p
N2....
0 I5 `. ?/ g( o' m) P3 C$ L e5 E2 {- a/ k+ r
N3....( \: y/ }# N2 P
; Y& v; O* D7 A. x+ ~5 y+ p
M997 O$ ~) q; W; S6 `8 m& a3 j% U6 {3 ]5 c
3 C' d! V2 U# t+ U6 p2 f% J8 m
3 o( I3 l8 M" [9 O" c( ~' B形式2:" C1 D: D4 I: Y% _
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
' N: M9 p" s/ p3 q/ j4 r: ^IF[#100 EQ 0万] GO1) e/ m- t" t* S0 Y5 ~
IF[#100 GT 5万] GO22 _( j; j+ m4 A$ r8 l
IF[#100 LT 5万] GO3
2 [# p- U0 B7 F# z: G9 cGO4(可省略條件式[#100 EQ5万])老師+ ]2 h. [& i K+ O' O9 L
..........) w* q/ f2 \5 G8 Z8 m# [+ h; I6 r
N1 人民
) I3 X7 e' Y4 M
% g$ Q9 L7 I" X {3 AN2 政官$ r; n- _8 }% a% i4 O8 W8 t% a
: R. U1 A. I B5 u( [4 ?3 xN3 軍警/ n& |) N8 g( z- }8 G$ e, t# V& t' ]
9 R5 Y1 y& J1 t3 o+ oN4 老師
' J+ L- W O3 \* j$ X1 g3 k
. o+ \7 D1 L& I, q5 p4 Y( t& YM99
( ?1 S- i; M% u$ m8 _
, v; ^) e1 Z, q: J※注意1與3可能會有衝突,有前後順序性的
& K+ A1 E6 p4 s! ~' O8 m( ^形式2是以新台币計價的
& W+ U# m6 _' A: z/ K# I
7 X) v3 B" v) o1 P5 _5 J) p; \0 U/ d% m, ?0 L1 {
另外一個IF-THEN的例子:
, _ I u% ], i8 D假設#100=已用四則運算,算好的結果2 A8 e2 e# |# A3 Q# c1 H/ E
3 q$ b* x0 _5 E# \5 F/ n# a; e) uIF[#100 EQ 2.5万] TH#30=10.6 T* W- Y, f1 [) f0 i
IF[#100 EQ 0万] TH#30=10.
}0 q# ~4 ?: o% Q A" |2 ~9 h- zIF[#100 GT 2.5万] TH#30=20.2 A1 E% q7 d" ~. K& S) W
IF[#100 LT 2.5万] TH#30=15.! Y5 V! c) a2 c+ m# R7 R7 ]5 E/ `' u
N1 G1 X#30 Y#25.......開始加工
. {5 A3 s; x" i8 u: |4 G, k% b: L' S
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:- R @/ ^2 O @' q% p. {/ y3 P! v
* W' ^9 V6 b7 p" x& |
IF[#100 EQ 2.5] TH#30=10.+ X" f2 B9 T- _5 j+ G( s
IF[#100 EQ 0.] TH#30=10.& d- g! h& n: N& |; S
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)2 z: t: N& ^; ~) X- n% @
IF[#100 GT 2.5] TH#30=20.
, K( m9 s3 C+ y0 QIF[#100 LT 2.5] TH#30=15.' I& t2 i" }. _3 w
N1 G1 X#30 Y#25.......開始加工
, y; `/ @, f6 v" S
$ y* u7 _7 B$ u# [9 R或改寫成,B法:使用或閘(OR)
. u- s1 @0 \: e. w! R& Q#30=10.8 z5 A, x8 _2 _. q) K* I5 F8 `
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
: F( f, E0 H5 g% _) I" U7 rIF[#100 GT 2.5] TH#30=20.
4 \7 w. s, S \6 Y6 Q5 TIF[#100 LT 2.5] TH#30=15.
6 v$ i. O) M) I- ^N1 G1 X#30 Y#25.......開始加工
' t8 a* J, P( W# @0 t1 _& b0 c4 ^2 M" |2 M' a
還有一種不使用TH的寫成,如下:
: i+ M. C" T/ |7 N2 V7 e30=10.
$ Z) @4 P; v5 o/ I" I% H9 ZIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1- m+ l8 c# _4 y0 P3 r/ {# b' M
#30=20.
8 `, ^. d% t! B4 i( |IF[#100 GT 2.5] G018 K I" E* B4 c1 Y3 s+ h
#30=15.1 Z1 ]& {: } r
IF[#100 LT 2.5] GO1<---此條件式可以省略2 b5 @( L8 `6 j7 \$ C) E+ F/ g+ I
N1 G1 X#30 Y#25.......開始加工( L `# d" M7 X# L% f
# B+ l9 Z. ^( s% j1 L1 J( b3 F#30會一直有數值去覆蓋它- `1 s9 q d8 s# r, k8 ?3 a
$ `0 _9 V1 c f) ^
; f; I; d) L8 K形式3:理髮3 K; T& Y8 o% _: y& E G) O
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)4 G4 E9 r0 R- F
IF[ #100 LE 3. ] GOTO理15分頭
( W6 b; [' ?3 e- q' Y% AIF[ #100 LE2.5] GOTO理12分頭* V8 ^6 U5 Y: S2 k
IF[ #100 LE 2. ] GOTO理9分頭
; ?, C) K* f" g& ^2 }IF[ #100 LE1.5] GOTO理6分頭
; m0 P% _( Q: j9 O3 JIF[ #100 LE 1. ] GOTO理豬頭
. _, c) p. p- w# Q. A, K1 y& j5 d, y
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
- P# w" b9 z7 g; o
3 b7 [4 c2 n' x3 N5 `) e$ o) c7 O另外的一種B式2 l( R3 d5 ?8 C2 s W- [8 r% E
IF[ #100 GE 3. ] GO0 W. f7 d) S( ]9 F! |% b# q+ e# P( f4 S
IF[ #100 GE 2.5] GO) y v* Q" W) w2 {
IF[ #100 GE 2. ] GO" u$ J: C) F. S, l8 V
IF[ #100 GE 1.5] GO
6 W" L; O# P# [! O7 N! ]: j+ K OIF[ #100 GE 1. ] GO. u# Y$ _1 `! `# E! j, g
順序不可顛倒喔!不然少將會理成狗頭
# q' b0 l' ~7 g2 i: `5 m9 `此例不能安排、佈置快捷性
8 B4 B) q6 v4 F2 t+ I H$ u* E5 G. }' ? q% m7 m
# B& X. C2 C! ^/ sA式:有點像把數值逼到牆角比,自不量力可直接看出
; l1 S5 }! Z* ]; ?B式:像在自由空間比,如果順序調換
) h+ J: u6 V9 V# x9 R O/ E3 M4 w有錢人也可以去小吃店吃牛肉麵+ K; D, C& K g0 m) k/ Y
高學歷也可撿回收物當職業! `/ v: l& _0 z+ A& G t [' ]
) }5 j( m- X+ d1 d9 u
再說一下B:順序不能上下倒立,只能轉身如
* d# S" R6 A4 b6 R& KIF[ 3. LE #100 ] GO
2 m# Q4 |# ^4 ?...
, F6 J7 X4 G+ ^2 ^...; a4 Z4 C |& D, w" D0 X1 v( O0 Y
IF[ 1. LE #100 ] GO9 l2 y0 A: c$ ], I9 {1 p5 J
v4 A! B9 s3 F$ \: a
A.B兩者有一種共通的特性,領多少錢就做多少事0 U, ]( X4 C( T- x/ ^' D5 p
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用4 Q) w5 Y! \" b" P% g
' Y% c l* X: [1 i0 k: P
( ]8 i7 m" Q+ N2 G* C( N( q以上為個人的經驗 |
|