190 likes | 319 Views
高等程序设计训练. 谷长龙 2014 夏季 QQ:1905212699. 内容. 时间安排 设计选题 提交文档要求 验收要求 成绩评定 程序风格 设计流程 工程管理 具体实例. 时间安排( 8.25—9.19 四周). 第一、二周:理论课 + 自由上机 第三周:集中上机 第四周:验收. 设计选题. 日历问题 生理周期 约瑟夫问题 恺撒 Caesar 密码 身份证校验 学生成绩管理 学生成绩的文件管理 校园卡消费记录 ……. 提交文档要求( 1 ). 电子档:
E N D
高等程序设计训练 谷长龙 2014夏季 QQ:1905212699
内容 • 时间安排 • 设计选题 • 提交文档要求 • 验收要求 • 成绩评定 • 程序风格 • 设计流程 • 工程管理 • 具体实例
时间安排(8.25—9.19四周) • 第一、二周:理论课+自由上机 • 第三周:集中上机 • 第四周:验收
设计选题 • 日历问题 • 生理周期 • 约瑟夫问题 • 恺撒Caesar密码 • 身份证校验 • 学生成绩管理 • 学生成绩的文件管理 • 校园卡消费记录 • ……
提交文档要求(1) • 电子档: • 每人建立自己的文件夹,名称为学号(姓名)例如:20130108(刀郎)。 • 文件夹建立3个子文件夹,名称为上页中的17个选题中验收时选中的三个 • 每个子文件下放以下内容:程序设计报告word文档,程序源代码(可运行) • 然后统一交给班长,班长将全班同学的资料放入文件夹,名称为:程序设计训练2014电自1301班(指导教师-谷长龙),然后刻盘交给我,盘上贴标签,写上“程序设计训练2014电自1301班指导教师-谷长龙)”。
提交文档要求(2) • 程序设计报告要求:每个题目一个设计报告 • 1. 封面:程序设计名称、班级、学号、学生姓名和程序设计起止日期 • 2. 程序设计目的和要求 • 3. 程序设计任务内容 • 4. 详细设计说明 • 5.软件使用说明(6~8题) • 6. 程序设计心得与体会 • 7. 附录1:参考文献 • 8. 附录2:程序清单(带有较详细的注释)
验收要求 • 前5道题任抽一道,后6~8道任抽一道,9~17道任抽一道 • 测试时,断开网络,断开优盘口,不准看手机,不准看资料,抽签其中一道题,编写出来。 • 验收两天后提交所选题目对应的程序设计报告纸质文档,由班长收齐,按学生顺序整理后交给我
成绩评定 • 1. 平时上机表现:10% • 2.程序运行:60% • 3.验收提问:20% • 4.设计报告:10%
程序风格(规范,清晰,注释) • 1、缩排(tab) • 2、空格与() • 3、空行 • 4、命名、大小写 • 5、{ } • 6、注释/* */
设计流程 • 问题定义 • 可行性研究 3.需求分析 • 总体设计 • 详细设计 • 编码和单元测试 • 综合测试 • 软件维护
工程管理 • 演示
具体实例__日历问题 在我们现在使用的日历中, 闰年被定义为能被4整除的年份, 但是能被100整除而不能被400整除的年是例外,它们不是闰年。 例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。
具体实例__生理周期 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个生理周期中有一天是高峰,在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个生理周期长度不同,所以通常三个生理指标的高峰不会落在同一天。对于每个人,我们想知道:何时三个生理指标高峰落在同一天? 对于体力、感情和智力,我们会给出从当前年份的第一天开始,到三个指标分别出现高峰的天数p, e, i(不一定是第一次高峰出现的时间!)。你的任务是:给定一个从当年第一天开始数的天数d,输出从给定时间d开始(不包括给定时间)下一次三个高峰落在同一天的时间(距给定时间的天数)。
具体实例__约瑟夫问题 在约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。
具体实例__恺撒Caesar密码 Julius Caesar 生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个大写字母,分别用首尾相连的大写字母循环表中该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F,字母V都分别替换成字母A…),其他字符不 变,并且假设消息原文的所有字母都是大写的。 密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
具体实例__身份证校验 我国国标〖GB 11643-1999〗中规定:公民身份号码是18位特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
只考虑2个 学期3门课程 学号 intxh; 姓名 char xm[10]; 性别 char sex; 出生年月 date csny;// 成绩 score[2][3];//2学期3门课 学号xh编码规则
struct card{ intxgh;//学号或工号(学号---1xxx或工号----2xxx;共四位) char xy[40];//学院 char xm[20];//姓名 unsigned intaddbh;//(消费)地点编号(1,2,3,4) structd_tdt;//日期时间结构体 float xfje;//本次消费金额 intzhzj; //账户资金(余额)}; 注册→充值→消费录入 struct cart xf[1000];文件:消费.dat