网络1911、1912 C语言第4次作业--函数批改总结
网络1911、1912 C语言第4次作业--函数批改总结
一、评分规则
- 编程规范主要指变量命名,不要a,b,c,x,y,z。函数命名要驼峰命名。太随意命名负分
- 函数接口主要就是设计函数尽量不过重复功能、void fun()类似无参无返回
- 算法代码,就看程序流程、完成功能如何评分
- 调试问题一句话或没实质内容扣分
- 原则上,认定代码是自己独立编写,就算没有结果,大作业这块也至少4分吧
二、本次作业亮点
2.1整体情况
- pta题集分析
- 此次pta主要以函数题为主,对之前写过的题目进行一个再改造,难度不大。整体完成度较高。
- 博客作业分析
- 本次作业全部提交,但出现有同学提交后未完成情况。
- 博客此次以大作业为主,大部分同学能够完成系统的基础功能,希望能继续改进。
2.2博客推荐
推荐作业: 林智凯
推荐理由: 认真考虑用户需求,关于小学生如何展现表达式等细节都处理特别好。计时函数等功能。对于教师的建议,花时间去修改完善功能。无论是代码还是学习态度,都值得去学习。
推荐作业: 朱振豪
推荐理由:小朱同学的代码一如既往的赏心悦目。首先代码可读性非常好,程序的功能也比较完整,同时程序具有一定的弹性。另外一点值得大家学习的是小朱同学的命名和代码规范。函数类型也不单纯只有void类型,不滥用全局变量。当然可以对一些重复功能进行封装优化。
推荐作业: 张洸洋
推荐理由:张洸洋同学在代码规范和命名上做的比较好,在算法代码设计也比较好,当然在函数封装上可以再进行优化,做到更好。
推荐作业:陈勇
推荐理由:灵活的GetLevel函数,通过返回不同随机数,巧妙控制随机数生成范围。该同学还控制了负数、不能整除等数据的控制情况,很值得学习。函数接口不多,却完成本次作业大部分功能。
推荐作业:陈理荣
推荐理由:把操作数都存储在数组中,做混合运算,巧妙控制优先级。可以让乘除这块先运算再做加减。problem函数值得学习。
三、本次作业存在的问题
- 博客完成度参差不齐
- 这次的博客作业是以设计完成大作业程序为主题,大部分同学能够完成程序的基本内容,但是在博客作业这里掉了链子。在代码实践的同时,需要同学们学会静下心来对实践内容进行归纳整理。
- 部分同学态度应付,学习体会、调试内容等板块甚至一句话带过。没有尝试找自己程序的问题并进行改进。同学之间在完成程序主干内容后,可以尝试交换彼此的exe文件,测试程序,找出bug并加以改进。设计程序,需要赋予其弹性,作为开发者,在测试程序时需要转换角度,因为你永远都不知道你的客户会做出啥让你程序崩溃的事情,而一个优秀的程序,它的包容性一定是很高的。
函数
- 很多同学对于函数的理解,可能还停留在——一段长代码,从主函数当中挪出去,装到一个新的函数当中。但其实函数的功能性是很明确的。打印目录、计算抑或是传递参数,每个函数都应该有其特有的功能。根据功能封装函数,也能使程序的可读性更好。一段好的代码,需要做到当旁观者看到程序主干时,知道这个程序的大体功能。部分同学的装货式封装,使得函数只是个乱炖的大锅。当功能性更强,函数的调用也会更加灵活。
- 函数还有个很重要的地方,在于函数类型。刚开始很多同学还是用一长串的void类型函数来完成整个程序,再利用定义全局变量来弥补void类型函数的小缺陷——造成全局变量的滥用。
- 相似的功能要用函数进行封装,在设计函数时,需要使它更灵活,更方便被调用。不能因为一个参数就设计多个重复赘余的函数。例如:Add1,Add2,Add3……
全局变量
- 如果需要修改程序,即使是对局部函数进行修改。如果涉及到全局变量,就需要理解整个程序。效率低。
- 如果全局对象得到一个不正确的值,则必须查找整个程序以判断错误发生的位置。容错率低。
- 使用全局对象的函数依赖于全局对象的存在和类型,这使得在不同上下文环境中重用该函数更加困难 。灵活性低。
综上,应该避免全局变量的滥用。
命名及代码规范
老生常谈的一个问题了。首先再复习一下驼峰命名的规则:
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单*词开始以后的每个单词*的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
仍旧出现大面积大片的同学命名不规范,使得程序可读性极差,且不美观。
函数与变量命名需强调要与功能或性质相关。让人一看就知道你的函数或者变量的大致意义。仍存在有同学abc命名(当然有同学学聪明了,不用abc,用jk)。
切忌用中文命名!养成英文命名的好习惯,不会的可以百度翻译。
四、助教有话说
- 相信经过这次大作业,就会有同学发现程序设计的乐趣了。程序设计,除了代码语法外,更加重要的是关于功能的设计。走心的同学已经开始给自己的程序添加功能了,而有些同学还是一个残缺的程序,在这里态度就有比较大的差别了。是我们亲手赋予给程序功能与价值,希望同学们对自己的程序能有一定的追求,能够主动学习一些新的内容——详情参照智凯同学,剑龙同学博客。
- 另外博客是平常记录学习的一个很好的途径。互联网是有记忆的,比我们的大脑来的更精确。我们要知道,一年前犯的错误,一年后可能还是会犯。除了百度Google能教会你知识,曾经的自己其实也可以。(我就出现过知识点遗漏,找自己原来的博客康康当时自己的思路)。大家的c语言学习时间其实很短,学好C语言,主要是建立一个好的编程思维,为其他计算机专业课程打下一个扎实基础。希望每位同学都能在刚开始的时候,扎扎实实地踏出每一步。每一步都是未来的经验之谈。
- 其实很快这学期就要结束啦,希望大家期末都能设计出自己喜欢的程序!
五、得分详情
网络1911、1912 C语言第4次作业--函数批改总结的更多相关文章
- 网络1911、1912 C语言第0次作业批改总结
网络1911.1912 C语言第0次作业批改总结 题目:C博客作业00--我的第一篇博客 一.评分规则 总分10分,每个问题都务必回答,分值都在问题后面 抄袭 - 0分 博客作业格式不规范,没有用Ma ...
- 网络1711班 C语言第四次作业批改总结
网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...
- 网络1711班 C语言第七次作业批改总结
网络1711班 C语言第七次作业批改总结 1.本次作业评分细则 1.1 基本要求(1分) 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 泛泛而谈(最多七分) 1 ...
- 网络1711班 C语言第八次作业批改总结
网络1711班 C语言第七次作业批改总结 最近在忙一些琐事,没能及时批改大家的作业,连续两次作业总结也没有很用心写,在这要给大家say sorry. 1.本次作业评分细则 1.1 基本要求(1分) 按 ...
- 网络1911、1912 C语言第5次作业--循环结构 批改总结
如题 一.评分规则 1.伪代码务必是文字+代码描述,直接反应代码,每题扣1分 2.提交列表没内容,或者太简单,每题得分0分.注意选择提交列表长的题目介绍. 3.代码格式不规范,包括命名随意.继续扣分. ...
- 网络1911、1912 C语言第1次作业批改总结
一.评分规则 重点检查大家代码规范,变量名.大括号换行.缩进等发现不规范倒扣3分. 助教会进PTA查看大家代码的提交列表,发现不规范或抄袭,均扣分 每次作业完成后,至少邀请3个同学点评. 原作业地址: ...
- 网络1911、1912 C语言第2次作业--循环结构 批改总结
一.评分规则 伪代码务必是文字+代码描述,直接反应代码,每题扣1分 提交列表没内容,或者太简单,每题得分0分.注意选择提交列表长的题目介绍. 代码格式不规范,继续扣分. 代码互评,内容简单,0分. 原 ...
- C语言第十一次作业--函数嵌套调用
一.实验作业 1.1 PTA题目:递归法对任意10个数据按降序排序 设计思路 定义整型循环变量i,最小值下标min,中间变量t 若n==1,直接返回 否则 min=10-n 最小值下标赋初值 for ...
- C语言第五次作业函数
一.PTA实验作业 题目1: 6-6 使用函数输出水仙花数 1.本题PTA提交列表 2.设计思路 1.narcissistic函数 1.由于number的值后面会变化,所以定义d,e用于储存numbe ...
随机推荐
- javascript移动端 电子书 翻页效果
1.后端给一长串的纯文本 2.前端根据屏幕的高度,将文本切割为 n 页 3.使用插件 turn.js 将切割好的每页,加上翻书效果 <!DOCTYPE html> <html lan ...
- vim编辑器中的替换(转)
转1:https://www.cnblogs.com/david-wei0810/p/6385988.html 转2:https://blog.csdn.net/doubleface999/artic ...
- 定时任务FluentScheduler
1.Nuget 安装包 2.创建3个不同的任务 public class MyJob : IJob { void IJob.Execute() { Trace.WriteLine("现在时间 ...
- [Lua性能] 小试验一例
local s1 = os.clock() local list1 = {} , do list1[#list1 + ] = end local e1 = os.clock() print(" ...
- swiper按钮点击无效及控制器无效问题
点击箭头图片切换的同时,下面小图标也会随着切换,同理下面小图标切换时,上面也随着滚动. 示例代码如下: <!-- Swiper --> <div class="swiper ...
- CentOS7使用yum安装PostgreSQL和PostGIS
更新yum源 CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用.在https://yum.postgresql.org/repopackages.php上找到适合Cent ...
- perl判断文件是否存在 perl -e
perl 有很多的命令 其中有 -e 是判断文件和目录是否存在 代码如下: #!/usr/bin/perl $fileExist = -e "/var/log/messages&qu ...
- SAP官方提供的人脸识别API
https://api.sap.com/api/face_detection_api/resource 准备一张克里斯蒂亚诺 - 罗纳尔多的图片: 点击Choose File按钮,加载这些图片,然后点 ...
- 如何解决Win10不能新建项目的问题?
在Win10系统中,我们有时候会遇到右键菜单中没有新建项的情况,这时我们就无法进行文件的新建,非常耽误我们使用电脑.下面雨后清风就来分享一下Win10系统右键菜单没有新建项的解决方法. Win10系统 ...
- CentOs Linux 对于Django uwsgi + Nginx 的安装与部署
Django Nginx+uWSGI 安装配置 链接: