c语言编程题考试自动评分系统,C语言编程题考试自动评分系统简介.ppt

C语言编程题考试自动评分系统简介

主要内容 教材简介 学习方法 机考系统简介 教材简介 教学理念的更新 教材简介 教材简介 国内55所院校使用 新版增加的内容 强化知识点、算法、编程方法与技巧 【编程提示】 每章小结中增加常见错误的总结 学生设计的优秀案例(游戏程序)分析 常见错误案例分析 欢迎大家指出错误,提出修改建议! 教材简介 配套外版翻译教材 C大学教程(第5版) C How to program, Fifth Edition P. J. Deitel, H.M. Deitel等 编著 苏小红等 翻译 配套的教辅资源 学习方法 实践,实践,再实践 卖油翁的故事,熟能生巧 学习方法 实践,实践,再实践 好问 → 善问 提出问题时,必须先给出对问题的思考 老师领进门,出徒在个人 学习中的循环程序 循序渐进式编程方法——如猜数游戏 学习方法 学会基本的排错方法 改错是个大悲大喜的过程,一天之内可以让人在悲伤的低谷和喜悦的巅峰之间跌宕起伏。 如果改过了成千上万个错误,…… 别人嚼过的馍不香 学习方法 学会基本的排错方法 改错很像侦破案件,有坏事发生了,而仅有的信息是它的确发生了。 必须从结果出发,逆向思考 教会?学会?练会? 只可“练”会,不可言传 学以致用 → 用以致学 改错的第一步是找出错误的根源,然后对症下药 寻找错误根源的过程,称为调试 学习方法 学会基本的排错方法 难点: 症状和根源可能相隔很远 有人问阿凡提:“我肚子疼,该用什么药?” 症状可能在另一个错误被纠正后暂时消失 症状并不是某个程序错误引发的,如误差累积 症状可能时隐时现,如“内存泄露” 很难产生完全一样的输入条件,难以恢复“错误的现场” 学习方法 学会基本的排错方法 编译错误不可怕 语法 重视error,同样重视warning 运行时错误比较隐蔽 逻辑、语义 如除0错,死循环,未初始化,下标越界,内存泄露,野指针… 学习方法 在程序设计语言的发展中,一个重要的努力方向就是想通过语言特征的设计帮助避免错误 如下标范围检查,受限制的指针甚至完全取消指针,内存回收,强类型检查 但没有任何语言能防止我们犯错误,每个为预防某些问题而设置的语言特征都会带给它自身额外的代价 作为程序员应知道所用语言中有潜在危险和引起错误倾向的那些语言特征 如goto语句,全局变量,无限制的指针,自动类型转换 学习方法 学会基本的排错方法 利用调试工具 单步运行,逐条语句跟踪 粗分细找 世界上最好的调试工具是那些有经验的人 定位大致的范围:归纳、推理、二分、排除 学习方法 学会基本的排错方法 粗分细找 采用注释的办法切掉一些代码 减少有关的代码区域,调试无误后再将它们打开注释,即采用分而治之的策略将问题局部化 插入打印语句 观看屏幕输出结果 缩减输入数据 设法找到能导致失败的最小输入 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 C语言编程题考试自动评分系统简介 注意事项 使用规范的编程方法,不要滥用技巧——聪明反被聪明误 参考新版学习指导中的习题解答 KISS (Keep It Simple Software) Correct is better than fast Simple is better than complex Clear is better than cute Safe is better than insecure Short is better than long Flat is better than deep C语言编程题考试自动评分系统简介 注意事项 要求程序输出结果(文本)与答案完全一致 包括提示信息的内容及格式和位置,以及格式字符(空格和换行符)的位置和数量 严格按照题目要求的输入输出格式编写scanf 和printf 语句 输出格式必须为"x = %d\n" 输入提示信息为"Input a,b,c:\n" 附加的改错题不要改变原来数据输入输出格式及提示信息 拷贝粘贴是最安全的方法 C语言编程题考试自动评分系统简介 注意事项 单项选择题 基本概念 看清题目要求 以下不能对二维数组a进行正确初始化的语句是 写出程序运行结果题 阅读程序能力 相当于英语中的阅读理解 不要忽略输出数据的格式(提示信息,换行等) printf(“%6.2f\n”,sum); C语言编程题考试自动评分系统简介 注意事项 程序填空题 阅读和编写程序的能力 相当于英语中的完形填空 程序改错题 调试错误程序的能力 笔试语法错误居多,机试运行时错误居多 每章后面的常见错误小结 学习指导中的

编程题自动评判中相关技术的研究与实现 第 3 章 程序静态评判技术研究 程序的静态评判是指从程序的结构理解、语义分析等方面入手,模拟人 工评判的思维过程,对程序代码内部结构语义进行分析理解,并通过对关键 信息的提取建立相应的评判机制。这种评判方式优点在于能够以学生怎样完 成程序的编写为评判思考方式,评判过程类似于人工评判,并对那些无法根 据输出结果评判的程序也能够给出相应的分数。这种评判方式相对于动态评 判方式而言适用范围更广。 3.1 程序代码相似度比较 程序代码相似度比较技术的实用价值在于能够很好的判定两个程序之间 的相似程度。而在学生的书写程序过程中,有很多程序是错误的或是不完整 的程序,这类程序是无法通过结果评判来给出相应分数的。结合人工评阅的 思考方式,针对这类程序的评分原则是看程序中有多少关键语句出现,换句 话说就是对学生程序中关键信息的检索,统计有多少与标准答案相匹配的信 息,从而给出相应的分数。这个过程可以归结为学生程序与标准答案程序进 行代码相似度匹配的一个过程。本文为此引入了代码相似度度量理论,将程 序评判过程看成是学生程序与模板程序进行相似度相匹配的过程,对学生程 序与模板程序进行最大程度上的代码相似度匹配。 3.1.1 代码相似度比较算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值