2022-2023-1 20221322《计算机基础与程序设计》第六周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(2022-2023-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(2022-2023-1计算机基础与程序设计第六周作业)
这个作业的目标 自学《计算机科学概论》第7章;自学《C语言程序设计》第5章
作业正文 https://www.cnblogs.com/yang-ziran/p/16754110.html

教材学习内容总结

《计算机科学概论》第七章主要介绍了Polya提出的如何解决问题的列表,计算机求解过程(分析问题,列出主要任务,编写其余模块,根据需要进行重组和改写),有简单变量的算法(选择、循环),复杂变量,搜索算法(顺序搜索、二分检索),排序(选择排序、冒泡排序、插入排序),递归算法,信息隐蔽、抽象等几个重要思想等内容。
《C语言程序设计》第五章主要介绍了算法的概念和描述,关系运算符和关系表达式(一个“=”表示赋值,两个等号“==”表示等于,“!=”表示不等于),单分支和多分支条件语句,条件运算符和条件表达式,switch语句,逻辑运算符和逻辑表达式,程序测试等内容。

教材学习中的问题和解决过程

  • 问题1:书中先是介绍了polya提出的问题求解模型,然后引入计算机问题求解过程,那么二者有什么区别吗?

  • 问题1解决方案:在阅读书的时候并没有特地将二者进行比较,然后再回到那两个图表中进行了比较。后者还多了算法测试一步,测试这个算法是否真的能解决问题,然后再进行编码,再测试。同时,后者还有维护这个步骤,包括改进程序以满足更多需求和纠正之前未发现的错误。

  • 问题2:书中介绍了三种排序方法,即选择排序、冒泡排序、插入排序,在应用过程中,我们应该如何进行选择呢?

  • 问题2解决方案:结合教材,并在网上搜了一些资料。排序要考虑时间复杂度和空间复杂度这两个因素,可以在System.currentTimeMillis()(用于获取当前系统时间,以毫秒为单位)(参考https://blog.csdn.net/qq_40878980/article/details/83658727)里面查看。(参考https://blog.csdn.net/xiaobaisimple/article/details/125962683?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166505985316800180694086%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166505985316800180694086&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduenddefault-2-125962683-null-null.142^v51^control,201^v3^control_2&utm_term=%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F%E3%80%81%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F%E3%80%81%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F&spm=1018.2226.3001.4187和https://blog.csdn.net/qq_56501283/article/details/126201182?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166505985316800180694086%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166505985316800180694086&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduenddefault-1-126201182-null-null.142v51control,201v3control_2&utm_term=%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F%E3%80%81%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F%E3%80%81%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F&spm=1018.2226.3001.4187)

  • 问题3:阅读了教材后,对递归算法还不太了解,同时我还看到了另一个算法————迭代算法,二者有什么区别呢?

  • 问题3解决方案:我上网查找了资料,递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或过程)来表示问题的解。迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。(参考https://blog.csdn.net/qq_40817827/article/details/89950325)

其他

这周继续C语言的学习,在课上进行了两个练习,将文字描述转化成C语言程序,大致能把框架写出来,但是中间存在一些细节问题,比如前面没有定义字符后面就使用、空格问题、一些算法上的问题,同时,对于一些字符、格式转换说明符等的使用比较生疏,对于将题目转化成框图的能力有待提高,要增强分析问题的能力,同时,提升自学能力。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 3/3 20/20
第二周 90/90 2 / 5 7/27
第三周 125/215 2 / 7 9 / 36
第四周 270/ 485 2/9 9/45
第五周 205/690 2/11 10/55
第六周 225/915 4/15 10/65
  • 计划学习时间:10小时

  • 实际学习时间:10小时

参考资料

posted @ 2022-10-08 10:58  20221322杨梓然  阅读(12)  评论(0编辑  收藏  举报