|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 & t. W& @, C( j# m8 t- }& y* k
# ?3 `; h$ U8 x' i
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
3 b* I7 u3 ~ i+ w2 f+ I: \! l( v! c b0 |$ S3 J
形式1:
9 X- _9 t5 y x' c; I, ]- t#100=选兵(陸.海.空)" L& A1 p- Z' Q" D" ^: l* S! \ r5 d9 U
IF[#100 EQ 陸 ] GO1+ |. \. [9 O# @; K( r4 q
IF[#100 EQ 海 ] GO20 {& d2 V: d3 Y; |7 o
GO3(鼻用說.當然是空軍)/ N/ `2 `% |4 T1 F/ v2 g0 F
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)( ]( g7 T0 G9 b9 h' i
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
: ?) Q6 |& u" j j3 |# j' L7 Y7 Y! t( b1 f+ W5 N
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
$ ~1 A3 V5 T0 ?9 M% B也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做7 u6 y9 k) w3 s" O! n0 j4 V
2 e3 k* d Z9 b% c! x還有一種防呆寫法:
t$ M$ h% ?3 R0 }- }- F, N#100=選兵(陸.海.空)& Z$ o5 M; G, a* I, |/ `
IF[#100 EQ 陸 ] GO18 \ J+ S8 ~$ X3 z
IF[#100 EQ 海 ] GO2
* y4 a; `8 ^# r3 r# CIF[#100 EQ 空 ] GO3
1 K! b5 J4 Q8 W, y5 C! a$ l& j1 Q#3000=1.(如果流到這裡表示#100投入有誤)
2 o) S1 Z+ W2 x- c2 y- R$ ON1..../ @$ b9 B6 }5 T- C! Y
" c9 ?' d; Y, k0 AN2....
6 F& @8 X: x; d1 K6 E3 f p0 x# z1 Q$ o$ s
N3....; k; o/ R$ l4 d# G5 N' @6 n
3 o" m9 m3 B3 W/ U' Y3 FM99' I4 a- W- @" Y: W8 Z2 a1 c. S
$ @! I- T; @# I6 z" M2 Q+ R5 a/ }. E" F. l
形式2:! O) ^9 i9 p9 |* ]* d3 R6 ~
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))+ A* H* a* S; c. H
IF[#100 EQ 0万] GO1& W0 p2 T1 f# X- s+ s
IF[#100 GT 5万] GO2 @# y5 D: F t4 n# W1 }6 M% A' I
IF[#100 LT 5万] GO3" [# b. a% ^, t. M% e
GO4(可省略條件式[#100 EQ5万])老師
2 q0 H2 U: X4 @7 {..........8 ^$ J- M: ^& Z" h0 y
N1 人民
% M, g8 y# h, M% r+ X1 G! @2 c+ W. |/ ?; [! a, f5 g& d" j4 b6 w0 ?
N2 政官
( ] p7 o$ E8 x* C2 [. T+ g
& l$ a& `2 ~, P+ \$ S& r1 JN3 軍警
- E s6 P4 X; I3 \- C' f0 X/ D5 g1 }5 f2 ?- \ A# U6 J
N4 老師
7 W7 f4 [! X* Q/ A' v7 J1 g1 \& L$ y" m3 L' U9 a
M99
. a* C4 I+ Z0 [/ B& i9 L( R' Y
& Y$ c* e/ X/ J$ y※注意1與3可能會有衝突,有前後順序性的
/ s% X& ^! U0 d4 l形式2是以新台币計價的
! d9 Y" N* U; Y8 W% U( Z0 ^0 v: ]
# x0 u8 D7 E7 }6 v0 x- |
另外一個IF-THEN的例子:4 W1 }) V, t" ]7 [' C. A4 y
假設#100=已用四則運算,算好的結果
- @' I; B& P" H" k8 v, ]
# t- j( Z. A5 a% ]& t. `' oIF[#100 EQ 2.5万] TH#30=10.9 Z# p% p7 U# m# q- U7 E8 n
IF[#100 EQ 0万] TH#30=10.! `- J& b0 p9 f, q* b) J- O
IF[#100 GT 2.5万] TH#30=20.
: X# i" M# u( u# o- |IF[#100 LT 2.5万] TH#30=15.
2 d$ R( X. C6 M XN1 G1 X#30 Y#25.......開始加工
6 ?) i: ~9 U" _! X" G' }! n7 b' F, d, w# ^5 i1 }- B& v4 @/ l
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
) D! {8 ]2 w" T# d: s6 }+ R
' @, e' b3 p) B1 I$ i4 _IF[#100 EQ 2.5] TH#30=10.1 T4 x8 i- [4 o9 X
IF[#100 EQ 0.] TH#30=10.
2 i5 J8 F, L; LIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
( O( _6 t8 g0 L4 g( GIF[#100 GT 2.5] TH#30=20.9 m4 |( P/ @) }, C* k
IF[#100 LT 2.5] TH#30=15.
7 s! }1 j: N+ y/ E% dN1 G1 X#30 Y#25.......開始加工; W/ q2 {. Y5 F0 b6 B p2 r
0 O! e* e% L" {8 {
或改寫成,B法:使用或閘(OR)$ v" l$ ]7 g$ G4 I+ x
#30=10.
) V& r. T, b8 ]+ N2 K8 \IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
( Z' D4 f( o1 `0 P% oIF[#100 GT 2.5] TH#30=20.# {' j6 s7 i1 F1 t( ~; N% A3 y
IF[#100 LT 2.5] TH#30=15.8 A, h# b& \' Q" e/ m( K2 q
N1 G1 X#30 Y#25.......開始加工( o! |0 f, s* x% y% _
' b; p# k6 J" k還有一種不使用TH的寫成,如下:
0 e) {3 T6 w! y. r& r! x30=10." L \; O$ R3 ~ k
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO18 {2 Q% b y' p4 o4 F
#30=20.
9 z0 R+ X$ j: H+ d$ D- VIF[#100 GT 2.5] G01, T3 L P1 T4 Q) \1 `
#30=15.
# Z7 |; V/ ~4 v1 \1 c: EIF[#100 LT 2.5] GO1<---此條件式可以省略8 [3 q" ]' Q# S( F& c3 B. L% F
N1 G1 X#30 Y#25.......開始加工7 F4 Q2 I1 c' C# `8 R
6 |) }: J* G3 F7 T7 d8 [( G9 S
#30會一直有數值去覆蓋它
8 e( d6 ?# ?$ R6 L! ~! [, D: T3 s3 C: Z0 ?5 }
5 T4 ]7 L: R5 C5 X' V
形式3:理髮! T1 W! S2 S V( j I
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)4 l) H* b" }: J, _% h
IF[ #100 LE 3. ] GOTO理15分頭0 w; w% c. H# q+ E' ?6 A6 |
IF[ #100 LE2.5] GOTO理12分頭3 w# L5 `9 h0 H+ C
IF[ #100 LE 2. ] GOTO理9分頭
" p& l7 s$ F3 E; C9 Q1 HIF[ #100 LE1.5] GOTO理6分頭
, g7 `! V9 W8 n1 v$ X+ x( e& fIF[ #100 LE 1. ] GOTO理豬頭
6 }! W) z& G7 K! |9 t7 w, R# ]: _; ~* t" j6 t
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
: V- S: d0 q8 t" E4 V5 |' p3 h0 h& f, x6 @% k
另外的一種B式+ ?. N9 s# p% X! V1 s' |
IF[ #100 GE 3. ] GO; h; T9 r6 F6 M5 U" j6 m
IF[ #100 GE 2.5] GO) b9 m ?2 i' q! P* y/ j+ C
IF[ #100 GE 2. ] GO
5 p. n$ o: ^+ tIF[ #100 GE 1.5] GO
+ M) f& J* \5 F W$ \4 Z& }+ r; ]IF[ #100 GE 1. ] GO
7 _2 ^3 j% k) W# D; f1 R順序不可顛倒喔!不然少將會理成狗頭 G* o, a F7 d' P, M" p; l9 y
此例不能安排、佈置快捷性
8 O2 ~6 r& W8 E" K
; F; a# w4 Y8 A1 d6 g d+ |
5 _5 B4 B$ y( f! S) k" b; f; ?A式:有點像把數值逼到牆角比,自不量力可直接看出
6 n8 Y/ m; ~' k4 m4 WB式:像在自由空間比,如果順序調換! y7 r# f5 d: z
有錢人也可以去小吃店吃牛肉麵1 j Q e' c$ F r* U# v8 G
高學歷也可撿回收物當職業% l' m) j2 V# b; F9 q
. A# q& G; Q% }' g
再說一下B:順序不能上下倒立,只能轉身如/ ]! ~: r; o7 L P$ d
IF[ 3. LE #100 ] GO
: |6 B/ F5 E3 }" j2 C...
i) r: K8 O! N...5 d# D. U4 [1 p# ^, q2 w6 V. }7 [
IF[ 1. LE #100 ] GO
& B! z8 a% U7 Q% V2 Y. ~) Q* F3 q
A.B兩者有一種共通的特性,領多少錢就做多少事, Y+ M$ W# U4 x
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用+ `+ ?& J# t# e+ q1 s1 |4 S
* W7 M7 L, u6 L# X# P
6 {5 z3 X( c' Q$ n以上為個人的經驗 |
|