|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
( [, q" y% I) H z* ^6 v2 B/ Y- c! m# I% J' t6 t
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
y) G2 _0 H3 E& j. B
_# D9 F0 ~5 \5 t* o形式1:
6 \7 I2 ] X' v0 ?" {/ T: p( ^#100=选兵(陸.海.空)
6 ~8 ~( D; S$ M- @4 n& sIF[#100 EQ 陸 ] GO1: {& `2 `' q( S+ n
IF[#100 EQ 海 ] GO2
' O+ Q/ |8 ] q( X# TGO3(鼻用說.當然是空軍)) y9 v$ H8 Q) r
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分); K: ]5 |" c. t3 D( J$ t
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
9 `1 Z: ~+ e, p% J3 \6 e9 u' P! ~
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
( J# H! t$ P E% e也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做7 ? F& P F& E; @
_" o7 v: A, ]$ V3 ?5 G還有一種防呆寫法:
! d' `" e, Q$ ^#100=選兵(陸.海.空)
n- z, x8 m, o! ^5 U R6 k' QIF[#100 EQ 陸 ] GO12 n9 i: B# A# H( q6 u
IF[#100 EQ 海 ] GO2
" V+ z% L+ j9 E: `! Y2 w; bIF[#100 EQ 空 ] GO3% Q" U. H" O v# ^6 I
#3000=1.(如果流到這裡表示#100投入有誤)
+ I# g# a, H/ e: }- QN1....+ A- N& `8 Z: h D1 _# g( g1 a
" L' r- p. O" C! aN2...." h0 K0 ~, x1 @" n
, F2 l. w1 ?/ T
N3....
z2 `6 Z( Y% ?% S0 X. r* f, R0 n( A- z! A2 d2 b4 X+ Q# ^6 Q
M99+ s9 A9 @5 {! E, u; R V
) @+ v0 I+ R2 E
) h6 ^$ b) P# {: {9 M3 b
形式2:: {/ ?2 r" d; D2 `9 k( ~5 v2 n
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))2 z" h$ k- ?* T- H( l v; ]
IF[#100 EQ 0万] GO1( }& X7 }+ C! L' y$ ^) v
IF[#100 GT 5万] GO2
0 u5 T4 Q6 a$ ^6 X8 a, FIF[#100 LT 5万] GO3' s# A7 b" B' p' X! G6 y' q" F
GO4(可省略條件式[#100 EQ5万])老師% Q2 _% {) p+ b
..........
7 d, `7 s. f) u. G$ @2 Q6 K+ a1 kN1 人民
' ?- [9 d! W& _( `' g
! p$ O2 q4 C& s; B! A( b% C1 bN2 政官 l8 Q @# g7 S+ B
8 H5 f% E2 A, [+ J9 x2 J- q; Q& d5 o6 w; y
N3 軍警
' J% s) C$ N! t3 G
0 k/ E d( z& \5 o+ }: xN4 老師5 ~! ~1 W! Y# Y$ T, ^) P" k# n# j
0 K3 d0 o1 F. d. c& q6 N7 oM99
, s) Y* F. c) @
! H# V2 @" W8 Z& K S0 z1 A※注意1與3可能會有衝突,有前後順序性的% G& v% F4 z, P7 c
形式2是以新台币計價的
* ]8 c, I/ P6 {' m; c/ L1 s$ G4 A( B5 V5 l0 U
" Y* b* _" ], v! G: Q1 z6 Q1 s
另外一個IF-THEN的例子:( G5 [1 W: K# L, f/ D _. U
假設#100=已用四則運算,算好的結果
6 e6 w0 `; B" r& W I) F4 g" w1 `
7 B' a7 l2 |% w5 nIF[#100 EQ 2.5万] TH#30=10.
4 a- V% `/ m. _( q& {- FIF[#100 EQ 0万] TH#30=10.
% r+ q; ]" k4 l8 gIF[#100 GT 2.5万] TH#30=20.
9 q# p e7 P8 L1 B2 Z1 U# K2 j% ~IF[#100 LT 2.5万] TH#30=15.
# p9 T7 R# R& C# @N1 G1 X#30 Y#25.......開始加工+ |# Z) v- x1 }, [# \' N8 m1 R% Z. P
/ ?- s, v3 J7 G U" o上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:7 D& {! |+ T: M# t. [
! P9 b+ o& [8 o& J3 ?
IF[#100 EQ 2.5] TH#30=10.
% a* r* O" M3 P$ K7 M; U) XIF[#100 EQ 0.] TH#30=10.
' _' L1 l. k+ U! o# v1 i5 [; R( PIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
; x' G' F- g! Z# f2 k# F QIF[#100 GT 2.5] TH#30=20.
: b! [5 T' ^8 T$ ]6 R# ^2 WIF[#100 LT 2.5] TH#30=15.% z; |) k9 F2 ] x6 B6 \
N1 G1 X#30 Y#25.......開始加工0 L! C5 @# S: i1 V
4 s/ W0 ]; S/ M( s7 o$ a或改寫成,B法:使用或閘(OR)
' @! a+ G5 |- }6 E4 Y& ^4 K, c* i#30=10.
. K( N9 F6 }: c ^% A# {$ f' S: rIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)+ S/ f/ _ r2 u# ?
IF[#100 GT 2.5] TH#30=20.
" J9 n K$ o- x' A2 w/ p: SIF[#100 LT 2.5] TH#30=15.! h' B* W& Q* w
N1 G1 X#30 Y#25.......開始加工4 T6 n7 B, [$ Y9 V6 k9 z
" a1 L: w% k7 J. A; m3 r$ E2 q/ a
還有一種不使用TH的寫成,如下:4 ?# Z% i+ H/ |5 [3 t
30=10.
# Q' J* Z! c0 S, e( aIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
. J+ w+ N$ ]! j2 f5 M% _% H. p#30=20.
$ S$ @5 u2 K" {# y% uIF[#100 GT 2.5] G011 I- i& M, {0 h3 S6 r' @3 f) t' R6 Q
#30=15./ Y- i( }0 G9 N# }, s+ e- s
IF[#100 LT 2.5] GO1<---此條件式可以省略
5 K* q9 V" c- K {9 rN1 G1 X#30 Y#25.......開始加工& c" S; V9 f) H$ [: F
) ^/ z0 ]) m, D2 }
#30會一直有數值去覆蓋它2 M; ?; W7 J. T% ^. \# T
+ `1 Z; ~3 Z+ S ]) S+ k
0 [2 |! U X3 I: \8 h形式3:理髮% x, j! Z8 d# ~- U1 v6 t
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0) t; j# I) d s9 T
IF[ #100 LE 3. ] GOTO理15分頭
/ P2 t+ K- c: v/ O5 I+ g+ p5 l7 s* ^IF[ #100 LE2.5] GOTO理12分頭
7 K9 q+ x* [# O) P1 d1 F- UIF[ #100 LE 2. ] GOTO理9分頭5 C" z9 X, j% z+ l( L* B
IF[ #100 LE1.5] GOTO理6分頭) X) @ D. g& n8 F( p
IF[ #100 LE 1. ] GOTO理豬頭
, I' P; @) ^ F
) S( Y T! } z0 g5 p/ R$ h: e9 {; J※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
& j# z$ c: v' V4 Z* i: {' p
, s. O) k; m5 T; ^) K8 E+ ?另外的一種B式
# _- W0 O \- \+ _- G6 ?7 {. BIF[ #100 GE 3. ] GO9 T2 a. A0 R6 A& Q: g g. N- N5 n
IF[ #100 GE 2.5] GO
( w4 b, T% I/ h; A% k/ A+ f8 d) pIF[ #100 GE 2. ] GO, ?, g8 y& s( y4 i
IF[ #100 GE 1.5] GO( ^) e0 F+ j9 s9 D5 w# w& q* A
IF[ #100 GE 1. ] GO
' D$ @. B! v+ s, p$ D! L5 q順序不可顛倒喔!不然少將會理成狗頭
$ n) l$ h/ z2 a+ J此例不能安排、佈置快捷性* ~& Y6 Y1 w0 G E3 c# ]8 ?1 b- `" t
: N. N* R) z; J8 q: R. U) L$ ]7 ^: k# ^2 G: l
A式:有點像把數值逼到牆角比,自不量力可直接看出+ a2 q0 o5 E4 ~) q' N2 s
B式:像在自由空間比,如果順序調換+ H2 @3 x# |. D/ D
有錢人也可以去小吃店吃牛肉麵6 K. R4 Y3 }, Y, H4 }
高學歷也可撿回收物當職業
/ Z% H3 Q; g" K1 r
* n7 C/ i' W# I( z" _( j B再說一下B:順序不能上下倒立,只能轉身如
, I" V' A2 T) JIF[ 3. LE #100 ] GO
2 t6 `, E: j# ^2 Q2 {...( m( U$ w# U# j% v: u) I
...( |6 s) a5 K0 f3 R; H9 t
IF[ 1. LE #100 ] GO
, y' i: E( A0 Y. n. W* V1 X r$ ?0 k
A.B兩者有一種共通的特性,領多少錢就做多少事
% R. I6 @/ m6 Z) A如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
& a9 v' k. x( T" p: F- h2 D T2 b) s0 o! Y2 Z: Y% j$ p0 e
; ]9 l1 U( s$ U+ U以上為個人的經驗 |
|