找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10064|回复: 35

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

 火.. [复制链接]

28

主题

67

回帖

146

积分

注册会员

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

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

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

×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 编辑
6 X: X  L5 P* P& R  k. s; K8 r, r
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性* Y3 P( O. P# G3 N; U' M

, B! ~+ U  s/ k. n8 S/ K0 J1 D7 f形式1:8 U8 A; Y/ [9 H; L/ C" d0 a
#100=选兵(陸.海.空)
( n' D0 \0 k9 v# ZIF[#100 EQ 陸 ] GO1
& f9 O7 W2 n- m; }( @IF[#100 EQ 海 ] GO2" P% X. O( \0 ?8 P3 K. |, a
GO3(鼻用說.當然是空軍); Z+ Z# D" k3 g% i* f3 r
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
% \5 r/ R4 b, T+ o$ o因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)/ P- L) h- |* a2 A3 ^4 ~2 t. Q/ C
; q- j9 Z- r* C9 W) R
如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆
3 R% z, n) ?8 }也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
" N# L* G5 O& N& g: B6 H- _

% ]( g: Z2 I( q2 P8 b還有一種防呆寫法:
" y; k& x/ z1 z3 {% q2 @) I#100=選兵(陸.海.空)
5 p% Y* Q1 t- M% H1 ~IF[#100 EQ 陸 ] GO1" R5 D, I- x, m% G* i  O; {3 R# i
IF[#100 EQ 海 ] GO2% t' J! |! {4 t. x' J5 ~* a" ?+ m3 f& [
IF[#100 EQ 空 ] GO3
8 M8 s7 \! l. m#3000=1.(如果流到這裡表示#100投入有誤)' g- m+ \/ ], F5 M6 @( Y' _
N1....6 N/ E: f1 |, n. [4 F
' v4 }1 H/ P0 L/ l, i: b  @
N2....
1 g3 B4 Z: y4 n3 A
5 z4 M) p5 \7 Y! vN3....
( G1 f! r; Z3 A& D) r
. [1 c$ c1 a6 l4 A2 k9 J9 K/ f5 T( YM99

( ^7 T/ A0 E( h6 P9 N# _* Z( K  o+ [0 o/ J3 k7 k3 F8 W

3 A5 {; `# z" |形式2:
1 G* z& v# q3 d( B1 j- u2 \7 W#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))
7 i5 ^6 `$ `' H; tIF[#100 EQ 0万] GO1
& w$ [" o9 J" |IF[#100 GT 5万] GO2" `8 j7 B/ |% j8 E+ s0 n5 F
IF[#100 LT 5万] GO39 |$ D7 N* D. r3 F9 o3 q
GO4(可省略條件式[#100 EQ5万])老師0 y. S! L8 i' y3 I
..........
- w# T5 C' c2 o* C8 {" uN1 人民
0 y7 {$ Q! M% {4 u/ T  B4 y/ s& [  A8 }- M: Z2 G" O6 @$ N
N2 政官% Q; t6 I& o* O6 p. p

1 ]7 i# E4 U5 v" J5 j% L% qN3 軍警: |9 ^4 _8 L6 E& r+ Q' c6 [
7 F# |: n/ z+ t% V$ K+ E
N4 老師
- \: b! B! ~- S; }/ j* D' X5 z0 P0 X: P# v5 H9 A
M99# |' \8 [( X+ ^; C1 B2 `' M

' u. A5 R  b4 y8 t# V9 b; X※注意1與3可能會有衝突,有前後順序性的
3 L) e0 V2 u1 Z4 g3 T8 z7 V
形式2是以新台币計價的4 [' ^1 @& i) C, V$ J9 Y( V0 p
$ }/ T; }/ l& b- c2 O

8 b% X: t! c& q+ d* z另外一個IF-THEN的例子:4 p, o. }+ g3 j. h
假設#100=已用四則運算,算好的結果
6 X( g9 k" ?7 f% Z5 v2 @, a. y2 S$ I4 n
IF[#100 EQ 2.5万] TH#30=10.
7 S# l& J! u5 s/ T: n6 D7 m9 ^( K: oIF[#100 EQ 0万] TH#30=10.
  W1 p$ E9 N$ G4 y- OIF[#100 GT 2.5万] TH#30=20.
9 |3 {! J' f# N) F; yIF[#100 LT 2.5万] TH#30=15.
; Y, k% J( z, C1 MN1 G1 X#30 Y#25.......開始加工

7 p1 t+ f5 d) [9 f0 }5 D& `
* m4 ]* [, H! \, Y& O5 Q7 l# V# ]$ j+ n上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:
9 c) i8 c" n" [) v0 ~# \
; _" {' Q7 _4 J& FIF[#100 EQ 2.5] TH#30=10.
1 {; `& v. ?1 S& m' EIF[#100 EQ 0.] TH#30=10.' X. D: y5 O- H% n$ h$ l5 [! U. B
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)) v: T8 x$ F- c" w% K& \+ M! M
IF[#100 GT 2.5] TH#30=20.
+ @0 g. k; ^" m2 K) RIF[#100 LT 2.5] TH#30=15.& [: c3 f$ u2 h9 A( n! E
N1 G1 X#30 Y#25.......開始加工

7 W$ {7 c) u" L3 ~
" ~& i8 Q& q% b) T% k7 W或改寫成,B法:使用或閘(OR)
4 d2 o2 ?0 b& ^, Z0 Z; N* ]#30=10.- b# l* i- O8 y
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
& K4 D  q5 A5 R/ aIF[#100 GT 2.5] TH#30=20.1 t4 D# R5 {: F5 W% q
IF[#100 LT 2.5] TH#30=15.. K2 Z# v6 Z4 f, c1 `4 c) D3 U5 X
N1 G1 X#30 Y#25.......開始加工8 n2 ^: X8 k' O0 ^

* S( W9 c4 d3 r還有一種不使用TH的寫成,如下:  @8 N$ e, E/ t7 L% O; c" z
30=10.0 C, c1 F5 X4 q7 k
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1
$ s% Q! g$ A% O& o/ @! i#30=20.$ N2 x; K/ v, H$ u# H6 c
IF[#100 GT 2.5] G01/ y9 [4 O% D! n# U8 A2 k
#30=15.
/ M$ d9 @. g; H0 {4 ]IF[#100 LT 2.5] GO1<---此條件式可以省略
2 s3 O" r# M1 wN1 G1 X#30 Y#25.......開始加工1 D* n$ u6 @* V- F* o

3 d0 f$ f: K. n9 D#30會一直有數值去覆蓋它
( X/ h( n/ L- E9 u6 {) b
- ]9 P- f& n1 }/ w. L5 l

) O; w/ w3 l2 k6 Q( f6 [形式3:理髮  n' u* W( L8 z: K! M) H
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)
) H& z; Q% n. c1 a! K; vIF[ #100 LE 3. ] GOTO理15分頭2 Z& J, t9 S* \9 e
IF[ #100 LE2.5] GOTO理12分頭$ o; k( o, n0 Q6 @. S) X- U5 ~
IF[ #100 LE 2. ] GOTO理9分頭4 w- b$ r9 G; G4 D, V4 O
IF[ #100 LE1.5] GOTO理6分頭
' i* s* I- b# z0 wIF[ #100 LE 1. ] GOTO理豬頭0 T. b/ f& ]8 g; U6 j8 M2 f

+ d$ ^, @* }. d- {5 ?※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
. a1 U  Y: Y+ b: N# p. O  B4 @; X  Z4 B
: d2 i4 ?7 E' c: J7 U" a2 l
另外的一種B式
1 y3 `; |+ V: O; h" r3 p4 QIF[ #100 GE 3. ] GO  T4 |0 a: I' @( O7 w5 W
IF[ #100 GE 2.5] GO( s! g6 V9 K! p: S1 m6 F0 z8 e) A
IF[ #100 GE 2. ] GO
9 c) k/ H: c/ U, P& S+ @$ ^& rIF[ #100 GE 1.5] GO
' o+ p" S7 Q; s, D* kIF[ #100 GE 1. ] GO
# n& o, v6 Y: B6 M" F順序不可顛倒喔!不然少將會理成狗頭
1 c. m( C" v. F# w' o3 u7 h: e* V此例不能安排、佈置快捷性/ x- M8 T8 e" x

2 q' [* ?- a' q$ M& r# @5 j7 {2 ]
- z2 I1 ?4 @; Z$ a4 HA式:有點像把數值逼到牆角比,自不量力可直接看出" C3 ?( c) B* ^' L
B式:像在自由空間比,如果順序調換
9 L- E/ p, d. _7 A3 M$ e: @有錢人也可以去小吃店吃牛肉麵5 v. \  `% Z9 }. G- n
高學歷也可撿回收物當職業
! I1 D( c. g: u  e
- W. {6 \2 z( U$ D6 R
再說一下B:順序不能上下倒立,只能轉身如
. z2 w9 I+ D/ R( ^; T& [: }, zIF[ 3. LE #100 ] GO+ t0 ^2 {" w  |8 L/ J+ H4 c
.... l" g% D! E2 t9 ?
...# F" Z1 l& z% o1 ?
IF[ 1. LE #100 ] GO
* q4 @1 v( s, G! y# z% L* @; {* v$ x# g+ f( R7 z
A.B兩者有一種共通的特性,領多少錢就做多少事. {6 G/ y0 c  V/ w6 M# f
如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用
) t/ [6 `8 @# w% s  f0 h
% n* {) d: N* j0 W

$ J  Z1 t4 D9 n- H# |. K% d以上為個人的經驗

28

主题

67

回帖

146

积分

注册会员

积分
146
 楼主| 发表于 2013-7-25 22:17:20 | 显示全部楼层
本帖最后由 羅蓋仙 于 2013-7-25 22:18 编辑 0 L' X& m( i; g- f3 z) F+ u, w

, L) A7 M$ B! Y# a8 u; |0 @& |形式3的例子有錯誤,小弟越看越奇怪,抱歉/ Z" v5 u/ k2 {3 _8 a& X, E7 J) _
黑字例子改成這樣(A式)
5 q8 I: X. c" t6 g8 B6 u) n- r# g3 uIF[ #100 GE 3. ] GO理15分頭
6 B& A2 `( U+ n! UIF[ #100 GE 2.5] GO理12分頭
9 s9 \& l' V' a5 U0 \  P" tIF[ #100 GE 2. ] GO理9分頭
; n. p: j$ n% ]IF[ #100 GE 1.5] GO理6分頭& L9 n' V6 A, _  l/ u2 L* R5 z8 X
IF[ #100 GE 1. ] GO理3分頭
5 k2 P$ e3 `7 L7 [) D$ ]! q1 R
: o5 N0 O6 S/ k' D紫字例子改成這樣(B式)2 l- G& c, U6 R! `
IF[ #100 LE 1. ] GO理15分頭  }; l! y9 y$ ^( L$ Q
IF[ #100 LE1.5] GO理12分頭0 J7 T  X5 U, M% g) z' u% D0 L; _
IF[ #100 LE 2. ] GO理9分頭
$ B! c, K# J5 r1 M2 ?1 [IF[ #100 LE2.5] GO理6分頭
2 j3 \. G7 V; W' l# JIF[ #100 LE 3. ] GO理3分頭
回复

使用道具 举报

0

主题

6

回帖

11

积分

新手上路

积分
11
发表于 2013-8-12 13:58:29 | 显示全部楼层
小手一抖,金币拿走,谢谢分享& Y: M1 N" A( f3 V3 S
精细族  赚钱窍门
回复

使用道具 举报

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-2-24 10:17 , Processed in 0.557627 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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