OPP第三次博客作业

news/2024/7/7 18:09:04/文章来源:https://www.cnblogs.com/lwj1/p/18276963

1.前言
这次博客不出意外是我们Java课程的最后一次博客了,不过这次博客pta只有两题,但真的挺难的,尤其是最后一个,我自己的设计也有很大的问题,第七次pta遗留下了一点点问题,导致第八次出现了很多问题,导致在后面要大篇幅的改,之后改完以后又不明白之前的写的代码有啥用,修修补补。
①7~8题目集的知识点:
物理中的电路知识
类之间的合理设计

多个类的处理
② 题量
这两次题集一题集都只有一题,题量少。

③ 难度
本人认为第七次的难度还是中等的,因为这次的迭代并没有颠覆我的设计,所以我可以继续按我以前的逻辑写,
不过还是有几个测试点过不了,就是那种特别分散的测试点,我改了好久都没有找出来,后面在写到第八次大作业才发现,是我的风扇类的输出有点问题,就是我的数据是19.99997,强转一下就变成了19,而答案是20,问题就是在计算的时候出了一点问题
第八次pta就比较的难写了,尤其是后面还加了几个测试点,就有点过不了测试点,不过我的程序也确实有点问题
第八次题集--家居强电电路模拟程序-4,刚看到题目的时候,非常震惊啊,要输出引脚信息!,在之前的迭代中,我根本没有用到过设备的引脚,因为这个引脚我不太会用,不知道如何运用,所以我采用计算电阻来分配电压的方法来计算亮度、转速。增加管脚电压的显示,其他的增加还有:电流限制,短路检测,二极管,并联电路中包含并联。我刚刚开始的设计就有点缺陷,后面一直在改,测试点也没有过几个。

2.设计与分析

我的设计主要是按照题目所给的类设计建议来设计的,有输入类,输出类,用电器类,串联类和并联类来处理的,之后就是在输入的时候找到主路,从主路作为突破的,利用递归来解决电路的串联和并联问题。其中的主要设计还是在串联类中。

家居强电电路模拟程序-3
image
这是我的类图设计,我专门设计了一个数据类存储数据来让其他类来使用其中的数据
image
通过上面的分析,可以发现这次我的圈复杂度更之前比起来好了不是一星半点,说明我的大改还是有点用的,不过还是有几个圈复杂度比较高需要进一步修改,我重新看了一下自己的代码,发现主要问题还是出现在串联类中,逻辑实在是太混乱了,没有好好的设计。
家居强电电路模拟程序-4
image
这个类图相对上一次pta来说并没增加什么,主要是在处理复式开关和二极管,然后就是在电压的处理和输出,我刚开始的设计就是根据电压差来处理,后面发现没用,后面便想到通过主路的电流来处理,每一个串联电路分为输入电压和串联分压,并联同理。
image
看到圈复杂度为9的时候,人都懵了,咱就问明明没添加啥东西,测试点也没有过几个,咋圈复杂度加了这么多em我又重新看了一下我的代码,天杀的,主要问题还是在处理这复式开关电压和二极管这,我考虑了好多情况,加了好多好多if,em罪恶源泉就是我自己没用设计好(/(ㄒoㄒ)/~~)

3.踩坑心得

第7次题集中只有几个错误一直都改不成功(印象中)后面在第8次pta中,才发现我是在风扇类输出有问题,真的哭死,真的找了我好久,就是实际电流是19.99997,我强制转换一下就变成了19,答案是20,那种无力感em,第8次题集真的最后一刻乱改后全是答案错误,改了一个稀巴烂后面只有35分em,还花了我差不多俩天,真的挺离谱的

代码设计思路的恰当选择:当时在家居强电电路模拟程序-1的时候,看不懂设备的两根引脚干嘛用的,后面写家居强电电路模拟程序-2这道题目的时候,彻底抛弃了引脚这一部分,就直接通过输入设备名来创建设备,所以当家居强电电路模拟程序-4要显示各个设备的引脚的时候,我就知道我这方法不太行了,指定过不了。还有就是类与类之间的设计, 对一些特殊情况的处理不对,答案一直都有错误,实际上我觉得就是对情况的分类不准确,有些特殊情况想不到。

5.总结
首先,通过这俩次题集,我认识到我还是不够细心,考虑不周全,有很多特殊情况并没有考虑到,在之后的学习中,我需要更加完善,提高自己的代码能力。其次,通过写这俩次题集,我收获良多:
对题目的理解至关重要,真的要好好地去设计自己的代码,不设计好来是真的难受,就是一直在改,改来改去还得不到几分的那种无力感,太难受了,啊啊啊!
然后就是多用debug,debug真的是好东西,我在debug的过程中发现了自己好多的逻辑问题
然后,以下是我总结出来还需进一步学习和研究的地方:尽量减少代码复用部分好的代码应该是简洁,复用性低的,有待改善!

最后,这是最后一次博客作业了,下面是对咱们教师、作业、实验、等方面的改进建议及意见,
老师方面:老师上课真的上的很好,真的好生动,有好几次醍醐灌顶,真的好爽,虽然我学的不咋地,但我还是觉得老师真的讲课讲的好,给老师点赞!
作业方面:我们的作业主要是在pta上,咱pta是真的好东西,我的编程能力说实在提高了好多好多,但还是有点不足,不足之处就是我在写完一次作业后得不到一个及时的反馈,对于那些得满分的同学其实还好,但对我这种都没有拿过几次满分的人问题可就大了,我是不知道自己问题到底出现在哪里,问同学也不知道,因为他们都是一遍过,我基本上得不到什么有用的反馈,我的问题是一直都在积累的,一直都是得不到解决的,这是对于我个人的见解,希望老师能够每次写完一个pta给出一定的提示,老师可能会觉得这不是会影响下一次的难度吗,我认为,如果不让我们自己解决问题才是真的的问题,老师可以加难度,但希望一定要在写完一次pta给出一定的提示,不然对我我这种拿不到满分的人问题是真的大,我在写题的时间真的已经很多了,我需要一定的提示来打破在某些逻辑的缺陷,不然我的问题真的会越来越多,因为得不到及时的解决。
实验:那个实验提交系统是真的搞人,我一直都运行失败,我明明在idea中运行的好好的,可一到了提交系统上就出现了一系列的问题em

最后,还是得要感谢老师的辛勤付出over

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/734337.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue - 入门

零:前端目前形势 前端的发展史HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 -> 在浏览器中查看Ajax的出现 -> 后台发送异步请求,Render+Ajax混合…

(线段树,最小值不能低于0的)北京建筑大学2024年程序设计竞赛 A 寿命修改

题意:code: #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> using namespace std; using i64 = long long; using u64 = unsigned long long; using PII = …

PTA第三阶段作业总结

前言 第三阶段的两次大作业明显对设计的要求进一步提高了。我两次作业一共得到了162分,最后一次作业只得到了62分,第7次作业得到了满分,但程序仍有许多不足,下面开始逐题分析。 7-1 家居强电电路模拟程序-3 这道题是一个全新的模拟场景,模拟一个家居电路。主要的类就是一个…

Django 笔记 - Django Shell

启动 Django Shell 交互式界面,具体命令如下:python manage.py shell具体实例 实例 1. 直接修改用户密码,无需原密码。 在 Django Shell 交互式界面下,修改 admin 用户密码的具体代码如下:from django.contrib.auth.models import User user = User.objects.get(username=…

用pipenv解决pyinstaller打包文件过大的问题

学会用pyinstaller打包python文件后,我发现直接大暴出来的文件内存特别大 于是我上网搜了一些压缩方法,试过用upx,用了之后感觉有点麻烦,后面又看到了pipenv,感觉还不错 首先用windows+r快捷键输入cmd打开命令管理器安装pipenv模块pip install pipenv -i https://pypi.tun…

对7~8次pta的总结

(1).前言: 第七次pta难度很大,主要体现在互斥开关的设计上: 互斥开关: 互斥开关有3个引脚:1个是汇总引脚,另两个是分支引脚。 开关电路示意图如图1所示,左边是汇总引脚,编号为1;右边两个是分支引脚,右上的输出引脚为2,右下输出引脚为3。图中1、2、3引脚均可以是输入引脚…

rust的webview框架tauri快速搭建

因为上一步把rust相关环境都搭建好了,可以用h5开发桌面程序了,搭建tauri npm create tauri-app@latest,等待安装npm run tauri dev,运行测试环境了,直接用网页查看页面效果 npm run tauri build,等待打包出exe文件,在目录tauri-app\src-tauri\target\release下运行exe查…

数据分析神器Pandas快速入门3类型转换

序列类型转换3.1 自动转换 在pandas 1.0 中,引入了一种新的转换方法.convert_dtypes。它会尝试将Series 换为支持 pd.NA 类型。以city_mpg 系列为例,它将把类型从int64转换为Int64: >>> city_mpg.convert_dtypes() 0 19 1 9 2 23 3 1…

log 日志原理

1)slf4j接口 仅仅定义了接口,因此,需要绑定到具体的日志框架才可以打印日志出来,具体如何来做呢,引用一张slf4j官网上的图片: 具体的组合使用: slf4j-api,日志是打到了/dev/null里面,因此啥也打印不出来slf4j-api + logback-classic:使用的是logback,因为logback本身…

tp5(finish)

tp5 1.tp5.0开始 结构 www WEB部署目录(或者子目录) ├─application 应用目录 │ ├─common 公共模块目录(可以更改) │ ├─module_name 模块目录(Home:前台模块;Admin:后台模块) │ │ ├─config.php 模块配置文件 │ │…

thinkphp3.2.x漏洞分析

tp3.2.3 1.开始 入口文件 就是www/index.php,index.php包含了框架的入口文件,所以访问后可以直接加载thinkphp框架 配置文件 thinkphp的配置文件在www/ThinkPHP/Conf/convention.php url大小写 url默认是大小写敏感的,也可以通过修改convertion.php,达到url不区分大小写的目…

git基本知识

文件在本地仓库的状态常用命令:git status 查询状态git add 添加到暂存区,可以使用通配符*git commit desc:1 提交到本地仓库,只能提交暂存区的文件,该次提交的描述git commit -a -m desc:2 表示直接提交,不用放到暂存区git log 查看提交记录git reset --soft 123456 传入…

揭秘Python:对象类型打印

哈喽,大家好,我是木头左!一、Python数据类型简介 在Python的世界中,了解你正在处理的数据类型是至关重要的。Python提供了多种内置数据类型,包括数字(整数和浮点数)、字符串、列表、元组、字典等。这些数据类型决定了你可以对数据执行哪些操作,以及如何高效地存储和处理…

用Python的pynput和pyautogui实现自动化操作

哈喽,大家好,我是木头左!一、前言 在日常生活和工作中,常常需要重复执行一些机械性的操作,如复制粘贴、点击按钮等。这些操作虽然简单,但频繁执行会浪费大量时间。为了提高效率,可以使用Python编写脚本来实现这些操作的自动化。本文将介绍如何使用pynput库记录各种按键操…

(log求因数和)北京建筑大学2024年程序设计竞赛 B因数之和

题意:计算一个数的所有因数的和通常涉及质因数分解,然后对每个质因数的幂次进行求和运算。 具体步骤如下: 1.质因数分解:首先,将给定的数进行质因数分解,表示为\(2^{a}*3^{b}*5^{c}....\) 2.计算每个质因数的贡献:对于每个质因数p(如2, 3, 5等),计算从p{0}到p的所有…

样本空间的计数

高一初学阶段常用的样本空间的计数方法需要切实掌握前言 在统计样本空间数时,需要考虑是否有顺序和是否放回,同时请注意列举法、描述法,表格法,树状图的合理运用。这些方法都是高一初次学习需要切实掌握的方法,等到了高二或者高三,对思维的要求提高以后,更多的会用到加法…

空间单细胞|基于图像的数据分析(3)

引言 在这篇指南[1]中,我们介绍了Seurat的一个新扩展功能,用以分析新型的空间解析数据,将重点引言 在这篇指南中,我们介绍了Seurat的一个新扩展功能,用以分析新型的空间解析数据,将重点介绍由不同成像技术生成的三个公开数据集。Vizgen MERSCOPE(用于小鼠大脑研究) Nan…

关于Java中 因取消装箱可能产生 NullPointerException 的原因

一.什么是装箱,什么是拆箱? 装箱:将值类型转换为引用数据类型。 拆箱:将引用数据类型转换为值类型。说白了就是 Integer与int数据类型之间的转换 二.为什么会有自动一说呢? 我们都知道,java是一个面向对象的语言。因此包括数字、字符、日期、布尔值等等再内的一切都是对象…

7-8次大作业总结

前言 这两次对我这种水平的学生来说很难写,只能搭建大致的框架和思路。 还是要对对第七和第八次大作业里所学进行一个总结,从多方面来分析这两次作业之间的联系和差异,并从中了解自己的不足与缺点。第七次作业添加了互斥开关和窗帘,窗帘还好,只是一个简单的电路的受控设备…

第三轮OOP作业总结

随着这一次大作业的结束,这学期的PTA大作业也随之完结,可以说这最后一次大作业也是最难的一次,在这一次作业中我也感受到了不良代码结构所导致的修改错误的痛苦,接下来让我们对这两次题目进行相应分析。家居强电电路模拟程序-3 家居强电电路模拟程序-4第三次作业 这一次大作…