软件构造实验一实验过程

本文详述了一次软件构造实验的过程,包括实现幻方的合法性检查与生成,turtle图形的正多边形计算与绘制,以及社交网络图的构建。在幻方部分,介绍了isLegalMagicSquare()和generateMagicSquare()的实现思路。在turtle图形部分,涵盖了正多边形内角、外角计算,向量夹角以及凸包的计算。在社交网络部分,设计了FriendshipGraph和Person类来表示人际关系,并实现了最短路径计算。
摘要由CSDN通过智能技术生成
  1. 实验过程

请仔细对照实验手册,针对四个问题中的每一项任务,在下面各节中记录你的实验过程、阐述你的设计思路和问题求解思路,可辅之以示意图或关键源代码加以说明(但无需把你的源代码全部粘贴过来!)。

为了条理清晰,可根据需要在各节增加三级标题。

    1. Magic Squares

在这里简要概述你对该任务的理解。

Magic Squares即幻方,n阶幻方是一个正方形n×n个数(通常是不同的整数)的排列,使得所有行、所有列和两个对角线中的n个数总和为同一常数。

      1. isLegalMagicSquare()

按步骤给出你的设计和实现思路/过程/结果。

在main()函数中调用五次isLegalMagicSquare()函数,将5个文本文件名分别作为参数输入进去,看其是否得到正确的输出(true,false)。

首先,逐行阅读文件,使用myLine.split("\t")方法划分得到一个字符串数组,数组的长度即为矩阵的阶,使用正则表达式str.matches(“[0-9]+”)判断其是否为合法数字。转换得到二维int型数组。

随后遍历每个元素,求各行、各列及对角线之和,判断是否相等,是返回true,否则返回false。

      1. generateMagicSquare()

按步骤给出你的设计和实现思路/过程/结果。

计算初始位置(0n/2),赋值为1,每次取当前位置的右上角的位置,设置的值每次加1,如果当前行是第一行,则下一行为最后一行,如果当前列是最右边的列,则下一次取左边第一列,重复平方次,就对完成了整个矩阵赋值。

    1. Turtle Graphics

在这里简要概述你对该任务的理解。

1、获取任务的源代码,在本地创建</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值