网络1911、1912 C语言第2次作业--循环结构 批改总结
一、评分规则
- 伪代码务必是文字+代码描述,直接反应代码,每题扣1分
- 提交列表没内容,或者太简单,每题得分0分。注意选择提交列表长的题目介绍。
- 代码格式不规范,继续扣分。
- 代码互评,内容简单,0分。
原文链接:C语言博客作业02--循环结构
二、本次作业亮点
2.1 整体情况
- pta题集分析
- 两个题集整体难度升级,完成情况比较不理想,相对上次有所下降,希望同学们对C语言热情不减,认真完成题集;这里对那些整体完成度好的同学提出表扬,并继续加油!
- 单循环结构题集整体完成度较好,少数同学完成题目较少需要加强;
- 嵌套循环题集难度相对较大,较大一部分同学完成度好,少部分全部完成,还有少部分完成度较低需要加强训练,不要落下。
- 博客作业分析
- 本次博客作业全部提交,整体完成情况还行,继续保持。
2.2 博客推荐
林智凯:
推荐理由:林同学一如既往,博客写得很认真,推荐大家去看看。尤其是学习总结这一块,非常详细。测试数据方面,能够体现出自己独立思考的过程,推荐。
朱振豪:
推荐理由:代码规范,思路清晰,可参考朱振豪同学的代码和注释学习。
三、本次作业存在的问题
- 存在部分同学应付博客作业,且整体博客质量相对上一次有所下降,这种态度是不应该的,希望接下来能够端正态度,能够像好的同学看齐;认真完成每次博客作业,对自己能力提升有很大帮助的。
- 少部分同学pta题集作业完成度不是很理想,且这次题集全部完成的同学较少部分,应引起重视,如果有觉得自己有点跟不上进度,希望能够通过视频结合书本内容学习,更主要是自己动手敲代码实现加强记忆,发现不懂的地方,不要羞于提问,可以在群里面或则向老师、助教、同学提问,跟上整体的步伐。
- 互评作业中,有些同学只是拿了别人的代码,却没有对代码进行比较分析,或则很简略的概括,这是不可取的。可以写下各自代码的优缺点,体现出你个人的思考,如果弄不懂同学代码,可以再次请教同学,学习不同解法,锻炼发散性思维思考方式。
- 这次博客作业中存在的大问题是大部分同学伪代码编写不规范,需要继续加强。
- 伪代码用Markdown语法渲染,让代码可读性更好。
- 伪代码也需要缩进处理,可以更直观呈现代码的大体趋势,将代码的整体思路架构通过文字结合代码的形式呈现出来。
- 忌翻译代码,伪代码应该是更直观清晰地反应代码的思路,而不是让人看了反而更加摸不着头脑,表述清楚代码,并且对难理解的地方进行相应的注释说明,加强伪代码的可读性。
- 下面提供一些优秀的伪代码供大家参考学习:
1.林智凯:
定义变量T为输入的时间,
变量rabbit兔子跑过的路程,并初始化为0,
变量tortoise乌龟跑过的路程,并初始化为0
变量i经过的分钟,
变量rest休息时间,并初始化为0,
变量flag用于表示兔子处于休息状态,并初始化为0。
输入变量T
for i = 0;i< T ;i++ //循环的次数表示经过的分钟数
if flag == 1 //判断兔子是否在休息
rest++ //休息一分钟
if rest == 30 //判断兔子是否休息好了
flag = 0 //兔子结束休息
end if
else
rabbit = rabbit + 9
if i % 10 == 0 //判断兔子是否回头看
if rabbit > tortoise //如果兔子跑得远,开始休息
flag = 1
rest = 0 //休息分钟数复位为0
end if
end if
end if
tortoise = tortoise + 3 //乌龟不休息
end for
if rabbit == tortoise
输出-_- 变量rabbit
else if rabbit > tortoise
输出@_@ 变量tortoise
else 输出^_^ 变量rabbit
end if
end if
2.朱振豪:
定义函数fib(形参为n)的类型为int
定义fib1作为第一个Fibonacci数
定义fib2作为第一个Fibonacci数
定义fib记录后一个Fibonacci数
定义i作为循环变量
if n为1或2 then 返回1
for i=3 to n do
令fib等于前两项之和
将fib1和fib2后移一项
end for
返回 fib1
定义函数PrintFN(形参为m,n)的类型为void
定义i,j作为循环变量
定义flag控制格式输出
定义cnt作为有无Fibonacci数的标志,0为无,1为有
定义num记录fib(j),避免多次调用fib(int n)函数
for i=m to n do
for j=1 to 无穷大 do
调用fib赋值给num
if num和i相等 then
输出i
end if
if num大于i then 退出循环
end if
end for
end for
if cnt为0 then 输出No Fibonacci number
3.王炜:
ch1保存上一次输入的符号
ch2保存新输入的符号
a为输入的数字
result保存已经计算的结果
flag用于记录是否出现非法运算,初始为0
输入算式,读取第一个数字和符号
result=第一个数字
while ch1不为等号
读取下一个数字和字符
switch ch1的符号
为加号时:result = result + a; break;
为减号时:result = result - a; break;
为乘号时:result = result * a; break;
为除号时:
if 除数不为0
result = result / a;
break;
else
flag = 1;
break;
end if
为其他符号时:flag = 1; break;
end switch
ch1 = ch2;
end while
if flag值为0
输出result
else
输出ERROR
end if
四、助教有话说
- 助教一:
大家一定要跟上pta作业的进度,发现这次的pta题集完成整体情况比较不理想。大一可能课程内容相对繁重,但是挤一挤总是有时间的,每天完成1-2题的pta题目是很有必要的,再利用假日时间集中练习,适当总结,事半功倍。希望你们对C语言依旧保持开学刚进来的那份热情,再接再厉!
- 助教二:
这次有部分同学对待作业不认真,博客写得十分应付,存在缺题漏题、Markdown使用不当等现象,要引起重视!平时有时间的时候一定要多刷刷pta,不要落下。
- 助教三:
大家还是要注意代码规范,不然看着好累,还有就是,已经有同学博客园未完成了,态度不好需要端正。