我新调试好的程序如下,应该是对的,供参考$ z2 c1 Z, J8 K" {$ H
因为特殊要求,这里的边的长度是二维座标内的空间距离1 I% S) t0 I) y4 ^ x: o
2 y+ s% D8 ], y2 u; n" W0 T, ^! j
to find-distance
2 z. M; k( O+ k) j& m1 U+ m let i 0
2 q! t6 j8 P$ x4 u$ W# ~ let j 0
, Q. c$ g. T# M- F; q let nodedistance 0
& x$ N7 i$ d& `$ u1 W! h9 r- h$ u let linknumber 0
2 ]7 K3 s6 e5 u 8 h: ^$ ^. {$ Y% [$ Y
while [j < count turtles]
2 i. m- J8 o$ r& _+ F [
, j, E- E8 v* z( i while [i < count turtles]% z! Z$ c) m2 U# b
[ if link-neighbor? turtle i ~* Q$ p3 s9 {) F+ b
[ask turtle j [set nodedistance nodedistance + distance turtle i]/ S' r! J5 f( Z$ a! y/ y- T0 d3 y
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
y2 s8 O; Y8 ^ ]
- b) _4 G+ o9 W6 I( ]( r set i i + 1/ j ^! _% A2 V4 J8 Z0 {6 v' [
]
4 M. j' z& s( |7 C, E2 S set j j + 1
$ w8 F! B1 s( r+ Y7 o" `, i7 j ]; k' D+ V/ y' K! ?( d' [2 X6 E1 `
set average-path-length nodedistance / (linknumber * 2)
+ E( _( _. I5 Y1 J0 z8 Zend |