|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯
% r$ b0 |; a) V3 h2 O' @
M3 l& l7 b2 V8 y使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
8 L& F6 t @. K7 M K, M3 ~/ o5 b# x8 ^) c
形式1:/ ]" c6 ?! n* J' z6 X' o
#100=選兵(陸.海.空)
~( J9 B+ [; ~2 j6 k& @" g5 yIF[#100 EQ 陸 ] GO1
; Y( O L! U4 @* E; q+ p6 rIF[#100 EQ 海 ] GO2
' b- A$ k5 Y" ]# wGO3(鼻用說.當然是空軍)
t: E/ K0 m6 w: |' }$ s(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
' Q0 J. E) A" A4 J4 n因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)5 h& f+ {1 G" G. @
: M( Z, x6 ?4 h1 Y+ c
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
' `$ O* f& b4 V也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
! @% n# y, \/ `% W' @' u
3 r8 D8 h9 L6 E$ f- d1 S* ^還有一種防呆寫法:6 r l5 D7 O! \/ e, D* B6 Z
#100=選兵(陸.海.空)' c m1 {5 W+ `
IF[#100 EQ 陸 ] GO13 k. ~- @" Z' B
IF[#100 EQ 海 ] GO2
* \# C; z. b( ?5 a2 K$ c2 SIF[#100 EQ 空 ] GO3$ @* r% G9 S. S& O
#3000=1.(如果流到這裡表示#100投入有誤); f* C& A0 ?, y; H4 z* P
N1....
: S+ o, s" P; l2 v! l8 r
# ?) z% U7 E% H5 M+ E" A3 A5 r" eN2....6 k2 ^0 g1 ?4 n7 ^
: u3 ~ X' z; {, V- S3 eN3....
+ S; u) }; ^# `# ~$ _( a) J& B, }9 q, Q: f* g3 c' E
M99
5 @: y# q# _( @! b& c2 c) Y. _$ f8 M: g
, B! S1 B8 ~: q& M# V4 ~
形式2:
" G* P! g- H1 o, [, i#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))# B% J! Z3 T* J# U% O
IF[#100 EQ 0萬] GO1
+ a w# I5 m( v2 m1 CIF[#100 GT 5萬] GO2
( p( e8 V" S& p+ ]) p* J" KIF[#100 LT 5萬] GO3% U# a; u9 G( L; g5 b
GO4(可省略條件式[#100 EQ5萬])老師7 S4 W7 q H9 k6 G0 d
..........
, V# T( i+ W8 l: y1 \2 UN1 人民
$ p9 i% \0 u, l+ [% S
+ z5 P3 _9 y4 W4 PN2 政官+ n. r% V2 Z h: t
3 r! Z8 w6 d% J/ V; h CN3 軍警
! y6 o6 {7 v4 [! O" g4 r0 Y* C7 @# u* J6 B, `9 m
N4 老師
+ Q" r/ a1 v" \& N3 o1 s
) J3 Y- t" N1 q. S$ s6 k' p% EM99# q" C; B, G6 z3 H" N
. k: ?8 L# D- p- w. _! s8 ]
※注意1與3可能會有衝突,有前後順序性的, G/ J! ~1 @# b6 y
形式2是以新臺幣計價的2 M/ x* C1 v) o s! b
! K3 H5 A3 T' r* y" ^# G: T8 m! q) A* n3 y* i
另外一個IF-THEN的例子:+ d- G3 P5 I4 U( X7 C
假設#100=已用四則運算,算好的結果
2 Q0 l. t3 p1 I7 @6 D' r* p, w0 [* F
IF[#100 EQ 2.5萬] TH#30=10.
5 j9 W6 y2 S; G9 E3 ~# CIF[#100 EQ 0萬] TH#30=10.
$ T, }- T) B% V0 ]/ B6 c. T$ zIF[#100 GT 2.5萬] TH#30=20.
. h0 O. s% A" |) \ f3 XIF[#100 LT 2.5萬] TH#30=15.. b, J# m' v0 X! s/ f f0 a, ~
N1 G1 X#30 Y#25.......開始加工/ Y: @( X8 I9 |/ D2 I
: z6 j) \5 w" c( w9 Y: K$ }' I上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
: k9 Y& m8 v, F' i& S/ E! m, _+ L2 T' F! {; ]
IF[#100 EQ 2.5] TH#30=10./ f o% l7 f! b- m9 v
IF[#100 EQ 0.] TH#30=10.
1 Q, C% a2 o- \8 R4 }, j6 x, ?IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
$ X$ O- T' b8 {8 P# T1 s v! z" HIF[#100 GT 2.5] TH#30=20.
3 }- j) i7 {/ }IF[#100 LT 2.5] TH#30=15." ^; {; L! C A7 W# [1 P" Q* e
N1 G1 X#30 Y#25.......開始加工7 ^/ B" h( ^) s& @
& m, T5 V% L- L; [6 [
或改寫成,B法:使用或閘(OR)
4 @( R' w0 d* [' z#30=10.7 o1 X: X# D9 z- u# h
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)8 A3 [; [8 M6 u0 E. t9 N
IF[#100 GT 2.5] TH#30=20.
8 k% D* [0 Y3 m4 ^ q7 ]' `+ U9 l% nIF[#100 LT 2.5] TH#30=15.; P5 k) e1 t) E! s! e
N1 G1 X#30 Y#25.......開始加工
7 i+ ^/ B3 u7 D, [) E0 G# O6 s
+ U! ?" J1 _6 {8 t還有一種不使用TH的寫成,如下:
. Z4 y2 T7 n, V8 c Z0 g30=10.
) @: Q% Y. B6 E. ]; |# z% |IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
. f6 I- K% @6 G: }$ k#30=20.
# \! F& _7 a, n b, qIF[#100 GT 2.5] G019 M* U$ l8 u/ `
#30=15.
) d* q x3 _3 z3 F4 n l/ e/ } K) nIF[#100 LT 2.5] GO1<---此條件式可以省略9 v9 L* ~) b4 l2 i+ C! R; h
N1 G1 X#30 Y#25.......開始加工" b: ]9 a7 J( I% a; G: x
# v+ _9 [ k8 i# r; _( k, I$ q#30會一直有數值去覆蓋它
# a. ?6 @; X" ? r( S/ J* o: k; d% R) }/ R
4 J! r' A% b# u' N+ V+ \
形式3:理髮- [% u) r4 c: Z6 Y: h
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
6 E4 j/ O; ]5 `. ^' c' e- h( C5 H8 _8 dIF[ #100 LE 3. ] GOTO理15分頭0 H& S; h( G/ ]
IF[ #100 LE2.5] GOTO理12分頭) s0 c, ^/ A; w4 \7 \
IF[ #100 LE 2. ] GOTO理9分頭
7 M1 j7 w; K4 C1 W- n+ m* bIF[ #100 LE1.5] GOTO理6分頭
$ i1 Q3 M# U) u$ i5 \5 nIF[ #100 LE 1. ] GOTO理豬頭9 Y) i0 a: I8 E# ` S& D8 p
% ]( b X. f3 Y8 Q! y/ ]* S※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
8 B% B) x( d F/ T ^- z$ c) R6 d. D" O
另外的一種B式
2 q) G+ K$ j* G9 L& r& NIF[ #100 GE 3. ] GO
- |* }% i. |, z% v+ QIF[ #100 GE 2.5] GO6 w' E; z3 E) `* o3 `1 V
IF[ #100 GE 2. ] GO4 H( M/ `8 A2 {0 E
IF[ #100 GE 1.5] GO; W9 _/ e, X2 B) j: @; A1 P
IF[ #100 GE 1. ] GO
& L* W% |* b% g/ S順序不可顛倒喔!不然少將會理成狗頭+ z# g, @5 o1 l7 j8 L
此例不能安排、佈置快捷性# Q& X8 g6 G$ U$ S6 }- O
4 T1 V5 f! g/ t; O
' z1 S0 }! j% r1 z
A式:有點像把數值逼到牆角比,自不量力可直接看出
& q1 \. i( q. H8 d8 hB式:像在自由空間比,如果順序調換
# S6 S# P3 T" I: J有錢人也可以去小吃店吃牛肉麵2 F$ t# D, J6 E# h
高學歷也可撿回收物當職業
1 Y7 j" s" }" ~; Z& O& B0 X% t
& q6 w+ N; S; Y: U再說一下B:順序不能上下倒立,只能轉身如
( | u. L" M' ?7 ?8 HIF[ 3. LE #100 ] GO/ s( W* t) J1 M2 C4 M, O
...
3 ]: y! l/ D* p" m7 p- {& n2 x [$ Q...% V9 S) P" s# z9 w0 V
IF[ 1. LE #100 ] GO
% X& c. s# Y) C. c. R& [& \7 ]7 O+ K+ r0 I A( S1 d
A.B兩者有一種共通的特性,領多少錢就做多少事* t, |5 q- z1 R+ g, ` G: \
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用1 D9 F) r6 O/ n( e9 u1 g
$ R- Z1 q; S j# M7 H3 l; ~) r* @% i4 E/ M7 y
以上為個人的經驗 |
|