2022-2023-1 20221401 《计算机基础与程序设计》第六周学习总结
2022-2023-1 20221401 《计算机基础与程序设计》第六周学习总结
作业信息
班级链接 | https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
作业要求 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06 |
作业目标 | Polya如何解决问题 简单类型与组合类型 复合数据结构 查找与排序算法 算法复杂度 递归 代码安全 |
作业正文 | https://www.cnblogs.com/wangningwangning/p/16772843.html |
教材学习内容总结
学习了《计算机基础与程序设计》中第六章未看完的部分,加深了对于伪代码语句和使用方法的理解;了解了测试程序的原理。学习了该书第七章的内容,掌握了解决问题的流程和方法,能够学会并成功应用集中排序和检索元素的方法;了解了复杂变量的含义;掌握了递归算法的原理。
教材学习中的问题和解决过程
- 问题1:在while(!a)中,条件控制语句只是一个表达式的非,没有与其他表达式进行比较,如何判断真假?
- 问题2解决过程:通过深入阅读教材后得知即使条件控制语句只是一个表达式,也可以通过表达式的值来判断真假,此时表达式相当于布尔代数式,当表达式的值为0时代表假,表达式的值不等于0时为真。
- 问题2:信息隐蔽存在的意义和作用是什么?
- 问题2解决过程:上网搜寻资料得知:信息隐藏技术主要是指将特定的信息嵌入数字化宿主信息(如文本,数字化的声音、图像、视频信号等)中,信息隐藏的目的不在于限制正常的信息存取和访问,而在于保证隐藏的信息不引起监控者的注意和重视,从而减少被攻击的可能性,在此基础上再使用密码术来加强隐藏信息的安全性,因此信息隐藏比信息加密更为安全。
代码调试中的问题和解决过程
- 问题1:C语言中scanf和gets在用法上有什么区别呢?
- 问题1解决过程:上网查询资料后得知:(1) gets 的输入分割符只有回车,因此 gets 是能够读入空格的。如果输入为”hello world”时,上面程序的运行结果是”hello world”。而如果用 scanf 则只能输出 hello(2) 此外,scanf 和 gets 对待缓冲区里的回车符也是完全不同的。scanf 在读取非空白符之前会忽略回车,读取之后如果遇到回车会停止输入,将其留着缓冲区里;gets 只要一遇到回车就输入结束,并把这个回车从缓冲区里移走
- 问题2:
在输入一个数组并且检索元素的程序运行之后并不能得到正确的结果 - 问题2解决过程:仔细检查的flag值的变化过程,发现未对flag的值初始化,导致flag由随机值开始变化。以后需要寄的对累加累成以及条件判断(本次错误)的初始值进行初始化。
其他
现在其他科目的难度逐渐增加,所需时间也逐渐增多,导致留给计算机的时间越来越少,这需要我对于有限的时间进行更合理的规划,确保不同学科间均衡合理分配时间。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 2/2 | 10/10 | |
第二周 | 50/100 | 2/4 | 10/10 | |
第三周 | 50/100 | 1/5 | 10/10 | |
第四周 | 50/100 | 1/6 | 10/10 | |
第五周 | 50/100 | 2/8 | 10/10 | 在完成XOR加密作业时有自己的想法并且通过自学相关知识成功付诸实践 |
第六周 | 50/100 | 1/9 | 10/10 |