1 / 19

高等程序设计训练

高等程序设计训练. 谷长龙 2014 夏季 QQ:1905212699. 内容. 时间安排 设计选题 提交文档要求 验收要求 成绩评定 程序风格 设计流程 工程管理 具体实例. 时间安排( 8.25—9.19 四周). 第一、二周:理论课 + 自由上机 第三周:集中上机 第四周:验收. 设计选题. 日历问题  生理周期 约瑟夫问题 恺撒 Caesar 密码 身份证校验 学生成绩管理 学生成绩的文件管理 校园卡消费记录 ……. 提交文档要求( 1 ). 电子档:

linus
Download Presentation

高等程序设计训练

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 高等程序设计训练 谷长龙 2014夏季 QQ:1905212699

  2. 内容 • 时间安排 • 设计选题 • 提交文档要求 • 验收要求 • 成绩评定 • 程序风格 • 设计流程 • 工程管理 • 具体实例

  3. 时间安排(8.25—9.19四周) • 第一、二周:理论课+自由上机 • 第三周:集中上机 • 第四周:验收

  4. 设计选题 • 日历问题  • 生理周期 • 约瑟夫问题 • 恺撒Caesar密码 • 身份证校验 • 学生成绩管理 • 学生成绩的文件管理 • 校园卡消费记录 • ……

  5. 提交文档要求(1) • 电子档: • 每人建立自己的文件夹,名称为学号(姓名)例如:20130108(刀郎)。 • 文件夹建立3个子文件夹,名称为上页中的17个选题中验收时选中的三个 • 每个子文件下放以下内容:程序设计报告word文档,程序源代码(可运行) • 然后统一交给班长,班长将全班同学的资料放入文件夹,名称为:程序设计训练2014电自1301班(指导教师-谷长龙),然后刻盘交给我,盘上贴标签,写上“程序设计训练2014电自1301班指导教师-谷长龙)”。

  6. 提交文档要求(2) • 程序设计报告要求:每个题目一个设计报告 • 1. 封面:程序设计名称、班级、学号、学生姓名和程序设计起止日期 • 2. 程序设计目的和要求 • 3. 程序设计任务内容 • 4. 详细设计说明 • 5.软件使用说明(6~8题) • 6. 程序设计心得与体会 • 7. 附录1:参考文献 • 8. 附录2:程序清单(带有较详细的注释)

  7. 验收要求 • 前5道题任抽一道,后6~8道任抽一道,9~17道任抽一道 • 测试时,断开网络,断开优盘口,不准看手机,不准看资料,抽签其中一道题,编写出来。 • 验收两天后提交所选题目对应的程序设计报告纸质文档,由班长收齐,按学生顺序整理后交给我

  8. 成绩评定 • 1. 平时上机表现:10% • 2.程序运行:60% • 3.验收提问:20% • 4.设计报告:10%

  9. 程序风格(规范,清晰,注释) • 1、缩排(tab) • 2、空格与() • 3、空行 • 4、命名、大小写 • 5、{ } • 6、注释/* */

  10. 设计流程 • 问题定义 • 可行性研究 3.需求分析 • 总体设计 • 详细设计 • 编码和单元测试 • 综合测试 • 软件维护

  11. 工程管理 • 演示

  12. 具体实例__日历问题 在我们现在使用的日历中, 闰年被定义为能被4整除的年份, 但是能被100整除而不能被400整除的年是例外,它们不是闰年。 例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。

  13. 具体实例__生理周期 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个生理周期中有一天是高峰,在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个生理周期长度不同,所以通常三个生理指标的高峰不会落在同一天。对于每个人,我们想知道:何时三个生理指标高峰落在同一天? 对于体力、感情和智力,我们会给出从当前年份的第一天开始,到三个指标分别出现高峰的天数p, e, i(不一定是第一次高峰出现的时间!)。你的任务是:给定一个从当年第一天开始数的天数d,输出从给定时间d开始(不包括给定时间)下一次三个高峰落在同一天的时间(距给定时间的天数)。

  14. 具体实例__约瑟夫问题 在约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

  15. 具体实例__恺撒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

  16. 具体实例__身份证校验 我国国标〖GB 11643-1999〗中规定:公民身份号码是18位特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

  17. 只考虑2个 学期3门课程 学号 intxh; 姓名 char xm[10]; 性别 char sex; 出生年月 date csny;// 成绩 score[2][3];//2学期3门课 学号xh编码规则

  18. 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

  19. 一个完整的系统演示

More Related