|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 8 x# O, {: |; n7 ?
# H9 w9 L' [$ e: c' q使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性/ p& J6 e7 y" i
1 H# N- c0 O( {: O$ t5 ?2 s0 X
形式1:, f* {% p w5 J0 R9 i+ p3 k
#100=选兵(陸.海.空)
7 q* k) A5 I% }" l: A0 e# @+ L1 | SIF[#100 EQ 陸 ] GO1" `" ?3 n8 W! Z0 F
IF[#100 EQ 海 ] GO2
{. r$ r! T* S2 B" g' FGO3(鼻用說.當然是空軍)
) O" o& \8 j: i$ V' Q(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)% Q2 G& q( {3 k% l5 y) A& ^* j
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)* S% J* }2 S5 [) A, I, l
* R5 |4 c# |5 R
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
& B. [8 F/ p2 ?7 E6 b$ m也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
. x- ?3 r% ]! `5 }5 H4 H$ y& M( F" ?. b$ y X
還有一種防呆寫法:! v& w; M$ I7 h
#100=選兵(陸.海.空). _: d7 p! J9 h) }9 e( l
IF[#100 EQ 陸 ] GO19 y3 Q& \7 u# P
IF[#100 EQ 海 ] GO2
4 Q3 `3 g2 m% w9 ?8 g$ N) O- \- `IF[#100 EQ 空 ] GO3
- l/ a7 }* c# u8 a% W' a9 D#3000=1.(如果流到這裡表示#100投入有誤)* k5 W; p) Y+ {& v
N1....& W' g/ e8 \. z/ H
6 ]# g( T. [- p' ?5 H
N2....
4 T, O9 g6 H5 z! u# R3 w0 X7 O; u. ], w3 [; Y
N3....2 u5 v+ A; k! Y" o
; d, E% c% i7 u# u3 j
M99; E3 _8 h0 o H) S
3 y+ _1 L! q: c8 E
! p: b b8 x; `, b/ f" v" Y形式2:
d; D4 k9 a- c; h0 h#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))0 ]8 d0 |. y- N0 C! {
IF[#100 EQ 0万] GO1& Y( J, S4 S# k7 E6 ?3 K4 A
IF[#100 GT 5万] GO2# m4 N. o2 J9 r, W }
IF[#100 LT 5万] GO3
, `# E5 u1 ]! \1 \GO4(可省略條件式[#100 EQ5万])老師3 W7 r9 v1 i6 ]- ^ G& q
..........) P/ Y7 ^/ k* H; G6 F
N1 人民
u+ x5 |( K% ^- A2 O& N4 ~4 B( m0 }( s$ S/ O4 _0 g
N2 政官* q! p0 ^5 C6 @5 G
& z, k% a3 ?9 Z6 r# f+ ?N3 軍警
) ^$ p! U5 y6 b8 H+ R+ c/ @
9 l ]; @5 w; [. w, h+ SN4 老師
' V: [; X; p7 g0 p ^/ ^$ w7 \
6 J5 m2 p) c3 `# p5 b( XM99! k% G; @- U7 P' U% W
+ F: y" O/ y2 j7 J! F※注意1與3可能會有衝突,有前後順序性的; Y. `' Z- e* W7 L
形式2是以新台币計價的
6 Q: F- b" \- z) `. ]' d' `9 [
3 j3 e: d4 b1 m1 k) K9 g) P$ _% ~% z l% H$ V
另外一個IF-THEN的例子:# \" B! U* M+ \9 u2 h
假設#100=已用四則運算,算好的結果
( f3 [) e# V. M0 H) _; B8 l" G& {. M8 _) Q
IF[#100 EQ 2.5万] TH#30=10.
" q# `" B* H. p3 u5 |0 t- eIF[#100 EQ 0万] TH#30=10.2 M0 c+ P8 `- H# |5 c6 d8 _/ P
IF[#100 GT 2.5万] TH#30=20.
: ]8 E' L+ P4 J" L8 `& M+ `) WIF[#100 LT 2.5万] TH#30=15.
; g6 _! ?/ R, BN1 G1 X#30 Y#25.......開始加工/ n, Y7 r8 y9 W, }4 T' D
% v; n) C2 [9 U$ G. N7 A& G/ C
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
: M7 X5 c! C% Z$ a' k4 m& ?! c/ a. d( V; L u& }# u. T' Y
IF[#100 EQ 2.5] TH#30=10.0 x$ x$ M7 o+ Y! p4 s9 a
IF[#100 EQ 0.] TH#30=10.$ d4 ?8 Z( Q: U+ q% m
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)7 p' A3 S6 S! m0 j) @
IF[#100 GT 2.5] TH#30=20. y$ m' H* k2 w, x
IF[#100 LT 2.5] TH#30=15.- [% c1 x2 c6 u8 u
N1 G1 X#30 Y#25.......開始加工) V1 U2 o# Z! l" C4 d. c
: A) s, c! u/ w5 @ F
或改寫成,B法:使用或閘(OR)
8 e7 \4 X! t1 j: y#30=10.9 O- F8 r/ J% ^- X1 o
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)5 p& D; a/ J% i
IF[#100 GT 2.5] TH#30=20.- M: ^; l6 [# k) U& L
IF[#100 LT 2.5] TH#30=15.
( P4 U6 m+ W* tN1 G1 X#30 Y#25.......開始加工
/ q0 v) k5 x y+ i4 v$ Q$ R
4 X5 e9 Z d0 d還有一種不使用TH的寫成,如下:, `6 E; F) Y6 H5 H6 K& [5 `
30=10.
+ _3 p5 {; l; X, ~IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
) Q- [' J6 a" ]% F#30=20.! }) o9 ]6 }5 `
IF[#100 GT 2.5] G01
- R5 t2 R" q3 k" t$ C! t: N#30=15.$ `' U8 R3 o$ J# M# V% b
IF[#100 LT 2.5] GO1<---此條件式可以省略
! ^ K$ y/ q3 a0 ]N1 G1 X#30 Y#25.......開始加工
5 b+ Y- Z- W2 L9 m) X* d) |
+ g6 J# D3 z5 K#30會一直有數值去覆蓋它1 @4 I5 `# {) y5 u' ~
s) R4 `! ^5 W3 ]2 U% m8 I1 q% t, f
形式3:理髮
( t) B7 y1 j1 E: a. V( o! `#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
* a/ Y% `1 M* v5 H8 u# CIF[ #100 LE 3. ] GOTO理15分頭4 [- j5 ~9 q0 b1 d: m! b9 s% |/ c
IF[ #100 LE2.5] GOTO理12分頭
' s6 G: e9 Q$ VIF[ #100 LE 2. ] GOTO理9分頭2 W' {' i6 g9 s' o
IF[ #100 LE1.5] GOTO理6分頭- h: A7 C- D5 |! j
IF[ #100 LE 1. ] GOTO理豬頭
3 V, B9 P4 ^1 G, d3 u3 x7 y/ `# H/ [; u9 Y$ i: O5 `4 ]% S$ `, I
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
) Q& I Q {4 ` I g1 E# x, r. f. v' Y7 ~' e. G' n8 P
另外的一種B式
% D' F0 I1 u: ~7 x {3 qIF[ #100 GE 3. ] GO) ~2 l5 t$ \* G' }4 K% {# H
IF[ #100 GE 2.5] GO$ f N; w1 O4 F! ^4 r% k6 O. @
IF[ #100 GE 2. ] GO5 Q! T: y, H, N7 ~# v
IF[ #100 GE 1.5] GO# R2 {: l$ u# e/ _& b1 H Y4 X
IF[ #100 GE 1. ] GO
7 [7 {* T5 N N4 R; m! b順序不可顛倒喔!不然少將會理成狗頭8 g& y: D, i" R# ?0 k
此例不能安排、佈置快捷性9 t5 Q% L+ K |1 M1 C
7 |; v- ?, e0 S; c
o7 b( ?" }9 }) c+ S* ?4 |5 OA式:有點像把數值逼到牆角比,自不量力可直接看出
2 b! d3 M& r y- GB式:像在自由空間比,如果順序調換
3 X% _3 T2 r* L6 j有錢人也可以去小吃店吃牛肉麵
' }! I8 R f* _: ~. B( Q! Q5 x高學歷也可撿回收物當職業
8 \6 i- V7 f3 R! x7 N( k- a/ Q% b2 B
再說一下B:順序不能上下倒立,只能轉身如6 J4 }/ `+ i* E) J4 T: o
IF[ 3. LE #100 ] GO
% ?5 L$ Z: P% S...- _4 w7 R+ x& \6 G% a
...
8 o3 ^! B: U! J4 y0 w! f! fIF[ 1. LE #100 ] GO
& E$ F3 s. T: @0 W
1 y2 D' _& ~& Z" _" |+ e6 sA.B兩者有一種共通的特性,領多少錢就做多少事
; S, U& Q" x' q" w# h1 |% |) i8 K如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用/ P: P% L8 J$ o7 u1 u+ f6 S
, o, s8 _7 ]% a( X5 I. E$ i) ?( f7 G
以上為個人的經驗 |
|