|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
( J6 \$ v* O7 o4 W, `
% Y& V4 u! J1 z+ n. a) U8 ^6 m: H* L使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性+ k: U1 w5 h1 r; I1 H# \/ U
# a; g4 k2 l& Y9 k9 j/ O6 M' [形式1:
+ S- }7 Q! p# G7 S7 N% F% x2 |#100=选兵(陸.海.空)4 h" A# N# B+ I8 e# D3 M
IF[#100 EQ 陸 ] GO1
$ t1 B8 F# @; e/ ^IF[#100 EQ 海 ] GO2. E6 ~6 q; T9 i E3 @ k" O
GO3(鼻用說.當然是空軍)
% ?2 i6 {. d; s% w8 t* d7 L2 Q(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)3 ?" H4 T) A1 {/ z) Z& J
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
& D9 `8 P+ V: o1 p+ c& U' Q+ d' f/ p, x! N/ L6 T D$ ^4 p" r
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆9 \3 c. Z5 U7 _5 u `
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做) j( N. \& k2 Z* J
* V2 L% `' B9 l& L* j# u5 t8 y還有一種防呆寫法:) g0 [2 k4 @% c# `; h3 {
#100=選兵(陸.海.空)
0 {& [, ~- H0 iIF[#100 EQ 陸 ] GO1# p5 a% \, f/ T) r' n
IF[#100 EQ 海 ] GO2# F0 ? e. U+ Y5 b J, P
IF[#100 EQ 空 ] GO3
3 R/ l0 ^0 q/ b s- W* l#3000=1.(如果流到這裡表示#100投入有誤)/ F1 C" M8 Q/ a6 N2 P9 G1 z
N1....* v7 r0 T# Q) ]! _% \
* a0 Y) w1 q: A3 D! K% V* JN2....) x( B& \# l* j
2 x: `) ^* J% L3 \4 s! P( ^/ cN3....
- r& T8 w% R. w ~* ?
9 u9 f8 m1 j* J2 c0 uM992 U8 I! W o8 h, q; m* G
/ E+ \" ]9 h% K: x' d# Q
; {8 \: u* B6 {7 n8 \
形式2:
; ], Q1 X- t! n2 O# A a# v#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
, H; |8 M' b7 |( E8 e1 q' rIF[#100 EQ 0万] GO1
- Y% v. ]. g3 H g) tIF[#100 GT 5万] GO2& a$ [, R1 c# c. u+ b
IF[#100 LT 5万] GO3
6 U; t4 Y8 T+ l8 O6 v$ CGO4(可省略條件式[#100 EQ5万])老師) A3 p2 F- N% g: U
..........
?2 _9 ^7 H9 s* w3 S0 i0 qN1 人民0 a6 O% R6 t: X7 h8 f
; ]6 Z% @- @; {2 ~( pN2 政官; n( q) [, ~" k" H
2 }/ L6 l$ h$ W1 y5 A+ a; \
N3 軍警% t* O2 W6 W3 r R
( z6 l7 [6 I3 DN4 老師
! ?& w& R: `6 C! ]' T
4 ^, E, P4 S) E bM99
+ Z$ y; e1 x( B) o; k) |/ r" M+ u- @# m( x9 f
※注意1與3可能會有衝突,有前後順序性的* v9 r+ f7 x3 H" ~5 U/ J
形式2是以新台币計價的
2 _4 r. c2 h6 ^# D6 }! E$ ]0 J; m5 M. G, K& ^# S' x
8 M. g) ]. e& P
另外一個IF-THEN的例子:% i0 g3 y ?' S4 K" k- n" S6 T
假設#100=已用四則運算,算好的結果6 w1 T; t- D4 S7 H) g
4 i3 ~, K# M8 | s* V2 _; RIF[#100 EQ 2.5万] TH#30=10.
0 _) p% P9 u1 U3 c) K& \IF[#100 EQ 0万] TH#30=10.
3 s: V" h' t9 VIF[#100 GT 2.5万] TH#30=20.9 X& f/ v" z& t/ J' E9 b" \
IF[#100 LT 2.5万] TH#30=15.
/ [5 a- ^! x# a9 Y3 M7 ?N1 G1 X#30 Y#25.......開始加工
- r' d. }. R/ F+ P. d0 K* C: X; @3 }5 h, m2 j
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:+ W$ K3 _8 ?" @$ T8 y+ W
$ W# x5 Y8 ?& n
IF[#100 EQ 2.5] TH#30=10.7 q" T' L8 ^4 E0 u2 g; W; j
IF[#100 EQ 0.] TH#30=10.
" ^! [) n- p H0 M7 I3 b8 wIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
3 }+ }* l w: U& S. N/ z! dIF[#100 GT 2.5] TH#30=20., C( G( i) U! M6 j/ b" E& m
IF[#100 LT 2.5] TH#30=15." u1 r% V C$ ^# b! d
N1 G1 X#30 Y#25.......開始加工" T9 F% t* c; `8 {7 C( O5 i- h: {
' S# o+ t$ i! i或改寫成,B法:使用或閘(OR)
: H+ E8 m& x3 b/ c#30=10.* w; G9 F1 d9 Q4 E2 \+ x/ ^& {, N
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)1 a- y% K6 W3 W0 u! v9 p' c
IF[#100 GT 2.5] TH#30=20.
/ |1 n! G. T2 U! M0 h" A. UIF[#100 LT 2.5] TH#30=15., v7 |% g3 z' |& G; Y& r# Y$ v! L
N1 G1 X#30 Y#25.......開始加工
5 S9 Y- ?) h9 _3 ^( d: F/ K; B' E- A: i6 B3 f
還有一種不使用TH的寫成,如下:2 M+ P3 ]- _# c+ Q% A1 C8 U( p1 }
30=10.4 w7 E, e' M' M! w5 b5 `
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
9 ^7 n8 Y# n+ w2 y- D' c+ T#30=20.
8 u* |3 s6 ^: r! K, I" E* vIF[#100 GT 2.5] G01' k( n: K; y5 w+ w
#30=15." `& Y. [; z0 O, z$ F' q8 h
IF[#100 LT 2.5] GO1<---此條件式可以省略4 j# j0 s( H* [0 x5 d8 ?+ ?4 f3 R
N1 G1 X#30 Y#25.......開始加工0 k8 k, ~* S9 u' d% j" Q
2 j7 Y/ }+ J7 s2 D9 ]- P3 g$ v#30會一直有數值去覆蓋它 J r+ ^5 L1 l1 ]$ k& ~
& j( x) B8 O" t3 I* O" d& p* b
- ^5 d, d8 \$ w0 _) Y形式3:理髮& v2 R0 D' M& n# P" Y0 U! k' k* A
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
' ]. r" A0 ?1 Y0 SIF[ #100 LE 3. ] GOTO理15分頭
' s& g6 V6 V' ^$ E9 s o5 ]1 BIF[ #100 LE2.5] GOTO理12分頭
$ z7 `! I/ T" P1 B8 c: _0 t OIF[ #100 LE 2. ] GOTO理9分頭
$ q) J2 g$ c, s/ N! hIF[ #100 LE1.5] GOTO理6分頭
, g8 }) t7 t$ u* SIF[ #100 LE 1. ] GOTO理豬頭- T/ R: K# [% z
, `& H. Y6 `. s: `) `$ k7 B) \
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性6 y2 x) x7 _' f0 b
% R0 B% F0 c4 }/ H$ d- y; t3 Z! w
另外的一種B式
. M! G3 x' I/ D! C XIF[ #100 GE 3. ] GO3 W$ L0 V8 g1 X) r8 Q
IF[ #100 GE 2.5] GO8 u! A$ R8 n0 C0 H+ O6 q* C% @4 D
IF[ #100 GE 2. ] GO' e$ X) s( _7 r& d
IF[ #100 GE 1.5] GO$ [1 t+ }- x3 y, X& ~1 ]: Q- w
IF[ #100 GE 1. ] GO8 B3 F6 b5 F0 F% b! V
順序不可顛倒喔!不然少將會理成狗頭1 `# c6 T/ B7 h# v/ U6 D0 ]2 m2 {; R8 F
此例不能安排、佈置快捷性6 G: ]4 ?5 X7 a5 O, B8 _$ c
/ b, x9 N' d5 T6 p1 s2 Q+ z' q; q# e" i
A式:有點像把數值逼到牆角比,自不量力可直接看出0 w' K& C! v! A5 ?; \6 M
B式:像在自由空間比,如果順序調換/ d) ]4 z$ b+ l
有錢人也可以去小吃店吃牛肉麵5 Z3 G m' ~: d( H
高學歷也可撿回收物當職業' S. ~# j) ]4 e9 R
# W& D+ u$ B ?, S# Y7 x
再說一下B:順序不能上下倒立,只能轉身如
4 s# K, k; [2 z3 G" G& ^IF[ 3. LE #100 ] GO
0 W) L/ z; c: T; s3 [...
! T/ C* C" y+ G9 @...
2 Y. C8 J* M: r- P1 A; z C2 B1 PIF[ 1. LE #100 ] GO: b2 @% T2 V7 S
. e6 n7 ]! e1 w) j5 IA.B兩者有一種共通的特性,領多少錢就做多少事
/ }% q- d8 E$ @; ]* {5 W如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用* T, b2 Q) [. z
" {/ d$ f; _, F& _: ^8 w
: x' X) M5 B% u4 Q+ w6 T以上為個人的經驗 |
|