|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
% \ V, D" r0 z- {
$ l9 M0 Z+ X+ Z& P" v使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性' R; T3 n2 y4 H' f1 K2 A
+ M8 v9 M7 u! ?! a: k. w7 x形式1:0 r4 W9 X% h7 z+ H2 ?" ]$ f
#100=选兵(陸.海.空)/ P1 | [ X9 Q' l' W Q- G6 A
IF[#100 EQ 陸 ] GO1
/ g4 T, S) O& C' n" W, zIF[#100 EQ 海 ] GO2- M9 S: }3 o% ~! F5 x
GO3(鼻用說.當然是空軍)
, x3 h( m) F. g. b6 v& y. @(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
$ v$ c6 U, D3 K* \! ?, E. x' K因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序); q- `! t0 p. V1 w
# g$ Q3 X, [1 L t如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆0 e% J1 A+ ^) J" P" ^
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做* X3 ?6 M4 n; @ S6 e/ f2 [( T
* T, L; Y! O# h$ ]還有一種防呆寫法:' }7 N) ]% T* `/ @& o( s
#100=選兵(陸.海.空)
: Z, o1 F3 [9 @' V5 |IF[#100 EQ 陸 ] GO1; C5 }% D0 C; t: `2 P2 Y* [- M: x
IF[#100 EQ 海 ] GO2; J$ M3 P7 J7 h, m# r
IF[#100 EQ 空 ] GO3
, _% r9 Q3 L% [, E4 x& a#3000=1.(如果流到這裡表示#100投入有誤)
4 z6 h' Z6 s$ U, ~$ e* KN1....
$ I. {5 F4 V$ [/ E
l- x" {$ n% O0 HN2....
9 n( D( |) y; k
8 p- R" I, ~. Y* t9 tN3....
5 V+ u- g4 z3 g* v# Q4 T6 X7 \0 a9 j( L% K
M99
" }8 r* X; u- B
4 Q+ s, y! c+ Y8 n; S+ s3 q- w+ ]. k- T& N+ `4 J3 w% U
形式2:# Q; g; L& P7 f! r4 R" h
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))) @- c [% A2 c3 W3 e5 Z( t
IF[#100 EQ 0万] GO1; D" `" W$ \8 y2 A7 _
IF[#100 GT 5万] GO2
- d: p" N0 Z2 @# @IF[#100 LT 5万] GO3, A* T+ Z. e2 W5 r1 Z
GO4(可省略條件式[#100 EQ5万])老師% x/ n W' h" ~+ g" M+ {9 q/ V
..........2 c. @; F. V W. d! {
N1 人民# ^- E# M% v/ ~* P
. M, V' s6 J$ W, zN2 政官
`0 l% G- P6 F
! E% o) B% i0 @7 R8 xN3 軍警
7 d) H5 T4 X9 w
8 V% j' l# i7 S% |7 ^' T9 F* XN4 老師
; K/ o' `: |- j
8 W. i/ f+ E1 q) k; C5 ?M99
/ L5 R) b$ l- ~1 k* @ s( L- V$ i% P {
※注意1與3可能會有衝突,有前後順序性的
* O" p& c; p$ U$ V形式2是以新台币計價的( o0 m' N4 a4 A: s, c
8 F* _% E/ p7 N. R9 p' d) y
) o; O9 ~" F- F7 z# h+ ^另外一個IF-THEN的例子:# m" S0 A' P, r. E" u: Y' }& D
假設#100=已用四則運算,算好的結果+ U5 E B0 j( k8 A$ Q
" Z3 I7 E; H0 h4 @% r7 y
IF[#100 EQ 2.5万] TH#30=10.7 M, c- U5 T# j4 \# ?; X9 s9 {7 ?6 B
IF[#100 EQ 0万] TH#30=10.
2 z; ^; A1 T+ I9 JIF[#100 GT 2.5万] TH#30=20.
' P* V; n( Z1 Q4 C7 BIF[#100 LT 2.5万] TH#30=15.. W e3 r M3 j) y4 s0 r u
N1 G1 X#30 Y#25.......開始加工
3 K. ]# c, c6 u+ I$ a
5 c2 t0 C+ a, [, }/ V5 S8 M上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:, e5 a; O* n% s5 o: E) ~
0 T5 Z/ e4 X$ f
IF[#100 EQ 2.5] TH#30=10.3 w. ?" B# I0 L4 P; f
IF[#100 EQ 0.] TH#30=10.
9 L4 K( e7 d" m0 K1 _% m9 g) rIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)! D8 m$ t0 N$ X; W% b
IF[#100 GT 2.5] TH#30=20.
/ i8 k5 s2 s8 n1 i* m/ wIF[#100 LT 2.5] TH#30=15.2 k J" k J+ ]6 N- y/ f" q/ W
N1 G1 X#30 Y#25.......開始加工3 c8 i( m/ `; N5 |5 e# Q# e, W
! B1 k3 M# j1 W3 {
或改寫成,B法:使用或閘(OR)
7 ~9 p! H ?. a* G' S* e* ]( [% ^#30=10.% |- s: B% W8 R$ x1 R! A5 l% m
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
& X7 F" z3 ]' Z, [ x$ [% _8 Z5 FIF[#100 GT 2.5] TH#30=20.
0 X$ H% M$ e: _- g8 SIF[#100 LT 2.5] TH#30=15.
4 A+ E* f: q u, p' mN1 G1 X#30 Y#25.......開始加工- {6 ?3 X: d3 ^7 E4 f
0 \/ n3 W; K- D
還有一種不使用TH的寫成,如下:2 R$ S( g3 \( J2 Q9 Q7 E8 \* |- _' N8 I
30=10.5 [' a* U- U6 D, p
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1& Z/ Q1 x$ @# H5 u: ]
#30=20. N/ S4 X& B! u; |5 [$ h7 O
IF[#100 GT 2.5] G016 x, S, Z" I5 V$ p- c
#30=15.) x c( F* \: d! }8 ]
IF[#100 LT 2.5] GO1<---此條件式可以省略
# h/ x+ U6 P; v/ h0 ~5 g9 _N1 G1 X#30 Y#25.......開始加工
4 R' S& |' u; d! q5 D Z; z- U! U1 d. u; [, ]8 C3 h( ~1 d9 K
#30會一直有數值去覆蓋它
! N# \7 a% o# s4 @
( ?5 {5 n; f3 G! |4 g: ?) o% r W$ F7 L
形式3:理髮
' ^/ W8 I% E$ o! D! g0 d" @8 c#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)) v- x4 z) S# [# `' X
IF[ #100 LE 3. ] GOTO理15分頭& {9 V4 F/ J. U; k2 u: }
IF[ #100 LE2.5] GOTO理12分頭- V* Q* d2 H; M( Q
IF[ #100 LE 2. ] GOTO理9分頭5 j4 z& ]6 G, p; E! |7 A8 {4 H9 Z
IF[ #100 LE1.5] GOTO理6分頭/ Q5 [" X, o( P; _
IF[ #100 LE 1. ] GOTO理豬頭
$ B! v5 @* H+ |+ G; @
+ b* s% S5 U1 A; G- v0 B& m9 {※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性7 I6 k, ]7 P% z" ]3 |2 o9 \
- w# g! F8 c! v ]0 S$ L另外的一種B式6 f3 ~* Z- c" S- F. S v X
IF[ #100 GE 3. ] GO! D+ t* W: O) o$ u
IF[ #100 GE 2.5] GO. i h6 x( F3 Q
IF[ #100 GE 2. ] GO
! K1 |% d' `" r6 RIF[ #100 GE 1.5] GO; I4 b# J) _ ]9 r9 H# d
IF[ #100 GE 1. ] GO: S, C# Y! E' M9 K" K7 J; I
順序不可顛倒喔!不然少將會理成狗頭+ f; G% ?8 j% H( @5 Y
此例不能安排、佈置快捷性
: L$ `* I& v9 p' |/ f( @5 `# Q( r, O! \( y; ]- A/ M1 N
6 G' `, o) i6 Q
A式:有點像把數值逼到牆角比,自不量力可直接看出+ A1 H* I5 m( V5 i4 M& t
B式:像在自由空間比,如果順序調換
# _! h) D2 L- c- A% _2 S3 \& ?& M有錢人也可以去小吃店吃牛肉麵
1 C# F- E3 I+ F7 ~高學歷也可撿回收物當職業 }& K5 b7 @; b. k" D
8 c7 \- b% D, Q4 n% j
再說一下B:順序不能上下倒立,只能轉身如2 J- J2 S# C, L: m" {
IF[ 3. LE #100 ] GO8 S1 F9 s# M8 E9 v: y/ P
...8 A) u, m: p, O! F0 y' Q9 |; n1 M
...4 |$ q# s5 w* J: T2 \9 S0 k; q
IF[ 1. LE #100 ] GO k& H9 F& ?; h, G0 `# P! v3 ^% K
; Y7 Z: @+ S2 n T! \A.B兩者有一種共通的特性,領多少錢就做多少事
' y& ?( W' \+ N @* G如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用* C, o+ A( j! y; p+ e
4 b4 \8 n" M" z/ V. |1 q* b0 }$ n( t' m8 l
以上為個人的經驗 |
|