|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
: X& y% H3 p2 Z& C: f `
7 d( T `0 c. B3 Z' C" c% K1 \: X) q0 A使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性3 j( N% i' t9 y2 u
- g) k9 I+ [: \- x2 C3 Y& l5 q8 @
形式1:
) K, D: R# g0 }- e2 c#100=选兵(陸.海.空)5 `% R! c; A( V- o f6 R
IF[#100 EQ 陸 ] GO1
0 o2 @* |* r' L# W* R: P7 ?* }IF[#100 EQ 海 ] GO2' f8 r) q8 ^0 K1 n2 T1 t
GO3(鼻用說.當然是空軍)
6 n" S0 j+ x2 v8 [$ h( I) L(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
- U9 ^$ M6 U7 C因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
" Q$ w4 o3 l6 X. z- x6 ]2 V
: @) n7 ]& G. y6 ^0 P如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆4 V% U* \+ Z' G
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做8 J; k( ? `- I W8 t; g( a
2 e" }% }- s& l0 `
還有一種防呆寫法:
) d$ E1 `5 d1 W# ?; N: M#100=選兵(陸.海.空)0 O. m2 C4 _0 U$ D; c% @0 M
IF[#100 EQ 陸 ] GO1
" D4 x) P Z. ?& D4 a+ R* qIF[#100 EQ 海 ] GO28 e4 S1 P" L" D/ m; d" [1 A/ _
IF[#100 EQ 空 ] GO3
: l) L8 T: S$ L#3000=1.(如果流到這裡表示#100投入有誤)
6 t7 x- K- N1 [N1....
# k3 b2 V! i+ {% [6 l
* o: z* E: i$ m, P# u+ s+ ^N2....- ^9 I- ?$ z+ V7 g5 D3 S
$ f, b* j* V* [9 Z9 m. G* V2 E) Q7 lN3....
/ t5 u2 Q$ Y h" Z$ g! ]3 C
5 p' N- c3 s, k8 O5 w7 g7 i+ N0 ?M99
0 E) `2 G4 D5 n0 w" F& K3 o: n: R" o" D. L8 `0 i) f' c
9 X( [+ g$ ^+ b$ t9 I- H4 |8 i形式2:8 U% b+ q; J/ p2 {4 ^
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
( e( s! H9 h' }' h0 F8 }IF[#100 EQ 0万] GO1" p6 R3 X& i3 o+ \& S- P- m
IF[#100 GT 5万] GO21 F6 B6 N; }* s# X# y; l
IF[#100 LT 5万] GO3" N5 a5 B( P8 ?0 ^! a
GO4(可省略條件式[#100 EQ5万])老師
/ `; M l, M8 \..........( L; }7 l+ `. P3 S9 V
N1 人民
" R( t7 Z+ H( c) Q. f7 t% b# T& A D8 }
N2 政官4 [: o: Y5 e, Y: M1 a
# Q: S/ H, }$ J$ y: cN3 軍警# i3 E& a1 Y( i
# e' |* Z1 C: e& ?N4 老師
! b) |7 i& t' E* z. j1 p; w7 _% Y3 y3 R5 B
M99, ?; b8 z; r. ?0 _& Y) B: Y L
7 e3 P# l3 v1 ^. M( C※注意1與3可能會有衝突,有前後順序性的8 z2 C' q# d0 t( Q' U7 U: ~
形式2是以新台币計價的
/ W m6 E5 }" R6 q% ?' h
% W4 R/ P* V/ M" Z; W' H. ?$ D3 B4 x
2 E k" f4 a8 J: Z# G: ^另外一個IF-THEN的例子:
. S6 x5 b( o2 w! a$ q+ z假設#100=已用四則運算,算好的結果5 Z9 p7 T9 a" O- l9 O, x% y
6 {2 v/ H/ e; y, m/ Y6 I5 dIF[#100 EQ 2.5万] TH#30=10.& K+ k4 V* d1 u k% H
IF[#100 EQ 0万] TH#30=10.
5 u; g, o- O( n' iIF[#100 GT 2.5万] TH#30=20.
' |, o+ x; g" {* u, AIF[#100 LT 2.5万] TH#30=15.; \6 g0 |* o2 W6 a" j1 ?
N1 G1 X#30 Y#25.......開始加工
/ `% O2 z# N. C2 S# Y4 w4 C
1 w* e" v" B" X. T上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:! X9 S# B: T% Y8 X& H4 R5 n4 _# s
7 }& I- K6 F+ {0 [) q# x8 _
IF[#100 EQ 2.5] TH#30=10.7 s; b% Z5 Y# \1 [. G, O A
IF[#100 EQ 0.] TH#30=10.
0 O9 X: S* b% T# MIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)& I. d1 S, @9 v+ s
IF[#100 GT 2.5] TH#30=20.
! \2 C5 O/ S. M7 L+ `! }IF[#100 LT 2.5] TH#30=15.) ]" E, K9 w- \+ C$ d$ o
N1 G1 X#30 Y#25.......開始加工
: W. W% J# O2 ~3 ]+ R& w( \+ v1 W' M7 j1 b* B/ ]" m9 L
或改寫成,B法:使用或閘(OR)0 R8 @5 w$ \+ K9 i5 T. k1 l
#30=10.1 u, `& Q( A6 \" u4 q
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
; N8 {( m2 C( k3 gIF[#100 GT 2.5] TH#30=20.
* r2 J- Z, B! w( u7 OIF[#100 LT 2.5] TH#30=15., K& ]" _$ _* N/ r# q
N1 G1 X#30 Y#25.......開始加工
1 u& M- v8 l9 m0 B9 \3 T" B, w4 C& y. e) q3 J2 S; `
還有一種不使用TH的寫成,如下:( X/ v! U& Z& A j/ T/ } s3 _1 a0 s
30=10.
8 Y- b. P0 c; F& [/ f$ IIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1) a7 s2 u; w9 O( Q( X3 U# ^
#30=20.7 U5 v4 i3 @* }6 ^9 n" R i7 W
IF[#100 GT 2.5] G01 x; D( J, Y# ~8 l
#30=15.
: l) f3 W% r" n5 EIF[#100 LT 2.5] GO1<---此條件式可以省略+ k6 O9 L' S! J
N1 G1 X#30 Y#25.......開始加工8 l+ P0 h% v- X2 \, E- }3 [
( Y- W! g; N, t y
#30會一直有數值去覆蓋它4 I2 @, j1 D( p! X5 D
) Y: V+ Q: ^/ c* q% x# i# [0 k# A6 g5 D0 n) Y' e
形式3:理髮
: z1 k% Q% ] A6 C! _- h6 X# E& e! R#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)- y2 |! }" [* T. j1 t; C/ K
IF[ #100 LE 3. ] GOTO理15分頭
8 I3 ^" k0 j! H, jIF[ #100 LE2.5] GOTO理12分頭
A+ s4 v/ J% s. Z, Q# JIF[ #100 LE 2. ] GOTO理9分頭
5 Q" \( M8 L- {8 U+ @3 A# yIF[ #100 LE1.5] GOTO理6分頭4 ]# P, d9 W$ V) ~- S! V: G7 |$ A
IF[ #100 LE 1. ] GOTO理豬頭
& T+ z( z5 A5 ~& A7 H X3 {( X
4 }* Q' g9 W+ s" y9 T※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
r4 g! H9 d- I! o; v2 v5 D3 g# j& {2 g; j; U* c+ {
另外的一種B式
: J, u: `/ U0 r( }; d5 H3 CIF[ #100 GE 3. ] GO
7 H# _ ~) b6 _ y2 ]1 sIF[ #100 GE 2.5] GO8 X6 h7 @) u$ u
IF[ #100 GE 2. ] GO- \3 O7 t/ X+ }# ~: i/ Z+ \4 \
IF[ #100 GE 1.5] GO5 M. {' p; ^4 i' ~* L# B
IF[ #100 GE 1. ] GO
2 p* d2 a5 O. J' d0 s) u順序不可顛倒喔!不然少將會理成狗頭
& z) G* ~& b; W- o' @! F! i/ ]此例不能安排、佈置快捷性
' t3 m1 H6 x$ S- v4 {( B' ]6 ?8 i) `0 j# R# S: F. t
/ e! a! D0 ` S9 V" I# W6 D! _9 J
A式:有點像把數值逼到牆角比,自不量力可直接看出
7 p& E b0 q( k& b; Z: S, V! nB式:像在自由空間比,如果順序調換
* V- ^! d# I' r, S有錢人也可以去小吃店吃牛肉麵
; o7 H, {6 ^3 ^0 n高學歷也可撿回收物當職業
9 n, t; i' g' r. n1 s
Z0 Q4 I& _/ C) J1 Z1 u2 L再說一下B:順序不能上下倒立,只能轉身如
$ g0 V+ h+ Q4 _0 @+ ^ |IF[ 3. LE #100 ] GO
2 D9 g; f) r0 G. o; n9 N+ H.../ D2 n6 s1 W0 [& r7 P
...
F' Q6 G1 [1 tIF[ 1. LE #100 ] GO
! g) E) z( D. Y, \6 k/ `7 S* d" v0 ^
A.B兩者有一種共通的特性,領多少錢就做多少事& c. f4 ]0 }6 [, d* n* J" \
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用, q$ N: Z1 u4 ^ b* z
x" {: {9 _& u: R* Z' ^
, |8 j9 a2 s4 T) }8 Z2 B
以上為個人的經驗 |
|