|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
( U# X4 H3 G1 z- R( P# A7 m( _7 ]9 W0 h" X0 j
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
4 h% V- L9 k: n v+ f0 l. {( k* u: y0 d- Y. k" D0 g
形式1:
+ K* U* x5 U1 ?#100=选兵(陸.海.空), G6 W+ S/ q, G0 }
IF[#100 EQ 陸 ] GO17 e) m2 y5 B9 O6 D: {* s( h
IF[#100 EQ 海 ] GO2
1 e$ N `3 U O+ n6 hGO3(鼻用說.當然是空軍)3 R% D _5 A' o
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
! O' e& R' O3 q" W7 t& y因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)6 A K: b$ F# Y9 S
! G) s$ l# r1 n1 I$ V( o1 N7 q$ B U
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
( C, w, P0 ]' V0 a( ~( b2 b也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做0 ?/ c: U, { N" N% o
$ O3 [7 p) P+ x. o0 ]1 l4 T n還有一種防呆寫法:
4 b3 b }4 u" j2 }$ z#100=選兵(陸.海.空)
8 H1 z! J# s. v9 d7 XIF[#100 EQ 陸 ] GO1! w2 |4 Y. n I {8 M7 ~* Y7 s; c: B7 W9 x
IF[#100 EQ 海 ] GO21 m$ I3 J5 T9 v6 G( t! A
IF[#100 EQ 空 ] GO3
1 ]! n, P; E/ [$ T#3000=1.(如果流到這裡表示#100投入有誤)
/ A; l0 l! |% Z P- E: p( S5 LN1....
! M* k% J. ]0 ?6 }. J, i+ g+ k0 ^" m
N2....& [6 `9 M. W; E6 [; T+ U
, a$ A5 c) Z! s( Z, y- Y* HN3....
, }& [# a' b; f' r) A/ k8 a7 x$ d
# x5 h1 p% B2 AM998 E1 x9 x% ^8 |
4 |3 I: ]' D% U
( i: h& f: ^; T. y0 K" A4 k2 ^0 L8 _形式2:
6 @" l! F4 a2 B& g#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
5 ]* a) T% m; Z" |$ x3 uIF[#100 EQ 0万] GO17 O7 Y6 Q" H W8 I' U0 \3 y. V
IF[#100 GT 5万] GO2
9 ]3 O& c! T* C) T g' j) s. J2 wIF[#100 LT 5万] GO3
2 p4 }! y3 h" \. [- L [GO4(可省略條件式[#100 EQ5万])老師
' u; r0 D H- h..........: Z) p* s2 ~* D$ A- m% u, w
N1 人民! b& M7 N: k. H' Z. r: S/ c& q/ l9 M
# i/ T7 P! i+ a; p1 A& v$ FN2 政官
* c) {& y1 z5 P/ C1 n; e# a& r: W7 O. B% W. \% S
N3 軍警
; O. x& T& M5 {6 q
. X" J- `) O& l! M9 ?N4 老師+ W4 J7 o% l; q9 P" z1 O
- @( c2 i! D) u" ?% U1 r/ ^
M99
& U( ~, v7 F* ^/ `' T$ a9 l* s! S' E
※注意1與3可能會有衝突,有前後順序性的
c) Z1 S# F* Z形式2是以新台币計價的
% o$ {- p" y/ e! T* {* U- P/ c. D) g3 N2 A _# d! W$ Z, q
+ b4 V \6 ]# b3 n ?2 H# f
另外一個IF-THEN的例子:7 [" q5 \6 w( }, D# V+ q
假設#100=已用四則運算,算好的結果
! ?+ n5 w+ f. n' e" d! Z" s4 v1 a0 x z# S; b& U/ z" q
IF[#100 EQ 2.5万] TH#30=10.* ~) N/ h( @8 q4 F7 M; j& b+ V
IF[#100 EQ 0万] TH#30=10.$ I' l" [# [' a
IF[#100 GT 2.5万] TH#30=20.
' P( I4 J% p! E. M. N2 d' c& K$ mIF[#100 LT 2.5万] TH#30=15.
; U4 }4 B! z9 U$ \N1 G1 X#30 Y#25.......開始加工
* h8 a0 ^' T2 Q& Z0 b6 |% N. n3 `* w- ~* S
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
; H' _3 U! _" m% r, D
6 M& M% u: F. t9 E+ QIF[#100 EQ 2.5] TH#30=10.
: |: S/ y' L% ?/ R% xIF[#100 EQ 0.] TH#30=10.
. ^$ m( B% }; ]IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)( L' U* g# d g7 J' o
IF[#100 GT 2.5] TH#30=20.% h/ [5 c. U3 Y) m( s2 s6 {
IF[#100 LT 2.5] TH#30=15.
- Z; @3 P, A% PN1 G1 X#30 Y#25.......開始加工$ o/ B& p1 j: f
) n& j" l: s2 k% C s# l! `& Q
或改寫成,B法:使用或閘(OR)7 t. f. h# c; V
#30=10.
7 @6 l& P ?+ X: F NIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
* c: j# o* ?" v! e# bIF[#100 GT 2.5] TH#30=20.+ O, ]8 m2 h- S
IF[#100 LT 2.5] TH#30=15.
" h% h4 P- x1 j' j7 p9 q3 ZN1 G1 X#30 Y#25.......開始加工
\% {% K7 q3 U8 V# b8 d
" P, s3 c0 L! J3 X, s還有一種不使用TH的寫成,如下:3 A/ O2 i+ G$ \% Q6 g0 [. Q4 @# Y
30=10.2 q5 Z/ G, A3 {" n/ u0 ~
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
1 E3 r$ J% _" M3 {2 a#30=20.
/ t7 Y# r9 U( r5 {* N# HIF[#100 GT 2.5] G01/ I8 P, B, E; f% J) H
#30=15./ i* l, v" S2 r) M" n- T$ S
IF[#100 LT 2.5] GO1<---此條件式可以省略, Q; _( E/ J _& W6 u$ B
N1 G1 X#30 Y#25.......開始加工* ]4 p: w* C: A$ j6 V! R7 {
/ z7 e0 A4 I6 ^8 O: h) p: z8 t7 S#30會一直有數值去覆蓋它
; _; A: y" s# T' f; G) \4 V( R2 W8 n0 g1 G. k% V: `. x: p4 M
- v: n; d& s- t* ?; _
形式3:理髮 Z# J' v# C6 F/ L* M5 j
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
8 q7 r9 U- d# @$ eIF[ #100 LE 3. ] GOTO理15分頭
0 W# J* d1 Y7 O! ~' y. f$ vIF[ #100 LE2.5] GOTO理12分頭
1 h2 q1 I B& v! ^' |. Q. JIF[ #100 LE 2. ] GOTO理9分頭$ E; _( b; @. D" @; I
IF[ #100 LE1.5] GOTO理6分頭
- ~; u( ^4 ?- W- l5 fIF[ #100 LE 1. ] GOTO理豬頭& b! E9 S/ ?/ `0 N& c
' e! {3 b8 L Z4 {5 |! @※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
) b' r) ]1 ?% {$ [9 |2 U" ?& D; |: O w5 u1 C; E/ p0 I' y' F
另外的一種B式: k( H, B, ?4 w$ U' c+ V8 a3 P
IF[ #100 GE 3. ] GO$ d2 v- m' H$ R8 l& [$ @
IF[ #100 GE 2.5] GO1 a4 ~+ {0 e+ k: ?. h- b+ J
IF[ #100 GE 2. ] GO
9 \) y& x. R4 i6 L! lIF[ #100 GE 1.5] GO" ]8 S8 j+ i7 @" _
IF[ #100 GE 1. ] GO9 N5 ~% O$ U9 _
順序不可顛倒喔!不然少將會理成狗頭
x/ k% Z- K: v" t此例不能安排、佈置快捷性6 r+ H% \) h3 N5 u# t8 Z, g
7 a$ P2 A, s& \
1 B9 e- n6 |+ j; ~7 \- B& R8 C: }
A式:有點像把數值逼到牆角比,自不量力可直接看出% m5 J5 P; Q9 d5 U# p: Z
B式:像在自由空間比,如果順序調換
/ V/ H4 T$ Y, R9 m" h0 ]8 R: _有錢人也可以去小吃店吃牛肉麵
5 I9 R) q5 _1 V, F* h高學歷也可撿回收物當職業2 C0 U' M$ Q$ U" i) L7 Z
5 |2 C) Y& A9 n$ ^2 M
再說一下B:順序不能上下倒立,只能轉身如
6 P% [8 O& D3 j& vIF[ 3. LE #100 ] GO
( x, x3 i" E6 U) J: o...
) h3 ~$ f! b* L6 F9 \/ K...* I7 x5 f5 C8 \% p
IF[ 1. LE #100 ] GO: u" [9 O U: v9 B. z$ r% s! |1 _
0 L/ X8 ]. A+ ~/ YA.B兩者有一種共通的特性,領多少錢就做多少事
* C& H! o" i' y: V" b3 F2 u& Z' p如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
: V( {$ D* J3 p/ S
8 U5 X2 {, Q0 A* t3 O
, s6 Z/ L0 X, i& H- x以上為個人的經驗 |
|