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小时