|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 $ e" e$ M# E9 n' N1 a
5 U; ~7 J; \5 C8 \使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
' R2 E- ^ p6 ]! |9 y0 ^5 o V( ?% K6 z+ q
形式1:
8 o7 k3 H5 l! B. F: v#100=选兵(陸.海.空)
# [; u: m, U5 l- X9 Y# fIF[#100 EQ 陸 ] GO18 T% \5 ]% x5 }7 J7 o
IF[#100 EQ 海 ] GO25 O. V5 ^) [' ^
GO3(鼻用說.當然是空軍)
: P1 o' V2 R- H6 k! n! q; q. b(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)) U' Y% b! B6 I* j0 L4 l/ W& n# D5 t+ c
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
: ^$ D, J7 j7 ~8 O' j# ? C9 w/ K# K- t& F- o+ k
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
* g: A0 q: L8 `5 \& c( b1 g也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做9 h' h# C$ ]5 O/ R9 v
- X7 d @3 R) m: Y: n4 t還有一種防呆寫法:
0 S; y3 s8 D4 a) f: M) q8 C#100=選兵(陸.海.空)
1 |- u$ e% f& }1 w/ j' r7 M; MIF[#100 EQ 陸 ] GO10 T4 g) K# _' o, S/ d' P; M
IF[#100 EQ 海 ] GO20 t) d* @# M/ e$ {1 Q
IF[#100 EQ 空 ] GO3# X1 @1 z- E) `" s6 D, g& G
#3000=1.(如果流到這裡表示#100投入有誤)
2 ]2 l% h U. fN1....
; F: E: w: t6 U- |; n
/ }3 l6 S' n7 T$ O# KN2....8 v9 y5 ?' z+ O- S/ D
3 a1 w9 @0 o5 VN3....
9 V; z% j3 N1 W* V
B( w. ~" s8 m; O# w1 Z/ q) gM99
; Y2 N: S" O( ]/ I/ U; ]/ i, H0 I
8 J6 H% L2 H. a7 r/ G& c形式2:% u/ Z9 \* w+ M$ M
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法)): {- I7 \" ^4 K- {
IF[#100 EQ 0万] GO1
! u" F5 X# `1 {/ \IF[#100 GT 5万] GO2* t6 {: J6 j4 A7 {
IF[#100 LT 5万] GO3- m2 S: }' Q+ `- G
GO4(可省略條件式[#100 EQ5万])老師7 c$ m' B7 ] ^' X; \. h
..........' v, t) u9 q4 P4 @7 Z9 G3 Z
N1 人民* |, F$ [: T% O9 c% G9 f0 ?% I( J
% {+ k' o. v) q. {+ K9 o# n; @N2 政官( v! A% s( G2 Q: {+ O; d, {$ U
, @' r3 H0 e7 y3 Q1 v1 GN3 軍警
# r* Y8 P7 Q/ |: _: v) V% F3 P# S9 y$ `; e7 n R
N4 老師
9 E' R! V6 L, N" U# I8 ^& U/ R
6 _7 y/ K' N8 p: X" q2 qM99
( Q8 U# l. z; X! _, W: Z: C$ ]0 Y* c/ F9 e' [' c
※注意1與3可能會有衝突,有前後順序性的1 T7 u* |! r* z. {9 l8 q$ t- L
形式2是以新台币計價的8 T! D* n$ [# \& g& q# E
* K) ~: u+ v5 m& ~3 ~* b- i2 d4 \8 c
另外一個IF-THEN的例子:
1 a: s& B3 i: _; T7 U假設#100=已用四則運算,算好的結果
0 K, S1 g X2 N" D9 D% T2 s+ ^8 Y/ j# z
IF[#100 EQ 2.5万] TH#30=10.0 m9 j; y& E/ I
IF[#100 EQ 0万] TH#30=10.
- G8 A. O% R% W: qIF[#100 GT 2.5万] TH#30=20.( j* w: U1 O$ ^: e f
IF[#100 LT 2.5万] TH#30=15.7 R/ ^' S7 _5 h$ j A
N1 G1 X#30 Y#25.......開始加工3 K4 ?3 s! W! z3 N6 Q, O/ e
* [+ B4 x' G% J; O0 \# T) M
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
! k5 L+ J$ X) Y, l1 ~
: j2 y& w; b+ FIF[#100 EQ 2.5] TH#30=10.3 f$ M- h3 P& k
IF[#100 EQ 0.] TH#30=10.. l3 B" G. I$ \+ P
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開) {; \# G% A) W# x* a' y. j& a* r
IF[#100 GT 2.5] TH#30=20.
* T) s5 i, Y( U; Z" h. YIF[#100 LT 2.5] TH#30=15.* ?8 Q/ l: M& \9 w% @$ E
N1 G1 X#30 Y#25.......開始加工
6 [+ `8 Y5 { H3 `0 x3 p4 o0 F4 g0 w6 O6 Q/ R1 ^4 u
或改寫成,B法:使用或閘(OR)
3 B2 h O& D% l#30=10.
! I# p( v3 ]; B7 e2 ?, `( G1 L8 LIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
# d! D, r1 i/ aIF[#100 GT 2.5] TH#30=20.
) K! e7 |5 }" y; I9 @( l. o* W3 u8 [) VIF[#100 LT 2.5] TH#30=15.
6 s, ~+ h3 c! J0 }. l5 A0 J QN1 G1 X#30 Y#25.......開始加工
: O3 J) M1 U. E# r' R- Q' O' R2 T3 @( C. K. S
還有一種不使用TH的寫成,如下:
" v9 H% S9 r: H6 A30=10.
- ` r. c/ b% g$ v. fIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1) y4 P& ~8 N" y
#30=20.
( |1 o* w7 N$ F: ~IF[#100 GT 2.5] G01
' f& b3 L& v$ L- r8 c3 Z& w#30=15. W2 f) @: u3 F. F7 V% ?! ]& L
IF[#100 LT 2.5] GO1<---此條件式可以省略$ n/ q. q& h0 b5 `" m- L( p& j
N1 G1 X#30 Y#25.......開始加工, L1 T. n0 @+ P- O7 ~" Z! v$ e- W
; b) H/ r& D5 s, [7 N#30會一直有數值去覆蓋它
/ t( u# X4 ^1 Y& M+ |
& j3 h4 o& k: b/ W, p9 v& u: |% c+ _: L
形式3:理髮
7 s( G7 }$ k% A$ \9 o+ I#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
4 {4 Q9 g0 Z) z- vIF[ #100 LE 3. ] GOTO理15分頭; d/ [+ m! w0 U+ u2 S2 ?9 s# V7 c' u7 h7 X
IF[ #100 LE2.5] GOTO理12分頭
) [/ R* u9 u0 A7 `IF[ #100 LE 2. ] GOTO理9分頭. }2 ~. b4 {/ M5 c9 \" O) R
IF[ #100 LE1.5] GOTO理6分頭. K& c' }8 H) n8 J3 R/ o
IF[ #100 LE 1. ] GOTO理豬頭7 X6 G7 M {. ?; M
/ G. L7 } z5 x2 N; Y# B- L- r※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
! W- X, r! x, p) O7 ^
. }$ x* D$ e1 x6 e另外的一種B式
) i. t6 u; p7 M" `IF[ #100 GE 3. ] GO
- x6 J* D, s( W: q' @8 bIF[ #100 GE 2.5] GO9 C# e" T$ j* e# P9 A% { w
IF[ #100 GE 2. ] GO( z" K8 s. j$ b# C3 ^4 j
IF[ #100 GE 1.5] GO
3 @$ N4 b. k0 b3 [: Y3 `IF[ #100 GE 1. ] GO/ Z) | B% q+ V* \
順序不可顛倒喔!不然少將會理成狗頭
( c k( _& w3 \" |3 c9 n' @此例不能安排、佈置快捷性7 H/ F( x- J/ V) K0 D: X3 O
2 W: I( l! d, a. D% E- P
3 h( q1 a$ L0 g; EA式:有點像把數值逼到牆角比,自不量力可直接看出
4 O6 \* c, d5 M" V; B4 q- U' aB式:像在自由空間比,如果順序調換
- d9 ]* ]5 Q* b有錢人也可以去小吃店吃牛肉麵
5 w, v) a9 S8 C( A8 G* l4 Z3 d7 U高學歷也可撿回收物當職業2 ]- J; ]- j; ^( a
/ q" M8 Q$ k+ C& Q
再說一下B:順序不能上下倒立,只能轉身如( \$ q; Z( V1 t3 F9 c! o0 k* L( @
IF[ 3. LE #100 ] GO. W: V6 [. U- |' D8 [1 }
...
( H0 ^. I, j% {% g" a: z. {* K...8 i9 P6 e, U& P5 W% G
IF[ 1. LE #100 ] GO5 d* M6 P6 Z+ |. X$ v+ P
9 p% B6 [% n8 a8 V9 n7 q IA.B兩者有一種共通的特性,領多少錢就做多少事* e5 h5 K) y% j) r/ k1 {( r
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用4 ^7 s7 }% m# m8 U$ G; Y
; a6 G8 A2 f; p8 f, L7 r, P! q l- f0 T! i# {& H& r1 F+ ~
以上為個人的經驗 |
|