寒假作业_4
寒假第四次作业
已学内容总结
关于C++
其实在开学前的暑假,我自己网购了一本《C++ primer plus》打算自学C++,但由于贪玩,只看到第八章“函数”,可以说其实还没看到C++的精彩之处就开学了。而开学后对C++的学习就停滞了,也一直不明白何为面向过程,何为面向对象。这次寒假看了魏英老师的C++程序设计,接着先前书本的内容往下学才感受到了C++的强大之处,而电梯作业也让我尝试了面向对象编程,感觉还是很有趣的。
之前虽然用着cin,cout,调用其中的成员函数,却不明白其实现原理。只会用,而不知道为什么可以这么用。即,知其然,不知其所以然。通过这次线上学习,可以说对C++有了进一步认识,也感受到了C++的魅力,尤其是面向对象编程的思想以及STL的丰富。
这次自学内容的总结:接触了面向对象编程的思想,学会了自己设计简单的类和使用对象来编程,对STL的一些常用类模板及其可行的操作有了一点印象。
关于Git和Markdown
之前在做西二在线的考核作业时已经接触到了Git和Markdown的使用,但是用的很不熟练,也不常用,通过这次寒假作业,感觉用得更习惯了,(至少记住了常用的指令和操作,不用每次使用前都查阅)。
总结:可以说这两个都是很方便的东西,可以有效提高工作效率。
存疑
接触C++的时间不长,因此疑问还是不少的。大致总结为以下几点:
①这次电梯作业尝试面向对象编程,代码的组织结构是否有问题,对问题的抽象、划分是否到位,编程习惯或思想是否存在问题(说白了就是想知道我现在写的代码是否能看,算不算有了面向对象编程的感觉)
②现在是否需要去深入学习STL,了解其功能和实现原理;平常要不要有意识地多用STL来熟悉(这个疑惑是因为网上也有一种说法,对STL产生依赖性不是好事)
③是否需要坚持代码风格,因为我看到很多打比赛的大佬(我见到的大部分吧)的代码不喜欢换行和缩进,感觉可读性有点差(当然大佬解题和编程能力还是强)
④现阶段应该如何学习算法?是通过做题、遇到一种学一种还是看算法书
电梯作业总结与收获
这两次电梯真的写的头大。
尤其是第一次,因为在此之前编程都是为了做题,问题都是有确定答案的,好比客观题,对就是对,错就是错,只要能AC就行。而这次电梯调度的问题,就没有标准答案,需要自己去不断设计、改进算法来提高电梯运行效率。没有对错,但有优劣之分。因此一时间不太适应,以至于第一次的电梯没能在规定时间内完成。好在第二次电梯有了方向,在原先基础上进行大改,重新设计算法,又de了两天bug,总算是提交了一份个人目前能力所能及的答卷(真的尽力了QAQ)
总的来说,两次写电梯的过程虽然累,也崩溃了好几次,但好在还是有不少收获的,而且完工之后也小有成就感。相当于有了实践所学的机会,通过自己设计类,使用对象,更扎实地掌握了在慕课上学的东西,这个寒假也算是充实了(真的吗。。。)
花费时间和锻炼代码行数
花费的时间已经记不清了,从作业布置开始,每天都会打一点,完成一部分,然后每天晚上看2讲左右的慕课,第二次电梯应该打了不止一周的时间。总体上这个寒假大部分时间都在做作业以及打模拟赛。
代码行数的话,第一次电梯,cpp+head文件:96+70行,第二次电梯,cpp+head文件:43+424行。
感觉还是写了蛮多的,至少这个寒假没有荒废了编程。