|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 6 p3 W0 R/ [ y! x) \
: Z5 M' V6 M! t) v9 M$ w9 w$ F使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性4 T; f# H) ]( z0 n# x
% j, ]. Y5 ]( e( f
形式1:1 d! G0 k! f. z5 ^* ~3 ?7 `
#100=选兵(陸.海.空)- Z+ b* h; ?, T9 l' N. I( d
IF[#100 EQ 陸 ] GO1- }' ^6 [" d& T
IF[#100 EQ 海 ] GO2
2 H/ C7 ?% y3 p# h; IGO3(鼻用說.當然是空軍)3 a* O! X& f, Q0 O4 d/ A% w+ p
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分) ~5 {2 v, e$ W$ n; T- h' e" o
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
f6 v- O3 S; m7 ]- \1 ]: O
$ s2 J+ d$ s! {* {如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
$ e/ I0 e H2 S; Z也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
: ?' O8 E) E& g' @4 u. E5 C8 n4 z# U0 h+ s
還有一種防呆寫法:( L% z6 @: I% N* S. G
#100=選兵(陸.海.空)
t9 L o) k# B* m2 @# LIF[#100 EQ 陸 ] GO1
& Z' H7 ^6 T8 u' f7 xIF[#100 EQ 海 ] GO21 T+ \4 n, z6 I: Z( c
IF[#100 EQ 空 ] GO3
$ y" ]2 A7 q' \2 J- A#3000=1.(如果流到這裡表示#100投入有誤)
0 r/ F" L* B* B$ u( ON1....
3 x8 d; v! l5 y; f6 O4 `: R# {7 k3 U: W& \/ c0 l' q3 V( I
N2....
P% o1 w% J& ^6 a% Z. C7 I0 a( C, _4 B8 c
N3....' j, Y J+ e# P; | M5 n
+ K& b. r Y( ~0 ~) _! a4 ?9 s- J6 k
M99
& }5 w, W; M) K, y' ~) F) k& P0 s( ~% G; }- `2 }" N
' N' w! D1 }$ X( v: a, b
形式2:( N" f) k$ s+ R; ]' S' ?1 {
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
+ s& h! i6 E0 CIF[#100 EQ 0万] GO1
! G! ?# T% s/ f/ PIF[#100 GT 5万] GO2
; B- q# {0 _4 TIF[#100 LT 5万] GO38 A; H+ R/ f3 h; R, J0 J- N) y
GO4(可省略條件式[#100 EQ5万])老師
9 d& w) C: x. ~7 U..........
+ @+ S% f, B/ R- O7 CN1 人民
7 N' ?+ d7 b* C& u+ F" P, @& [% L: u$ v
N2 政官- k( K6 q+ i+ \+ {# `' o
+ m4 }) k9 p2 FN3 軍警
5 W; I+ ]: ?7 \6 h* p6 n7 R) d0 Y* y3 F0 _
N4 老師
0 Q* S1 ~0 f, E% N9 {3 G: q* r+ @0 t1 q$ m$ _. E
M99/ _; n" H) w) K% e- u, ^9 L' I
2 {/ e. p: W0 D+ U5 P: w
※注意1與3可能會有衝突,有前後順序性的2 B3 {7 E: a! l2 S/ c9 j
形式2是以新台币計價的4 |5 X$ r) F' A6 \! N8 Z
0 S6 ~7 F0 F! o4 k6 R
' U' M, `8 Y) u/ E# h# s
另外一個IF-THEN的例子:0 R+ y: D6 r5 a* B
假設#100=已用四則運算,算好的結果
0 F1 M. P3 ?, J* x' Y0 o, d+ |
; i9 Z% l( A' G# qIF[#100 EQ 2.5万] TH#30=10.
( V1 x1 w V4 H! q2 q X) cIF[#100 EQ 0万] TH#30=10.( K6 O: n4 V& D0 `! a! G
IF[#100 GT 2.5万] TH#30=20.. L& M* B! \4 r- m7 P8 ]
IF[#100 LT 2.5万] TH#30=15.
5 v% v3 _$ h UN1 G1 X#30 Y#25.......開始加工
9 d) q) C5 n! O$ _8 O& @. Q! W z; x5 a/ Y) j* W
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:0 M- p8 y! E2 t! M b$ n, L2 y+ S! j
" ?/ u: ^% J( X8 d7 l0 h, {
IF[#100 EQ 2.5] TH#30=10.1 u% m3 w* l, ~# z% l- D
IF[#100 EQ 0.] TH#30=10.
; ^8 |/ e; {; `IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)5 Q: R7 c4 r- X7 ~) t8 r
IF[#100 GT 2.5] TH#30=20.
6 A3 u9 Q* A& E2 K HIF[#100 LT 2.5] TH#30=15.
" |% u0 K- U `0 m- B+ r8 CN1 G1 X#30 Y#25.......開始加工9 w5 y! @% m6 C( ~; [! e5 U
0 m6 G: \ K0 z" f或改寫成,B法:使用或閘(OR)1 h, T6 @+ L& b. L& U
#30=10.
. j" s. S* q! a+ v( t( wIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
4 [, M% F N* B2 }. V9 BIF[#100 GT 2.5] TH#30=20.( |- L7 x. ?/ v. q6 G9 F1 H
IF[#100 LT 2.5] TH#30=15.
7 G( V8 _# [6 u0 y* SN1 G1 X#30 Y#25.......開始加工2 Y& W. {; R) L( D0 o B
$ [5 H4 E9 v$ U& p' l6 K1 q
還有一種不使用TH的寫成,如下:
! g! s5 E7 A5 K& k$ t30=10.1 K6 w4 m( I2 K R% K9 ~3 i
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1+ D! n" _0 T W( ^* {+ h5 ^
#30=20.
2 T. K- S8 a7 fIF[#100 GT 2.5] G01
) U' q/ W9 F+ Q3 O- _#30=15.6 S5 S0 l% { S% V/ Z( j
IF[#100 LT 2.5] GO1<---此條件式可以省略
* d7 w" R* |( }" q x0 s, p AN1 G1 X#30 Y#25.......開始加工
& K; G5 g( v" g8 E. o! Y$ m7 _0 j+ j+ ~6 K/ v6 G
#30會一直有數值去覆蓋它. L& n7 k- C x$ V/ V# `+ r
3 F7 u# p& M$ H9 E% o* Y& k7 l \& b; U
形式3:理髮' l# T1 I0 ^2 V7 N
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)2 m; _+ M: N9 r9 |& b! D
IF[ #100 LE 3. ] GOTO理15分頭
! D% G( T: p, ?' C: n2 aIF[ #100 LE2.5] GOTO理12分頭
1 Q2 @4 @: z+ p* dIF[ #100 LE 2. ] GOTO理9分頭) _: d- n' R& Y- d
IF[ #100 LE1.5] GOTO理6分頭: y3 Y, J6 R! Y/ p& F) `) ? G' p
IF[ #100 LE 1. ] GOTO理豬頭! L% x4 e8 d9 d- M; t( A7 Z
! n7 T2 a$ I3 L0 m
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
9 F0 ]% e: n' Y& T$ q5 M2 s7 S7 g% J- w# H' I$ R7 t
另外的一種B式, q0 L1 P1 j: o
IF[ #100 GE 3. ] GO
" N) ]% n) B- I }% EIF[ #100 GE 2.5] GO
, E" K. T( i+ c9 hIF[ #100 GE 2. ] GO
1 r& j9 n3 Z- \, c4 U4 d4 L! oIF[ #100 GE 1.5] GO5 |+ Y+ u2 I& o* g# F" ~
IF[ #100 GE 1. ] GO
- y- J) }- z& b5 R& O順序不可顛倒喔!不然少將會理成狗頭0 d5 c$ ^8 {/ e4 I3 L+ Q
此例不能安排、佈置快捷性
' X( l, F# \$ y7 k6 y8 Z1 ?) t# M* S: T# L4 O# j& h
1 G% h( ^" b" Q( [( O* bA式:有點像把數值逼到牆角比,自不量力可直接看出
& s. m' W: B+ e- v* v& V' PB式:像在自由空間比,如果順序調換
. L+ w1 M% m! a" o4 G9 E* |$ v有錢人也可以去小吃店吃牛肉麵
( I0 d1 S$ ^8 }6 s; _高學歷也可撿回收物當職業
2 f. A U, A0 R% m8 X! x- ?( l; Q k
再說一下B:順序不能上下倒立,只能轉身如6 i9 q3 F" _) V. L ]
IF[ 3. LE #100 ] GO
3 q! J- h9 ?! j4 `9 g2 k% Y+ ?...: Z C" w7 T6 {4 B
...
: g" p& r H$ n( T% q6 F$ XIF[ 1. LE #100 ] GO
! l" l, \9 y8 q; @
; S2 ~! T7 ~- b" [A.B兩者有一種共通的特性,領多少錢就做多少事
7 g3 e% P0 r$ |- }; O如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用' A- j% `' j; O" J# z. ^+ j
; D' _' n& H& H$ P% D3 z6 v$ c* n$ Z4 t2 Z9 T
以上為個人的經驗 |
|