第四到第六次大作业总结

news/2024/10/8 2:21:39

一,前言
第四次大作业:第四次大作业,对我而言,并没有新增多少内容,这也给了我更多的时间去审视之前的结构与设计,我将我原先的结构重新写了一遍,做了许多优化,比如说又多提取出了两个类,尽量去实现单一职责原则,但是,在主函数当中,仍然用了一些循环,或许我可以将这些循环写到其他的类当中,所以仍然有不少值得优化,或者说没有实现单一原则的地方。这次作业给我的另一个挑战是对于正则表达式的运用。这次题目都新增了多选题,多选题当中,哪个选项对应哪个答案,有多少个选项?我通过复习视频重新把正则又过了一遍,我认为对我的提升很大,当然还有,对于一些特殊情况的考虑,怎么样去设计才能让它按照题目的要求去输出特殊情况?在写程序的过程当中,我也会尝试去猜测出题者的本身的设计思路,当然,幸运的是,我发现自己的思路差不多能与题目要求相符,这说明我的设计思路是相对合理的,当然,设计思路有很多种,不能单一的用优劣去评判。通过比较同学之间的设计思路,我也能发现许多很新奇,我没有考虑到的地方,往往能让我对他们刮目相看。
第五次大作业:第五次大作业又开启了新一轮的主题,这次题目发的比较晚,可以看出老师在,设计的时候花了很多心血,因为当老师一开始将题目的简述发到群里时,我很难去想象这要如何去实现,但老师刻意将这次作业设计的比较简单,并且给我们提供了一个基础的思路,那这次的程序就顺理成章的出来了,过在写的过程中,也出现了许多问题,这里先按下不表。但是可以看出来这次作业的目的,很大一部分是让我们学会抽象类的应用,将这些电器的共同特征抽象出来放到电器类中,并且通过向下转型,将它们存在同一个链表当中。那么,如何在转型之后仍然保留这些电器独有的方法,就需要我们在抽象的时候花点心思。
第六次大作业:第六次大作业是在家居电路上的优化,前面说到第五次难度相对简单,主要原因是他没有考虑并联电路,也没有考虑电阻,更没有考虑分压,但在第六次大作业中都加上了。原先只有一条串联,所以没有必要抽象出一个电路类,现在这一次要多设计一个,串联电路类和一个并联电路类,我的想法是将这两者也视为电器的一种,就实现的效果而言我比较满意。并且老师也邀请完成较好的同学上去阐述思路,我发现他的想法也与我不谋而合,事实证明,抽象向思维确实非常重要,合理利用好抽象,能让我们在写代码时事半功倍,并且让人思路更加清晰。
二,结构与设计
第四次

第五次

第六次

三,踩坑心得:
第四次作业过程当中没有太遇到很大的困难,重点讲第五次大作业和第六次大作业,在第五次大作业当中,一直有几个点过不了,我在不断的审视自己,可能会犯了错误之后,虽然没有发现自己的问题,幸运的是我向其他人请教,他们发现了我在,边界控制上的一个问题,这主要是因为我比较粗心,但当局者迷,旁观者清,可笑的是,我发现这个问题之后,只在pta上进行修改,我没有去改,我idea上的源代码,导致我写第六次大作业时,由于是在ida上的源代码进行修改,然后我又把那个问题给忘了,这导致我写完只拿了40多分,当时想破了头,也想不出错在哪,只是想当然的认为我上次写了能复用的部分一定是对的,因为上次拿到了满分,包括第六次没有给出错误的点在哪,告诉我们具体的测试点是什么?所以我们只能自己想测试点,幸运的是,最后我发现了这个问题,最后进行改正,拿到了满分。当然,这里面还有一个小插曲,就是数据的精度问题,对于并联电路的电阻,只有采取一种特定的算法,才能达到题目要求的精度,这一点上我认为是比较,难以想到的,因为理论上来说,两种算法算的都是一样的,不应该有精度上的差别,但是实际上它不仅出现了,而且也影响了我们的得分,在一般情况下,你根本不可能想到是什么原因导致的,我也是经过其他人提醒才发现这一点。
四,改进建议,
对于一些特定的算法,如果我们使用的不是跟老师一模一样的算法,就比如这次的并联电路电阻计算,那很可能就会出现精度和测试点对不上的情况,我认为这种情况是很难去分析出来的,如果之后出现了一些对精度要求非常高的算法,要采用哪一种计算方式?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

第二次博客作业-答题判题程序4/家居强电电路模拟程序1-2 blog-2

一、前言: 在前三次面向对象程序设计题目集的基础上,我又完成了三次PTA题目集的作业,在此过程中我感受颇多。在解决前三次答题判题程序后,我逐渐掌握了这套程序的设计精髓,并在我第三次题目集的基础上做了扩展性的重构,以便于解决答题判题程序-4的相关问题。然而,在…

xxt

引子 前不久,我完成了第五次和第六次大作业。这次的作业主题是“家居强电电路模拟程序”,每次的作业都是在前一次作业的基础上进行迭代。此次作业训练了前段时间新学的继承与多态,并且巩固了之前学到的一些旧的知识。 作业总结从难度来看,这两次的大作业题都是由一种题目发…

【NAS】Docker Gitea+SakuraFrp+绿联DPX4800标 搭建私有代码托管平台

本文主要分享 Gitea的一些设置,和Https的实现。本文主要分享 Gitea的一些设置,和Https的实现。 Gitea的一些设置 映射网络HTTPS的实现 先准备好一个域名,建议准备一个1Panel创建一个AC账户然后点击申请证书,手动解析。 申请完毕后,点击详情,查看证书crt和私钥key 自己创建…

【转载】基于 Docker 的 PHP 集成环境 dnmp

参考https://github.com/yeszao/dnmp?tab=readme-ov-file https://learnku.com/articles/19289 https://www.awaimai.com/2120.html 源码 【下载】(由于限制20m上传,删除 .git 文件夹 )正文 介绍 PHP 环境搭建是个麻烦事,nginx、PHP、MySQL 一个不能少,有时候一个错误可能…

mac python 包管理工具 pip 的配置

python3 --version Python 3.12.3 brew install python@3.12 pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip3 config set global.break-system-packages truepip3 install aiohttp python 包管理工具 pip 的配置近几年来,python的包管理系统…

init_array与got劫持——[zer0pts 2020]easy strcmp

只是在顺思路,wp参考了2位大佬 文章列表 | NSSCTF [Zer0pts2020]easy strcmp 分析与加法-CSDN博客 题目Die 虚拟机运行一下 没有输入,直接报错退出了 IDA 很奇怪啊,就是一个比较 从我们运行直接报错来看,我们运行时a1>1这个条件是不成立的 我的最初思路就是调试把a1改了…

4~6题目集总结

1.前言: 知识点方面,涵盖了抽象类的定义、特点、作用,以及迭代相关的各种概念,如不同迭代器的使用等。 题量适中,能够充分检验对这些知识点的理解和掌握程度。既包括对抽象类基本概念的直接考查,也有通过实际代码情境来分析的题目,还有涉及到与迭代结合运用的综合题。 难…

Body CSG Geometry

Body CSG Geometry 实体CSG几何是通过构造实体几何模型来表示产品的3D形状。应使用保持该几何表示的IfcShapeResentation的以下属性值:IfcShapeRepresentation.RepresentationIdentifier = Body IfcShapeRepresentation.RepresentationType = CSG IfcShapeRepresentation.Item…