2022-2023-1 20221418 《计算机基础与程序设计》第九周学习总结
作业信息
这个作业属于哪个课程 | (2022-2023-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | (2022-2023-1计算机基础与程序设计第九周作业) |
这个作业的目标 | 自主学习《C语言程序设计》第八章,《计算机科学概论》第十、十一章 |
作业正文 | https://www.cnblogs.com/7777xiaohu/p/16823311.html |
教材学习内容总结
数组的定义和初始化
向函数传递数组
排序和查找数组
学习中的问题和解决过程
问题一:在页面交换技术中,如何确定被移出的页面
解决方案:查找资料
问题一答案:1.OPT算法(查找最长时间未被访问的页面)
2.FIFO算法(原理在于我们通常认为第一个载入的页面使用可能性最低)
3.LRU算法(最近,最久未被使用的页面)
4.CLOCK算法(将页面时钟化)
问题二:..究竟是什么意思
解决方法:询问老师
问题答案:点点相当于一个返回上级目录(父目录)的操作。
问题三:RFID是什么意思
解决方案:查阅资料
问题答案:这代指一种射频识别技术,实现在阅读器与标签之间非接触式的数据通信达到识别目标的目的
代码调试中的问题
问题:如何在键盘上打印一个边长为N(由用户输入的空心正六边形)
我的解法:二维数组
include <stdio.h>
int main()
{
int n, i, j;
printf("Enter length:");
scanf("%d", &n);
char arr[2 * n - 1][3 * n - 2];
for (i = 0; i < 2 * n - 1; i++)
{
for (j = 0; j < 3 * n - 2; j++)
{
arr[i][j] = ' ';
}
}
for (i = n; i <= 2 * n - 1; i++)
{
arr[0][i - 1] = '';
arr[2 * n - 2][i - 1] = '';
}
for (i = 0, j = n; i < n; i++, j--)
{
arr[i][j - 1] = '';
}
for (i = 2 * n - 2, j = n; i >= n; i--, j--)
{
arr[i][j - 1] = '';
}
for (i = 0, j = 2 * n - 1; i < n; i++, j++)
{
arr[i][j - 1] = '';
}
for (i = 2 * n - 2, j = 2 * n - 1; i >= n; i--, j++)
{
arr[i][j - 1] = '';
}
for (i = 0; i < 2 * n - 1; i++)
{
for (j = 0; j < 3 * n - 2; j++)
{
printf("%c",arr[i][j]);
}
printf("\n");
}
return 0;
}
更优解法:循环
include <stdio.h>
int main()
{
int a,i,j,t;
scanf("%d",&a);
for(i=1;i<=2a-1;i++)
{
if(i1||i2a-1)
{
for(j=0;j<a-1;j++)
printf(" ");
for(j=0;j<a;j++)
printf("");
}
else
{
if(i>1&&i<=a)
t = i;
else
t = 2a-i;
for(j=0;j<a-t;j++)
printf(" ");
printf("");
for(j=0;j<a+2(t-2);j++)
printf(" ");
printf("*");
}
printf("\n");
}
getchar();
return 0;
}
问题原因:没有找到规律进行循环
上周考试错题总结
Which of the following language paradigms allows the programmer to express algorithms derived from a top-down design?
A. Imperative (or procedural) B. Functional C. Logic D. Object-oriented
命令式范型是遵循自顶向下设计的,面向对象是属于命令式范型里的。
A Boolean expression may be an arithmetic expression followed by an integer.
正确答案: 错误
你的作答: 正确
布尔表达式不能由一个算术表达式和整数构成
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 2/2 | 20/20 | |
第二周 | 200/200 | 2/4 | 18/38 | |
第三周 | 101/301 | 3/7 | 22/60 | |
第四周 | 200/501 | 3/10 | 30/90 | |
第五周 | 200/701 | 3/13 | 20/110 | |
第六周 | 200/901 | 5/18 | 20/130 | |
第七周 | 200/1101 | 1/19 | 20/150 | |
第八周 | 200/1301 | 2/21 | 20/170 | |
第九周 | 200/1501 | 1/22 | 20/190 | |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 | ||||
耗时估计的公式 | ||||
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 |
-
计划学习时间:XX小时
-
实际学习时间:XX小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
- 《计算机科学概论》
- ...