|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
3 v! [3 D8 J% z& @) h
8 f' N( r* J$ {- X) _( S" i使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性. ^, `- Q# U( D' V: s6 _/ ^9 e
, Y2 d2 x* y, @' L9 s% d形式1:
- O' d. a1 f4 X! k) F: @$ ]! M#100=选兵(陸.海.空)) V. v: `* a" E
IF[#100 EQ 陸 ] GO16 v& [! {4 |% h
IF[#100 EQ 海 ] GO2
$ P# u' y, I. e* X3 G+ W0 |+ fGO3(鼻用說.當然是空軍)
" V+ p# `) d' F8 m; {(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)8 N6 M; S$ L* L" b3 e! M
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)" U) V+ y) }- _& u7 ^& {. c
/ r, ^& i+ q; h1 d& W9 o
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
# v& t& l/ a% Q也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做. i% c1 n/ B) l0 U' V
( W9 z% h- f7 ?
還有一種防呆寫法:
. l" q0 k b2 Y) [/ {2 E) q# G% A) g#100=選兵(陸.海.空)% R7 I0 B- w$ B U" H
IF[#100 EQ 陸 ] GO1
* y3 V* @; F {' j: _' L3 ~IF[#100 EQ 海 ] GO2' h! ^7 u6 v% z- p$ R
IF[#100 EQ 空 ] GO3
+ \' {- b3 _4 p8 E$ H4 F" ^#3000=1.(如果流到這裡表示#100投入有誤)
$ l- q8 H& L: \1 o6 D/ U7 TN1....2 T5 t9 K! |! U9 S) A' W: `
1 x- P# @4 F, `5 m9 L+ w3 z. q9 D
N2....
) R# X# l5 T4 n) G+ z. Y Z: T7 H5 f/ J( {; r- a
N3....
- H& M k( ?# H( c: q8 q, a2 ?2 f; M, A6 [. _/ h" l& P: m. P
M99$ W& q+ R( f9 j# f; [: X
6 q2 u# S0 X% V7 ^% D7 J5 c
! i# Z" G) T7 Y3 V7 i形式2:, v( j6 F/ \8 c1 H$ }: y; N
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
) L6 q5 i. i: h- w8 w3 |2 [$ r6 y8 |IF[#100 EQ 0万] GO1) b8 \9 p" D0 }! ^+ P2 C
IF[#100 GT 5万] GO28 ?- M4 ?% ]# B2 Z" {0 s3 {! b8 m
IF[#100 LT 5万] GO3( a+ K* P3 b! N
GO4(可省略條件式[#100 EQ5万])老師
& L% `5 W4 j, u6 C! K, x5 a4 @..........8 p# u; K' N1 V0 K1 D; Q
N1 人民 t8 C( C Q0 f* s
$ G: w2 Y$ O7 z' K% ?! t% hN2 政官
2 T) S* D7 C0 U( A/ k7 G5 c/ c6 T6 |4 j2 R% l* }6 v
N3 軍警
; X+ a% u3 f; j, T$ |
: t6 w! T! w( a) ?N4 老師
! `9 d, y: Z- v( B3 c# b3 q5 d* K3 `7 v% W: T( {
M99
# c( M* h& ^: z2 V. x
' z0 E: G( q3 k% B) N# t3 O! _※注意1與3可能會有衝突,有前後順序性的
; q* K; |' N8 [形式2是以新台币計價的, l1 w/ `2 E6 v( E5 Z! Q
+ ~( {, x+ d F! v' [* @7 T G( ?# @
另外一個IF-THEN的例子:
3 Q: a- d/ l2 V* s: v0 \假設#100=已用四則運算,算好的結果
. e$ u" B ~2 }% t% I6 O( W6 e6 Y$ A/ c
IF[#100 EQ 2.5万] TH#30=10.( k$ P* Q6 D5 g5 A
IF[#100 EQ 0万] TH#30=10.. @2 ?6 S* }3 A) [" ]% m' G& k
IF[#100 GT 2.5万] TH#30=20.
- _3 b/ v5 p! m* L- m# ~* kIF[#100 LT 2.5万] TH#30=15.
: J1 p1 V3 h2 P2 ~7 Y0 U t: bN1 G1 X#30 Y#25.......開始加工
* G4 a. P$ Y5 V! ^4 X, O2 H& n# G8 \/ H+ k7 j: n/ Z; ?6 W+ b/ r
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:6 i2 H* L$ R9 U7 } Z
4 Z: c! w$ J `' I* l/ O
IF[#100 EQ 2.5] TH#30=10.9 o' j. R9 f. {- P# q
IF[#100 EQ 0.] TH#30=10.+ P5 B, V' d4 W1 w: X+ u. }( x
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開) a+ L [6 c2 y
IF[#100 GT 2.5] TH#30=20. v7 V0 f2 l2 G( j
IF[#100 LT 2.5] TH#30=15.
, A# b5 L% F9 u$ Q' t2 \) oN1 G1 X#30 Y#25.......開始加工! |, g: w. ?% M. j! v
2 H& D j& |4 s4 y
或改寫成,B法:使用或閘(OR)
% L7 Z% }0 h2 _#30=10.
; }2 H! m3 r7 ^$ b; l9 B" }, |3 WIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)5 F: r4 ]- F* v
IF[#100 GT 2.5] TH#30=20.
, G# o( Y( ~( yIF[#100 LT 2.5] TH#30=15.
- ?+ Y7 A" z. I6 _/ @N1 G1 X#30 Y#25.......開始加工
5 y. V9 e3 F* i3 ] E5 y* m' y/ G
( Y& a. E$ M' t9 r8 v. r/ K還有一種不使用TH的寫成,如下:7 G+ k5 ?# }: `2 f4 a# s3 u
30=10.0 q5 p4 y$ {5 [& C! A* M: i
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO14 R" K: _$ m' k$ L7 W _- P
#30=20.
/ R- n7 d, S4 x) C) A! F! PIF[#100 GT 2.5] G016 O2 [. B3 c; @6 V
#30=15. o* z0 f9 S7 L$ {4 I' q
IF[#100 LT 2.5] GO1<---此條件式可以省略
+ H. N: L l$ L5 j3 |4 l- XN1 G1 X#30 Y#25.......開始加工% |5 L5 l# R i( |- v6 m& @* W
+ i _% ~$ L3 J* U#30會一直有數值去覆蓋它3 ]- e$ O: f) H, [% o" L
8 k! L' }; j* g( Q c2 ~# `$ L: ?, ~2 n# z. N
形式3:理髮, \# X+ |' h3 p( r; {5 q# m
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)" I* k8 C; _: _1 X) _
IF[ #100 LE 3. ] GOTO理15分頭: a9 l* Z: O! h! l8 _
IF[ #100 LE2.5] GOTO理12分頭9 B% M* {( q& r9 J) }9 p
IF[ #100 LE 2. ] GOTO理9分頭
7 S; ~+ r3 L, ?* p) bIF[ #100 LE1.5] GOTO理6分頭5 ~1 p9 H, o5 u$ e# g/ y
IF[ #100 LE 1. ] GOTO理豬頭
. p. K( r0 L8 ~# {: S! F8 E- o9 n4 f: {6 S6 [1 P9 g" k
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
; P9 g; M' W2 ^2 ~' i
6 u& d& R% t7 r0 O& t3 z" n5 k: ?另外的一種B式
' y" t" N, r, k7 nIF[ #100 GE 3. ] GO2 D; n$ S/ T, L. x9 X
IF[ #100 GE 2.5] GO
5 f+ J! u# p$ E- {$ o' BIF[ #100 GE 2. ] GO
3 q. y$ z& X" M+ h r2 M( X' ZIF[ #100 GE 1.5] GO
3 w1 |1 i0 K: x. T+ Q& C) ^IF[ #100 GE 1. ] GO [1 |2 P, c9 w# C
順序不可顛倒喔!不然少將會理成狗頭% W' u. H, E0 j, f8 p- M
此例不能安排、佈置快捷性1 R$ P; F: w1 ^8 h
& |4 f5 j1 Z1 V& h: }1 C/ K- S
) U/ ]9 Z1 o: q- \+ x- NA式:有點像把數值逼到牆角比,自不量力可直接看出
' @. F+ i6 a, Y, EB式:像在自由空間比,如果順序調換
, X+ T& R0 \5 O2 [有錢人也可以去小吃店吃牛肉麵 g l) W/ v) F# F, X) Q9 `
高學歷也可撿回收物當職業
' w8 J& N2 D; ?6 a" U; Z1 {0 s1 l4 f4 L
再說一下B:順序不能上下倒立,只能轉身如
n6 L. X; o* i. z& @IF[ 3. LE #100 ] GO
9 m) N9 W& P" T# V1 u...) G0 g' c3 R% y5 B, B
...0 \* u. o" ]7 L2 g
IF[ 1. LE #100 ] GO
! c5 v( m0 w* e4 d' o& O
: d3 e! l1 {9 v# LA.B兩者有一種共通的特性,領多少錢就做多少事
0 f6 R! V2 @" M% M# a$ h如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用9 p% e: ]0 o3 F2 y1 h6 v+ C9 e
# s+ m7 U" ?8 ]4 H; K
: ~- g% b( V+ T: g以上為個人的經驗 |
|