北京邮电大学电子工程学院计算机实习报告题目基本历年都一样.docx
- 文档编号:22816859
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:42
- 大小:442.36KB
北京邮电大学电子工程学院计算机实习报告题目基本历年都一样.docx
《北京邮电大学电子工程学院计算机实习报告题目基本历年都一样.docx》由会员分享,可在线阅读,更多相关《北京邮电大学电子工程学院计算机实习报告题目基本历年都一样.docx(42页珍藏版)》请在冰豆网上搜索。
北京邮电大学电子工程学院计算机实习报告题目基本历年都一样
暑期实习报告
1、由数字信号处理原理可知:
计算有限长数字序列线性卷积的公式为:
若
则
取
题目要求:
(1)输入N1,N2,输出y(n)值
(2)在图形方式下以x轴为n,y轴分别为x(n)、h(n)、y(n)画出其关系图
设计方案:
使用编程语言为:
MicrosoftVisualBasic
开发工具为:
MicrosoftVisualBasic6.0sp6中文企业版
在Form1中进程编辑,利用五个CommandButton,分别控制x(n)、h(n)、y(n)的序列图像输出、y(n)序列输出及清除功能,3个Picturebox用来显示x(n)、h(n)、y(n)的坐标图,Label用来表达所要操作的内容。
定义两个整型变量N1、N2,要想显示其中的一个图像时,先将所输入的两个值附给上述两个变量,然后利用Picture.Scale与Picture.Line来画坐标图,最后通过for….next语句实现循环画点,从而实现每个图像的显示。
当想进行清除时只要再清除的CommandButton下输入Picture.Cls、Label.Caption=""、Text.Text=""等语句即可。
流程图:
源代码:
DimN1%,N2%
PrivateSubCommand1_Click()
N1=Int(Text1.Text)
:
N2=Int(Text2.Text)
Picture1.Scale(-1,20)-(20,-1)'画x(n)坐标
Picture1.Line(0,0)-(19,0)
Picture1.Line(19,0)-(18.5,-0.5)
Picture1.Line(19,0)-(18.5,0.5)
Picture1.Line(0,0)-(0,19)
Picture1.Line(0,19)-(0.5,18.5)
Picture1.Line(0,19)-(-0.5,18.5)
Fori=0ToN1
xi=1
Picture1.PSet(i,1),vbBlack'画x(n)的图像
Nexti
Forn=0ToN1
Picture1.CurrentX=n:
Picture1.CurrentY=0.4:
Picture1.Printn
Nextn
EndSub
PrivateSubCommand2_Click()
N1=Int(Text1.Text)
:
N2=Int(Text2.Text)
Picture2.Scale(-1,20)-(20,-1)'画h(n)坐标
Picture2.Line(0,0)-(19,0)
Picture2.Line(19,0)-(18.5,-0.5)
Picture2.Line(19,0)-(18.5,0.5)
Picture2.Line(0,0)-(0,19)
Picture2.Line(0,19)-(0.5,18.5)
Picture2.Line(0,19)-(-0.5,18.5)
Forn=0ToN2
Picture2.PSet(n,n/2),vbBlack'画h(n)的图像
Nextn
Forn=0ToN2
Picture2.CurrentX=n:
Picture2.CurrentY=0.4:
Picture2.Printn
Nextn
ndSub
PrivateSubCommand3_Click()
N1=Int(Text1.Text)
:
N2=Int(Text2.Text)
Picture3.Scale(-3,44)-(44,-3)
Picture3.Line(0,0)-(44,0)
Picture3.Line(44,0)-(43.5,-0.5)
Picture3.Line(44,0)-(43.5,0.5)
Picture3.Line(0,0)-(0,44)
Picture3.Line(0,44)-(0.5,43.5)
Picture3.Line(0,44)-(-0.5,43.5)
Forn=0To(N1+N2)
y=0
Form=0Ton
Ifm<=N1Then
Xn=1
Else
Xn=0
EndIf
If(n-m)<=N2Then
Hn=0.5*(n-m)
Else
Hn=0
EndIf
y=y+Xn*Hn
Nextm
Picture3.PSet(n,y),vbBlack
Nextn
Forn=0ToN1+N2
Picture3.CurrentX=n:
Picture3.CurrentY=0.4:
Picture3.Printn
Nextn
EndSub
PrivateSubCommand4_Click()
N1=Int(Text1.Text)
:
N2=Int(Text2.Text)
Forn=0To(N1+N2)
y=0
Form=0Ton
Ifm<=N1Then
Xn=1
Else
Xn=0
EndIf
If(n-m)<=N2Then
Hn=0.5*(n-m)
Else
Hn=0
EndIf
y=y+Xn*Hn
Nextm
Label7.Caption=Label7.Caption+"y("+Format(n)+")="+Format(y)+""'输出y(n)的值
Label7.Font.Size=12
Nextn
EndSub
PrivateSubCommand5_Click()
Picture1.Cls
Picture2.Cls
Picture3.Cls
Label7.Caption=""
Text1.Text=""
Text2.Text=""
EndSub
程序运行主界面截图:
功能介绍:
当输入N1,N2的值后,点击X(n)序列图,坐标图中将显示X(n)的坐标图,点击H(n)序列图坐标图中将显示H(n)的坐标图,点击Y(n)序列图将坐标图中显示Y(n)的序列图并输出Y(n)的值。
清除可以清除掉当前输入的N1,N2的值,保存具有保存当然坐标图象的功能。
2、题目要求:
自制一个万年历,可显示年、月、日、时间,能正确表示闰年、闰月。
可以多次定时进行提示和多次事件提醒(声音提示并弹出对话框),能进行多次事件提醒、多次定时、并能有铃声提示
设计方案:
使用编程语言为:
MicrosoftVisualBasic
开发工具为:
MicrosoftVisualBasic6.0sp6中文企业版
当输入所要查询的日期所在的年和月是否是闰年和闰月时,应先对其进行计算并判断,然后分别显示年和月是否为闰的情况并同时显示输入日期是星期几。
当输入设置时间time1后,每当系统时间的增加1秒就和所设的时间比较一遍,直到相等时则开始执行所需任务,弹出对话框并进行声音提醒,当点击确认之后之后则整个提醒结束,并可以重新设置下个提醒任务。
流程图:
源代码:
PrivateSubnl1_Click()'设定闹铃1
CommonDialog1.Filter="*.wav"'打开铃声文件
CommonDialog1.ShowOpen'显示打开对话框
MMControl1.FileName=CommonDialog1.FileName'接收文件
EndSub
PrivateSubnl2_Click()
CommonDialog2.Filter="*.wav"
CommonDialog2.ShowOpen
MMControl2.FileName=CommonDialog2.FileName
EndSub
PrivateSubnl3_Click()
CommonDialog3.Filter="*.wav"
CommonDialog3.ShowOpen
MMControl3.FileName=CommonDialog3.FileName
EndSub
PrivateSubnl4_Click()
CommonDialog4.Filter="*.wav"
CommonDialog4.ShowOpen
MMControl4.FileName=CommonDialog4.FileName
EndSub
PrivateSubexit_Click()
x=MsgBox("真的要退出吗?
",4+32+0,"退出系统")
Ifx=6Then'点击“是”,退出
End
EndIf
EndSub
PrivateSubText2_Change()
IfTextds1.Text=Text2.TextThen'当设定的时间与当时时间一样时
MMControl1.Command="open"'闹铃打开并播放
MMControl1.Command="play"
a=MsgBox(Textdingshi1.Text,0,"事件")'弹出对话框显示事件提醒
MMControl1.Command="stop"'点击确定后闹铃关闭,同时设定的时间与事件一并清除
Textds1.Text="输入时间1"
Textdingshi1.Text=""
EndIf
IfTextds2.Text=Text2.TextThen
MMControl2.Command="open"
MMControl2.Command="play"
b=MsgBox(Textdingshi2.Text,0,"事件")
Textds2.Text="输入时间2"
Textdingshi2.Text=""
MMControl2.Command="stop"
EndIf
EndSub
PrivateSubText3_change()'捕捉文本框内容的改变,立刻显示是否闰年
IfText3.Text=""Then
Text4.Text="未输入年份"
Else
a=Val(Text3.Text)
IfaMod100=0Then'当a被100整除时判断是否也被400整除
IfaMod400=0Then
Text4.Text="是"'是则是闰年
Else
Text4.Text="否"'否则不是闰年
EndIf
Else
IfaMod4=0Then'当a不被100整除时判断是否被4整除
Text4.Text="是"'是则是闰年
Else
Text4.Text="否"'否则不是闰年
EndIf
EndIf
EndIf
EndSub
PrivateSubTimer1_Timer()
Text1.Text=Date$'输出日期
Text2.Text=Format(Time,"ttttt")'输出时间
EndSub
程序运行主界面截图:
功能介绍:
可显示年、月、日、时间及所输入的要查询的年份是否为闰年并且可以进行多次事件提醒且有铃声提示
3、题目要求:
作一个两辆赛车比赛的游戏,要求可以用A,S,D,W和小键盘的上下左右键控制小汽车的运行方向进行比赛。
设计方案:
所用软件为MacromediaFlash8
设置控制键,通过按键对小车进行控制,在控制的同时判断小车的位置使其行驶在跑道上,当而这种有一个到达终点时,比赛结束,并输出比赛结果。
开始
流程图:
方向键控制
小车停止
对两小车是否碰到跑道进行判断
Y
N
判断比赛是否完成
N
Y
显示比赛的输赢
结束
源代码:
defs:
car1.code="player1";
car2.code="player2";
acceleration=0.4;
speedDecay=0.9;
rotationStep=10;
maxSpeed=10;
backSpeed=2;
actions:
functionstep(who){
//checktoseeifthecarinquestioniscontrolledbytheplayerorbythecomputer
if(_root["car"+who].code=="player2"){
//wewillconstantlydecreasespeedbymultiplyingitwithanumberbelow1
if(this["speed"+who]>0.3){
this["speed"+who]*=_root.speedDecay;
}else{
this["speed"+who]=0;
}
//thecarwillreacttocertainkeys
//accelerate
if(Key.isDown(87)&&this["speed"+who]<_root.maxSpeed){
this["speed"+who]+=_root.acceleration;
}
//brake(reverse)
if(Key.isDown(83)){
this["speed"+who]-=_root.backSpeed;
}
//steerleft
if(Key.isDown(65)&&this["speed"+who]>0.3){
_root["car"+who]._rotation-=_root.rotationStep*(this["speed"+who]/_root.maxSpeed);
}
//steerright
if(Key.isDown(68)&&this["speed"+who]>0.3){
_root["car"+who]._rotation+=_root.rotationStep*(this["speed"+who]/_root.maxSpeed);
}
this["rotation"+who]=_root["car"+who]._rotation;
//wecalculatethetwocomponentsofspeed(XaxisandYaxis)
this["speedx"+who]=Math.sin(this["rotation"+who]*(Math.PI/180))*this["speed"+who];
this["speedy"+who]=Math.cos(this["rotation"+who]*(Math.PI/180))*this["speed"+who]*-1;
//applythecomponentsontheactualpositionofthecar
_root["car"+who]._x+=this["speedx"+who];
_root["car"+who]._y+=this["speedy"+who];
if(_root["car"+who].hitTest(end)){
gotoAndPlay(3);
};
if(_root["car"+who].hitTest(car1)){
this["speed"+who]=0;
};
for(i=1;i<=17;i++){
if(_root["car"+who].hitTest(_root["bark"+i])){
this["speed"+who]=0;
};
}
if(_root["car"+who]._x<50){
this["speed"+who]=0;};
if(_root["car"+who]._x>1150){
this["speed"+who]=0;};
if(_root["car"+who]._y<50){
this["speed"+who]=0;};
if(_root["car"+who]._y>700){
this["speed"+who]=0;};
}
if(_root["car"+who].code=="player1"){
//wewillconstantlydecreasespeedbymultiplyingitwithanumberbelow1
if(this["speed"+who]>0.3){
this["speed"+who]*=_root.speedDecay;
}else{
this["speed"+who]=0;
}
//thecarwillreacttocertainkeys
//accelerate
if(Key.isDown(Key.UP)&&this["speed"+who]<_root.maxSpeed){
this["speed"+who]+=_root.acceleration;
}
//brake(reverse)
if(Key.isDown(Key.DOWN)){
this["speed"+who]-=_root.backSpeed;
}
//steerleft
if(Key.isDown(Key.LEFT)&&this["speed"+who]>0.3){
_root["car"+who]._rotation-=_root.rotationStep*(this["speed"+who]/_root.maxSpeed);
}
//steerright
if(Key.isDown(Key.RIGHT)&&this["speed"+who]>0.3){
_root["car"+who]._rotation+=_root.rotationStep*(this["speed"+who]/_root.maxSpeed);
}
this["rotation"+who]=_root["car"+who]._rotation;
//wecalculatethetwocomponentsofspeed(XaxisandYaxis)
this["speedx"+who]=Math.sin(this["rotation"+who]*(Math.PI/180))*this["speed"+who];
this["speedy"+who]=Math.cos(this["rotation"+who]*(Math.PI/180))*this["speed"+who]*-1;
//applythecomponentsontheactualpositionofthecar
_root["car"+who]._x+=this["speedx"+who];
_root["car"+who]._y+=this["speedy"+who];
if(_root["car"+who].hitTest(end)){
gotoAndPlay(4);
};//shengli
for(i=1;i<=17;i++){
if(_root["car"+who].hitTest(_root["bark"+i])){
this["speed"+who]=0;
};
}
if(_root["car"+who].hitTest(car2)){
this["speed"+who]=0;
};
if(_root["car"+who]._x<50){
this["speed"+who]=0;};
if(_root["car"+who]._x>1150){
this["speed"+who]=0;};
if(_root["car"+who]._y<50){
this["speed"+who]=0;};
if(_root["car"+who]._y>700){
this["speed"+who]=0;};
}
}
程序运行主界面截图:
功能介绍:
可进行两辆赛车的比赛
4、题目要求:
设计一个成绩管理系统,可添加、删除、修改班级,科目、学生。
可按照科目和学号组合查询、可按照班级打印成绩单
(要求:
可添加、删除、修改班级,科目、学生,查询、打印)
设计方案:
使用编程语言为:
MicrosoftVisualBasic
开发工具为:
MicrosoftVisualBasic6.0sp6中文企业版
对输入的数据库文件进行存储,然后对其访问即可
开始
流程图:
建立数据库文件
保存
对选定的班级进行成绩打印
按科目和学号查找
对数据库文件进行修改操作
结束
源代码:
窗体代码:
frmMain
PrivateSubMDIForm_Load()
Me.Width=Screen.Width*0.75
Me.Height=Screen.Height*0.75
Me.Left=Screen.Width*0.125
Me.Top=Screen.Height*0.125
Me.Show
'总是将工作目录设到应用程序所在目录
ChDirApp.Path
'初始化文档窗体数组,并显示第一个子窗体
ReDimDoc
(1)
ReDimFState
(1)
Doc
(1).Tag=1
FState
(1).Dirty=False
Doc
(1).Caption="新成绩表:
1"
Doc
(1).Show
'读系统注册表并适当地设置最近使用的菜单文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京邮电 大学 电子 工程学院 计算机 实习 报告 题目 基本 历年 一样