程序设计课程设计

上传人:jian****019 文档编号:250658543 上传时间:2024-11-03 格式:PPT 页数:44 大小:2.53MB
返回 下载 相关 举报
程序设计课程设计_第1页
第1页 / 共44页
程序设计课程设计_第2页
第2页 / 共44页
程序设计课程设计_第3页
第3页 / 共44页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,程序设计课程设计,信息与计算专业,,信,0,9,A-12,指导教师:陈小光,201,1,年,6,7 月,内容概要,一、课程介绍,相关信息、上机安排、先修课程、课程目标、编程要求、分组说明、课程评价、课设报告书格式,二、题目介绍,Matlab,可视化,C/C+,数据库等,三、其它,好书推荐,一、课程介绍,相关信息,授课教师:陈小光,办公室:四教西204,课程主页,可下载课设题目要求、课设报告书模板等,上机安排(1),本课程设计为每位同学提供24学时的上机安排,以便能及时,收集资料,、,编写程序实现算法,、,测试程序,和,完成设计报告,。,非上机时间,,,学生可以在教室、图书馆、宿舍等场所完成资料查阅、系统设计、编程调试等工作。,上机安排(2),Important Dates,19周,周一:课程介绍及,题目讲解,20周,周五:组长中期汇报,21周,周五:分组总结汇报及提交成果,先修课程,课程目标,首先,在用,C/C+/VC/Matlab,等编程语言完成给定题目的程序设计过程中:,初步了解软件设计相关知识及步骤,进一步理解结构化和面向对象程序设计的思想,更全面地掌握这些编程语言的相关知识,了解较大型程序的调试方法等,其次,培养,自主学习,、,资料收集,和,编程实践,的能力,为后续专业课程打下基础;同时,培养,团队合作,的精神。,编程要求,程序设计请按以下过程进行:,(1)首先,,,进行系统,分析,,对问题进行模块划分或对象分析,进行总体设计,画出程序结构图及各种模块流程图(或对象类的结构图);,(2)然后,,,进行详细,设计,、,编程,实现,、,程序,调试,;,(3)最后,,,撰写,课程设计报告书。,分组说明,分组原则,分组,每组人数为,34 人,建议采用“,组长,-,组员,”,双向选择,方式,允许跨班,组合,组长负责,统筹安排本组所有事务,与老师交流沟通,组员分工,原则:,任务分摊、职责明确、团队合作,任务:,问题分析、方案设计、资料查找、代码编写、程序测试、文档撰写等,课程评价,需提交,程序源代码,、,可执行文件,、测试用例,(电子版),课程设计报告书,(电子版、打印版),电子版提交到多模式教学网,评价标准,基本考查点:,出勤情况、相关知识掌握程度、,程序编写情况、实验结果、,报告书撰写情况等,适当考虑题目的难易程度,加分,条件,:有创意,有创新,“,课设报告书,”基本格式,封面页,题目、小组成员,等,第1部分 问题描述,第2部分 分析与设计,对问题或任务的分析,需要用哪些技术,程序由几个模块组成,每个模块实现什么功能等,第3部分 程序实现,给出关键代码,要求有详细的注释,第4部分 结果与分析,给出具体的运行结果,,,并加以分析,第5部分 总结,完成情况,任务分工,,,心得体会等,第,6,部分,参考文献,第,7,部分,附录,参考文献 -程序代码等,1.请从多模式教学网上课程主页里下载“课设报告书模板”。,2.严格要求格式规范!,二、课设题目介绍,题目列表,P,1,.Matlab编程:数学,问题求解,P,2,.可视化编程:鼠标,、绘图与状态栏,P,3,.可视化编程:对话框,和标准控件,P,4,.,C/C+,编程:,矩阵运算,P,5,.,C/C+,编程:,大整数运算,P6.C/C+,编程:,文本统计,P7.数据库编程:班级信息管理系统,P8.数据库编程:毕设选题系统,P,9,.,趣味编程:圆周率的计算,P10.趣味编程:,验证码图片生成,P11.趣味编程:排序算法可视化,P12.趣味编程:,24点游戏,Matlab编程,P1.Matlab编程:数学问题求解,参考:,Matlab R2007 基础教程,刘慧颖 编著,完成“第5章 Matlab,的数学运算”的如下习题:,4.有如下数据:,利用本章介绍的几种插值方法对其进行插值,得到每隔 0.05 的结果。,可视化编程,说明:,VC/VB/Java均可,,若VC,以下IDE均可,Visual Studio 6.0/2005/2008/2010,P2.可视化编程:鼠标、绘图与状态栏,参考:,Visual C+面向对象编程教材(第2版),王育坚 编著。,在,一个,单文档,应用程序,里,完成“,第5章 文档与视图,”的如下几个习题:,5-35 编写一个应用程序,当在视图中单击鼠标时,在单击处输出鼠标的坐标。,5-36 设计一个应用程序,当双击鼠标后弹出一个信息框,显示鼠标双击的次数。,5-42 编写一个应用程序,实现在状态栏显示当前时间的功能。,5-43 编写一个应用程序,程序能在状态栏显示鼠标的坐标。,P3.可视化编程:对话框和标准控件,Visual C+面向对象编程教材(第2版),王育坚 编著。,在一个应用程序里,完成“,第6章 对话框和标准控件,”的如下几个习题:,6-41 编制一个使用组合框的对话框应用程序,在组合框中选择学生姓名后,可以浏览并编辑学生的数学、英语和语文成绩;在组合框中输入学生姓名后,如果组合框中不存在该学生,则添加该学生姓名,并进入成绩输入状态。,6-42 完善习题6-41中程序的功能,在程序退出后再重新运行时,对话框能显示以前输入的信息。,08级课设结果,C/C+编程,说明:,C或C+均可,,不限 IDE/编译器,P4.C/C+编程:矩阵运算,参考:高等代数,题目要求:,采用C的数组/Struct或C+的vector或valarray或自定义类来表示矩阵,实现矩阵的加减乘等常见运算,注:若实现矩阵求逆运算可加分,P5.C/C+编程:大整数运算,大整数有广泛应用,如密码学里的RSA,算法。,题目要求:,分析大整数运算的困难性,并给出大整数运算的编程实现方案;,编程实现大整数的有效表示方式、输入输出以及四则运算,;,编程实现基于大整数运算的阶乘计算。,Win32 Console,程序,即可,例如,100!=.,P6.C/C+编程:文本统计,文本统计有广泛应用,如搜索引擎里网页分析,密码学中密文破解等,题目要求:,写一个 Win32 Console 程序,实现对指定,英文文本文件,的文本统计分析,命令行调用方式(举例):,TextStat.exe input.txt result.txt,要求统计单字符、双字符、三字符的出现频率,并给出排序结果,统计结果写到文件,提示1:可用C里的fopen等或C+里的iofstream来进行文件读写,提示2:可用数组或C+里的,map,vector等容器来存储统计信息,提示3:可用C的qsort()或 C+的 std:quicksort()进行排序,数据库编程,说明:不限数据库(Access,MySQL,SQL Server 均可),,亦可做成网站网页形式,P7.数据库编程:班级信息管理系统,题目要求:,建立一个数据库系统,实现班级相关信息的存储和处理(添加、修改、删除、查询等),请创建各种 table,如:,人员基本信息(学号、姓名、电话、生日、籍贯等),选课信息(人员、课程、成绩等),奖励信息(人员、奖学金、荣誉称号等),活动信息(人员、活动内容等),说明:请考虑系统的合理高效、操作的简捷方便等因素,08级课设结果,P8.数据库编程:毕设选题系统,本系毕设选题流程:,1.老师给出毕设题目及相关要求,并汇总,2.所有毕业班同学通过抽签排序,3.按排序前后顺序依次选择个人“中意”的题目,4.师生确认,若有必要则可修改题目,题目要求:,请设计一个数据库系统,实现上述毕设选题流程。,各种 table,如:题目信息、学生信息、选题结果信息等,说明:也可把此问题当作数学建模问题来做,即深入分析,建立最优(或相对较优)模型,并进行仿真实验,给出模型评价和改进等。,趣味编程,说明:不限编程语言,尽情发挥,P9.趣味编程:圆周率的计算,计算圆周率尽可能准确的近似值,(曾经)是数学家们的奋斗目标 有了计算机就容易多了!,百度贴吧“圆周率的计算历程”:,题目要求:,设计并编程实现一种计算的方法,要求可精确到小数点后几百几千几万或更多位。,可采用几何、微积分、概率等方法。,可参考如下网页:,P10.趣味编程:验证码图片生成,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。,所谓,验证码,,就是将一串随机产生的数字或符号,生成,一幅图片,,图片里,加上一些干扰象素,(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。,百度百科上的词条:验证码、Captcha,CAPTCHA,:,Completely Automated Public Turing Test to Tell Computers and Humans Apart (,全自动区分计算机和人类的图灵测试,),目标:让计算机自动识别(很)难,让人来识别(很)容易。,08级课设结果,(Matlab编程),(VC编程),题目要求:,编程实现生成(简单的)验证码图片,图片的内容可以为随机整数,、,字符,或其它,干扰因素:随机噪声、,几何对象(线段/圆等)、随机颜色、图像,扭曲,/缩放,等,提示:可用VC里的绘图(CDC类)或 Matlab里的图像处理工具箱里的函数 来进行绘图操作,P11.趣味编程:排序算法可视化,维基百科上的“,排序算法,”词条:,在计算机科学与数学中,一个,排序算法,是一种能将一串资料依照特定排序方式的一种算法。最常用到的排序方式是数值顺序以及字典顺序。有效的排序算法在一些算法(例如搜寻算法与合并算法),中是重要的,如此这些算法才能得到正确解答。排序算法也用在处理文字资料以及产生人类可读的输出结果。,考虑这些排序算法:,选择排序、插入排序、冒泡排序、快速排序,题目要求:,实现,选择、插入、冒泡、快速四,种排序算法中的12种;(这部分可采用现成的代码),实现图形界面演示程序,可视化显示,整个,排序过程;,提示:每一次数据比较后,都显示当前整个数组,从而可视化地显示排序算法执行的整个过程,生成随机数据进行测试,;,根据测试结果,尝试分析比较不同算法的优劣。,。,注:可视化界面部分,可采用 VC 或 Matlab 或其它,P12.趣味编程:24点游戏,24点游戏:,给玩家4张牌,每张牌的数值在113之间,允许其中有数值相等的牌。采用加减乘除四则运算,允许中间运算存在小数,并且可以使用括号,但每张牌只能使用一次,尝试构造一个表达式,使其运算结果为24.,请你,根据上述游戏规则,构造一个玩24点游戏的算法,,要求如下。,输入:n1,n2,n3,n4。,输出:若能得到运算结果为24,则输出一个对应的运算表达式。,如:输入 11,8,3,5 输出(11-8)(3+5)=24,提示1:求解24点的基本思路:遍历运算符、数字和括号的所有排列组合形式(易知:给定4个数字,有4!4,3,5=7680种表达式),提示2:如果改为n张牌之和为m的游戏呢?,三、好书推荐,推荐:编程珠玑(第2版),计算机科学的不朽经典,融深邃思想、实战技术与趣味轶事于一炉的奇书,字字珠玑,意味隽永,20余年畅销不衰,内容简介:,本书是计算机科学方面的经典名著。,书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。,本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。,本书对各个层次的程序员都具有很高的阅读价值。,推荐:编程之美微软技术面试心得,(勤练算法功底强,求职入职心不慌)(09年度畅销榜NO.4)(08年度畅销榜NO.1),一本充满智慧与趣味的好书,包含大量有趣且有启发性的题目,通过阅读本书,您将充分享受到思考之乐、编程之美。,内容简介:,本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试,面试中出现过,或者
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!