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

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

作业信息

这个作业属于哪个课程 <班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
这个作业要求在哪里 <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06
这个作业的目标 学习《计算机科学概论》第七章和《C语言程序设计》第五章
作业正文 https://www.cnblogs.com/lu-yu/p/16768141.html

教材学习内容总结

《计算机科学概论》第七章:主要讲了解决问题的方法步骤以及Polya的“如何解决它”的步骤,算法的定义以及有简单变量的算法的类型介绍,复杂变量(包括数组和记录),搜索算法、排序算法和递归算法的类型举例,及其伪代码。
《C语言程序设计》第五章:主要讲了关系运算符和关系表达式,单分支控制的if条件语句、多分支控制的if else条件语句和多路选择的switch语句,条件运算符和条件表达式,逻辑运算符和逻辑表达式(与、或、非)。

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

  • 问题1:有哪些常用的数学计算需要头文件<math.h>?
  • 问题1解决方案:上网查阅资料得出,具体有:1、三角函数double sin(double)正弦、double cos(double)余弦、double tan(double)正切;2、反三角函数double asin (double)、double acos (double)、double atan (double)、double atan2 (double,double);3、双曲三角函数double sinh (double)、double cosh (double)、double tanh (double);4、指数与对数;5.取整;6、取绝对值double fabs (double)求实型的绝对值、double cabs(struct complex znum)求复数的绝对值等
  • 问题2:看了课本还是不是很明白,为什么快速排序速度更快?
  • 问题2解决方案:上网查阅资料,快速排序的核心思想是,找到一个基准数,让这个基准数到它该去的位置。并且,基准数左边的数都比这个它要小,右边的数都比它要大。根据这个思想,我们每一趟至少能够保证基准数在它应该在的位置,并且右边的数都大于左边的数,整体基本有序。然后分别对左边和右边递归刚才过程。这就是快速排序,由于每次都能够排好一个数,并且能够保证左边区域的数只需要在左边区域排序,右边区域的数只需要在右边区域排序,它们本身在该在位置的概率很大,大大降低了需要交换的次数。

代码调试中的问题和解决过程

  • 问题1:

  • 问题1解决方案:对照课本,发现if()语句后误加了“;”

  • 问题2:

  • 问题2解决方案:switch()语句未加大括号

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 10/10
第二周 300/500 2/4 18/28
第三周 300/800 3/7 20/48
第四周 300/1200 2/9 20/68
第五周 300/1500 2/11 20/88
第六周 300/1800 4/15 20/108

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:20小时

  • 实际学习时间:20小时

参考资料

posted @ 2022-10-09 18:45  20221313陆玉  阅读(23)  评论(0编辑  收藏  举报