|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
$ E) K; b0 r: C. s9 B% f9 `8 ~" Q" x7 `/ ]/ b6 \' D/ P
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
5 s9 L# F/ P: w3 A" I5 o3 S( p7 Q
形式1: C, ~" Z) k0 B# @0 z s, g3 ?3 j
#100=选兵(陸.海.空)# z2 l: s; t3 j" J- h
IF[#100 EQ 陸 ] GO1) U1 ~1 U! I7 O' }( \+ G) x3 {9 {
IF[#100 EQ 海 ] GO2$ @7 X# q: e/ ^
GO3(鼻用說.當然是空軍)8 R8 \! Y2 i: L! z$ @
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
$ j- a3 l& y8 P/ C- i2 D! x因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
# }$ ]) g3 C' O F" I& c" A z
6 _. k: j* p% T* J& W/ F) w( O* X如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
7 j! c% {+ u8 l9 Q; u! ^0 H6 U! o也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做4 ^/ }) v, [/ X) T. {" S- W
" B* p- D6 C- L. W8 I) R2 Q! m, A還有一種防呆寫法:
1 q6 o1 z8 m6 P% R#100=選兵(陸.海.空)) I8 [7 o* m3 S8 f) X: a
IF[#100 EQ 陸 ] GO1( q1 d5 `8 x1 {( ?1 `1 P% \
IF[#100 EQ 海 ] GO2
8 I9 p- ?7 ]7 N$ C8 T2 O7 r3 P4 |IF[#100 EQ 空 ] GO3" @5 ]: D9 g, }5 z3 ^7 \1 Y! D; g
#3000=1.(如果流到這裡表示#100投入有誤), s: J2 W& T+ p/ ^6 v' F
N1....
- \- P' G7 Y& _* r: M- J: ]- c- g: U% x4 z" e* [) r
N2....
" c, n$ T! t( Y; ^$ U2 |& _% W, ~( U+ h4 s1 O+ j
N3..../ @" z* x$ K" g" D% b" a
/ @/ ^! g% d5 H; ]; c N. M. Y
M994 k9 r6 _& @3 z- C
, Z0 A3 E1 Z$ O5 t% @0 s- o) W6 `7 \6 |9 \/ ~$ T- p# V
形式2:6 c8 X$ N2 A; C; O" d
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
9 b$ X- H3 H) D2 b! ^5 _. b2 wIF[#100 EQ 0万] GO1: X& N2 r9 p# r' j* x8 b( R
IF[#100 GT 5万] GO2" r8 J0 N- a1 D8 r3 g
IF[#100 LT 5万] GO3* q) @" G$ h; j6 I( S3 Y/ t3 @0 ?
GO4(可省略條件式[#100 EQ5万])老師
, N# D: j5 d, Q9 Q..........) ~9 F- b0 P z: X
N1 人民, r. |/ p/ _3 Z' H& o' e
. c9 S' t# d! |- R
N2 政官$ A/ _1 \+ D; ^$ s* {9 Y
N3 Z: l$ M$ [6 y& a; B6 z; ?N3 軍警
3 }$ w9 q; H$ l+ @$ R1 A! I
# Q- q1 D) p' x9 o! a' jN4 老師& k0 X0 z2 \2 F( U0 A
( _ V8 ^ q7 i: rM99% J! @' c f& j+ M; E- z6 v
3 g0 x' H, P; H. N$ I1 |, d V5 s
※注意1與3可能會有衝突,有前後順序性的
/ {5 d, t1 D+ }+ B" ^2 A9 f, j; C形式2是以新台币計價的
8 Z' G. B9 F$ g P# }8 v- a! k' ]3 ^* i' V/ Y- a
# C2 g* ^1 v" l0 `另外一個IF-THEN的例子:* S& B" E+ E7 v1 G. o
假設#100=已用四則運算,算好的結果
g2 ]6 A; i4 W4 q) B5 O" R0 D4 L8 W2 A0 ~' q: D' Z
IF[#100 EQ 2.5万] TH#30=10.
5 {1 ^9 s+ M h, [/ mIF[#100 EQ 0万] TH#30=10.' a0 ?1 f0 \! ~& X( W
IF[#100 GT 2.5万] TH#30=20.1 ] X: {) a+ E
IF[#100 LT 2.5万] TH#30=15.0 W# g! d- O2 u# Z' t1 D
N1 G1 X#30 Y#25.......開始加工
9 F" X, I% {. g3 }' u
" `1 [6 S2 k- \- C9 w) t上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
. n, ?& |2 [/ q) i) q4 M( g' S# K# P$ q0 ^: }$ i
IF[#100 EQ 2.5] TH#30=10.5 X: V- }6 P) g# Z: e! H
IF[#100 EQ 0.] TH#30=10.0 f% R: d7 ?0 O" i: \+ T1 Z
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)! e) _ i) Y5 Y6 l+ l/ K& d+ G8 i$ D0 l
IF[#100 GT 2.5] TH#30=20.
( N, ~* n# C& U& D) [9 E4 cIF[#100 LT 2.5] TH#30=15.
3 r. n4 z0 |4 a- @2 F+ b7 bN1 G1 X#30 Y#25.......開始加工
8 b0 _7 l+ _& r0 l6 {% C5 P, A
$ ^% K' C9 e8 x9 B& ~或改寫成,B法:使用或閘(OR)% p/ L: y# e* {- m" B4 x
#30=10.
" p: I2 o: Y3 B9 T9 MIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)) ^% P/ Y% z4 H4 Q
IF[#100 GT 2.5] TH#30=20.
. l6 u. P3 I x' d' ^7 lIF[#100 LT 2.5] TH#30=15.( }$ N9 D! I) O" m; ^) U
N1 G1 X#30 Y#25.......開始加工
% `; h4 c8 z# S9 W9 x4 U3 z0 y( @1 R, V7 ]
還有一種不使用TH的寫成,如下:1 o4 I2 _0 P; Z& r
30=10.
. [+ ~" R% h7 ZIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO16 i6 ~6 C" U$ }6 N
#30=20.( Z: X$ ?/ v% e* {' I$ g: o
IF[#100 GT 2.5] G01
, y, @& P( W) k8 ]: x- M, R#30=15.: ^$ e+ n4 I. c+ L
IF[#100 LT 2.5] GO1<---此條件式可以省略; ^1 Z4 `9 u! ]- x6 G9 n/ ?4 p
N1 G1 X#30 Y#25.......開始加工" Q- t; {2 g' e$ W- E4 w2 }
0 V y( J; @6 R, P/ U a3 u
#30會一直有數值去覆蓋它
" O! j p6 u6 g8 O' w" A
3 ]5 c2 o" j' _2 U
) u9 J& }7 W$ C1 a# [形式3:理髮4 O( S; P0 e8 J& j
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)& z' @# T% ?* o: f% x+ C5 Z
IF[ #100 LE 3. ] GOTO理15分頭
, N# B$ l- @% NIF[ #100 LE2.5] GOTO理12分頭
( X( g5 P3 t7 d# Y& U3 s1 ~IF[ #100 LE 2. ] GOTO理9分頭+ a O' S' V# a4 t, c
IF[ #100 LE1.5] GOTO理6分頭
7 Q5 M i0 _' M/ H+ yIF[ #100 LE 1. ] GOTO理豬頭 G$ J- W/ n% n
M2 `% j, v1 [) r% p) @※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
* ~' y" V3 l9 g
9 w" q+ s5 e2 ]0 _- k5 Z另外的一種B式
* U r- B; E3 ^+ X) w: R4 zIF[ #100 GE 3. ] GO
7 g; A7 Q% H. m; M; j; L. FIF[ #100 GE 2.5] GO8 n) {$ o7 A9 N, j! V( m
IF[ #100 GE 2. ] GO
+ E0 u% x" P/ U) G" a8 N) x- [IF[ #100 GE 1.5] GO
2 n7 k$ N% F- Y$ @! C/ vIF[ #100 GE 1. ] GO3 d! K" Y$ |3 K' z" I* T
順序不可顛倒喔!不然少將會理成狗頭
. j J# _3 R3 [" B, W! }7 L此例不能安排、佈置快捷性' D- ^! C9 N- l% [! x! j) k. N
' [$ A3 @5 |$ T+ y% h
% {* i7 ], X5 Y |A式:有點像把數值逼到牆角比,自不量力可直接看出
' M# a$ e. B7 y7 p2 F) \B式:像在自由空間比,如果順序調換
8 z' ~8 B* Y) S3 G- G7 m- F有錢人也可以去小吃店吃牛肉麵! ^! {& h$ O) T! I9 i7 w" A+ v
高學歷也可撿回收物當職業
4 {9 W" A- q5 q
6 a. G4 o/ C8 e. L/ i再說一下B:順序不能上下倒立,只能轉身如3 r( v7 {$ [! v7 _! ~- k% ~
IF[ 3. LE #100 ] GO0 J7 p7 j. x+ M# T, s& G
...
0 s4 X5 q. Z. u' q) x% Q( [9 ?...6 R* c, M. B+ z* l# p# ~" F
IF[ 1. LE #100 ] GO
5 O$ d" p+ `' r+ O6 n" c6 w( A* w4 |. i, S
A.B兩者有一種共通的特性,領多少錢就做多少事
/ v# D6 \8 g" t- ^( a如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
6 o; B* e4 |, q' V E% y+ f' U
0 u |# y3 Z4 ^0 g7 ~* y; t- ]) W
* M8 ^0 B( Y W: C; N/ c" r7 r以上為個人的經驗 |
|