网络 2011-2012 C 语言第三次作业批改总结
作业质量分析
- 总体分析
作业存在的问题
- 知识点总结
- 流程图
- 大作业
- 优秀作业推荐
助教寄语
- 李悦
- 苏雅琴
- 林智凯
- 评分细则
作业质量分析
总体分析
本次作业的成绩分布如下,可以明显地看到及格率仅仅只有 53.3%,说明情况很不理想。对网络 2011 的男同学提出表扬,大作业的完成率较高,博客的内容总体较为丰富,能看出是认真写了代码并完成博客,同时也有几位同学做了拓展。
完成作业是态度问题,博客是平时分的重要来源,如果部分同学打算继续保持下去,这门课的平时分一定会给你一个惊喜。
作业存在的问题
知识点总结
函数和数据类型部分的知识点,概念性的东西比较多,因此好好写并有一定的篇幅都给高分。函数这部分要总结的话,文字会比较多,给篇博客参考一下——C语言--函数。
流程图
流程图或者伪代码是描述程序的好方式,个人在描述算法的时候会优先考虑伪代码。但是对于大作业这种代码量比较大的程序,使用流程图可以清晰地呈现程序的工作流程和功能。流程图存在的问题有:
- 流程图太过简单,不能充分地体现程序的工作流程;
- 流程图过于完整,展示了过多的代码细节使其很难读懂;
- 流程图符号使用错误,例如决策部分没有使用菱形框;
- 流程图没有按照某个阅读顺序(例如从上到下)进行绘制,导致箭头打结在一起难以阅读;
- 没有使用专用的绘图软件绘制流程图,导致流程图不美观。
流程图的符号如下:
推荐一个好用的绘图网站——Processon。
大作业
仅从作业的完整性来看,很多同学并不很很好地呈现自己的程序的完成情况,具体的问题有:
- 提供了非常有限的代码和运行截图,无法判定完成情况;
- 文字叙述太多,但是运行截图太少,说了很多但是没看到成品;
- 对于代码的解释文字太多,而没有在代码附近注释,导致代码还是很难读懂;
- 只有代码的截图而没有适当的说明,很难辨别代码实现的功能;
- 从运行截图可以看出做了拓展,但是没有在前文提出来,亮点不突出;
- 运行截图展示的素材较少,不能体现出成品的运行效果和存在的问题。
我们专业的大部分同学未来会从事开发方向,开发软件的时候就不可避免地要写程序的说明书,所以这方面的能力还是值得去练习。想要让你的客户买你的产品,不仅要程序的质量本身过硬,更需要具备良好的表达能力把功能讲清楚。
同时写代码一定要有注释,即使是自己写的代码,隔一段时间再看也很容易看不懂,此时注释就显得很重要。开发大的程序往往需要多人合作,因此我们提供给其他同伴的代码一定要是有注释的,这样合作效率才会更高。
优秀作业推荐
- 陈宇杭——C语言博客作业03--函数:流程图较为清晰,代码能体现结构化编程思想。考虑了实际需求,调整了算式的难度。拓展功能较多,例如非法输入检查、计时器、正确率统计、作答等级评定等,推荐展示。
- 余智康——C博客作业03--函数:功能论述比较清晰,可以看出亮点,能看出有模块化编程的思想。实现了较多拓展功能,例如非法输入检查、作答情况分析等。有多个界面切换,较为清晰,通过清屏使屏幕更为整洁。出题考虑了用户的能力,并且对难度不合理的算式进行了规避,推荐展示。
- 罗发槺——C语言博客作业03--函数:考虑了用户群体,尤其是三年级可以出现更多题型。题目数量可以用户动态决定,考虑了非法输入。大作业总结较丰富,而且态度很积极,是唯一一位发代码给我调试的同学,值得肯定。
- 李洋——C博客作业03--函数:基本功能都有实现,可以判断超时作答,用户界面较为清晰。
- 原嘉怡——C博客作业03--函数:基本功能都有实现,流程图也比较清晰。能体现模块化编程的想法,用户界面较为清晰。
- 黄静——C博客作业03--函数:知识点总结很详细。有思维导图呈现总体的设计,流程图也比较清晰。基本功能都有实现。
助教寄语
李悦
函数在c语言中是非常重要的一部分,它有利于我们更加了解c这面向过程编程这一重要思想。在c语言编程过程中,就是先把一个比较大的问题划分为几个小问题,然后交由函数去封装实现,最后进行调用函数实现解决问题。这样的好处有利于程序的模块化,也避免了重复性操作。但函数的重难点也就在于对函数的设计,此次大作业中,大部分同学设计的函数功能执行着相同的功能,虽然将口算系统按年级分成了三个模块,分别用三个函数去实现各个年级的出题系统,但是三个年级中都包含出题,判断答案对错,计算正确率等相同操作,这些操作却未另外用其他函数封装实现,这样就导致三个模块中的代码冗余程度较高。这是同学们在后续学习过程中要继续优化改进的。
对于全局变量的使用,也是需要我们去注意和把握的。不可滥用全局变量,全局变量的危害大家也比较清楚,虽然在前期过程中,一定程度上能提高我们的编程效率,但是由于全局变量为所有函数模块所公用,在编写过程中某个模块对于全局变量的修改,就会影响到整个程序对于全局变量的使用,后期在修改 bug 的过程中就增加了我们调试的难度,所以在后续编程过程中,如果能尽量不用,咱就不用。
此次大作业只是一个小小的操练,希望大家能够继续努力加油!
苏雅琴
这次的大作业是小学生口算系统,对于一个系统,我们首先要思考系统的基本功能,和框架,可以有登录注册,接着再分年级。接着就应该要思考这几个模块能否分别单独放一个函数,需要的时候,只要进行函数传参调用即可,这里面,传参也是个技巧,由于大家指针可能涉及还不够,但如果了解到一定程度,熟练运用它,就会更方便。同时,博客中,会发现大家的学习总结总是会马虎应付,并且对于知识点的总结,也不够着重,要自己认识和发现哪些知识点是重要的,而不是为了交作业而写的。
林智凯
大家第一次写较大的程序,存在着很多问题。首先是代码冗余的情况,具有相同功能的代码重复出现在程序中。例如小学一二三年级都有加法题,此时较好的思路是专门写一个函数出加法题,通过传参的方式控制题目的难度。但是看大家的代码中,部分同学存在每当需要出加法题就把加法题的全套代码再写一遍,然后用硬编码的方式控制参数。这种编程手法不仅会导致代码存在大量重复,影响开发者对代码进行维护和扩展。而且当某个模块出现错误时,调试和排错的难度也会大大提升。这就好比雕版印刷术和活字印刷术,雕版印刷术只要有地方搞错了,整块印刷版就报废了,而对于活字印刷术只需要替换掉错误的模块即可。所以编写一个函数时,我们应该有意识地把某个需要多次实现的功能归纳出来,单独写一个函数来供其他函数调用。
接着是函数封装的问题,很多同学都封装了很多无参无返回值的函数。这种写法说明函数封装的不同组件是完全独立的,内在的逻辑关系非常松散。在封装函数时应该传入适当地参数控制函数的行为,并且返回合适的参数与调用函数的代码进行状态的交互,这样封装出的函数才有复用的价值。同时千万要注意全局变量能不用就别用,如果在程序中会有很多可以相互调用的函数和全局变量,则任何函数都有可能对全局变量进行修改。这就导致了函数、数据结构之间的关系一段乱麻,尤其是当代码量很长的时候,代码的理解也变得极其困难。所以全局变量能不用就别用,而应该使用传参的方式进行参数的传递。这方面需要大家多多练习,同时多读一些优秀的函数代码学习。
最后一定要提出的一点是,小学生口算刷题系统显然是有特定的用户的,也就是小学生。大家写完程序之后一定要自己先试用一下,有的同学出的题目已经不是口算能搞定的了,而且部分题目难度过大或者超纲。在我的印象中,小学生的数域没有拓展到负数,因此任何产生负数的题目都不应该出。二年级的乘法题应该仅限于九九乘法表,不能有二位数以上的乘法运算。至少是三年级以前的学生,还没有接触小数和分数的概念,出除法题的时候不能使得数有小数部分。四年级才会将数域拓展到千位,因此不能出现超过三位数的题目。我有看到某位同学出了三位数乘三位数,得数都好几万了,而且计算难度远超于三年级的水平。所以在写程序之前,大家一定要把前期调研做足了,只有充分考虑用户的需求才能写出适合的程序。前期调研的样例可以看这篇博客的第一部分——Java 程序设计——站内短信系统。
评分细则
姓名 | PTA总分-2-0 | 总结4分 | 大作业6分 | 总分 | 扣分说明 | 是否推荐博客 | 作业地址 |
---|---|---|---|---|---|---|---|
吕以晴 | 0.0 | 4.0 | 3.5 | 7.5 | 流程图不完整,没看到具体的题目设置。 | 否 | https://www.cnblogs.com/noyiie/p/14063280.html |
姜芳华 | 0.0 | 3.5 | 1.0 | 4.5 | 流程图不直观,看不到代码 | 否 | https://www.cnblogs.com/zxcvbnmlk/p/14053961.html |
骆梦钒 | 0.0 | 4.0 | 1.0 | 5.0 | 流程图符号使用错误,没有看到代码,出的题目没考虑用户群体 | 否 | https://www.cnblogs.com/qzmcflmf/p/14054956.html |
吴慧敏 | 0.0 | 3.5 | 2.0 | 5.5 | 没有程序运行截图,没有说明,看不出题目是否合理 | 否 | https://www.cnblogs.com/whm520/p/14060803.html |
骆念念 | 0.0 | 3.5 | 1.0 | 4.5 | 只实现了一年级,没看到代码,没考虑换行,界面不清晰 | 否 | https://www.cnblogs.com/luoniannian/p/14014731.html |
曹卉潼 | 0.0 | 4.0 | 3.5 | 7.5 | 代码冗余程度较高,看不出题目设置是否合理 | 否 | https://www.cnblogs.com/chtdeboke/p/14037874.html |
唐宇悦 | 0.0 | 3.5 | 2.0 | 5.5 | 流程图符号使用错误,呈现的代码较少,看不出题目设置是否合理 | 否 | https://www.cnblogs.com/CHINATYY/p/14056078.html |
汪月月 | 0.0 | 3.5 | 1.5 | 5.0 | 代码没呈现,看不出细节,题目设置也看不出来 | 否 | https://www.cnblogs.com/ww-yy/p/14010327.html |
陈佳桐 | 0.0 | 3.5 | 3.5 | 7.0 | 没看到二、三年级的题目设置 | 否 | https://www.cnblogs.com/keepgoingccc/p/14032287.html |
曾理 | 0.0 | 1.5 | 0.5 | 2.0 | 否 | https://www.cnblogs.com/harryzengblogs/p/14065123.html | |
陈宇杭 | 0.0 | 4 | 6 | 10.0 | 推荐展示 | 是 | https://www.cnblogs.com/YasakaKiyokaze/p/14063467.html |
余智康 | 0.0 | 4 | 6 | 10.0 | 推荐展示 | 是 | https://www.cnblogs.com/welcome-to-tomorrow/p/14065126.html |
黄帅 | 0.0 | 3.5 | 3.5 | 7.0 | 流程图较为简单,文字说明较多但是图少 | 否 | https://www.cnblogs.com/jingzheng001/p/14064302.html |
罗发槺 | 0.0 | 3.5 | 6 | 9.5 | 流程图还可以更美观,代码冗余程度较高 | 是 | https://www.cnblogs.com/lfka/p/14012706.html |
李雷默 | 0.0 | 4.0 | 1.0 | 5.0 | 流程图没画,没有用菜单框架,功能只实现了部分 | 否 | https://www.cnblogs.com/llmnb/p/14056679.html |
黄抒鸿 | 0.0 | 3.5 | 0.0 | 3.5 | 否 | https://www.cnblogs.com/SONGminusone/p/14063367.html | |
陈剑 | 0.0 | 4.0 | 3.5 | 7.5 | 流程图不美观,有一定的拓展,代码冗余程度较高,没有考虑用户群体 | 否 | https://www.cnblogs.com/jy00/p/14063093.html |
吴俊豪 | 0.0 | 3.0 | 3.5 | 6.5 | 总结较为简单,大作业基本完成 | 否 | https://www.cnblogs.com/konjac-wjh/p/14048488.html |
付峻霖 | 0.0 | 3.5 | 5.0 | 8.5 | 部分代码冗余程度较为严重 | 否 | https://www.cnblogs.com/qq690775749/p/14054319.html |
章审 | 0.0 | 3.5 | 4.0 | 7.5 | 部分代码冗余程度较为严重,基本功能都有实现 | 否 | https://www.cnblogs.com/13859862647z/p/14052244.html |
骆锟宏 | 0.0 | 4.0 | 4.0 | 8.0 | 基本功能都实现了,部分代码冗余程度较大 | 否 | https://www.cnblogs.com/luoqianshi/p/14054000.html |
林进源 | 0.0 | 3.5 | 4.5 | 8.0 | 流程图不太清晰,基本功能都有实现 | 否 | https://www.cnblogs.com/960223447a/p/14020245.html |
林小强 | 0.0 | 3.0 | 4.0 | 7.0 | 流程图较为简单,基本功能都有实现 | 否 | https://www.cnblogs.com/rryy2001/p/14063076.html |
廖浩轩 | 0.0 | 3.5 | 3.0 | 6.5 | 流程图不太清晰,基本功能都有实现 | 否 | https://www.cnblogs.com/miao-witch/p/14057410.html |
雷正伟 | 0.0 | 3.5 | 0.0 | 3.5 | 否 | https://www.cnblogs.com/lzwx2/p/14054015.html | |
曹秋秋 | 0.0 | 4.0 | 1.0 | 5.0 | 没看到运行的截图 | 否 | https://www.cnblogs.com/cqq666/p/14057558.html |
韩龙飞 | 0.0 | 3.5 | 4.5 | 8.0 | 代码冗余程度较为严重,题目设置不合理 | 否 | https://www.cnblogs.com/Rex7478/p/14064063.html |
李洋 | 0.0 | 3.5 | 6 | 9.5 | 代码冗余程度较为严重 | 是 | https://www.cnblogs.com/ly1218/p/14059038.html |
喻文康 | 0.0 | 4.0 | 3.5 | 7.5 | 部分代码冗余,流程图不够清晰,运行截图较少 | 否 | https://www.cnblogs.com/ywk2002/p/14045541.html |
王博 | 0.0 | 3.5 | 2.5 | 6.0 | 运行的截图较少,代码的说明较少。 | 否 | https://www.cnblogs.com/WangBo020809/p/14057734.html |
原嘉怡 | 0.0 | 4.0 | 5.5 | 9.5 | 部分题目设置不合理 | 否 | https://www.cnblogs.com/GGGa-Yi/p/14063297.html |
王鑫 | 0.0 | 3.5 | 4.5 | 8.0 | 流程图较为不清晰,出题的截图较少 | 否 | https://www.cnblogs.com/xiechi/p/14056698.html |
黄静 | 0.0 | 4.0 | 5.5 | 9.5 | 出题的运行截图较少 | 是 | https://www.cnblogs.com/Huangjing-2920/p/14054212.html |
张静雯 | 0.0 | 3.5 | 4.5 | 8.0 | 流程图可以整理得更清晰 | 否 | https://www.cnblogs.com/zjw123/p/14026272.html |
朱芳芳 | -2.0 | 3.5 | 0.0 | 1.5 | 否 | https://www.cnblogs.com/Z1188G/p/14065118.html | |
杨佳琴 | 0.0 | 2.5 | 1.5 | 4.0 | 代码的截图有很多报错,没有流程图 | 否 | https://www.cnblogs.com/yang123789/p/14063462.html |
陈兴果 | 0.0 | 3.5 | 3.5 | 7.0 | 没有看出不同年级的区别,代码说明较少 | 否 | https://www.cnblogs.com/lixinggio/p/14026871.html |
王小雨 | 0.0 | 2.5 | 0.0 | 2.5 | 否 | https://www.cnblogs.com/wxy1459995649/p/14057570.html | |
傅肇杨 | 0.0 | 3.0 | 3.0 | 6.0 | 呈现的细节较少,部分题目设计不合理 | 否 | https://www.cnblogs.com/f2002/p/14057240.html |
邓宏 | 0.0 | 3.0 | 3.5 | 6.5 | 流程图块头太大,有一定的代码冗余,运行测试呈现的细节较少 | 否 | https://www.cnblogs.com/denghong88/p/14053313.html |
张官德 | 0.0 | 3.0 | 3.0 | 6.0 | 代码和出题的细节没有呈现细节 | 否 | https://www.cnblogs.com/zhangguande/p/14063825.html |
梁桢 | 0.0 | 3.0 | 3.0 | 6.0 | 有一定的代码冗余现象,部分题目设置不合理 | 否 | https://www.cnblogs.com/lz02/p/14063860.html |
郑俊佳 | 0.0 | 3.0 | 3.0 | 6.0 | markdown语法渲染不清晰,呈现的细节较少 | 否 | https://www.cnblogs.com/jioky/p/14064114.html |
陈垚嘉 | 0.0 | 3.5 | 3.0 | 6.5 | 流程图不够清晰,函数设计需要精进 | 否 | https://www.cnblogs.com/chenyaojia/p/14062862.html |
卢伟杰 | 0.0 | 3.5 | 2.0 | 5.5 | 流程图较为简单,博客呈现的代码细节、测试的截图较少 | 否 | https://www.cnblogs.com/eau2077/p/14057843.html |
胡旻轩 | 0.0 | 3.0 | 3.0 | 6.0 | 流程图呈现不清晰,代码冗余程度严重 | 否 | https://www.cnblogs.com/Inevitable/p/14056356.html |
莫夕 | 0.0 | 2.5 | 1.5 | 4.0 | 知识点总结较为简单,流程图不清晰,没有程序运行的截图 | 否 | https://www.cnblogs.com/mx717502/p/14063934.html |
姚庆荣 | 0.0 | 2.5 | 3.0 | 5.5 | 知识点总结较为简单,流程图不清晰,代码说明较少,有一定的冗余 | 否 | https://www.cnblogs.com/yqr2012/p/14027736.html |
崔天赐 | 0.0 | 2.0 | 1.5 | 3.5 | 知识点总结较为简单,流程图不清晰,没看到代码 | 否 | https://www.cnblogs.com/cuitianci/p/14063294.html |
黎钊涵 | 0.0 | 2.0 | 0.5 | 2.5 | 否 | https://www.cnblogs.com/jmlzh/p/14064163.html | |
苏艺铭 | 0.0 | 0.0 | 0.0 | 0.0 | 否 | https://edu.cnblogs.com/campus/jmu/2020C/homework/11534 | |
陈泽役 | 0.0 | 2.5 | 2.5 | 5.0 | 只实现了一年级的程序 | 否 | https://www.cnblogs.com/YYYchenzeyi/p/14063833.html |
邓国筱 | 0.0 | 4.0 | 3.0 | 7.0 | 代码和测试的截图呈现的细节较少 | 否 | https://www.cnblogs.com/05dgx/p/14057293.html |
张嘉骥 | 0.0 | 1.5 | 0.0 | 1.5 | 否 | https://edu.cnblogs.com/campus/jmu/2020C/homework/11534 | |
杨星亮 | 0.0 | 0.0 | 0.0 | 0.0 | 未提交 | ||
王历 | 0.0 | 0.0 | 0.0 | 0.0 | 未提交 | ||
宋宇龙 | 0.0 | 2.0 | 1.5 | 3.5 | 整体呈现较为简单 | 否 | https://www.cnblogs.com/songyvlong/p/14064394.html |
杨龙生 | 0.0 | 0.0 | 0.0 | 0.0 | 未提交 | ||
罗翀 | 0.0 | 3.0 | 1.5 | 4.5 | 整体呈现较为简单 | 否 | https://www.cnblogs.com/letmee/p/14064235.html |
杨振鹏 | 0.0 | 1.5 | 1.5 | 3.0 | 知识点总结太简单,呈现的细节较少 | 否 | https://www.cnblogs.com/RocEye/p/14057102.html |
以上是 网络 2011-2012 C 语言第三次作业批改总结 的全部内容, 来源链接: utcz.com/a/71869.html