|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 ( X4 p- u* l1 O6 x! O
( w( M3 ]: ]; k! ~% w
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
: H/ E/ T: d i9 r( a$ Z; q* @. c; T
形式1:: ?* J+ K* n) Z: K& C; ]
#100=选兵(陸.海.空)0 ?: e. R& ?' x) ~5 O9 L z3 Z' k1 o
IF[#100 EQ 陸 ] GO1- T5 m" }* E1 s$ r" l
IF[#100 EQ 海 ] GO2
8 [( J/ w O0 R' p8 H2 CGO3(鼻用說.當然是空軍)
5 h0 w1 R: Q2 R(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
/ y! _) U. |& C6 `- o) X因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
7 A* B# x; |4 I' O" y* {
' q( E" [% H+ x8 `" R如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
6 i. V9 s0 i3 s& |% O8 W& Q d也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
2 } Z! O+ H2 H3 s$ a" I" m6 {6 u' a* H% E: a4 J
還有一種防呆寫法:
" P( D/ R( P" w- |#100=選兵(陸.海.空)# u. u4 I4 C) c
IF[#100 EQ 陸 ] GO1
& c: {: m/ w4 r8 R, L) wIF[#100 EQ 海 ] GO28 @$ J3 d8 ~4 _8 N- K
IF[#100 EQ 空 ] GO3
4 ^! r* b4 ?( D% P. P" p#3000=1.(如果流到這裡表示#100投入有誤)
2 a1 h( D4 ]* C( h. f, F2 p9 ]N1....
5 H# R X3 _0 s* o7 L' K* b/ s: M3 L$ E) M
N2....
7 M. a: l c# |# J& } e! L8 E l& y) G6 l1 `
N3....
7 Q: A; M; T" q! W8 O* t- Q& ]' s3 W: g) z- m
M99$ \; ]6 ~: O: Y2 @/ S; }" k9 B
" ]3 X0 t) ?3 M9 f1 x' c
. q6 v' N, b% t形式2:
$ s$ G1 w, g6 _, {# f! u; x#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
{, d4 V& d5 G5 I* X' {; d9 v# `* WIF[#100 EQ 0万] GO1
) ~" G7 c2 O$ \8 f7 y; wIF[#100 GT 5万] GO2
" T8 k ] p# z# a: ~ S5 _6 qIF[#100 LT 5万] GO3' t5 E4 ^+ B( i5 i) a5 G ?
GO4(可省略條件式[#100 EQ5万])老師
! U6 x! O( _- Y2 O..........
* V" M; _/ n1 s6 n3 ~7 EN1 人民1 n! i, b( v* A9 c! p
! S2 I4 d7 A, h' h: y: Q* B, `( EN2 政官+ w7 L6 q$ z5 L0 o+ [ T) s
( W* f( b" E8 M4 l. F+ T% yN3 軍警
% Y6 E4 X/ b+ A6 y# ?0 Q( r& |! Y* m
N4 老師, Q6 O5 G, \' h$ R' R" d9 T
" U8 E& y* T* {3 H# [9 N* \M99- \ a- Q* w/ f
6 f' H \5 M9 V# k& Q
※注意1與3可能會有衝突,有前後順序性的# |7 C' J0 M4 ~4 g* _7 e) G3 \, J
形式2是以新台币計價的 A4 B4 F$ b$ b
& ~$ q4 u- \4 p5 x u! l
8 w% e7 A! `9 x* r8 F% N. @另外一個IF-THEN的例子:
: y6 Q1 X9 E6 b假設#100=已用四則運算,算好的結果
$ G: W& @$ \7 s3 ~4 `
" t" K+ e6 |8 `9 @+ k ~! n0 O9 [IF[#100 EQ 2.5万] TH#30=10.
$ \8 n6 y& t- C; |; w5 @5 v- Z1 yIF[#100 EQ 0万] TH#30=10.
8 `0 L: [. n9 [9 x( R7 `; QIF[#100 GT 2.5万] TH#30=20.0 H* E& j2 j6 i, _+ v+ A
IF[#100 LT 2.5万] TH#30=15.
: k S/ `/ S( J8 I7 @N1 G1 X#30 Y#25.......開始加工6 I. N' M8 f9 o, ]3 h6 m5 b
) w) |1 u4 Y6 X, k
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:* c0 ?! u2 A8 X: z8 @
8 L% u/ e( @' `: vIF[#100 EQ 2.5] TH#30=10.
$ |4 Z( o' u- @# }IF[#100 EQ 0.] TH#30=10.- a) b8 h- N! s) L3 Y" s
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
2 p+ s- [+ o& p6 }. o+ VIF[#100 GT 2.5] TH#30=20.
0 i D1 ~2 K" d' Q% r1 R( t; aIF[#100 LT 2.5] TH#30=15.
! b1 k4 y' N6 T' |) N& yN1 G1 X#30 Y#25.......開始加工
4 {7 ~, v# m d: {. ~ ^0 Q t1 V. g
或改寫成,B法:使用或閘(OR)
( A7 G6 s$ v3 n: T. c/ C. }1 y#30=10./ l# @. X5 b% n* d9 h( m
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
6 D4 B) N* G3 m1 j5 h" `$ Z AIF[#100 GT 2.5] TH#30=20., Z% Q5 f+ S1 y
IF[#100 LT 2.5] TH#30=15.$ {8 M" B% { P5 H* t
N1 G1 X#30 Y#25.......開始加工' B; h* e' E9 ?% K. ]
! z6 [0 W n& A& S. Z還有一種不使用TH的寫成,如下:' V/ m* L4 w$ T* z m5 G2 h5 T3 |
30=10.
: F1 k& y; @, j1 u+ ]1 T: qIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
$ l; H: @: h( L& @: L) {3 H4 z#30=20.
, Y% T& R% @+ T! \IF[#100 GT 2.5] G01
$ i1 z+ Z! y. p7 o#30=15.
3 B5 i) ^% E3 L9 G$ W0 bIF[#100 LT 2.5] GO1<---此條件式可以省略
9 r+ z4 v& x+ W' X6 Q. cN1 G1 X#30 Y#25.......開始加工
2 U7 d6 }% j- X- S9 q! a8 G9 ~( m/ ]8 h! ?5 v
#30會一直有數值去覆蓋它
8 m, Y/ j! ^9 {
! j* k, _- W) V1 A% M
( ]+ E7 _) C5 u; o8 h3 e6 R形式3:理髮) z- a V2 ] I- Q0 T- D2 y
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
5 [; d7 z0 q! X" W8 YIF[ #100 LE 3. ] GOTO理15分頭. M7 W' g2 q' x( t
IF[ #100 LE2.5] GOTO理12分頭
7 v. Z. R2 f- V" Q. G: |IF[ #100 LE 2. ] GOTO理9分頭
- Y$ D/ C4 n6 l+ v3 J; JIF[ #100 LE1.5] GOTO理6分頭4 k+ B' h5 L) Y7 V6 v
IF[ #100 LE 1. ] GOTO理豬頭' ?% U d4 |3 p, c' b
7 Z& J1 q2 W. k: J※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
/ O3 K( [9 ^/ ^! `# r0 G, w$ C# n: K3 M+ V2 Z6 f1 i8 ]; |3 l
另外的一種B式
5 m+ t9 ?& \' A9 i! GIF[ #100 GE 3. ] GO
2 v) ]- A% ~5 w( t$ m" `5 nIF[ #100 GE 2.5] GO
& k- w, Z% x( f8 y4 OIF[ #100 GE 2. ] GO( b: B: ~; R# o
IF[ #100 GE 1.5] GO
6 ]) s0 `$ \3 V; t, G: |IF[ #100 GE 1. ] GO
$ M g( f4 ?, Y) F5 z順序不可顛倒喔!不然少將會理成狗頭
1 s, I+ g( E% X# {5 t此例不能安排、佈置快捷性, |% W; i4 M. N# d# K* w
5 h& ~6 y0 r/ D+ }; n% w/ R
: \5 ?) b D3 R5 B! j2 m5 m
A式:有點像把數值逼到牆角比,自不量力可直接看出
5 x+ V6 h, \1 k3 _2 nB式:像在自由空間比,如果順序調換2 O. K' j4 ~8 F9 V
有錢人也可以去小吃店吃牛肉麵2 s% I& |9 C. D. @# O" M( z
高學歷也可撿回收物當職業9 [) U7 [' b! C
! s- |; r. K$ b5 p7 y# }
再說一下B:順序不能上下倒立,只能轉身如
# Z4 z/ ~( w% U! n( R, x& ZIF[ 3. LE #100 ] GO
; ]) h" K J1 J; ~( o2 o1 F9 Z/ R2 F...- B% y, ^% g1 G, Z" A
...
2 U& A/ g7 Z" SIF[ 1. LE #100 ] GO
- a$ M/ X. u, p6 G
: G. s; i8 {4 }' f- CA.B兩者有一種共通的特性,領多少錢就做多少事; Z0 u/ n9 N! O0 D; y% H6 E
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
) R& i6 W8 o3 P# U' a& o
: M+ H2 t- ]6 g+ N3 u( S; o0 o3 J
以上為個人的經驗 |
|