Vb实验课程Word格式.docx
- 文档编号:4105712
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:26
- 大小:421.06KB
Vb实验课程Word格式.docx
《Vb实验课程Word格式.docx》由会员分享,可在线阅读,更多相关《Vb实验课程Word格式.docx(26页珍藏版)》请在冰点文库上搜索。
清除显示内容
PrivateSubcmdClearEntry_Click()
"
显示小数点
PrivateSubcmdDecimal_Click()
IfInStr(txtDisplay.Text,"
."
)Then
Beep
IfNewEntryThen
NewEntry=False
txtDisplay.Text=txtDisplay.Text&
"
计算上一操作符的运算结果
PrivateSubcmdEquals_Click()
Dimnew_valueAsDouble
IftxtDisplay.Text="
new_value=0
new_value=CDbl(txtDisplay.Text)
SelectCaseOperator
CaseopNone
StoredValue=new_value
CaseopAdd
StoredValue=StoredValue+new_value
CaseopSubtract
StoredValue=StoredValue-new_value
CaseopMultiply
StoredValue=StoredValue*new_value
CaseopDivide
StoredValue=StoredValue/new_value
EndSelect
NewEntry=True
txtDisplay.Text=Format$(StoredValue)
显示数字
PrivateSubcmdNumber_Click(IndexAsInteger)
txtDisplay.Text=Format$(Index)
Format$(Index)
PrivateSubcmdOperator_Click(IndexAsInteger)
cmdEquals_Click
Operator=Index
改变符号
PrivateSubcmdPlusMinus_Click()
ElseIfLeft$(txtDisplay.Text,1)="
txtDisplay.Text=Right$(txtDisplay.Text,2)
&
txtDisplay.Text
处理键盘按键
PrivateSubForm_KeyPress(KeyAsciiAsInteger)
txtDisplay_KeyPressKeyAscii
PrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
txtDisplay_KeyUpKeyCode,Shift
PrivateSubtxtDisplay_Change()
txtDisplay.SelStart=Len(txtDisplay.Text)
PrivateSubtxtDisplay_GotFocus()
txtDisplay_Change
PrivateSubtxtDisplay_KeyPress(KeyAsciiAsInteger)
DimchAsString
ch=Chr$(KeyAscii)
SelectCasech
Case"
cmdNumber_Click0
1"
cmdNumber_Click1
2"
cmdNumber_Click2
3"
cmdNumber_Click3
4"
cmdNumber_Click4
5"
cmdNumber_Click5
6"
cmdNumber_Click6
7"
cmdNumber_Click7
8"
cmdNumber_Click8
9"
cmdNumber_Click9
*"
"
x"
X"
cmdOperator_ClickopMultiply
+"
cmdOperator_ClickopAdd
CasevbCrLf,vbCr,"
="
cmdOperator_ClickopSubtract
cmdDecimal_Click
/"
cmdOperator_ClickopDivide
C"
c"
KeyAscii=0
PrivateSubtxtDisplay_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
SelectCaseKeyCode
CasevbKeyNumpad0
CasevbKeyNumpad1
CasevbKeyNumpad2
CasevbKeyNumpad3
CasevbKeyNumpad4
CasevbKeyNumpad5
CasevbKeyNumpad6
CasevbKeyNumpad7
CasevbKeyNumpad8
CasevbKeyNumpad9
CasevbKeyMultiply
CasevbKeyAdd
CasevbKeySeparator
CasevbKeySubtract
CasevbKeyDecimal
CasevbKeyDivide
CasevbKeyBack,vbKeyDelete
DeleteCharacter
KeyCode=0
EndSub
2.编写程序,界面如图4-2所示。
使得单击一次按钮可以产生一个[60,90]之间的随机数并显示在标签1上,再求出该数的正弦值,将结果写在标签2上。
【题型】
B级;
必做题。
【提示】
(1)使用Rnd函数产生随机数,注意,为了防止两次运行程序的随机数序列相同,调用Rnd之前先用Randomize语句进行初始化。
(2)产生某闭区间内的随机数的公式为:
(上限-下限+1)*rnd+下限。
(3)求正弦值函数为:
sin()。
【思考】怎样产生一个[60,90]之间的随机数?
怎样产生一个[60,90]之间的随机整数
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound-lowerbound+1)*Rnd+lowerbound)
upperbound是随机数范围的上限,而lowerbound则是随机数范围的下限。
Rnd函数
返回一个包含随机数值的Single。
语法
Rnd[(number)]
可选的number参数是Single或任何有效的数值表达式。
返回值
如果number的值是Rnd生成
小于0每次都使用number作为随机数种子得到的相同结果。
大于0序列中的下一个随机数。
等于0最近生成的数。
省略序列中的下一个随机数。
说明
Rnd函数返回小于1但大于或等于0的值。
number的值决定了Rnd生成随机数的方式。
对最初给定的种子都会生成相同的数列,因为每一次调用Rnd函数都用数列中的前一个数作为下一个数的种子。
在调用Rnd之前,先使用无参数的Randomize语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。
1、设计如下程序,在文本框中输入实发工资数,使用MsgBox输出各种票额钞票张数的付实验五数据的输入输出
(验证型2学时)
一、实验目的
1.掌握InputBox的使用方法。
2.熟悉MsgBox的使用方法。
3.掌握格式输出的使用方法。
二、实验内容
1、设计如下程序,在文本框中输入实发工资数,使用MsgBox输出各种票额钞票张数的付款方案,如图5-1、5-2所示。
B级;
【要求】
(1)使用MsgBox语句。
(2)使用格式输出。
2、编写华氏温度和摄氏温度相互转换的程序。
利用InputBox输入温度,如图5-3所示。
设C为摄氏温度,F为华氏温度,则有:
F=9/5×
C+32;
C=5/9×
(F-32)
实验六常用标准控件
(设计型4学时)
1.掌握常用控件的重要属性、方法和事件,熟悉它们的使用。
2.熟悉面向对象的可视化编程的框架。
1.如图6-1所示,用列表框、框架、单选按钮、复选框等控件实现对文本框中文字的字体、字号和粗斜体属性的设置。
2.如图6-2所示,用列表框实现两个列表之间的增加和删除操作。
当点击标题为“>
”的按钮时,就将候选列表里当前被选中的项移动到选定列表最后;
当点击标题为“<
”的按钮时则反之。
3.使用滚动条实现如图6-3所示的程序,要求在拉动任意滚动条时,立即就能体现色块的颜色变化,且在窗口标题栏中标示出当前的RGB颜色分量。
其中色块的颜色由3个滚动条的值做为参数用RGB()函数合成。
滚动条的Value值应该介于0~255之间。
4.编写程序,用计时器按秒计时,在窗体上画一个计时控件和一个标签,程序运行后,在标签内显示经过的秒数,并响铃。
【题型】
C级;
实验七选择和循环结构程序设计
(设计型2学时)
1.掌握单分支、双分支和多分支条件语句结构的使用方法。
2.掌握For循环、Do...While循环和Do...LoopUntil循环语句结构的使用方法。
1.有函数:
写一个程序,输入x值后,则输出相应y值。
选做题,1、2题中二选一。
用“If…ElseIf…EndIf”完成该题目。
注意区分1≤x<
10和1<
=xAndx<
10有什么不同。
2.某百货公司为了促销,采用购物打折扣的优惠办法:
每位顾客一次购物:
(1)在1000元以上者,按九五折优惠;
(2)在2000元以上者,按九折优惠;
(3)在3000元以上者,按八五折优惠;
(4)在5000元以上者,按八折优惠。
使用SelectCase语句来实现。
3.求累加和1+2+3+…+100
选做题,3、4、5题中三选一。
使用Do…Loop语句来实现。
4.使用双重循环,输出“九九乘法表”,如图6-1所示。
使用For语句来实现。
(1)注意行号和该行乘法单元的个数之间的关系。
(2)注意乘法单元的规律:
“4×
3=12”中4为行号,3为列号,且列号不大于行号。
(3)乘号“×
”可从汉字输入法软键盘菜单的“数学符号”中找到;
或从Word中菜单[插入[->
[符号[中找到,再从Word中剪切或复制到VB代码中。
(4)可以将窗体的AutoRedraw属性设为True,以防初始大小的窗体显示不下全部内容。
5.显示所有的水仙花数。
所谓水仙花数,就是指一个3位正整数,其各位数字的立方和等于该数本身。
例如,
,153即为水仙花数。
A级;
本题目解法有两种:
(1)对3位数的各位数组合进行穷举:
利用3重循环,将3个个位数组成一个3位数进行判断。
例如,3位数的各位数从高位到低位依次为a、b、c,则对应的3位数为a*100+b*10+c。
(2)对所有3位数进行穷举:
利用单循环对所有3位数进行穷举,循环内将一个3位数拆成3个个位数进行判断。
例如,对s=678进行拆解时:
个位数=sMod10;
十位数=(s\10)Mod10;
百位数=s\100。
当然,也可以将上述拆解过程写为一个循环(这时就是利用双重循环,内层循环即为拆解过程)。
验八数组及其应用
1.掌握数组的基本概念。
2.掌握数组的声明、引用。
3.掌握静态数组和动态数组的区别。
4.掌握控件数组。
4.掌握如何利用数组解决与数组相关的常用算法(特别是排序算法)。
1.有矩阵A,用二维数组求其转置矩阵B。
要求将两矩阵按照矩阵样式显示。
,
所谓转置,即:
b(i,j)=a(j,i)。
2.有3×
4矩阵A,求其中值最大和值最小的那两个元素的值,以及它们所在的行号和列号。
其中,
。
3.随机产生10个介于0到100之间的整数,用冒泡法对其进行排序。
选做题,3、4题中二选一。
4.打印出如图8-1a所示的杨辉三角形,要求先输入行数n。
进一步要求:
如果要显示为图8-1b所示的样式,该如何改动原来的程序呢?
(1)杨辉三角形是
展开后各项的系数,具有如下规律:
各行的第一个和最后一个数都是1;
从第三行起,除上面指出的第一个数和最后一个数之外,其它的数是上一行同列和前一列两个数之和,即:
,i为行,j为列。
(2)为了便于控制,将内容显示在图片框(PictureBox)中。
(3)要显示为图8.1(b)所示的样式,应该利用TAB函数对每行显示的起始位定位。
实验九过程
1.掌握过程的概念和使用方法。
2.掌握形参和实参的概念以及在调用过程时两者的对应关系。
3.掌握数值传递和地址传递,并注意区分这两种参数传递方式。
4.掌握变量、过程的作用域
5.掌握递归的概念及其使用方法。
6.熟悉程序设计中的常用算法。
1.编写一个判断素数的子过程或函数过程。
要求输入一个整数,就能够通过该子过程或函数过程求得该整数是否为素数。
选做题,1、2、3题中三选二。
2.编写一个在数组中查找最大值的过程。
要求给定或由机器产生一系列随机数构成一个一维数组,然后调用该过程,就可以找到并显示数组中的最大值。
3.编写一个函数过程,能够通过该函数过程求任意正整数的阶乘,并利用该函数过程分别求5的阶乘、8的阶乘、10的阶乘,将结果打印在窗体上。
考虑能保存较大的整数,函数的返回值类型应定为Long,但这样仍然存在稍大一些的整数阶乘结果超过Long所能表示的最大值。
实验十键盘与鼠标事件过程
1.熟悉键盘事件。
2.熟悉鼠标事件。
1.显示按键及其ASCII码,界面如图所示。
选做题,1、2题中选做一题。
(1)函数Chr(KeyAscii)将KeyAscii参数转变为字符。
(2)Text2中显示按键的ASCII码,Text3中显示按键对应的字符。
(3)若取消“回显”项,则KeyAscii=0,输入框将不显示刚刚按下的键。
2.编写一个可以测试功能键与控制键的程序,界面如图所示。
(1)Text2中显示按键接收的KeyCode参数,Label4的Visible属性设为False。
(2)图形方式的复选框Check1,Check2和Check3分别表示Shift、Ctrl和Alt键。
(3)使用And运算符将位屏蔽常数和Shift参数一起用来测试条件是否大于0:
ShiftDown=(ShiftAndvbShiftMask)>
说明Shift键被按下。
3.使用鼠标事件设计小画板程序,可以新建或打开已有的.bmp文件,使用画笔可以随意作图,选择“擦除”项则可以用手形图标擦除图板,还可以保存图形文件,如图所示。
A级;
选做题,3、4题中选做一题。
(1)图片文件的存盘命令为:
SavePictureMe.image,CommonDialog1.FileName。
(2)设置属性:
Me.AutoRedraw=True是为了使图片文件可以接受改动。
(3)当鼠标左键被按下时,CurrentX=X:
CurrentY=Y语句用来保存当时的坐标。
4.拖动图形到方格中,如图所示。
按“对不对”按钮后,错误的图形将被罩上浅蓝色,按“重新来”按钮,图形回到原位,方格标题将重新随机分布。
(1)在窗体的Load事件代码中,将图形的名称随机赋值给框的标题,而将图形拖放到方格中时,又将名称赋予图像的Tag属性,以便以后对照。
(2)图形被拖放到方格中,其实是将图形文件赋予图像控件Image1,而将原图形隐藏起来(Source.Visible=False)。
实验十一用户界面设计
1.掌握下拉菜单和弹出式菜单的设计和使用方法。
2.熟悉工具栏、状态栏的应用。
3.掌握各种标准对话框的使用。
4.掌握多窗口和多文档界面的概念及其区别,学会选用适当的架构来编写程序。
5.熟悉鼠标和键盘的事件。
1.建立窗口菜单,实现一个简易文本编辑器,如图11-1所示。
文本框中的文本属性由菜单“设置”中来指定,当单击“退出”时,结束程序。
在设计菜单时,试给“设置”、
“字体”、“字号”子菜单分别加上热键“C”、“N”和“S”。
“退出”菜单项加上热键“Q”。
2.将实验11-1的源程序拷贝一份,且对它做如下修改,使得运行界面如图11-2所示。
将“字体”和“字号”两项合为“字体”一项,增加菜单项“前景色”、“背景色”,并分别加上热键“F”和“B”。
增加“文件”菜单,含有“打开”和“保存”两个菜单项,并分别加上热键“O”和“S”。
再对若干菜单项加上快捷键。
当单击“字体”菜单项后,弹出“字体”对话框;
单击“前景色”、“背景色”菜单项后弹出“颜色”对话框;
单击“打开”菜单项,则弹出“打开”文件对话框,且只显示“*.txt”文件,选定文件后,点击对话框上的“打开”按钮后,则打开相应文件,将其内容读出,按前面设置的属性显示在文本框中;
单击“保存”菜单项后,弹出“保存”或“另存为”文件对话框,输入文件名后,点击对话框上的“保存”按钮,则将当前文本框中内容写入相应文件。
3.在实验11-2的基础上,在“设置”菜单后再增加“关于”菜单,热键为“A”,单击弹出一模式对话框(由用户自行设计),如图11-3所示,显示一些作者和版权等相关作者想要声明的信息。
进一步,还可以在文本框中单击鼠标右键,弹出一个只含有“关于”菜单项的弹出式菜单,点击“关于”有与上述相同的响应。
一般来讲,“关于”对话框是模式对话框。
要将对话框以模式方式显示,应使用语句:
对话框名.Show
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vb 实验 课程