找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9747|回复: 35

[分享] 使用一連串IF-GOTO的經驗

 火.. [复制链接]

28

主题

67

回帖

146

积分

注册会员

积分
146
发表于 2013-7-24 22:40:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
& u& r6 f: d$ u& W9 E! i. D4 X: B, f& t2 ^6 f$ a/ K
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
7 K" u* \( _5 Y+ R, a) i5 Y! V$ k! X0 X, J1 v
形式1:$ ~1 P2 V/ B" {  U
#100=选兵(陸.海.空)& H' d! G/ j; a0 N
IF[#100 EQ 陸 ] GO14 [1 Q% }" F, H+ {3 D: x, w
IF[#100 EQ 海 ] GO2* h+ ~3 J. K& ?3 ~! R2 N. i! I
GO3(鼻用說.當然是空軍)
( p8 q% L- Q; `1 c) N; x/ R: K(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)* F, G& |' J6 |) p
因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)! q! S: C0 h/ {3 Q8 e2 ]

0 v% R+ [4 |# ^& N$ s如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆( s  y) @3 ~5 @; ^
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
5 t+ }* i4 v+ i  E! l. x

+ V' Y* X% C6 k: u" U; d* F還有一種防呆寫法:* O* a( ?0 O4 n+ |' O+ H. Q
#100=選兵(陸.海.空)  t6 }! ?; C4 l5 a% f: h2 v
IF[#100 EQ 陸 ] GO1
# J' t- G& P2 H% _- BIF[#100 EQ 海 ] GO26 W/ a6 T2 E* [2 F$ X
IF[#100 EQ 空 ] GO3
0 j! A( H% k2 j, o* q#3000=1.(如果流到這裡表示#100投入有誤)! R2 l/ r/ ]$ i# B$ f% ^
N1....
( r8 O" v' H; y8 |8 u( {
! L( p" j/ n. X8 W- u9 t, O; cN2....9 D6 Y( d' P1 u; _% [

0 m& W; J' F+ |5 XN3....
7 B0 ~3 O, Z' ^: H+ ?1 y; z9 I8 `. t' q3 R$ {2 D* ~& |) I
M99

, P, z: w0 G& k6 |+ q* `. c9 s1 r" X/ [, U

+ ~1 C' D' }6 x形式2:% y' A4 b+ @# U+ x) o6 z, V9 a
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
, h) t% T! a) L; |: p) @  }+ SIF[#100 EQ 0万] GO1  Q7 Q  ~7 ?. j4 X
IF[#100 GT 5万] GO22 W/ R/ W/ f) y" A4 L# `* c0 _$ x
IF[#100 LT 5万] GO3, w3 ~# w1 p+ K8 E- U
GO4(可省略條件式[#100 EQ5万])老師4 O. A% o$ Q$ n7 {/ e2 |# ~
..........0 I6 [" t+ c: ~( K3 ]( x
N1 人民
  j1 Z* p3 T0 b9 S- I, \! j. w) o% [4 ~  n5 V. t$ N, D
N2 政官
# d" w: p8 Q% r8 \* _+ @, C1 }
5 X! g( a- L- ]* v; D" P7 WN3 軍警  ^& D4 L5 ^+ L: K& T3 L2 `* o

; L2 z' }2 l1 w# C: u8 ^N4 老師" X& Y! R. V; C: _& r3 X  s

' J) d1 J1 R  ?+ |4 z* m0 |M992 c0 q- G! T* k* V# e& ~- `
$ x: q, X) A: t0 A- B0 w& I, |
※注意1與3可能會有衝突,有前後順序性的
4 @: S1 W9 e6 _  w9 E# m# Q( h
形式2是以新台币計價的- y: S. F# b$ j0 e: F
/ t, K5 R7 a( U4 a, B
. ^; |( |& V& c
另外一個IF-THEN的例子:; ?2 c# U* M6 t  a2 Y! ]- q
假設#100=已用四則運算,算好的結果
$ h' b1 C1 w7 ]- ^& E3 J0 i; u+ s0 {" W8 ]2 j
IF[#100 EQ 2.5万] TH#30=10.
  l( E5 O0 P/ Y" o4 E' jIF[#100 EQ 0万] TH#30=10.
8 j, k0 p$ g6 m% `IF[#100 GT 2.5万] TH#30=20.  T' S: @& Z* F% n
IF[#100 LT 2.5万] TH#30=15.  {" \: l2 i0 @2 W. g" g+ C; A
N1 G1 X#30 Y#25.......開始加工
# l$ z! H5 P+ Z# l4 i4 ~

5 Q( y% k# Y5 }7 J! j+ ~, h# p上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:3 v  P/ Z$ C# }& q- q6 ?- o

% Y2 `* ^6 l8 B1 M; ]3 l. a& }IF[#100 EQ 2.5] TH#30=10.
; ?* @( t7 S" m6 e; U% y: x) ZIF[#100 EQ 0.] TH#30=10.
; Y- ?8 s! R% c7 v6 u: G. P. kIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
) a0 O9 H4 G5 P. F. ~% XIF[#100 GT 2.5] TH#30=20.5 J+ t. l& m$ S( U5 R2 D- l
IF[#100 LT 2.5] TH#30=15.
' X/ y' B4 |9 x/ y; T  \N1 G1 X#30 Y#25.......開始加工
. z+ \3 t1 n* E8 |( R: W3 W

+ M5 U- Y( Z4 P5 ^  k或改寫成,B法:使用或閘(OR)
. d0 ^& s  ?- }, j7 E#30=10.
% o3 B: Y$ S0 v3 B( EIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)0 J: B8 J: e8 Z2 Z- v
IF[#100 GT 2.5] TH#30=20.
3 o8 |% M9 b- z% I. ^' E* HIF[#100 LT 2.5] TH#30=15.9 F( B! `2 c6 X, H% W! l7 d
N1 G1 X#30 Y#25.......開始加工
7 t6 \/ H2 s" [/ L+ f; b) L; v8 i) u$ ^) I/ {  `
還有一種不使用TH的寫成,如下:4 N( @( G( r: D: F" P$ e+ z
30=10.
* s% o9 m3 J6 CIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1* F" K8 T2 @' ~8 x
#30=20., X: B! z6 z  P- v
IF[#100 GT 2.5] G01
: o) Q6 H2 x7 J/ `, @#30=15.
+ N+ U8 [6 ?  O; K6 N  zIF[#100 LT 2.5] GO1<---此條件式可以省略( F# y; D1 w5 [$ N% m
N1 G1 X#30 Y#25.......開始加工
8 `0 [( l1 }8 `6 b2 R& D, ~
4 A. u, W7 l- }5 h- ]! |' z#30會一直有數值去覆蓋它
9 C- ^% U# i$ ~  ?
+ V# b( @5 Q% |/ _9 M

1 d- e" I' M6 o8 E7 {5 F形式3:理髮& g1 B, c+ y  i* P3 Y3 Z
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
* z# h" P. _/ @$ g6 L0 {IF[ #100 LE 3. ] GOTO理15分頭
% J' |% L/ t, [2 uIF[ #100 LE2.5] GOTO理12分頭8 `' d3 v8 ~3 t" H% K% l
IF[ #100 LE 2. ] GOTO理9分頭
1 @& S' D+ ^! k: hIF[ #100 LE1.5] GOTO理6分頭& r0 [6 E* ?. o; m
IF[ #100 LE 1. ] GOTO理豬頭
+ l+ j' Z! E7 k: M% M- `! y9 ]' L" Z# S. @
※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性

, g9 a( p4 y6 _2 B% W/ m) ]6 [! Q9 O  W, ?& m% s
另外的一種B式) q, ~( n9 G$ q9 [8 b
IF[ #100 GE 3. ] GO' @; L, g- G7 p- d
IF[ #100 GE 2.5] GO; B6 f; y) Q! O. [, X- X& u: N
IF[ #100 GE 2. ] GO' ^6 x; g  ~/ Q! o6 r! N+ R# \
IF[ #100 GE 1.5] GO
( v; E+ W/ W2 _IF[ #100 GE 1. ] GO
7 y! V9 W+ P  g9 V) I/ e6 o$ l6 M順序不可顛倒喔!不然少將會理成狗頭$ a% a, p1 S, h6 {7 `/ V# [& m' u/ V
此例不能安排、佈置快捷性
# S/ r' j$ J, b! V

  I) b! [- f- B8 Z0 E% _' I  y5 ]+ t: X0 i
A式:有點像把數值逼到牆角比,自不量力可直接看出. e) e* {! y# O) v9 B) I
B式:像在自由空間比,如果順序調換8 n8 r; `1 F* C* n
有錢人也可以去小吃店吃牛肉麵6 K% T, O" X) T' H
高學歷也可撿回收物當職業

0 d( _! k5 p, D$ b# H0 ?  |* T& k6 v; |# j
再說一下B:順序不能上下倒立,只能轉身如4 X- c& ?. e' j1 }5 V& [1 i
IF[ 3. LE #100 ] GO9 C  @2 p! y8 @0 B
.../ \4 E/ |1 W2 V" ?1 q4 W) L
...8 j0 }( o$ f4 {2 M
IF[ 1. LE #100 ] GO. W1 G$ y( \. f  Q$ T
+ a+ t) ?* Y) j  [; V) w
A.B兩者有一種共通的特性,領多少錢就做多少事; g4 g) D+ B/ K0 Z
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用* R$ O4 }1 T  Y; V

; Z0 ~  e9 L0 C. D5 A) p+ M& [" j: q7 T$ c
以上為個人的經驗

28

主题

67

回帖

146

积分

注册会员

积分
146
 楼主| 发表于 2013-7-25 22:17:20 | 显示全部楼层
本帖最后由 羅蓋仙 于 2013-7-25 22:18 编辑 9 }' `2 |4 @$ \8 V" q  a  r3 m
; @% k% u8 g0 h: o# l  A2 T
形式3的例子有錯誤,小弟越看越奇怪,抱歉
$ k  w4 }2 w- n+ U. j黑字例子改成這樣(A式)0 m; v  L; q2 K
IF[ #100 GE 3. ] GO理15分頭
2 Q  H2 P6 q# {& A2 RIF[ #100 GE 2.5] GO理12分頭
; k& D; B0 N  w% c' Z/ u7 p0 WIF[ #100 GE 2. ] GO理9分頭
7 ], H  c( X' dIF[ #100 GE 1.5] GO理6分頭
1 {8 L) W8 M( P  b  LIF[ #100 GE 1. ] GO理3分頭2 U7 f) J+ j+ R  p3 N- z$ z
- W+ ?6 l9 x7 ]! l& z* {$ H
紫字例子改成這樣(B式)
  p6 Q' Q0 k, Z6 `8 GIF[ #100 LE 1. ] GO理15分頭5 V: o  B- o, s0 C! n* k
IF[ #100 LE1.5] GO理12分頭
5 E1 b4 \3 Z2 ?4 }/ EIF[ #100 LE 2. ] GO理9分頭
* r* ]& W& v/ M0 V6 y# Y, E9 wIF[ #100 LE2.5] GO理6分頭* b0 N* g8 e+ e8 e% {4 G
IF[ #100 LE 3. ] GO理3分頭
回复

使用道具 举报

0

主题

6

回帖

11

积分

新手上路

积分
11
发表于 2013-8-12 13:58:29 | 显示全部楼层
小手一抖,金币拿走,谢谢分享
* Z8 i2 G" t" ^% ]5 V/ U$ J. D: \ 精细族  赚钱窍门
回复

使用道具 举报

1

主题

15

回帖

13

积分

新手上路

积分
13
发表于 2013-9-18 13:31:23 | 显示全部楼层
谢谢分享xxfx
回复

使用道具 举报

2

主题

16

回帖

14

积分

新手上路

积分
14
QQ
发表于 2013-10-14 21:32:36 | 显示全部楼层
看得 好纠结
回复

使用道具 举报

0

主题

25

回帖

21

积分

注册会员

积分
21
发表于 2013-10-19 16:14:57 | 显示全部楼层
看不懂啊宏程序
回复

使用道具 举报

1

主题

25

回帖

142

积分

注册会员

积分
142
发表于 2013-11-16 21:52:45 | 显示全部楼层
小手一抖,金币拿走,谢谢分享
回复

使用道具 举报

0

主题

43

回帖

24

积分

注册会员

积分
24
QQ
发表于 2013-11-28 20:42:36 | 显示全部楼层
攒钱哪!速度
人无我有,人有我变,人变我杂,人杂我强
回复

使用道具 举报

1

主题

379

回帖

240

积分

注册会员

积分
240
QQ
发表于 2014-2-10 21:16:43 | 显示全部楼层
看不懂是什么
回复

使用道具 举报

3

主题

96

回帖

312

积分

注册会员

积分
312
发表于 2014-3-14 12:25:01 | 显示全部楼层
這樣反而 有點難懂了   我資質不好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|Archiver|手机版|小黑屋|若枫后处理论坛 ( 苏ICP备11015087号-1|苏公网安备32059002001368号 )

GMT+8, 2026-1-20 08:28 , Processed in 0.821255 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表