我新调试好的程序如下,应该是对的,供参考* k7 x: o8 `( W+ j
因为特殊要求,这里的边的长度是二维座标内的空间距离
0 e/ x% ]- n8 J0 I/ P" g q- Q) b2 B" P: C
to find-distance# a; _: u; ?9 t0 S6 o1 x5 t' B" X
let i 0# v0 G. @4 o( g8 x
let j 0
+ t* O+ A2 A7 e- K a G; v! a( I let nodedistance 0
( s+ e5 W9 |( j& f4 E* e5 H8 w let linknumber 0 v. r$ d/ L% ^8 M$ b" w* u
; m% F& S! Z& V7 {$ V- ~/ e. ^2 Q
while [j < count turtles]) R1 I, ]) X- U% v! H
[
, D. p' v; L9 Z% O. {0 ]2 ~2 ` while [i < count turtles]& O7 A+ q" V0 x- F. P
[ if link-neighbor? turtle i
/ S, T) e, _% u/ ? [ask turtle j [set nodedistance nodedistance + distance turtle i]! W& C# W1 ]* j4 q9 z& l+ G( ]7 w: c3 B
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]8 z% Q7 @+ k U) n
]* P* w0 b. v. I7 f: c( D
set i i + 1
) l* R9 N) w6 b9 _% F" w2 K ] 0 Q6 {% B% S9 v$ }# q. t8 P
set j j + 1
( {! C4 b& ? f ]
; a2 M: p, B, v* }# n set average-path-length nodedistance / (linknumber * 2)- ]' G% ~* x. a" ]2 I; n
end |