|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑 9 R! Q; o( c* I% D! P3 P) I
3 Y J7 K( `$ i7 m5 a# a; X
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性 f2 e) H9 q' N3 d
7 g- p' p0 x: l5 g
形式1:
3 ?. i- w: G3 f8 L' C, A0 Q y#100=选兵(陸.海.空)
7 q* |' y" ~7 _ @ ~IF[#100 EQ 陸 ] GO1
t; i) C B& q# ]8 [IF[#100 EQ 海 ] GO2' I/ M0 m) S" z' P& p# r
GO3(鼻用說.當然是空軍)- q; N& X2 ?2 \% w/ G
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)" x# v+ d0 l! u# y6 U+ p/ b
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)
) N2 S( v/ @, c% S2 `' G& I# E+ i) T( l. y) M0 k
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
* f+ g7 v) y* `5 ?4 t/ Q( _也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做5 f r# u) R6 l* J+ F6 s) O/ [
: C' o: s% ?. F3 m& ~( h
還有一種防呆寫法:
* ^! R' E a# n) I5 Y! N#100=選兵(陸.海.空)8 H. r) g& U5 W U) j6 p
IF[#100 EQ 陸 ] GO1
8 Y: X. |7 H$ q& OIF[#100 EQ 海 ] GO2
) Z$ i/ E- }% WIF[#100 EQ 空 ] GO3+ W1 x, I( z: F1 @' S7 q: I. P: q
#3000=1.(如果流到這裡表示#100投入有誤)% Z; [3 F; z8 T+ c7 o7 v4 ?
N1....- j+ ~& N I/ ]$ k
# \% v- R9 ?! H
N2....4 g+ T" j& O, J+ x Z$ V6 ?+ z
3 Q1 C" h g4 H+ c2 z
N3....
# ~3 x% j1 I _9 `7 ~; T1 X7 w, e& ^( g
M997 _8 d' ]( q, @
( L2 |# A( y' K1 S6 q1 }5 b3 _/ G: u. c) S3 ^
形式2:
9 `$ d2 Z% E8 x4 x r* h#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))$ k4 c4 V( W( L7 Y, ?
IF[#100 EQ 0万] GO1
( I! `7 ?+ L! W) bIF[#100 GT 5万] GO20 M0 X; E9 e% | I Q. T, U
IF[#100 LT 5万] GO3: j+ ?7 y: h% n( [$ }3 R
GO4(可省略條件式[#100 EQ5万])老師
) U: @ I$ W% {. P* P3 d.........., c& n. w. C7 r$ } U' T& [
N1 人民
. Y& `* H. g3 n3 T, E9 U- Y# L
3 O- d0 O$ n" p7 x, jN2 政官
4 o7 q( x& z1 Y& X! Z2 d3 i
1 U ^! ]! b% B' |N3 軍警: y% T9 i* l( h4 f) Q, b0 R
- ^6 ?; {0 ?) ?; R( V% \' M4 QN4 老師
" y1 Y5 }$ }* ?* P0 [6 l( [: k9 G$ G9 f' p0 @7 C" h
M99$ A2 m& n5 b x) m! d
( @0 E2 L6 J, F' s; U
※注意1與3可能會有衝突,有前後順序性的0 s& z; u5 Z( E# {
形式2是以新台币計價的
5 A3 _! w0 G- i( ^; z9 N3 R: Z/ f8 I( s
) x. u. I/ \' I5 h& k3 P另外一個IF-THEN的例子:- l$ R$ n) F7 b7 s) ?3 F
假設#100=已用四則運算,算好的結果
9 i% B, }8 q+ h3 x
& I* S) r" v$ \1 d4 `7 W4 Y2 {IF[#100 EQ 2.5万] TH#30=10.
0 z3 ]! H5 q% Z- kIF[#100 EQ 0万] TH#30=10.# C- n4 L% G7 d) B4 ~
IF[#100 GT 2.5万] TH#30=20.5 _$ M0 T% p+ q. D
IF[#100 LT 2.5万] TH#30=15.
* Z9 X' j7 f* A) EN1 G1 X#30 Y#25.......開始加工
/ M( A9 {! ?: t8 |7 f: f! |, _7 C7 A
" b; g/ {) X. C$ r' b上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:3 @" L9 _) X3 \4 [
$ W/ l- e B1 p U& B* F2 Y, e# EIF[#100 EQ 2.5] TH#30=10.# R8 ~2 w5 i+ f
IF[#100 EQ 0.] TH#30=10.
+ g7 g d4 s2 @$ d' GIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)2 q& x! G% d9 n" H, @# T4 S) c
IF[#100 GT 2.5] TH#30=20.
: @* V, N0 e5 kIF[#100 LT 2.5] TH#30=15.4 u) n/ q/ j0 K
N1 G1 X#30 Y#25.......開始加工
; r7 L- G! u- r( e0 [/ A6 t
" g9 [- B D. a' m; z& Z5 s' L/ l或改寫成,B法:使用或閘(OR)
8 E* ?% |1 \5 J) U" ]" }1 M5 b8 N#30=10.
7 o! k k5 d. n4 t% U0 DIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
5 N! `$ ?6 e, wIF[#100 GT 2.5] TH#30=20.
/ G x7 F; G' R" Y* t8 wIF[#100 LT 2.5] TH#30=15.
5 H( n% k8 Z2 W% TN1 G1 X#30 Y#25.......開始加工
2 u& s6 f0 @, y: ^* {/ R+ W8 `1 R0 z* y$ b# \- F
還有一種不使用TH的寫成,如下:
3 S- v2 V0 y: m30=10.
" H7 S+ V+ J$ oIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1. ?$ {7 n3 K$ b; Z
#30=20.- j ?, ?/ g' ?
IF[#100 GT 2.5] G01# t3 I7 K0 B7 Y c6 Y
#30=15.
1 W. y. V. z1 \! w$ VIF[#100 LT 2.5] GO1<---此條件式可以省略
- x& q: r5 E* M! g2 l% ]# MN1 G1 X#30 Y#25.......開始加工
, J3 L- b0 s) b- k
/ p7 P" n7 d1 O1 L# e#30會一直有數值去覆蓋它
, q9 F+ e% G1 f
' Q" L9 P; {/ v+ W W- f3 h" @+ ~7 S" G$ p! c# v. J" i
形式3:理髮
T6 Z$ l% ^; P+ k3 {; o#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
; }+ E& r* E7 F Y' \( |% FIF[ #100 LE 3. ] GOTO理15分頭
9 J3 ]( A; e: u; ^# @# w3 LIF[ #100 LE2.5] GOTO理12分頭
" e T* v1 P9 x0 h; @IF[ #100 LE 2. ] GOTO理9分頭8 H) L# Q% E+ q
IF[ #100 LE1.5] GOTO理6分頭: e: C- a' d' t; B# B. L
IF[ #100 LE 1. ] GOTO理豬頭
; y2 I n7 j6 P9 D* M S) r- E( S; U/ d7 F" D/ s) n }
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性2 x6 {% A, E6 Q. }' L
# g/ ^0 @. w4 F% o: Z1 v: }
另外的一種B式
Z/ y" H( ?0 {" M$ T1 `IF[ #100 GE 3. ] GO
7 y; z# h; h! D5 nIF[ #100 GE 2.5] GO
5 w" F- M7 Z* c, Y2 }1 zIF[ #100 GE 2. ] GO
- I8 d; m9 y7 N% a2 tIF[ #100 GE 1.5] GO- H7 D) ^" {0 L& L
IF[ #100 GE 1. ] GO* ~$ x5 j0 {: n7 z" R9 y
順序不可顛倒喔!不然少將會理成狗頭 F6 d) ~3 J- K$ Q. q2 |
此例不能安排、佈置快捷性
8 ?& Y! u6 ~; F) A; T
+ }2 T' q7 D% }4 u4 C1 D4 z
0 Y; @$ D0 [0 t8 ?$ }; Z: UA式:有點像把數值逼到牆角比,自不量力可直接看出
: `* W1 h6 Q) Q, I; _. r! D/ PB式:像在自由空間比,如果順序調換/ p, F8 r) W' i
有錢人也可以去小吃店吃牛肉麵
3 [- J( U7 l6 I" x( c( Y n% w3 F/ ^高學歷也可撿回收物當職業8 |2 Y% Z/ G' W9 Z+ c! t' x& f! P% M
3 i2 P$ q7 n8 M
再說一下B:順序不能上下倒立,只能轉身如
f! c1 o; V/ @9 N. rIF[ 3. LE #100 ] GO& l" u) d" C& C9 y
.../ |3 V @5 ]. u* w: v; M+ R) F
...
9 k5 U+ s7 c2 B0 e% [" j: WIF[ 1. LE #100 ] GO
% T1 t& y: B* ~. E0 t, g' G
! ], K% q5 r& AA.B兩者有一種共通的特性,領多少錢就做多少事. ~; H# h. w0 K! r7 Z3 ?! `+ b- r, f
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用: z( @1 W0 v2 C, G3 A* g
$ T+ w4 Q# X+ A4 ?5 i/ ^& L7 W
$ O# J" l8 C2 r3 j# M- A$ A以上為個人的經驗 |
|