第三次博客-23201409-白宇齐

  这两次题目集也都是都延续了之前的电路模拟系统,但是这个对于处理电路之间的这个关系是题目集七是在题目集六的基础上主要增加了互斥开关的这个设备,还有线路中包含多个串联起来的并联电路,挺难搞的,题目集八就更不用说了更难,加了管脚电压,还有电流限制,以及短路检测等等,并联中更是还有并联,真的是挺难的,然后这两个题目集的难度都很大,题量也很大,考察的知识点有类和对象的概念,继承、封装和多态性,还有数据的输入处理,正则表达式,还有考察了电路的知识,因为后面现在加入了电阻,所以需要掌握串联和并联电路的电压和电流关系一些的,应用欧姆定律进行基本的电路计算。所以会比较考虑到电路这个问题。两个这两个个题目集我认为出的都很好,都挺有深度的,尤其最后一次题目集我觉得是真的很难,不仅考察我们的设计还考察我们的代码实现能力,对于所想要的设计能否正确完成,这一部分也是至关重要,主要也就是设计和代码实现这两件事,缺一不可,题目都挺考察对于类之间的关系的,需要我们能够理解好题目,对于类间关系才不会出错,题出的很好很有水平。题目集七代码主要分为几个类,先创建一个抽象设备类device类,然后其他的设备类都继承于他,deviceId: 设备的标识符,inputVoltage: 输入电压,outputVoltage: 输出电压,upinVoltages: 每个引脚的电压,maxCurrent: 最大允许电流,方法:updateOutput(): 更新设备的输出状态,getStatus(): 获取设备的状态信息。控制设备:如开关、分档调速器、连续调速器、互斥开关,受控设备类风扇,灯,落地窗等等,还有并联电路类,并联电路类包含多个串联电路,并行地更新每个串联电路的状态。属性:seriesCircuits: 一个串联电路列表,表示并联电路中的每条串联电路。方法:addSeriesCircuit(SeriesCircuit seriesCircuit): 向并联电路中添加串联电路。updateCircuit(): 更新每个串联电路的状态。以上是关于类的一些设计,另外代码的输入处理这个方面也是一个非常重要的方面,需要解析输入字符串,构建设备和电路。输入包括设备连接信息和控制指令。解析输入信息,解析设备连接信息,创建设备并构建电路。解析控制指令,更新设备状态。这有一些部分代码截图![](https://img2024.cnblogs.com/blog/3426460/202406/3426460-20240630002258571-1638932826.png) ![](https://img2024.cnblogs.com/blog/3426460/202406/3426460-20240630002417282-1522958136.png) 还有例如互斥开关![](https://img2024.cnblogs.com/blog/3426460/202406/3426460-20240630002535297-238920341.png) 解析输入是整个电路模拟系统的关键步骤之一,它相当重要,它主要包括两部分:解析设备连接信息和解析控制指令。通过解析输入信息,我们可以动态构建设备和电路的连接关系,并根据控制指令更新设备状态,解析设备连接信息,将输入字符串中的连接信息解析为设备之间的连接关系。创建设备对象,并按照连接信息将它们组织成电路结构。解析控制指令,从输入字符串中提取控制指令。根据指令更新相应设备的状态(如开关的开关状态、调速器的档位等等)再有就是状态的计算,我们要对设备的状态进行处理,对于控制设备先进行判断,计算电路上的总电阻,计算各个设备的状态。然后按照要求格式化输出设备的状态。 写代码中碰到的一些问题就是比如互斥开关这个东西有点难搞,不太会写这个东西,还有的就是设备的这个电压处理错误了,物理没学好,这个并联串联搞的有点蒙,对于自己代码的一些改进建议还是代码可能写的有点冗杂,同学还说我写的代码没有风格,让我多看看视频学习一下别人的代码是怎么写的。题目集八这个题目集是最后的题目集也是最难的题目集了,这个题目集也是在七的基础上进行的修改改进,主要增加内容有增加管脚电压的显示在输出每个电器的状态信息后,再依次输出该电器每个管脚的电压,还有新加了个二极管,这个我倒是还比较有印象,记得初中学过这东西,然后主要还有串联中包含串联电路,这个可能对我来说就有些复杂了,还有电流限制,短路检测等等新增的内容,这个也是类似的先创建一个抽象设备类device类,然后其他的设备类都继承于他,控制设备例如开关、分档调速器、连续调速器、互斥开关,受控设备类风扇,灯,落地窗等等,这个题目集还多了二极管,还有并联电路类,并联电路类包含多个串联电路,并行地更新每个串联电路的状态。属性:seriesCircuits: 一个串联电路列表,表示并联电路中的每条串联电路。以上是关于类的一些设计,另外代码的输入处理这个方面也是一个非常重要的方面,需要解析输入字符串,构建设备和电路。输入包括设备连接信息和控制指令。解析输入信息,解析设备连接信息,创建设备并构建电路。解析控制指令,更新设备状态。踩坑心得就是这个确实好难好难,没有什么心得,改进建议就是觉得自己学的还是太少,自己学的还是不够,对于自己想写的这个东西翻译成代码的能力还是太差了,然后觉的这个题出的非常好,很有水平的感觉,就是有点难。总结 通过这两次的题目集我又学到了很多东西,对于电路的处理,设计变得更加精通,熟练,还有例如对于类的设计、继承、多态、封装等。通过实现不同类型的电气设备(如开关、调速器、灯具、风扇等)和电路结构(如串联电路、并联电路),也加深了我对这门语言的熟练,印象,还有学习如何处理复杂的输入数据,包括解析设备信息、连接信息和控制指令。理解如何根据输入数据动态生成电路并计算其行为,进而输出设备的状态和参数。并且在实现电路模拟系统的过程中,需要运用大量的电路理论和电气知识。了解电压、电流和电阻之间的关系是非常基础的,这些知识在计算每个设备的状态和参数时都要用到。例如,开关在闭合状态时电流通过,而在断开状态时则没有电流通过。调速器的不同档位对应不同的电压输出,灯具的亮度则根据电压差来确定。在项目中,处理输入输出数据是关键的一环。通过设计合理的数据结构和解析方法,学会了如何高效地处理和解析输入输出数据。这提高了我在数据处理和解析方面的能力。虽然学到了很多东西,但是当然也有很多很多需要改进的方面例如需要优化算法,因为当前的代码在处理复杂电路时可能存在性能瓶颈,所以还需要不断地优化算法提到代码的效率,还有其实当前的测试用例可能不足以覆盖所有边界情况和极端场景,为了应对更极端的情况也可以再稍微多加一些测试用例来检验代码,另外还有代码写的可能会有许多冗杂的地方,在书写风格这方面可能还需要不断地优化,还有注释这方面可能我添加的还是比较少,代码的可读性不高,可读性是代码的重要的一方面,好的代码一定是具有可读性的所以我觉得这方面我还需要多多加强,在合适的位置上多添加一些正确的注释,便于他人更好地理解我的代码,对了说到可读性不由得让我想起了封装性,这方面我自认为做的还是比较好的,创建的设备的属性基本都是private或者protected。学期总结

总结来说,这门课已经接近尾声了,这也是最后一次博客作业了,很感谢几位老师,助教,谢谢你们教的知识,出的题,对我们的鼓励,善意,你们也是想让我们更好,从oop这门课中我学到了很多东西,因为有c语言的基础,所以刚开始上手java也不是那么的困难,除了一些语法需要重新学之类的,主要的还是引进了面向对象这个概念,叫oop嘛,面向对象编程,java这个也是当下主流的所用的语言,我也学到了很多掌握了Java中的基本数据类型(如int, float, double, char等)和引用数据类型,学会了变量的声明与使用。操作符与表达式:学习了各种操作符(如算术操作符、关系操作符、逻辑操作符等)及其优先级,能够编写简单的表达式进行计算。这些其实也跟c的基础有很大的关系,最主要的还是了解了类与对象:理解了类的定义、对象的创建与使用,学会了如何封装数据和行为。继承与多态:掌握了类的继承关系,学会了如何通过继承实现代码复用,理解了多态的概念及其应用。抽象类与接口:理解了抽象类和接口的定义和使用,学会了通过接口实现多重继承的效果。学习了Java标准类库中的常用类,如String, Math, Date, ArrayList等等,学习到了很多新的知识,感谢老师,感谢助教,我对这门课很满意,谢谢。

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

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

相关文章

MySQL共享表空间各个版本之间的演变图

感谢作者! 摘自:https://blog.csdn.net/qq_42267081/article/details/112383883

PTA七、八次总结

前言 本学期的最后两次PTA作业了,毕竟作为压轴的节目,难度还是有的,而且对我来说还不小。这一次Blog也是本学期最后一次Blog了,我也做出了一点对这学期相关PTA作业的总结。 这一学期PTA算得上是一次挣扎中进步的经历了,尤其是这两次。前几次老师给了一些思路给我做出了引导…

大作业7-8总结

前言 这两次大作业使用到的新知识点并不是很多,考查的是各类知识点的综合应用,题量方面大概考虑到这两次大作业的难度和临近考试的学习压力,两次大作业都只有一道大题,由于是所有知识点的总结,考察的知识点很广,再加上迭代的次数增加,这两次大作业的难度比之前的几次都要…

你的第一个SpringMVC程序

1.创建Maven模块 1.1 新建一个父模块1.2修改一下JDK版本这里选择JDK211.3 父模块中建立一个子模块,接下来的操作将在子模块中进行2.添加web支持 2.1设置本地Maven仓库(非必须)2.2 在springmvc-001的pom.xml文件中修改打包方式为war同时添加web所需要的依赖,由于Servlet依赖…

第三次OOP作业总结

第三次OOP作业总结 前言 此次作业为家居强电电路模拟程序的再次迭代,主要增加了两个特殊用电器,并且考察学生前几次的程序架构的完善性。新增的电压与电流的要求迫使程序更加智能。设计与分析 题一:家居强电电路模拟程序-3题解:在器具方面,控制设备增加了互斥开关,受控设…

codis架构学习

转自:https://jackeyzhe.github.io/2018/11/14/玩转Redis集群之Codis/ 1.介绍 codis是一种redis 分布式集群解决方案,codis是基于多个redis实例做了一层路由层来进行数据路由,每个redis实例承担一定的数据分片。Codis FE:集群管理界面。多个集群实例共享可以共享同一个前端…

PTA作业7~8总结

目录1.前言:2.设计与分析:(1)第七次大作业(2)第八次大作业3.采坑心得:4.改进建议:5.总结: ---------------------------------------------------------------------------------------------------------------------------------- PTA作业总结1.前言:这次的作业相比于前几次…

02-单链表的操作

单链表的创建:头插法 #include <stdio.h> #include <malloc.h> #include <stdbool.h>typedef int ElemType; /*定义一个单链表*/ typedef struct LNode{ElemType data;/*下一个元素的地址指针*/struct LNode *next; } LNode,*LinkList;/***单链表的创建* @r…

Java7-8次大作业题目集总结性Blog

Java4~6次大作业题目集的总结性Blog前言这两次大作业无疑就是更好学会面向对象编程了,并且是新添加的信息能够合理处理然后使用。 题量不大,只是在之前的代码上运用开闭原则修改代码,但我还是不能能很好掌握开闭原则。 难度有点大了,第八次大作业在之前的基础上添加了并联…

Linux系统基本介绍

一、Linux系统基本介绍 【1】、Linux操作系统特点多任务的操作系统多任务操作系统严格区分大小写Linux一切皆文件所有文件的起点都是“/”根目录对于Linux操作系统来说文件的后缀名没有任何实际意义,他不像是Windows操作系统中的后缀名代表了本文件是什么类型的文件。Linux中文…

STM32延时函数

STM32延时函数(查询定时器实现) 之前在STM32中使用延时函数的时候,都是直接使用,并不了解其中的原理。经过查阅资料,这里记录一下大致原理。 首先直接贴出来延时函数delay.c,通过查询的SysTick Timer的STK_CTRL寄存器的计数标志位COUNTFLAG方式实现,其中SysTick是一个结构…

OOP最后两次作业总结

OPP最后两次作业总结 前言 两次题目集其实都是在前面的基础上进行迭代,第一次作业说实话我没花什么时间,毕竟我从写第一次PTA就是给电器使用两个接点,我从拿到题目到达到及格分只用了半天时间,然后最后又花了点时间测试几个样例,拿到了82分。然后最后一次作业嘛,我几乎是…

游戏常用运行库 合集 | Game Runtime Libraries Package(2.1.24.0618)

软件简介: 游戏常用运行库 合集 整合了许多游戏会用到的运行库,支持 Windows XP – Windows 11 系统,并且支持自动检测系统勾选推荐的运行库,方便快捷。 本版特点: By:mefcl整合常见最新游戏所需运行库根据系统自动勾选推荐的版本纯净安装包无病毒和弹窗行为支持静默安装…

背包DP——混合背包

顾名思义,混合背包就是将前面三种的背包问题(01,完全,多重)混合起来,有的只能取一次,有的能取无限次,有的只能取 k 次。 正解特解 部分情况下,如小数据,可以转换成多重背包(把完全情况的数量换成足够大,如1e7,就把完全相对变成了多重) 例题 https://www.luogu.co…

cent os配置docker(解决2024.6月docker镜像拉取问题)

docker拉取镜像目前已经失效,多方查找目前试了试下面这个还可以用 首先执行以下命令安装dockeruname -r yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum …

Field stock doesnt have a default value

当你遇到 "Field stock doesnt have a default value"​ 这个错误时,这意味着你正在尝试插入一条新记录到数据库中,但是涉及的 stock 字段没有提供一个值,同时该字段在数据库表定义中也没有设置默认值(default value),并且数据库配置为严格模式,不允许NULL值或…

南昌航空大学软件学院23201823第三次blog

一、前言 这是最后一次blog了,是一些关于题目集7~8次的总结以及这一个学期对于PTA题目集的总结了。最后这两次的题目难度其实我并不是非常了解,大抵是因为我已经来不及挽救了,但是我还是想说其实这几次题目的难度感觉并没有想象中的触不可及,而是我自己没有花足够的心思去了…

中国城市降雨量历史记录查询 All In One

中国城市降雨量历史记录查询 All In One 降雨量 历史记录中国城市降雨量历史记录查询 All In One降雨量 历史记录https://www.ceicdata.com.cn/zh-hans/china/precipitation 中国 降水量:河南:郑州 1990 - 2022 | 月 | 毫米 | 气象局 降水量:河南:郑州在12-01-2022达1.500毫米,…

oracle安装调用图形化失败

报错现象: [grid@19c01 grid]$ ./gridSetup.sh ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.No X11 DISPLAY variable was set, but this program performed an operatio…

Kubernetes-高可用k8s集群部署(多Master节点二进制方式)

一、安装Docker 配置docker的yum源地址 yum -y install wget wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum provides docker-ce 安装指定的docker版本 yum install -y docker-ce-20.10.7 docker-ce-cli-20…