程序设计基础实验报告.docx
《程序设计基础实验报告.docx》由会员分享,可在线阅读,更多相关《程序设计基础实验报告.docx(40页珍藏版)》请在冰豆网上搜索。
程序设计基础实验报告
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月9日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验一图像框、滚动条、计时器
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.掌握标签、命令按钮的常用属性、事件和方法。
2.掌握运用图片框和图像框加载图像的方法。
3.掌握计时器和滚动条的编程方法。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
编写动画程序。
运行界面如图所示。
单击“开始”按钮,图像从左到右不断运动,“开始”按钮变为不可用,同时“停止”变为可用;用滚动条来控制运动的速度。
算法设计思想与算法实现步骤
1.界面设计
相关属性设置如下:
Command1:
Caption为“开始”。
Command2:
Caption为“停止”,Enabled为False。
HScroll1:
Max为1000,LargeChange为200,SmallChange为20。
Label1Label2:
Caption分别为“快”和“慢”。
Timer1:
Enabled为False。
Image:
Stretch为True,Picture中通过剪贴板粘贴一幅图象。
2.程序代码设计
3.运行/调试程序
4.保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
=True
=False
=True
EndSub
PrivateSubCommand2_Click()
=True
=False
=False
EndSub
PrivateSubHScroll1_Change()
=
EndSub
PrivateSubTimer1_Timer()
+1)
EndSub
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
试验中主要是滚动条和计时器的连动没有弄明白,其次是图片没有打开。
对思考题,我认为还是要把image的move属性学好,再结合计时器的使用,问题应该可以迎刃而解,不过这个过程中仍然少不了及格控件的连动。
实验总结心得体会
本实验中,我对滚动条的认识还不是很深,在以后的过程中要还好好运用滚动条,多加强对它的认识和了解。
通过本次上机实验,基本上熟悉了vb的编程环境,熟悉了及格基本控件的使用方法,对控件的一些连动有了一定的认识。
了解了一些基本控件的基本属性。
在今后的学习和实验过程中要加强对它们的应用和了解。
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月9日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验二单选按钮、复选按钮、组合框
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.掌握标签、文本框、命令按钮的常用属性、事件和方法。
2.掌握单选按钮和复选框、列表框和组合框的编程方法,尤其是单选按钮与框架的配合使用。
3.巩固对滚动条的编程方法。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
在文本框中输出一段文字,设置文字的字体、字型、字号和颜色,程序运行界面如图所示。
算法设计思想与算法实现步骤
1.界面设计
2.程序代码设计
3.运行/调试程序
4.保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCombo1_Click()
If=0Then=0
If=1Then=vbRed
If=2Then=vbYellow
If=3Then=vbGreen
EndSub
PrivateSubForm_Load()
("黑色")
("红色")
("黄色")
("绿色")
=0
=8
=20
="第一章vb概述"&vbCrLf&"第二章程序设计基础"&vbCrLf&"第三章窗体及常用控件"&vbCrLf&"第四章结构化程序设计"&vbCrLf&"第五章数组"&vbCrLf&"第六章过程"
EndSub
PrivateSubHScroll1_Change()
=
EndSub
PrivateSubOption1_Click()
=
EndSub
PrivateSubOption2_Click()
=
EndSub
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
我对字号使用滚动条来变换还不熟悉,还有我觉得字体的选择是不可以通过复选按钮来实现,因为一个字不可能同时出现两种字体,可能我们对各种字体的英文不是很熟悉,我们选择字体的时候是中文的很好选,但是绝对可以实现。
随着对后面知识的学习,这些一定可以实现。
实验总结心得体会
通过本次实验,对文本框有了一定的认识,对字体,字号,字的颜色的设置有了大大概的了解和认识,通过font,fontsize,fontcolor等属性都有了了解。
希望在以后的学习中,能学得更好
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月16日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验三程序的单和双分支结构
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.熟练掌握单分支程序设计的原理和实现方法。
2.熟练掌握双分支程序设计的原理和实现方法。
3.掌握输入框函数即InputBox()的使用方法。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
1、用输入框输入一个数,如果是大于100则在窗体上显示该数据。
2、判断数的奇偶性。
算法设计思想与算法实现步骤
1.界面设计
2.程序代码设计
3.运行/调试程序
4.保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
x=Val(InputBox("请任意输入一个整数:
"))
Ifx>100Thenx
EndSub
PrivateSubCommand2_Click()
=""
y=Val(Text1)
IfyMod2=0Then
=y&"是偶数"
Else
=y&"是奇数"
EndIf
EndSub
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
虽然实验的界面和实验要求的界面不同,但运行的结果是一样的。
Text和inputbox的返回都是字符型的,不过在前面加上VAL就可以变成数值型了。
实验总结心得体会
通过这次实验,我学会了inputbox函数的使用,inputbox这个函数,有时候使得界面很好看,操作起来也很方便,以后可以多用这个函数实现输入
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月16日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验四程序的多分支结构
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
熟练掌握多分支程序设计的原理和实现方法。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
编写程序,计算个人所得税金额。
说明:
根据个人所得税法规定,个人工资、薪金所得,以每月收入额减除费用1600元后的余额,为应纳所得额。
超额累进税率见下表。
级数
全月应纳税所得额税
税率
1
不超过500元的
5%
2
超过500元至2000元的部分
10%
3
超过2000元至5000元的部分
15%
4
超过5000元至20000元的部分
20%
5
超过20000元至40000元的部分
25%
6
超过40000元至60000元的部分
30%
7
超过60000元至80000元的部分
35%
8
超过80000元至100000元的部分
40%
9
超过100000元的部分
45%
算法设计思想与算法实现步骤
1.界面设计
2.程序代码设计
3.运行/调试程序
4.保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
s=Val(Text1)-1600
If(s-100000)>0Then
t=29625+(s-100000)*
ElseIf(s-80000)>0Then
t=21625+(s-80000)*
ElseIf(s-60000)>0Then
t=14625+(s-60000)*
ElseIf(s-40000)>0Then
t=8625+(s-40000)*
ElseIf(s-20000)>0Then
t=3625+(s-20000)*
ElseIf(s-5000)>0Then
t=625+(s-5000)*
ElseIf(s-2000)>0Then
t=175+(s-2000)*
ElseIf(s-500)>0Then
t=25+(s-500)*
ElseIfs>0Then
t=s*
Else
t=0
EndIf
Text2=t
EndSub
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
程序运行结果与要求的一样,对于思考题,if的单分支结构一共要写9个!
实验总结心得体会
通过本次试验,对程序的多分支结构有了很好的认识!
同时实验的同时可以把上次试验的内容好好的复习一下,实现if的行和块的转换!
行if和块if是两种不同的运行的方法,在实际运用中我们应根据情况选择更方便的方法。
我觉得这个程序还有改进的地方,就是可以加上一个“退出”按钮。
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月23日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验五程序的循环结构(累加、连乘)
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.巩固奇数和偶数的判断算法程序。
2.熟练掌握循环结构程序设计的原理和实现方法。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
1、编写程序,计算100以内偶数的累加和。
2、计算任意正整数n的阶乘。
算法设计思想与算法实现步骤
1、界面设计
2、程序代码设计
3、运行/调试程序
4、保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
s=0
Fori=2To100Step2
s=s+i
Nexti
Text1=s
EndSub
PrivateSubCommand2_Click()
t=1
n=Val(Text2)
Forj=1Ton
t=t*j
Nextj
Text3=t
EndSub
程序运行的结果和实验要求大概一致。
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
当少了s=0这一句时,运行的结果和实验中的一样,那是因为vb系统赋予s的初值就是0.当阶乘的输入整数是大于12时,系统还是可以运行,并且结果也是正确的。
如在text2中输入15时,text3中显示这个数。
还是可以运行的!
实验总结心得体会
通过本次实验的进行,对程序的循环结构有了一定的认识,并且对实验过程中的对累加和累乘程序代码有课初步的印象。
对累加和累乘中的一个s=0和t=1的赋值必须不可以忘记,要不然程序运行的结果会大出所料。
故对实验的态度又是一个考验!
还有在剪切的时候居然剪成了全屏,看来不能粗心大意。
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月23日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验六程序的循环结构(素数的判断)
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.巩固分支程序设计的原理和实现方法。
2.巩固双重循环结构程序设计的原理和实现方法。
3.巩固累加的算法。
4.熟练掌握素数的判断方法。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
1.界面设计
2.程序代码设计
3.运行/调试程序
4.保存工程
算法设计思想与算法实现步骤
第一步:
写出查找素数的代码
第二步:
确定素数的范围是在1000以内并且是素数中最大的20个可以用一个do...loop循环结构来控制素数的个数
第三步:
用累加的程序将这20个素数加起来
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
Dimm%,n%,i%,t%,k%,x%
Text1=""
Forx=1000To1Step-1
k=Int(Sqr(x))
Form=2Tok
IfxModm=0Then
ExitFor
EndIf
Nextm
Ifm>kThenx:
s=s+1
Ifs=20ThenExitFor
Nextx
Fori=0To-1
t=Val(i))
n=n+t
Nexti
Text1=n
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
程序运行的结果和试验要求一样。
对于找出1000以内的最小的20个素数只需要把for循环的1000to1step-1语句换成1to1000就可以找到1000内的20个最小素数。
实验总结心得体会
本次实验对素数的查找方法有了一个很好的认识和了解,加强了对for循环的运用。
同时对if条件语句的运用有了一个很好的复习!
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月30日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验七一维数组的操作
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.掌握一维数组的定义和引用方法。
2.掌握排序算法等相关算法。
3.巩固用列表框输出数据的方法
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
编写程序,随机产生10个[30,90]之间的素数,并按从小到大的顺序排序后,输出到列表框中
算法设计思想与算法实现步骤
1.界面设计
2.程序代码设计
3.运行/调试程序
4.保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
Randomize
DoWhiles<10
x=Int(Rnd*60)+30
k=Sqr(x)
Fort=2Tok
IfxModk=0ThenExitFor
Nextt
Ift>kThen
x
s=s+1
n=
Fori=0Ton-2
Forj=0Ton-2-i
IfVal(j))>Val(j+1))Then
m=(j)
(j)=(j+1)
(j+1)=m
EndIf
Nextj,i
EndIf
Loop
EndSub
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
程序运行的结果和实验要求的一样。
对于将数组显示在文本框里,我认为和在列表框里差不多。
只不过用“&”并运用vbcrlf就可实现文本框的多行显示,当然还可设置滚动条。
实验总结心得体会
通过本次实验,我初步掌握了一维数组的操作,也对前面的内容进行了很好的复习!
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年3月30日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验八二维数组的操作
项目代码
指导教师
滕艳琼李梅
项目学分
实验课考勤
实验工作表现
实验报告
1、实验目的
1.掌握二维数组的定义和引用方法。
2.掌握矩阵的输出和操作方法。
3.掌握主对角线和副对角线上元素的位置特征。
2、实验设备、仪器及材料
PC机;操作系统:
WINDOWS98/2000/2003/XP;编程工具:
VisualBasic
3、实验内容
上机实验的内容及要求
1、单击“开始”按钮,随机产生一个5×5矩阵(每个元素为两位数的正整数),并显示在图片框Picture1中;
2、选择“主对角线之和”单选按钮,则将矩阵主对角线(左上元至右下元)元素之和显示在文本框Text1中;
3、选择“副对角线之和”单选按钮。
则将矩阵副对角线(右上元至左下元)元素之和显示在文
本框Text1中。
算法设计思想与算法实现步骤
1.界面设计
2.程序代码设计
3.运行/调试程序
4.保存工程
程序核心代码,程序调试过程中出现的问题及解决方法
PrivateSubCommand1_Click()
Dima(5,5)AsInteger
s=0
t=0
Fori=1To5
Forj=1To5
Randomize
x=Int(Rnd*90)+10
a(i,j)=x
x;
Ifi=jThen
s=s+a(i,j)
EndIf
Ifi+j=6Then
t=t+a(i,j)
EndIf
Nextj
Nexti
If=TrueThen
Text1=s
EndIf
If=TrueThen
Text1=t
EndIf
EndSub
PrivateSubOption1_Click()
Text1=s
EndSub
PrivateSubOption2_Click()
Text1=t
EndSub
程序运行的结果
4、实验总结
程序运行结果分析及思考题讨论
程序运行的结果和实验的要求基本一样。
对于只求周边的几个数的在和,只需在最后的计算和的时候把代码改成如下就可以了
Fori=1to5
Forj=1to5
Ifi=1ori=5orj=1orj=5then
s=s+a(i,j)
nextj
nexti
实验总结心得体会
通过这次实验,我对以前的只是有了一个很好的复习,对循环的结构有了更进一步的认识,同时也掌握了新的知识,使我受益匪浅。
第1组
西华大学实验报告(理工类)
开课学院及实验室:
汽车学院机房(5D-215)实验时间:
2008年4月6日
学生姓名
吴沉
学号
38
实验成绩
课程名称
程序设计基础
课程代码
8426460
实验项目名称
实验九Sub子过程