软件构造实验1

2022年春季学期
计算学部《软件构造》课程

Lab 1实验报告

目录

1 实验目标概述 1
2 实验环境配置 1
3 实验过程 1
3.1 Magic Squares 1
3.1.1 isLegalMagicSquare() 1
3.1.2 generateMagicSquare() 1
3.2 Turtle Graphics 1
3.2.1 Problem 1: Clone and import 2
3.2.2 Problem 3: Turtle graphics and drawSquare 2
3.2.3 Problem 5: Drawing polygons 2
3.2.4 Problem 6: Calculating Bearings 2
3.2.5 Problem 7: Convex Hulls 2
3.2.6 Problem 8: Personal art 2
3.2.7 Submitting 2
3.3 Social Network 2
3.3.1 设计/实现FriendshipGraph类 2
3.3.2 设计/实现Person类 2
3.3.3 设计/实现客户端代码main() 2
3.3.4 设计/实现测试用例 3
4 实验进度记录 3
5 实验过程中遇到的困难与解决途径 3
6 实验过程中收获的经验、教训、感想 3
6.1 实验过程中收获的经验和教训(必答) 3
6.2 针对以下方面的感受(必答) 3

1实验目标概述
本次实验通过求解三个问题,训练基本Java编程技能,能够利用Java OO开发基本的功能模块,能够阅读理解已有代码框架并根据功能需求补全代码,能够为所开发的代码编写基本的测试程序并完成测试,初步保证所开发代码的正确性。另一方面,利用Git作为代码配置管理的工具,学会Git的基本使用方法。
基本的Java OO编程
基于Eclipse IDE进行Java编程
基于JUnit的测试
基于Git的代码配置管理
2实验环境配置
首先从网上安装了java,然后下载了git和Eclipse。
下载Eclipse时因为是从外网下,速度很慢,导致多次下载失败。于是我下载了他的镜像。
下载好后我写了hello程序,运行成功。
https://github.com/ComputerScienceHIT/HIT-Lab1-120L022210.git
3实验过程
请仔细对照实验手册,针对四个问题中的每一项任务,在下面各节中记录你的实验过程、阐述你的设计思路和问题求解思路,可辅之以示意图或关键源代码加以说明(但无需把你的源代码全部粘贴过来!)。
为了条理清晰,可根据需要在各节增加三级标题。
3.1Magic Squares
在这里简要概述你对该任务的理解。
1:对给的5个魔方进行判定,分别读取并进行行,列,对角线的判定
2:生成一个对的魔方。
3.1.1isLegalMagicSquare()
1:流读取文件判断行列是否相等,关闭文件。
2:流读取文件,判断是否含有非法字符,关闭文件。
3:流读取文件,判断是否为对的魔方,关闭文件。
3.1.2generateMagicSquare()
按步骤给出你的设计和实现思路/过程/结果。
代码生成魔方建立的数组按格式输入到文件。
3.2Turtle Graphics
在这里简要概述你对该任务的理解。
根据给出的参数和条件写出代码。
3.2.1Problem 1: Clone and import
我用http的方式克隆了源码,gitbash here,init 仓库,
3.2.2Problem 3: Turtle graphics and drawSquare
画一个正方形。
3.2.3Problem 5: Drawing polygons
根据给定的边数画一个多边形。
3.2.4Problem 6: Calculating Bearings
根据当前点和目标点的位置关系,调用数学三角函数,计算bearing。
3.2.5Problem 7: Convex Hulls
对给定的点利用凸包算法生成凸包的点集。
3.2.6Problem 8: Personal art
个人艺术。
在这里插入图片描述

3.2.7Submitting
如何通过Git提交当前版本到GitHub上你的Lab1仓库。
首先链接到github,我用的是ssh的方法,然后add,commit,push。
3.3Social Network
在这里简要概述你对该任务的理解。
求无向图的最短路径,可升级为有向图,建立包,类和测试。
3.3.1设计/实现FriendshipGraph类
利用哈希表将名字与数字映射存点,利用对应的数字建立邻接表存边,用Floyd算法求最短路径,不存在返回0;
3.3.2设计/实现Person类
Person类有方法getstring,返回字符串。接口为字符串。
3.3.3设计/实现客户端代码main()
main函数为所给代码。加入了邻接表的初始化。
3.3.4设计/实现测试用例
给出一些简单的点,相连或断开,然后测试三个函数。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值