左上-右下对称分布轮流填充正方形数字阵列
“N阶左上-右下对称分布轮流填充正方形数字阵列”其特征是:让从1~N×N整数从左上到右下连续对称分布轮流填充形成的正方形数字阵列。例如8阶8×8左上-右下对称分布轮流填充正方形数字阵列输出的结果是这样子的:

任意输入一个N数字就能自动输出N×N正方形的数字阵列,还要求1-2-3-4-5……先占据正方形的对角线位置,其他连续而来的数字还必须轮流在对角线两侧依次按座入号排列下来。这看似相当困难的事的背后其实完完全全是建立在数学思维的基础之上的。而且还要再理解一个新的编程“工具”——“数组”。像前些次讲的三角形数字阵列那样直接填写输出是做不到的。因为要输出的是按照特殊规律排列的正方形的数字阵列,一行相邻的两个数字之间基本上不存在数字连续的关系,所以需要建立“二维数组”,其中一“维”管数字在哪一“行”,另一维数组管数字在这一行的哪一“列”。“数组”其实是数据的存储空间。我们先按规律往数组里面赋值填写数字,所有数字都按部就班填写好了,然后就整体输出“数组”里面的数值,这就看到了我们预先需要的“数字阵列”。关于“数组”的更具体详细的概念请阅读林老师编著的《新编PCLogo教程-习题集》、《MSWLogo讲义Plus》(完全兼容FMSLogo)。
能够输出任意N的“N阶左上-右下对称分布轮流填充正方形数字阵列”的源程序如下。
