|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯
( A5 {# ~9 H- N f9 O# u$ I
/ n% w! K7 c$ Y/ e0 v使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
7 s( N* [7 d+ a; ^- P' u
& Y: [% r8 M3 c& v' @& v形式1:
' h5 { A, f2 e- L9 _8 o#100=選兵(陸.海.空)% C0 Z# h: N' Y- E7 _ \4 [* q5 N
IF[#100 EQ 陸 ] GO19 a6 ~) j( S5 v
IF[#100 EQ 海 ] GO2! I! ] C. Y5 f( [
GO3(鼻用說.當然是空軍)+ u, x: V9 L) R* t1 c
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)- K7 q: y, P0 L" w0 v! X( S
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
1 ?1 j0 v- t5 j1 d% S1 Z7 ^. X* o# C5 Q# ]' z2 A3 I+ B$ ]
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆( D2 o/ l ?9 a
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
9 {- z) v5 X; v# ~
9 _. j. p" j8 i6 v3 u9 ^7 n+ e% a% M還有一種防呆寫法:
; ? X6 F4 b3 ], e: @" f#100=選兵(陸.海.空)) t7 ]8 T+ z) r: r/ h1 Z g2 I: ?; L
IF[#100 EQ 陸 ] GO13 o7 ?: W' w" r) @) S, v
IF[#100 EQ 海 ] GO2
4 Q/ c: d$ A/ Q$ B5 iIF[#100 EQ 空 ] GO3; W) H/ u2 D8 s! P* e
#3000=1.(如果流到這裡表示#100投入有誤)% }& m; d+ l' t3 s8 O( G
N1....4 r3 W, F1 y- R- P4 U D# _0 Y
1 d, Y" A% G, e$ f5 mN2....2 h6 k7 I9 N& U2 ^* F5 u K
5 [/ I5 r3 [1 Q2 u# _4 F( p& U
N3....1 t4 U4 d0 \$ }
$ X/ R, A) p; o1 N: n7 b0 cM99
2 O7 d: L( W- M% f, d
+ M* _7 Q$ M. r( Y K9 h. ~ \; X9 v8 n# m( u
形式2:. R6 \; F& x' _/ P# B6 T# `
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
3 [* y5 R% I; F" _4 G, uIF[#100 EQ 0萬] GO1
/ n0 b* {! a/ N2 lIF[#100 GT 5萬] GO2, \; R, Y6 ~- y. i
IF[#100 LT 5萬] GO3, b0 q7 W2 I' ~9 P2 [
GO4(可省略條件式[#100 EQ5萬])老師
2 {( p: [3 p& Q/ D..........: u8 d% f. O' Q7 f' W
N1 人民3 ?' ]0 @& q( D
! C: U* K! z, uN2 政官
+ S+ j) g' H5 h! _: f
) l* M% a7 T& B* {* T, P. IN3 軍警: G# u6 ~: F$ j" i: B7 r
7 F3 T. `1 c; x+ f8 T
N4 老師1 A v2 u8 E K- B$ Q' v
9 E R; P" W* O* ?M99
. ^- x4 C4 N) ~" ~0 S' Z1 C) S4 W5 o( B( y H& U) Z
※注意1與3可能會有衝突,有前後順序性的
8 V, J# ?- ?4 S8 j. ^形式2是以新臺幣計價的
; I4 j+ w" \& t P
- a6 p7 |0 r/ G3 E0 V$ T6 N* J! {) X$ E* t, P, ?, i) t$ {
另外一個IF-THEN的例子:# m; |0 g) S# B( f" R
假設#100=已用四則運算,算好的結果
1 |8 r: L# [- `# v; k
; n- D3 A3 n$ @: b5 ~" u. X- r% c3 Y0 iIF[#100 EQ 2.5萬] TH#30=10.
- h, u* l' n3 @ }3 aIF[#100 EQ 0萬] TH#30=10.
! K8 \, l7 o: rIF[#100 GT 2.5萬] TH#30=20.
. S/ ^, L1 A; K1 ]8 RIF[#100 LT 2.5萬] TH#30=15.
4 I$ R) G1 S R* p2 TN1 G1 X#30 Y#25.......開始加工# J! M3 u6 v" k8 q9 J" T
4 ?3 l2 F: Z0 ?1 M上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:/ l& Y. J1 `3 {6 l, z2 R
7 N- D6 r o4 V; |5 O0 BIF[#100 EQ 2.5] TH#30=10.
# K( c4 E, ^6 h& K1 [6 HIF[#100 EQ 0.] TH#30=10.7 M; S( J; I: N: |& t" ?% N u
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
6 R3 I7 E' I p; n3 ]9 \$ qIF[#100 GT 2.5] TH#30=20./ I! c1 A. v& ?) z
IF[#100 LT 2.5] TH#30=15." c" e( r& l; c, i0 O$ H
N1 G1 X#30 Y#25.......開始加工
; g" V: C; W' @+ N/ P8 r7 ^# G* p( S
或改寫成,B法:使用或閘(OR)
/ X. z# t( O: K. A, u#30=10.
4 y2 K9 @/ L. i/ SIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)# @4 e: {- O4 I" I. B; y
IF[#100 GT 2.5] TH#30=20.
/ G* ^) ]" N* A0 _3 a+ }8 X3 _IF[#100 LT 2.5] TH#30=15.& |* O0 K8 \" `5 _
N1 G1 X#30 Y#25.......開始加工' v1 I( R6 C t' ~* E9 S
9 h) C. w' j! E3 Z3 V0 i5 {還有一種不使用TH的寫成,如下:
/ ~+ X' C# B# g# G F3 U; E% N* D30=10.
" e/ s+ W1 D. J+ [; k4 x, FIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO14 J% E9 K3 s' e c
#30=20.2 ]* ~1 F0 ?/ B2 p# e
IF[#100 GT 2.5] G01
- d' y7 g+ E/ {1 k#30=15.1 z, _1 c' Y3 L3 B& S) x8 o6 l9 d$ v' ~* q" Y
IF[#100 LT 2.5] GO1<---此條件式可以省略
4 I, b" L k1 ?) W0 R- MN1 G1 X#30 Y#25.......開始加工
( O6 h5 w9 `$ S: X$ k
) w, P$ y K1 Z% [4 D% d1 g" X#30會一直有數值去覆蓋它
* T2 }1 a( f& k$ ~ u$ \/ {4 w7 Z2 v3 ^& i$ Z1 d) v( s# N- y0 y
, G* O# C! i9 G& x% Y! S& j* x/ S- L
形式3:理髮6 F/ i- Q6 n% e& v( Q; O
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
0 S* D/ {5 U; y+ [$ k% x5 mIF[ #100 LE 3. ] GOTO理15分頭
% B2 }8 H9 r, EIF[ #100 LE2.5] GOTO理12分頭
, P9 E; d* K& t8 h9 E5 x$ TIF[ #100 LE 2. ] GOTO理9分頭
8 I+ E6 H/ _7 S7 {IF[ #100 LE1.5] GOTO理6分頭
" ~7 `2 Y- F7 Y+ LIF[ #100 LE 1. ] GOTO理豬頭+ F$ D6 o) M$ M$ s/ J, H, T
; r$ _& F% O: `8 J ]0 b; h3 j* d {
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
$ m$ r$ F6 U. d1 J; c3 V
/ ^* i% F- M+ N, |/ z& V另外的一種B式: r- i, G/ j) }0 O6 O
IF[ #100 GE 3. ] GO# D9 }# a' _( t" C8 q$ w
IF[ #100 GE 2.5] GO9 q, v9 W0 o7 Z
IF[ #100 GE 2. ] GO" @( J$ L9 G1 C4 D4 L! A8 y \9 b
IF[ #100 GE 1.5] GO0 W; O" G8 h1 L0 S, H3 G
IF[ #100 GE 1. ] GO
% Z2 @* p8 D7 i7 F順序不可顛倒喔!不然少將會理成狗頭, k! B- A% c' O
此例不能安排、佈置快捷性: B" S0 a2 r( S: }2 }* y
9 T% `& u! X* h1 f& D# m7 D1 Q7 r* i
A式:有點像把數值逼到牆角比,自不量力可直接看出: B9 f! F' Q! X$ _6 N
B式:像在自由空間比,如果順序調換6 P3 m# S4 v: C' {$ R' {
有錢人也可以去小吃店吃牛肉麵
% P- R' H5 V) S7 g3 ^- M高學歷也可撿回收物當職業5 O9 O1 i! E5 {' @5 j2 \
! y7 ?) f `4 s5 v1 J8 P
再說一下B:順序不能上下倒立,只能轉身如
% H+ {0 T$ J& M: T0 L$ N" YIF[ 3. LE #100 ] GO
+ u: ^9 |8 U9 p+ Y( g2 E4 h...
& ?/ J% T" C! Y9 U/ a! \* p...% h- K. x0 d; q0 O& L1 v
IF[ 1. LE #100 ] GO
' p1 B8 y$ S$ k" P3 L7 l% X' {8 c1 U0 A4 ^3 i
A.B兩者有一種共通的特性,領多少錢就做多少事
5 h' _" N8 l5 ], C如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
+ U! A! I* I- a4 r# u5 t# G) v# F; G7 Y" H
0 x7 I2 J( q7 j1 X+ |9 f9 F/ f
以上為個人的經驗 |
|