找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6861|回复: 35

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

 火.. [复制链接]

28

主题

67

回帖

146

积分

注册会员

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

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

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

×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
) o' T0 U# d! U' _9 J
1 `% t0 s9 i' I7 |# \- T% b, t使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
# O( K$ Z+ t- [. Q0 I- W6 Z& J) j1 D5 w( L
形式1:$ \# ]+ K; l5 r; F
#100=选兵(陸.海.空)
: v- _$ l- k& \7 Z' ^: _IF[#100 EQ 陸 ] GO1
  S' Q, n+ q  {$ O! u$ BIF[#100 EQ 海 ] GO22 ?; z- }9 N4 l
GO3(鼻用說.當然是空軍)0 T# _! d9 E9 S# A5 `
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
2 X+ O: `9 E8 Z7 ?" R# i: o/ g因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)* Y4 m; O8 n6 l( A9 s
# `/ `/ z3 {) g0 \) s7 v! b  s4 C
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆) x" z; r' o8 w' i) ]* ~
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做

# a, ]; r6 r) I  j+ W
) }, Y  O( _2 h! F* S% ]9 ^還有一種防呆寫法:$ X$ t* f7 _2 |9 K, ~: z% h# M  L
#100=選兵(陸.海.空)- K* c8 _' R8 M; ]! Z( K
IF[#100 EQ 陸 ] GO1
* M1 l2 C' i# R; i6 BIF[#100 EQ 海 ] GO2
4 b# V4 ^( z. u' m; d* @* ]IF[#100 EQ 空 ] GO3
) F; r, T, z, W5 z8 \! p9 o#3000=1.(如果流到這裡表示#100投入有誤)( W5 c  x6 g$ Q" N
N1....
# w4 M9 U  V# h8 t3 i8 C" [7 c4 c# o' K, n" C- ^
N2....; Y  ?. C, P8 |4 F) k

& P/ N% @1 q! v- ^& O# CN3....# \5 |7 N4 ]% l1 W/ B) [( s. X

* ]. d( d* V1 |/ r1 D" L6 B- HM99
8 B! L* r% E3 D

* n" Q2 s! @# R; ^5 s
5 ^% B- `1 U$ x形式2:
& i6 r0 x5 l3 p8 @7 j#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
. @& m* J' f5 `IF[#100 EQ 0万] GO1
) p; A8 @! c8 ~7 G  @IF[#100 GT 5万] GO2
1 p3 x6 [" N( D6 R/ |IF[#100 LT 5万] GO3+ H- i5 j) z' V
GO4(可省略條件式[#100 EQ5万])老師2 P3 Z1 q) w  Y  O! s' J( B+ V
..........
/ m- D( [/ g8 u3 p5 ZN1 人民
9 [/ a9 J* G3 \- J/ c' E4 c# D( R/ I# U7 D7 H0 u1 i
N2 政官5 j7 r4 t/ Q: {& Y

$ U+ D' f+ [0 Z% R0 ?) n: q4 cN3 軍警
! _2 P2 y' H! F& g+ ^* X) J0 k% ?3 }+ i7 U% ^0 ~8 B# r( \
N4 老師8 O- c6 _1 j( B+ k- D" X  ?

: r  I( F' ^1 o* y% uM99
: B- k0 G, q- Z; X1 z: A' c! O( m  n1 L
※注意1與3可能會有衝突,有前後順序性的
5 j' T4 I. d% o8 t% s
形式2是以新台币計價的
6 x/ o0 p% {5 G$ R1 ?& J; O2 o4 H; L1 v+ U) i  q/ ]% H

. o# q7 i- Y) }5 @" [7 g+ Y! k另外一個IF-THEN的例子:
# ?0 P  N, b8 ]; u2 g4 _假設#100=已用四則運算,算好的結果$ f8 Y% P4 k2 J4 O
; c* {' F! o# ^5 @" a6 q% X
IF[#100 EQ 2.5万] TH#30=10.
9 ]  y0 i4 }- ~( qIF[#100 EQ 0万] TH#30=10.
. k+ Q3 s; J1 h8 R0 AIF[#100 GT 2.5万] TH#30=20.
) r5 r( o  c& h5 A+ W& Y0 [IF[#100 LT 2.5万] TH#30=15.6 `: b  W2 J3 b+ b4 B1 F
N1 G1 X#30 Y#25.......開始加工

# M: a+ [+ ~. |. T' O7 e' `' j3 _4 T! J# b# s2 z- [- \
上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
! V" M! V/ W3 C5 S, Y
! B2 ?3 }" D: h- k- y! @' m1 S2 eIF[#100 EQ 2.5] TH#30=10.2 A& B' I3 l6 p" F4 u3 t
IF[#100 EQ 0.] TH#30=10.
! Q8 p8 ~; H+ h: V* }( yIF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)
% k! ~5 U9 s$ C; \8 _IF[#100 GT 2.5] TH#30=20.9 `; r* O% i7 v' w" g8 ?
IF[#100 LT 2.5] TH#30=15.0 a; H& R% d* c7 j/ E. `
N1 G1 X#30 Y#25.......開始加工
# V% q9 w- O) x- M4 N% W( Y% }

8 n6 t& {) s  [7 ~5 Z; X或改寫成,B法:使用或閘(OR). ~" C  j& T' x% G* x  ]; ]
#30=10.
% `" W& ?+ P/ Y8 S3 r( QIF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
; U# P* B, p9 O3 ~; n7 B) BIF[#100 GT 2.5] TH#30=20.
/ ]/ Z; u/ m; Q( L  `2 c, ?8 zIF[#100 LT 2.5] TH#30=15./ U* Q0 T& x" h
N1 G1 X#30 Y#25.......開始加工( E0 R3 p3 g( n# j

! z+ _5 N3 B7 ]5 G0 \還有一種不使用TH的寫成,如下:
% c3 r/ x6 K, E8 M  S/ i, ^- I30=10.) h$ Q& T. e5 b4 j
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
* Y" P, V$ G; s. \  a: q' r#30=20.
/ ~3 O; p- f' m, b& x) L) Z9 QIF[#100 GT 2.5] G01
) Q& x" r* ]! q) Q, r0 {#30=15.
7 S) L* Y1 }1 q3 u7 lIF[#100 LT 2.5] GO1<---此條件式可以省略
8 d$ `4 ]8 g. W" {9 i9 XN1 G1 X#30 Y#25.......開始加工, y3 ]/ U/ v5 \/ G+ Y

7 g# U; s; v8 L- O: Y* b#30會一直有數值去覆蓋它
; Z- Z$ ?+ E9 a2 H% `8 Q  M1 f
) `: o7 f2 F  l, J8 i- o* u
6 [3 l6 Z9 x+ d, P8 u- W. a
形式3:理髮
8 u3 |3 t- A! Q+ y3 d/ a- |3 _7 [#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)& l6 X( t. i$ b. I, H
IF[ #100 LE 3. ] GOTO理15分頭1 i, G. |( e- n- S7 ^
IF[ #100 LE2.5] GOTO理12分頭6 Y, c5 X- n5 ~( K; ]* |
IF[ #100 LE 2. ] GOTO理9分頭
7 ?& W  K/ u# ]' r/ tIF[ #100 LE1.5] GOTO理6分頭
% T6 |# |% U/ k" l/ d: q& d2 XIF[ #100 LE 1. ] GOTO理豬頭
1 e; ?3 p  P" J* U3 U6 o4 j1 A) r" q
, k& ?5 ]8 {9 a* B- ^/ y- ^/ H※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
! \* K$ i7 N9 `$ b( d

# J, E, t: w$ [5 |另外的一種B式
) U/ E$ ~, t; E3 W4 kIF[ #100 GE 3. ] GO% g3 H9 P8 n, V' S
IF[ #100 GE 2.5] GO. t2 L7 }; `0 `! p! C
IF[ #100 GE 2. ] GO- b! r+ ~& G8 H% W& T' U& x
IF[ #100 GE 1.5] GO# D0 J4 p3 _8 `, h6 Z
IF[ #100 GE 1. ] GO
: R$ B) i( O" n$ g( S; r! y順序不可顛倒喔!不然少將會理成狗頭- x& Q8 y  s2 _) f' |
此例不能安排、佈置快捷性+ [- C* o/ s$ N9 p( j

8 n- S0 g* s( y+ B- @* W5 p, w& v
7 m2 R' u' g  XA式:有點像把數值逼到牆角比,自不量力可直接看出
6 J5 |% g; t9 x* E  m; V) V" V7 h% IB式:像在自由空間比,如果順序調換5 e- h$ d# l9 D+ @6 W
有錢人也可以去小吃店吃牛肉麵/ h3 X! i4 n. {9 F$ v
高學歷也可撿回收物當職業

% b" o' F2 s; s8 w! y
  C! A8 j% @& T' I再說一下B:順序不能上下倒立,只能轉身如2 r1 u4 \, K: @6 i; j) f8 C( I
IF[ 3. LE #100 ] GO% H6 a1 B3 M* r% @% o
..." F1 P0 V4 {  S
...
* l3 T2 R: h2 ?$ C, ~. K. ~IF[ 1. LE #100 ] GO
- b# W8 b3 `7 @1 t4 [3 Y# Y1 `5 z% {/ o$ z# k9 X
A.B兩者有一種共通的特性,領多少錢就做多少事
; Z/ h+ O" N& D" D如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
2 C0 c' O& V0 G5 q# w2 ?, m$ U5 w
) j1 A1 q+ |8 j% h4 g/ X

! |8 v) l1 m. Y以上為個人的經驗

28

主题

67

回帖

146

积分

注册会员

积分
146
 楼主| 发表于 2013-7-25 22:17:20 | 显示全部楼层
本帖最后由 羅蓋仙 于 2013-7-25 22:18 编辑 0 t8 z- P1 h. i8 U
# h; ]# x& X2 Y# Y
形式3的例子有錯誤,小弟越看越奇怪,抱歉0 c: B1 P3 A; W) o
黑字例子改成這樣(A式)
' T- g' y/ z1 m! Q' lIF[ #100 GE 3. ] GO理15分頭
9 S+ ]# {6 S5 x/ KIF[ #100 GE 2.5] GO理12分頭
+ L9 h0 J+ |  K1 R! ~IF[ #100 GE 2. ] GO理9分頭% p6 n2 d* A( R
IF[ #100 GE 1.5] GO理6分頭
$ N% u( B; V8 mIF[ #100 GE 1. ] GO理3分頭
; [1 Z) |& `: F( c
: m( @/ f. H- v: u6 |紫字例子改成這樣(B式)( `7 g6 {% s  t7 B' E$ s! ]6 K; u" A5 [
IF[ #100 LE 1. ] GO理15分頭
! o+ z3 T$ `+ ~IF[ #100 LE1.5] GO理12分頭
4 v8 P2 H$ B  ~5 R+ xIF[ #100 LE 2. ] GO理9分頭( i: B; S+ A8 ]* h3 C
IF[ #100 LE2.5] GO理6分頭% U# l8 k! |! E7 ]
IF[ #100 LE 3. ] GO理3分頭
回复

使用道具 举报

0

主题

6

回帖

11

积分

新手上路

积分
11
发表于 2013-8-12 13:58:29 | 显示全部楼层
小手一抖,金币拿走,谢谢分享) N# @+ L: T6 g( s. i0 ^
精细族  赚钱窍门
回复

使用道具 举报

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, 2024-11-22 21:41 , Processed in 0.312001 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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