运动的小球.docx
- 文档编号:3615417
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:15
- 大小:438.31KB
运动的小球.docx
《运动的小球.docx》由会员分享,可在线阅读,更多相关《运动的小球.docx(15页珍藏版)》请在冰豆网上搜索。
运动的小球
课
(20
题
《C程序设计》
程设计报告
14
目:
学
—2015学年第2学期)
运动得小球
院:
电气与电子工程学院
班
级:
电气1305班
学
号:
1304080192
姓
名:
梅文杰
指导教师:
罗涛华
间:
起2015、4、13止2015、4、1
时
一、课程设计基本信息
课程代码:
课程名称:
计算机基础课程设计
课程英文名称:
puter-basedCourseDesign
课程所属单位(院(系)、教研室):
数学与计算机学院计算机基础课程群
课程面向专业:
食品科学与工程学院、机械工程学院、电气与电子工程学院、土建学院、动物科学与营养工程学院、化学与环境工程学院、工商管理类、国际经济与贸易、旅游管理、金融学、行政管理、汉语言文学、英语、护理学、康复治疗专业、生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理
课程类型:
必修课
先修课程:
大学计算机基础通识选修课程、程序设计课程
学分:
1总学时:
1周
二、课程设计目标
掌握所学语言程序设计得方法,熟悉所学语言得开发环境及调试过程,熟悉所学语言
中得数据类型,数据结构、语句结构、运算方法,巩固与加深对理论课中知识得理解,提高学生对所学知识得综合运用能力•通过综合设计要求达到下列基本技能:
1。
培养查阅参考资料、手册得自学能力,通过独立思考深入钻研问题,学会自己分析、
解决问题。
2•通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计得方
法,能熟练调试程序•
3•系统设计编程简练,可用,功能全面,并有一定得容错能力。
用户界面良好,有较好
得输出功能。
在完成课题基本要求后,具有创新型设计,具有一定得实用价值•
4•根据个人得设计调试过程,撰写设计报告.
三、课程设计内容
熟练掌握所学语言得基本知识:
数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序得功能分解方法(即函数得使用)等•进一步掌握各种函数得应用,包括时间函数、绘图函数,以及文件得读写操作等。
四、课程设计要求
1.要求每个同学都要认真对待,积极参与•
2.课程设计结束时,提交完成得所有源程序、相关文件与可执行文件。
同时填写并完成《课程设计报告册》。
3.不符合要求得程序、设计报告、抄袭得设计报告或源程序代码、在设计中完全未参
与得将作不及格处理•
五、考核方式
指导老师负责验收程序得运行结果,并结合学生得工作态度、实际动手能力、创新精神
1.程序运行情况20分
2.程序功能得完善程度10分
3.程序结构得合理性10分
4.对问题得答辩情况20分
5.创新情况10分
6.学生得工作态度与独立工作能力10分
7.设计报告内容得规范性20分
备注:
1.按规定时间填写各阶段文档,学习态度加5分
2.设计报告内容雷同扣40分,无调试过程问题分析扣10分,无参考文献扣10分
3.源程序无注释则在程序结构合理性扣10分
六、课程设计主要参考资料
1.谭浩强著、C程序设计(第3版)、北京:
清华大学出版社,2005、7
2.刘光蓉、汪靖、陆登波主编、C程序设计实验与实践教程、北京:
清华大学出版
社,2011、2
3.游洪跃主编、C语言程序设计实验与课程设计教程、北京:
清华大学出版社,201
1、5
4.(美)PerterVanDerLinden著,徐波译、C专家编程(C编程语
言经典之作)、北京:
人民邮电出版社,2008、2
5.凯尼格著,高巍译、C陷阱与缺陷、北京:
人民邮电出版社,2008、2
6.MarkdeBerg等著,邓俊辉译,《计算几何—算法与应用(第3版)》,清华大学出版社,2009年8月
7.杨克昌编著,《计算机程序设计典型例题精解》,国防科技大学大学出版社,19
99年3月
七、课程设计计划安排
时间
任务
课程设计前一周
选择课程设计题目,分析课题得要求,确定设计方案,完成报告册中
“课程设计概述”
课程设计第1天
按功能模块编写详细设计说明,完成报告册中“总体设计”
课程设计第2天
编写程序、调试程序
课程设计第3天
编写程序、调试程序,完成报告册中“详细设计”
课程设计第4天
调试程序,完成报告册中“调试分析过程”
课程设计第5天
完成报告册中“总结”、“参考文献”、“课程设计评审表”部分内容,提交课程设计报告、源程序、面试或答辩
一、课程设计概述
课程设计问题描述
编程绘制小球得动态碰撞轨迹.在屏幕得冋一水平线上(设备坐标系)有两个小球,当第一个小球撞击另一个小球后,前者静止,后者将沿前一个小球得运动方向继续运动。
设
计要求
1运动过程就是连续得;
2.小球撞击到屏幕得边界后应该返回(沿发射方向);3.
任何时刻只有一个小球在动。
设计目得
1利用所学知识,开发小型应用系统以验证动量守恒定律。
开
发环境
?
操作系统:
Windows7
软件环境:
MicrosoftVisua1C++6、0
系统功能需求分
二、总体设计
(1)
由题目设计要求小球沿直线运动就需要做主函数来
显示小球,然后擦去小球,确定运动轨迹,光标移动,擦
去光标可分解为这几大步骤。
在小球运动上可设计一变量记录小球位置,然后定义速度变量控制位置变量。
根据位置变量来判断小球得位置就是否碰撞,再定义一个变量来控制小球得运动方向。
在大体上可以就此控制小球得运动。
在小球颜色与背景颜色上可以用voidfar
setbkcolor(intco1or)设置作图色.
对于小球得运动就是连续得定义延时变量显示内容
刷新间隔时间得设定来完成
二、总体设计
(2)
系统总体设计框架
结束
三、详细设计
(1)
一:
定义延时时间,运动区得宽度与高度.
一:
定义局部变量
(1)
位置(便于控制小球运动);
(2)
速度;
主
三:
主函数
要
(1)
接收键盘数据得变量;
功
(2)
设置背景颜色;
台匕
(3)
修改窗口名称;
冃匕
模
(4)
隐藏光标;
块
(5)
作图Esc退出;
得
(6)
结束程序;
算
四:
计算球轨迹
法
⑴
画球;
设
⑵
延时;
计
⑶
擦球;
⑷
触界反弹;
⑸
碰撞守恒;
⑹
计算下一周期;
三、详细设计(
1)
#
include〈stdio、h>
#
include〈windows、h>
#include
#
include
#
defineDELAY10
#defineWIDTH80
#
defineHEIGHT24
intX1=0,Y1=12,X2=
40,
Y2=12;
intVx1=1,Vy1=0,V
intt,i=1;
x2=1
Vy2=0;
V
oidBal1();
V
oidHideCursor();
主
V
oidGotoXy(intx,int
y);
i
ntmain(void)
要
{
charch='0';
system(”color2C')
;
功
system("tit1e运动得小球-
—动量守恒");
台匕
HideCursor();
冃匕
whi1e(ch!
=27)
模
{
Ball();
块
if(kbhit())ch=getch();
源
}
system(”cls");
程
ret
urn0;
}
序
voidBall()
{
GotoXy(X1,丫1);printf(”•”);
GotoXy(X2,Y2);
printf(”•");
Sleep(DELAY);
GotoXy(X1,Y1);
printf();
GotoXy(X2,Y2);
printf("");
If(0==X1&&Vx1〈0)
三、详细设计
(2)
主要功能模块得算法设计
五:
隐藏光标,头文件。
六:
光标移动,头文件
(1)定义句柄变量:
(2)定义结构变量;
(3)获得标准输出;
(4)移动光标;
三、详细设计
(2)
主要功能模块源程序
putchar('、007/);
}
if((WIDTH—2)==X2&&Vx2>0)
{
Vx2*=—1;
putchar('007');
}
if(X1==X2—2)
{
t=Vx1;
Vx1=Vx2;
Vx2=t;
i*=—1;
putchar(/007/);
switch(i)
{
case1:
X1+=2衣Vx1;break;
case—1:
X2+=2*Vx2;break;
}
}
v0idHideCursor()
{
CON⑥LE_CURSOR_INFOcurs0r_info={1,0};
SetConso1eCursorlnfo(GetStdHandle(STD_OJTPUT_HANDE),
&cursor_info);
}
v0idGotoXy(intx,inty)
{
HANDLEhout;
CCDRDcoord;
coord、X=x;
coord、Y=y;
hout=GetStdHandle(STD_OUTBT_HANDE);
SetConso1eCursorPosition(hout,coord);
}
四、调试分析过程
(1)
在程序运行后出来得图像出现底色不断闪烁,而且
小球得运动速度过快得现象。
而且在前几次运行时在第一个小球撞击后一个小球时,在后一个小球运动时会一直向右没有撞击右侧边缘,直到第二个小球不见。
在出现这些问题后,在调整背景颜色时选择system("color2C‘);运动速度选择(II定义全局变量,位置与速度)intXI=0,Y1=10,X2=40,Y
2=10;
intVx1=1,Vy1=0,Vx2=1,Vy2=
0;intt,i=1;
而且在程序之前设置运动区得高度与宽度#define
WIDTH80#defineHEIGHT50
调试过后得运行截图
四、调试分析过程
(2)
在调试各种数据后,运行得结果如上图基本上满足题
目得设计要求
五、总结
设计用到得知识占
J\\、
1、图形函数得使用;
2、图形函数库得使用方法;
3、系统函数功能得使用(小球颜色,背景颜色得设
置);
4、显示内容刷新时间间隔得设定;
收获与体会
在此次得C语言得课程设计中,我不仅学到了许多有庆这方面得专业知识,更重要得就是我学会了如何在拿到一个题目时进行简单得程序分析,并编译出一些相对简单得程序,当然了,对自己编译出得不对得程序,我也能进行些分析,并对其进行完善。
不足与努力方向
在自己刚刚知道题目得时候还就是对此不知道从何处找到突破口,只就是在网络上找到一些资料后才有些眉目,但还就是有些构成不就是很懂,这就就是我对C语言运用得不熟练之处。
在以后得学习之中要多多练习做到瞧到设计要求就能够有程序设计得思路,做到熟
能生巧。
六、参考文献
参
1、?
覃浩强著、C程序设计(第3版)、北京:
清华大学出版社,2005、7
2、?
刘光蓉、汪靖、陆登波主编、C程序设计实验与实践教程、北京:
清华大学出版社,2011、2
考
3、游洪跃主编、C语言程序设计实验与课程设计
书
教程、北京:
清华大学出版社,2011、5
籍
4、?
(美)PerterVanDerLinden著,徐
及
波译、C专家编程(C编程语言经典之作)、北京:
参
人民邮电出版社,200&2
考
5、凯尼格著,高巍译、C陷阱与缺陷、北
论
京:
人民邮电出版社,2008、2
文
6、?
MarkdeBerg等者,邓俊辉译,《计算几何
与
算法与应用(第3版)》,清华大学出版社,2009年8
网
月
址
7、杨克昌编者,《计算机程序设计典型例题精
解》,国防科技大学大学出版社,1999年3月
课程设计成绩评审表
1304080
班级
电气1305
姓名
梅文杰
学号
192
班
设计题目
运动得小球
编程绘制小球得动态碰撞轨迹。
在屏幕得同一水平线上(设备坐标系
)有两个
小球,
前者静止,
后者将沿前一个小球得运动方
当第个小球撞击另个小球后
向继续运动。
运动过程就是连续得;小球撞击到屏幕得边界后应该返回(沿发射方
作品
向);
任何时刻只有一个小球在动•通过此程序可以验证动量守恒定理
描述
指导
教师
评语
观测内容
分值
评
分(上限)
得分
A
B
C
D
E
程序运行情况
20
20
15
10
5
3
程序功能得完善程度
10
10
8
6
4
2
程序结构得合理性
10
10
8
6
4
2
对问题得答辩情况
20
20
15
10
5
3
创新情况
10
10
8
6
4
2
工作态度与独立工作能力
10
10
8
6
4
2
设计报告内容得规范性
20
20
15
10
5
3
指导教师评定成绩
指导教师(签名)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动 小球
![提示](https://static.bdocx.com/images/bang_tan.gif)