首页 > 其他分享 >第2次总结性Blog-题目集4~6

第2次总结性Blog-题目集4~6

时间:2024-06-04 20:58:45浏览次数:18  
标签:学习 总结性 题目 家居 Blog 电路 模拟程序 强电

目录

关于java&面向对象
  在经过这几个月的系统性的java学习中,我始终牢记着一句话:面对对象程序设计最重要的是设计,而不是代码。设计即要遵守单一职责原则,简单来说就是什么该做,什么不该做。设计的越好,复用性就越高,需要修改代码的量就越少,经过迭代的次数越多,设计的好处越明显。下面,我将结合题目集4~6来说明设计的好处。

前言

  1. 知识点覆盖:抽象类和接口,Stream流配合lambda表达式的灵活运用,TreeMap对Key的排序,多态的3大前提条件:继承,子类的重写和向上转型,使用自定义的比较器对列表进行排序。

  2. 题量变化:答题判题程序-4,家居强电电路模拟程序-1,家居强电电路模拟程序-2中题量最大的应该是答题判题程序-4,其次是家居强电电路模拟程序-2,最后是家居强电电路模拟程序-1,但因为答题判题程序-4已经经过4次迭代了,读起题目来却是最快的,反而是家居强电电路模拟程序-2读题目的速度最慢。

  3. 难度变化:按照官方的意思来说,答题判题程序-4是最难的,其次是家居强电电路模拟程序-2,最简单的是家居强电电路模拟程序-1。家居强电电路模拟程序-1最简单个人完全没有异议,毕竟只有一条串联电路,对我个人来说,最难的却是家居强电电路模拟程序-2,因为有7种设备,且加了一条并联电路,又因为我是通过计算电流来给各个设备附上电压的,因此逻辑非常的复杂,反而是答题判题程序-4只加了2种题型,再排序一下就行了。

  4. 反馈和调整:题目的数量和难度都可以接受,个人更想把答题判题程序迭代下去,对于因其太难而改成家居强电电路模拟程序不是太满意,做事就要有始有终,难才能有进步,才能知道有哪不懂。

设计与分析

  答题判题程序目前设计了10个类,而家居强电电路模拟程序目前设计了14个类,但目前能力有限,大部分都是实体类,控制类和接口类不太会用,因此单一职责原则没有遵守,复用性很差,以后会接着改进。

1.答题判题程序-4

  本次迭代新增了选择题,填空题,处理这两种题的输入和前几次迭代大致相同,但本次迭代新颖的地方,就是他们的输出:都增加一项”partially correct”表示部分正确。我认为如果用for循环来判断学生答案是否与标准答案内容完全匹配给满分,或者包含一个错误字符或完全没有答案给0分,又或者包含部分正确答案且不含错误字符给一半分十分麻烦,因此经过上网努力地搜索,最终找到了Stream流,其配合Lambda表达式 ,给我们操作集合(Collection)提供了极大的便利。这也是我第一次接触Stream流。有了Stream流这样方便的工具后,就缩减了大量代码,如判断是否有多余的答案boolean hasExtra = userAnswersSet.stream().anyMatch(ans -> !correctAnswers.contains(ans));
  下面给出我写的代码的SourceMontor的生成报表内容以及PowerDesigner的相应类图。

PowerDesigner的相应类图

SourceMontor的生成报表内容
  从以上两张图中可以发现类都是实体类,且类与类
之间的关系简单,且类的深度参差不齐,故代码写得不尽人意。

2.家居强电电路模拟程序-1

  因为是第一次迭代,所以内容比较简单,只有一条线路,所有元件串联,但又因为是第一次迭代,所有的东西都要从头开始,包括处理输入输出,类设计等。虽然麻烦,但好在简单,还好比较轻松地搞定了,但有个比较坑人的点,最后要遍历一下整条电路上的开关,因为要保证整条电路上的开关都要是关闭的电路才有效。没什么好说的,下面给出我写的代码的SourceMontor的生成报表内容以及PowerDesigner的相应类图。
PowerDesigner的相应类图

2.家居强电电路模拟程序-2

  不知道为什么加了一条并联电路,感觉难度陡然增加,可能是因为我的思路是计算电流,再一个个给电路上的设备附上电压的,个人目前只能想到这个思路。不要看只增加了并联电路,实际上是加了多条逻辑上的串联电路,不仅要判断并联电路上每条串联电路开关是否全部关闭,没有的话要删除,还要附上设备电压,着实是很麻烦。但stream().filter()可以方便地筛选出串联电路和并联电路,以防混为一谈。但因为题目给出了诸多限制,思路虽然复杂,但还是可以写下去的。下面给出我写的代码的SourceMontor的生成报表内容以及PowerDesigner的相应类图。

采坑心得

  在处理题目集4-6时,我学会了避免一些常见错误,并且掌握了一些关键的策略。彻底理解题目的要求非常重要,因为题目可能会包含复杂的描述或隐含条件。我会仔细阅读题目,确保没有误解其意图。还有我特别关注边界情况,比如空输入或极端值,这有助于提高程序的鲁棒性。此外,拥有扎实的基础知诀,如熟练掌握编程语言、算法和数据结构等,对解题也极为重要。在时间管理上,我会合理分配,优先解决简单题目,确保不会在困难题目上耗费太多时间。审题的准确性也非常关键,我会仔继注意题目中的提示和说明,防止因忽视关键信息而出错。在处理编程题时,注意语法、变量命名和逻辑错误等细节问题也很重要,因为这些小错误都可能导致程序失败。最后,我也会利用各种资源,如参考书籍、在线教程和论坛等,帮助自己解决问题,同时努力保持独立思考的能力。总之,为了应对题目集4-6,全面准备、细心审题、注意细节和有效利用时间是关键。

改进建议

  1. 代码重构和优化:可以重新设计类之间的关系,并且要多一些控制类和接口类,尽量做到单一职责。

  2. 细化需求与预期:在进行编码前,应明确每个题目的具体需求和预期输出。这有助于精确定位所需功能和性能标准,从而编写出更符合目标的代码。

  3. 共同学习:定期与同学一起讨论题目集。通过对等学习和讨论,不仅可以提升代码质量,还能促进团队成员的技能提升和知识共享。

  4. 持续学习和更新:跟踪最新的编程技术和最佳实践,持续学习和更新题目集中的代码,保持其与时俱进。

总结

学到的内容:

  • 编程技能的提升:通过解答各种编程题目,我不仅提升了自己的编程技能,还深化了对算法和数据结构的了解。我学会了如何设计和实现高效的代码来解决问题。

  • 问题解决能力的增强:面对不同类型的题目,我培养了分析问题、清晰思考和找到解决方案的能力。这个过程加强了我解决复杂问题的信心和耐心。

  • 学习方法和技巧的探索:在解题过程中,我尝试并采纳了多种学习方法和技巧,如查阅资料、参考案例分析、与同学讨论等,这帮助我形成了一套适合自己的学习策略。

  • 团队合作与交流的经验:在解题的过程中,我积极与同学们交流和合作,通过共同讨论问题的解决方案,我学到了团队协作和经验分享的重要性。

进一步学习和研究的方向:

  • 深化算法和数据结构的学习:虽然已掌握了一些基础知识,但我计划继续深入研究更高级的算法和数据结构,以提高解决问题的能力和效率。

  • 提升编程技术:我期望通过学习更多编程语言和开发工具,不断提高自己的编程水平,并掌握更多实用的编程技巧,以提升代码质量和开发效率。

  • 增强实践经验:我希望通过参与更多编程项目和实际操作,积累实践经验,更好地将理论知识应用于解决实际问题。

  • 拓宽知识领域:我打算探索计算机科学的其他分支,如计算机网络、数据库、人工智能等,这将帮助我更全面地理解和运用计算机科学知识。

对教学及课程的改进建议:

  • 增设实践环节:建议在课程中添加更多实践环节,让学生通过实际操作来加深对知识的理解和掌握。

  • 提供丰富的学习资源:建议为学生提供更多的学习材料和支持,如教科书、在线课程、实验设备等,以促进他们的学习和发展。

  • 增强课程吸引力:建议通过设计有趣且具有吸引力的课程内容和教学方法,激发学生的学习兴趣和主动性,提高学习成效。

  • 注重个性化教学:建议根据学生的个别学习需求和能力差异,采取灵活的教学方式和评估方法,以满足不同学生的需求。

作业、实验与课程组织方式的改进建议:

  • 强化课堂互动:建议在课堂上增加互动和学生参与,运用启发式教学和案例讨论来引导学生思考和参与,从而提高教学效率。

  • 扩展课下学习资源:建议为学生提供更多样化的课下学习资源,如在线平台和学习指导,帮助他们巩固和拓宽知识。

  • 实施定期评估:建议定期对学生的学习情况进行反馈和评估,及时调整教学内容和方法,确保教学的连贯性和有效性。

标签:学习,总结性,题目,家居,Blog,电路,模拟程序,强电
From: https://www.cnblogs.com/3324407318-qq/p/18226417

相关文章

  • 题目集4~6的总结性Blog
    一、前言1.第四次题集是接着前面的第三次题集的迭代,知识点主要是继承的运用,正则表达式的运用同样少不了,相对于前面一次添加了对选题以及填空题,难度也相对于前一次加大。2.第五次题集是新的题集迭代是有关电路的,知识点有抽象类,抽象方法的使用以及继承的使用,同样正则表达式;由于没......
  • PTA题目集4-6的总结
    PTA题目集4-6的总结1.前言:2.设计与分析:3.踩坑心得:4.改进建议:5.总结1.前言:  1.这三次题目集的7-1题目重点在类与类的关系,使用了继承,实现,关联等。同时,熟练使用ArrayList后,我发现它在PTA作业非常实用。简化了排序的代码。题目集5,6考察对输入信息的处理和类之间关系的设计。......
  • NCHU-软件学院-232019班-23201125-罗伊鑫-第二次Blog
    前言本次Blog总结三次题目集的7-1题目的知识点、题量、难度等情况,以及写完后的错误总结和自我思考。1.知识点三次题目集都对于类的设计的提前规划好有着必要的需求,还有就是对于继承与多态的合理的使用。接着就是对于正则表达式的使用的检测,然后就是要有清晰的逻辑编程表达。2.......
  • OOP课程第二次Blog
    一、前言本次博客是对于题目集4~6的总结和反思。知识点本阶段题目集的主要考察的知识点是继承和多态,继承包括对super、extend关键字的使用,方法的重写等,多态包括向上转型、向下转型等。此外还考察了抽象类和接口及之前的封装性,需要我们有抽象类的能力。在设计上考察了单一职责......
  • 关于java类型转换题目
    publicclasstest2{publicstaticvoidmain(String[]args){System.out.println(zh(123));df();ca();longToInt();ByteToShort();booleanToString();conversion();FloatToDouble();IntToCha......
  • OOP课程第二次blog—23201408—钱文浩
    本次blog,针对第4~6次大作业题目集进行总结,目的在于总结不足、得出经验教训以及做出未来规划。本次blog分为以下几个部分。一、前言:(1)第4次和第6次大作业难度较大,需要考虑的情况很复杂多样,而且对整体设计能力的要求很高,类间关系设计继承、依赖、关联等等,而且因为输入的数据很多,某......
  • 题目乱做笔记 Part2
    CF1824D考虑如何快速计算\(g(i,j)\),设\(nxt_i\)表示\(i\)后面第一个等于\(i\)的数,那答案显然是最大的\(p\)满足不存在\(k\in[i,p-1],nxt_k>j\)。从大到小扫描\(i\)这一维,问题变成区间覆盖,区间求历史最值和,显然可以直接上线段树,但是需要卡常。同时也可以使用颜色......
  • 关于题目集4~6的总结
    前言4~6次大作业题目的综合性较强,题目量大且给定的信息多,在完成题目要求之前做好题目需求分析必不可少,先从总体上把握题目大意,然后分模块实现各个功能。三次大作业重点考察面向对象编程的继承和多态,以及java正则表达式捕获信息,总体上说,这三次题目集的大作业的题目实用性强,与生......
  • PTA第4~6次题目集的总结
    目录一.前言二.设计与分析三.采坑心得四.改进建议五.总结=================================================================================================================================前言题目总结第4次题目集题目答题判题程序-4设计实现答......
  • PTA题目集4~6的总结
    1.前言知识总结:1.StringBuilder是一个可变的字符序列,与StringBuffer类似,但不保证同步(即线程不安全)。它被设计作为StringBuffer的一个简易替换,适用于单线程环境下字符串的频繁拼接和修改操作。在大多数情况下,由于少了同步的开销,StringBuilder在性能上优于StringBuffer。2.appe......