2022-2023-1 20221309《计算机基础与程序设计》第九周学习总结
作业信息
这个作业属于哪个课程 |
<班级的链接> |
这个作业要求在哪里 |
<作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09 |
这个作业的目标 |
学习《计算机科学概论》第10,11章和《C语言程序设计》第8章 |
作业正文 |
https://www.cnblogs.com/Plame/p/16842110.html |
教材学习内容总结
《计算机科学概论》第10,11章:了解操作系统在计算机中的作用,了解内存管理的多种方法,了解CPU调度算法的处理;
了解文件与目录系统的用途,可以识别文件类型,了解目录树,知道磁盘调度算法。如下:
《C语言程序设计》第8章:了解数组类型,定义,初始化,明白可以向函数传导一维或二维数组,了解了排序,查找,最大值,最小值算法;
教材学习中的问题和解决过程
问题1:磁盘调度算法有点抽象,如何直观表示?
问题1解决方案:查找资料得,
1.先来先服务算法(FCFS)
算法思想:根据进程请求访问磁盘的先后顺序进行调度。
假设磁头的初始位置是100号磁道,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道。
按照先来先服务算法规则,按照请求到达的顺序,磁头需要一次移动到55、58、39、18、90、160、150、38、184号磁道。
2.最短寻找时间优先(SSTF)
算法思想:优先处理的磁道是与当前磁头最近的磁道。可以保证每次寻道时间最短,但是不能保证总的寻道时间最短。
假设磁头的初始位置是100号磁道,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道。
磁头总共移动了(100 -18)+ (184 -18) = 248个磁道。响应一个请求平均需要移动248 / 9 = 27.5个磁道(平均寻找长度)。
3.扫描算法(SCAN)
电梯算法(LOOK算法)。(扫到最大请求柱面)
假设某磁盘的磁道为0~200号,磁头的初始位置是100号磁道,且此时磁头正在往磁道号增大的方向移动,有多个进程先后陆续的访问55、58、39、18、90、160、150、38、184号磁道。
磁头共移动了(184 - 100)+ (184 -18) = 250个磁道。响应一个请求平均需要移动 250 / 9 = 27.5个磁道(平均寻找长度)。
原文链接:https://blog.csdn.net/qq_46138755/article/details/123866822
代码调试中的问题和解决过程
问题1:怎样判断是否为整数?
问题1解决方案:查询资料得#include<stdio.h>
int main(void)
{
double num;
scanf("%f", &num);
if((int)num == num)
printf("%f是整数",num);
}
另有一种解法:double a;使用floor(a+0.5) == a来判断即可。floor(a)是对a向下取整,那么为什么要用a+0.5而不直接用floor(a)呢?
这是因为有时候使用 double 型变量存储整数时,会有损失部分精度,比如本来想存的是1,而实际上存的可能是 0.9999999 , 所以这样四舍五入一下,能有效避免存储精度上产生的问题。
#include<stdio.h>
#include<math.h>
int main()
{
double a;
scanf("%lf",&a);
if(floor(a + 0.5) == a)
{
printf("%s","yes");
}
else
{
printf("%s","no");
}
return 0;
}
参考:https://blog.csdn.net/qq_32623363/article/details/85335489
问题2:如何在调用函数返回字符串?
问题2解决方案:结合后面的课本得,可以通过运用函数调用字符型数组,从而输出字符串。
上周考试错题总结:
1.Pseudocode is an expression used as a condition in selection and repetition statements.
正确答案: 错误
你的作答: 正确
解析:伪代码是在选择和重复中用作条件的表达式?——————伪代码只是一种表示算法的语言,所以伪代码不能说是用作条件的表达式,而是一种算法结构,用作条件的表达式是布尔表达式(用于测试出是true还是false),因此被用作条件,也叫断言。
暂无
其他:
解决方案:
学习进度条
|
代码行数(新增/累计) |
博客量(新增/累计) |
学习时间(新增/累计) |
重要成长 |
目标 |
3000行 |
20篇 |
200小时 |
|
第七周 |
100/600 |
1/19 |
15/90 |
|
第八周 |
100/700 |
1/20 |
15/105 |
|
第九周 |
100/800 |
|
15/120 |
|