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

班级链接https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09
作业目标:学习计算机科学概论第10,11章,《C语言程序设计》第8章
作业正文:https://www.cnblogs.com/lzw952755/p/16842201.html

学习目标
·操作系统责任
·内存与进程管理
·分时系统
·CPU调度
·文件、文件系统
·文件保护
·磁盘调度
学习资源
·教材
·阅读 「反作弊」:任何时候发现同学们有抄袭作业,抄袭代码的情况,即时课程总成绩清零
学习任务
·加入云班课,参考本周学习资源

自学教材

·计算机科学概论第10,11章 并完成云班课测试
·《C语言程序设计》第8章并完成云班课测试

教材学习内容总结:

1.CPU调度:

Shortest-Job-First(SJF)调度算法(最短作业优先算法)

 CPU Burst time必须很准确,才能确定这种算法。然而实际情况下基本不可能预估准确时间。(预先通报是不可能做到的,这是一个致命问题,导致SJF算法无法实现)。

优先权法(Priority Scheduling)

轮转法(Round Robin,RR)

多层队列(Multilevel Queue)

  • 系统进程队列,要实时响应。
  • 交互进程队列(要求响应非常及时)—— RR
  • 交互编辑队列(人输入键盘,移动鼠标等,响应时间可能半秒也可以,对操作系统来说已经很长了。交互要求不是很高)—— RR
  • 批处理进程队列,不需要交互。—— FCFS

2.磁盘调度
  • 先到先(FCFS):按照请求到达的顺序处理他们
  • 最短寻到时间优先(SSTF):通过尽可能少的读写头移动满足所有未解决的请求(最近优先)
  • SCAN磁盘调度:读写头先移动到一端进行满足,再移动到另一端进行满足请求

代码调试过程中遇到的问题

 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,answer,reply,i,R = 0,F = 0,op,m,n;
while(R<7.5)
{
for(i = 0; i < 10; i++)
{
srand((unsigned)time(NULL));
a = rand() % 10 + 1;
b = rand() % 10 + 1;
op = rand()%4 + 1;
switch(op)
{
case 1:
answer = a+b;
printf("%d+%d=",a,b);
break;
case 2:
answer = a-b;
printf("%d-%d=",a,b);
break;
case 3:
answer = a*b;
printf("%d*%d=",a,b);
break;
case 4:
answer = a/b;
printf("%d/%d(整除)=",a,b);
break;
}
scanf("%d",&reply);
if(reply == answer)
{
srand((unsigned)time(NULL));
m = rand()%4 + 1;
switch(m)
{
case 1:
printf("Very good!\n");
break;
case 2:
printf("Excellent!\n");
break;
case 3:
printf("Nice work!\n");
break;
case 4:
printf("Keep up the good work!\n");
break;
}
R++;
}
else
{
srand((unsigned)time(NULL));
n = rand()%4 + 1;
switch(n)
{
case 1:
printf("No. Please try again.\n");
break;
case 2:
printf("Wrong. Try once more.\n");
break;
case 3:
printf("Don’t give up!\n");
break;
case 4:
printf("Not correct. Keep trying.\n");
break;
}
F++;
}
}
printf("总分为:%d\n正确率为:%d%%\n",R*10,(R*100)/(R+F));
}
return 0;
}

循环中没有将M归为零,导致第二次循环累加

死循环最初没有设置结束。

 

 上周错题总结:
Which of the following is executed by the Java Virtual machine?
A. Procedure
B. Interpreter
C. Bytecode
D. Paradigm
E. Compiler
答案:C

 

学习进度条
 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000行 30篇 400小时  
第一周 0/0 1 16  
第二周 120/120 2 18  
第三周 150/270 2 16  
第四周 200/470 2 18  
第五周 240/710 2 16  
第六周 260/970 2 18  
第七周 300/1270 2 22  
第八周 300/1570 2 20  
第九周 400/1970 2 22  

 

 

posted @ 2022-10-30 20:55  20221308刘志伟  阅读(35)  评论(0编辑  收藏  举报