|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 ; k0 s5 s( D* z, [8 p0 J) c
; K0 J( w8 N" q4 G3 a8 i. h2 b使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
8 J9 H" G/ G7 t0 K; O& \7 Q! F, V* b/ k3 _' C& Q
形式1:
8 [" }: m/ W+ a, ~" ?8 I' I9 w& t#100=选兵(陸.海.空)
+ Q; D2 z& o s6 c0 JIF[#100 EQ 陸 ] GO1. A% [1 Q9 l. K, g% H
IF[#100 EQ 海 ] GO2. {) q( Q- H7 n5 x
GO3(鼻用說.當然是空軍)( Z9 X5 p. s' p+ c, {5 \9 n
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
9 R3 V3 Q0 J$ B! N) U( h" r因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)5 F% v Z9 f( B6 A7 {
' N+ o) e Y; y8 ]+ G6 T/ {如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆0 g& m4 j1 k/ H8 t5 b
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做( j; F" o+ T/ A
- \2 l8 A- h; F l
還有一種防呆寫法:+ i2 F, k8 M6 z1 S3 J R
#100=選兵(陸.海.空)
: Q3 ^. V6 x; w7 n- G9 FIF[#100 EQ 陸 ] GO1! G* a+ b2 O' p, b$ f/ ]0 {% m9 R
IF[#100 EQ 海 ] GO2
7 ^* v: `7 {4 e- ^, D" `IF[#100 EQ 空 ] GO3
7 E5 Y; J& c, h#3000=1.(如果流到這裡表示#100投入有誤)3 q7 r" e" U; ]
N1....
* \5 W/ {1 ]3 Q3 K1 b" w% O; M' }+ t: N6 |
N2....
: ?7 |. ]& z* n' k3 c$ c3 m. P, i; k# E
N3....3 j: @/ z9 G1 I- { d
& `) q4 A( O2 {% i% s' c2 d5 u
M99: J* g1 o1 G2 E: u9 k8 y
+ b! d& _8 E5 Q! L$ y7 G. ?* K' L5 b) X
形式2:7 l# m) a0 U/ q# t, x- _) s# W
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
4 [- W; G* i7 D4 hIF[#100 EQ 0万] GO1
# v0 x" D9 L! i, x7 y' F) HIF[#100 GT 5万] GO2: [! ~2 M. t" W* o
IF[#100 LT 5万] GO3
, T, U) w- ]' k7 V4 l/ {* a" HGO4(可省略條件式[#100 EQ5万])老師7 v& P5 Q! M' w' s8 i
..........
. W( a" {# U* s' eN1 人民6 V9 A6 k! {: S
' ]2 |/ P2 J0 r( B
N2 政官6 o) i0 A H- d' c: |' p( M; h
! ?5 f" l- W, Z6 }: A/ m
N3 軍警8 i" {+ X4 b! t; C! z' I
$ r, W( R. y S
N4 老師
0 B8 J: ^# I! ^0 [: S& }$ Z' | A7 O- {8 U
M99% D& \5 {% }$ \3 n& _) \, i
1 M0 X& `! f! ]6 X※注意1與3可能會有衝突,有前後順序性的
" H s" R" C6 Q; r+ d* R形式2是以新台币計價的
! K( F# n/ x: {( N+ K7 V
* F4 l4 \# P d8 y; r) n2 p Y( n
& s5 q, J5 V9 f$ l! j另外一個IF-THEN的例子:6 e( _9 t% Z6 c2 F
假設#100=已用四則運算,算好的結果7 j* u9 Y% l0 ~; |
9 A6 G# M& G- R" c% W$ h' K
IF[#100 EQ 2.5万] TH#30=10./ x; H0 O G# C! ?# ?2 [' m/ t0 Z
IF[#100 EQ 0万] TH#30=10.' }- a, ] M! [" ]! Q' }0 j
IF[#100 GT 2.5万] TH#30=20.3 ]* ~" w5 R" M
IF[#100 LT 2.5万] TH#30=15.
& H9 ]5 Q1 ~/ WN1 G1 X#30 Y#25.......開始加工
7 @2 U! A6 y& }* [2 v" `2 O2 [
, Y* W5 n% {) @% \5 [上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:% V+ t+ ]2 `" i- D/ s! [8 F$ w
! `+ V9 r. V8 [3 _ ^6 ^9 g# m" OIF[#100 EQ 2.5] TH#30=10.7 d* N4 L! m4 @7 J
IF[#100 EQ 0.] TH#30=10.
1 x; b' b- V4 LIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
+ \. C' ]$ ]( rIF[#100 GT 2.5] TH#30=20.
& \/ T5 O& y& K4 P& r$ K- fIF[#100 LT 2.5] TH#30=15.
! o, u1 z% I! g$ P, ` R( m$ oN1 G1 X#30 Y#25.......開始加工
3 k+ f) a* t9 ^8 y
& {+ g. j, N9 \" B+ Q0 H6 F或改寫成,B法:使用或閘(OR)# O: Q% v% z& K9 N" t" b; j
#30=10.) o+ f3 Y* `9 ^1 q9 v3 V
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)0 `" {* K" h/ W( S7 u% I" q+ `
IF[#100 GT 2.5] TH#30=20.4 M5 E( Z% m( \
IF[#100 LT 2.5] TH#30=15.6 p9 D S! D" n5 D: h! _
N1 G1 X#30 Y#25.......開始加工
3 y5 y: g/ h T( s5 n0 Z) N* Q9 c9 x+ N3 X6 G- C2 n
還有一種不使用TH的寫成,如下: b/ E: `& u/ D# z% K
30=10.
* [, d9 a( W8 G. t& ~# A7 jIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO16 x0 R2 F( S" ?. M$ n! u" w
#30=20.( `; v3 Z& d s8 u, z9 k. j; l
IF[#100 GT 2.5] G010 ]" S- F1 r1 B0 k
#30=15.
+ d' X; o/ k5 \9 ^4 qIF[#100 LT 2.5] GO1<---此條件式可以省略
" `0 m: w- _% }N1 G1 X#30 Y#25.......開始加工) s; R2 Z4 `6 L/ x' p/ X5 {8 @% G
9 h! A' D0 K* C
#30會一直有數值去覆蓋它" t7 J0 ?6 e m' ^; H' F l' s7 b
/ E. ]) `. Q% F& }7 d
q8 k6 W2 H/ V7 i6 v; ]形式3:理髮
( m ?6 u7 y! A! z#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
% u2 b/ g/ ^5 D/ X. ?6 QIF[ #100 LE 3. ] GOTO理15分頭
. A3 p1 N6 F0 ?0 R% ] {IF[ #100 LE2.5] GOTO理12分頭' z" ~7 ?8 y, i; G+ E
IF[ #100 LE 2. ] GOTO理9分頭
1 v& ?2 t& C$ R) t# TIF[ #100 LE1.5] GOTO理6分頭
0 t* e- S0 x3 k; v" J" ?IF[ #100 LE 1. ] GOTO理豬頭
* `- t* g* x) P2 j' U* g% Y
$ U( j( \$ z% v0 n% D※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
( d: @! }6 ] P# }5 d8 A2 m* N2 }. h5 H' J! U% {' }# u4 ]
另外的一種B式
* `( |/ J, i7 iIF[ #100 GE 3. ] GO. g2 j4 d! N ~ S) L
IF[ #100 GE 2.5] GO
( M0 \) R/ N" ~" T7 q: Y1 n9 B0 iIF[ #100 GE 2. ] GO9 u& X7 v' V7 m" f2 z4 ^) x
IF[ #100 GE 1.5] GO
, N1 Y. `" i* |- r9 tIF[ #100 GE 1. ] GO
- o2 X# V1 {9 b( T$ n順序不可顛倒喔!不然少將會理成狗頭
+ L+ ]* C% p7 ]' v此例不能安排、佈置快捷性
, P; {, s; B1 g% A S& D8 ?
~: z. V* p- e+ \8 Z8 N3 p7 m* h" A+ l! ]# l
A式:有點像把數值逼到牆角比,自不量力可直接看出( n( A$ J4 ?# B9 v) Z
B式:像在自由空間比,如果順序調換' J6 ~. l- d5 y
有錢人也可以去小吃店吃牛肉麵4 g, N% n: C% `
高學歷也可撿回收物當職業
2 ~3 E6 t$ P$ a" [- d! A+ D9 P y0 q! h4 D
再說一下B:順序不能上下倒立,只能轉身如3 \% x; i: j0 G3 I6 m' z/ h
IF[ 3. LE #100 ] GO1 y* |! W* {' p+ f; e C3 k) M
...
. s6 N. B% J; d2 c# f' ]...
. y5 @% c0 F* r( C; S1 a, yIF[ 1. LE #100 ] GO! W4 z. ~( U( R
' P3 I" H$ C' k! }/ {& E
A.B兩者有一種共通的特性,領多少錢就做多少事3 V( D' B/ v9 u5 r2 w7 T
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
0 b( m9 S1 B3 g `! |! D
. B% q3 {* {3 J) ]
9 N7 B& Q5 D$ F$ c* x以上為個人的經驗 |
|