VB小练习.docx
- 文档编号:8626451
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:189.74KB
VB小练习.docx
《VB小练习.docx》由会员分享,可在线阅读,更多相关《VB小练习.docx(12页珍藏版)》请在冰豆网上搜索。
VB小练习
1.在名称为Form1的窗体上,画一个名称为Label1的标签,其标题为“计算机等级考试”,字体为宋体,字号为12,且能根据标题内容自动调整标签的大小。
再画2个名称分别为Command1、Command2,标题分别为“缩小”和“还原”的命令按钮。
要求:
编写适当的事件过程,使得单击“缩小”按钮,Label1中所显示的标题内容自动减小2个字号;单击“还原”按钮,Label1中所显示的标题内容的大小自动恢复到12号。
PrivateSubCommand1_Click()
Label1.FontSize=Label1.FontSize-2
EndSub
PrivateSubCommand2_Click()
Label1.FontSize=12
EndSub
2.在名称为Form1的窗体上画1个名称为Text1,内容为“计算机”的文本框,且显示为小四号字,再画3个命令按钮,名称分别为“Command1”、“Command2”、“Command3”,标题分别是“居左”、“居中”、“居右”,使得单击“居左”按钮时,文本框的内容靠左对齐;单击“居中”按钮时,文本框的内容居中对齐;单击“居右”按钮时,文本框的内容靠右对齐。
运行效果如图所示。
PrivateSubCommand1_Click()
Text1.Alignment=0
EndSub
PrivateSubCommand2_Click()
Text1.Alignment=2
EndSub
PrivateSubCommand3_Click()
Text1.Alignment=1
EndSub
3.窗体上有一个单选按钮数组,请利用属性窗口,为单选按钮依次添加标题为“北京”、“上海”、“广州”;再添加一个标题为“显示”的命令按钮,如图2.18.3所示。
程序的功能是在运行时,如果选中一个单选按钮后,单击“显示”按钮,则根据单选按钮的选中情况,在窗体上显示“我的出生地是北京”、“我的出生地是上海”或“我的出生地是广州”。
创建option数组
PrivateSubCommand1_Click()
Fori=0To2
IfOption1(i)ThenPrint"我的出生地是"&Option1(i).Caption
Nexti
EndSub
4.在名称为Form1的窗体上画一个标签名称为L1,标题为“业余爱好”,再画一个名称为Ch1
的复选框数组,含3个复选框,它们的Index属性分别为0、1、2,标题依次为“体育”、“音乐”、“美术”,请设置复选框的属性,使其初始状态如下所示:
PrivateSubForm_Load()
Ch1(0).Value=1
Ch1
(1).Value=False
Ch1
(1).Enabled=False
EndSub5.在名称为Form1的窗体上画一个名称为HS的水平滚动条,最大值为100,最小值为1。
再画一个名称为List1的列表框,在属性窗口中输入列表项的值,分别是1000、1500、2000,如图2.1.2所示。
请编写适当的程序,使得运行程序时,当选择列表框中的某一项,将水平滚动条的长度改变为所选中的值。
PrivateSubForm_Load()
List1.Clear
List1.AddItem1000
List1.AddItem1500
List1.AddItem2000
EndSub
PrivateSubList1_Click()
IfList1.ListIndex>-1ThenHS.Width=Val(List1.Text)
EndSub
6.在名称为Form1的窗体上画一个名称为CD1的通用对话框,通过属性窗口设置CD1的初始路径为C:
\,默认的文件名为None,标题为“保存等级考试”, 如图2.5.1所示。
解题思路
启动VisualBasic系统,创建一个Form1窗体。
在VB“工程”菜单栏中选择“部件”,选择microsoftcommondialogcontrol6.0
在该窗体上画一个通用对话框控件,通过其属性窗口将名称设为CD1,DialogTitle属性设为“保存等级考试”,FileName属性设为None,InitDir属性设为c:
\。
在PrivateSubForm_Load()事件过程中加入语句:
PrivateSubForm_Load()
CD1.ShowSave
EndSub
7.在名称为Form1,标题为“菜单”的窗体上,设计满足如下要求的菜单。
1.产生20个0~1000的随机整数,然后统计出这20个整数中大于500的所有整数之和。
程序运行后,单击命令按钮,即可求出这些整数的和,并在窗体上显示出来。
OptionBase1
PrivateSubCommand1_Click()
Dima(20)AsInteger,sumAsInteger
Randomize
Fori=1To20
a(i)=Int(Rnd*1001)
Printa(i);
Ifa(i)>500Thensum=sum+a(i)
IfiMod5=0ThenPrint
Nexti
Print"大于500的所有整数为:
";sum
EndSub
2.编写程序,单击命令按钮,即可计算出0至1000范围内不能被7整除的整数的个数,并在文本框中显示出来。
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=0To1000
IfiMod7<>0Thenn=n+1
Nexti
Text1.Text=Str(n)
EndSub
3.编写程序随机产生30个0至1000的整数,如果不采用数组,请找出其中的最小值。
界面如图所示。
PrivateSubCommand1_Click()
DimminAsInteger,iAsInteger,nAsInteger
Randomize
min=1000
Fori=1To30
n=Int(Rnd*1001)
Printn;
IfiMod5=0ThenPrint
Ifn Nexti Print"最小值为: ";min EndSub 4.编写程序,单击“输入整数”按钮,利用InputBox函数输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。 图1是输入53后的结果,图2输入100的结果。 PrivateSubCommand1_Click() Dimn%,i%,j% n=InputBox("请输入一个整数") Fori=1Ton-1 IfnModi=0Then Printi j=j+1 EndIf Nexti Print"因子数="&j EndSub 5.程序功能是在文本框中输入一个整数n,单击命令按钮,则找出的数字按以下规律排列: 每个数是前面2个数之和,最后1个数是满足上述规律的最大的小于n的数,第一项和第二项的值为1。 如输入10,则显示的数字有: 1、1、2、3、5、8。 PrivateSubCommand1_Click() n=Val(Text1.Text) i=1 j=1 Printi Printj DoWhilei+j k=i+j i=j j=k Printk Loop EndSub6.最大公约数和最小公倍数。 输入两个整数,求出两者的最大公约数和最小公倍数。 PrivateSubForm_Click() n1=InputBox("请输入一个正整数n") m1=InputBox("请输入一个正整数m") Ifm1>n1Then m=m1: n=n1 Else m=n1: n=m1 EndIf r=mModn DoWhiler<>0 m=n: n=r: r=mModn Loop Print"两数的最大公约数为: ";n Print"两数的最小公倍数为: ";m1*n1/n EndSub 7.输入一个正整数,判断其是否为素数(只能被1和自身整除的正整数)。 PrivateSubCommand1_Click() n=Val(Text1.Text) Fori=2Ton-1 IfnModi<>0Then Label1.Caption=n&"是素数" Else Label1.Caption=n&"不是素数" EndIf Nexti EndSub1.请设计窗体界面,实现排序。 单击“产生”按钮时,在Text1中显示10个10~50之间的随机数;单击“排序”后,在Text2中显示排序之后的结果。 要求: 定义一个sub子过程,用于实现对1维数组的排序功能。 Dima(10)AsInteger Subpx(b%()) n=UBound(b) Fori=nTo2Step-1 Forj=1Ton-1 Ifb(j)>b(j+1)Then t=b(j) b(j)=b(j+1) b(j+1)=t EndIf Nextj Nexti EndSub PrivateSubCommand1_Click() Text1.Text="" Randomize Fori=1To10 a(i)=Int(Rnd*41+10) Text1.Text=Text1.Text&a(i)&"" Nexti EndSub PrivateSubCommand2_Click() Text2.Text="" Callpx(a%()) Fori=1To10 Text2.Text=Text2.Text&a(i)&"" Nexti EndSub2.请设计窗体界面,实现产生30个0~1000的整数,放入一个数组,然后输出其中的最小值。 要求: 定义一个函数过程Fmin,用于实现对一维数组最小值的查找。 FunctionFmin(aAsInteger,bAsInteger)AsInteger Ifa Fmin=a Else Fmin=b EndIf EndFunction PrivateSubCommand1_Click() DimxAsInteger,yAsInteger Randomize x=1000 Fori=1To30 y=Int(Rnd*1001) x=Fmin(x,y) Nexti Printx EndSub3.请在窗体上添加一个列表框,2个按钮和一个标签,实现: 单击“产生数据”: 在列表框中添加20个3位的随机整数。 单击“统计个数”: 在标签中显示其中水仙花的个数(一个数的值等于该数的各位数字的立方和时,此数被称为水仙花数,如153)。 要求: 定义一个过程judge,用于判断一个整数是否为水仙花数。 Dima(20)AsInteger Subjudge(b%(),h%) n=UBound(b) Fori=1Ton o=b(i)\100 p=(b(i)-100*o)\10 q=b(i)-100*o-10*p Ifo^3+p^3+q^3=b(i)Then h=h+1 EndIf Nexti EndSub PrivateSubCommand1_Click() List1.Clear Randomize Fori=1To20 a(i)=Int(Rnd*900+100) List1.AddItem(a(i)) Nexti EndSub PrivateSubCommand2_Click() DimxAsInteger Calljudge(a(),x) Label1.Caption="水仙花的个数是"&x EndSub 4.假定在当前目录下有一个名为file1.txt文本文件,其中有若干行文本,请编写程序将文件中的内容按行显示在一个多行文本框中。 PrivateSubCommand1_Click() Text1.Text="" Open"D: \file1.txt"ForInputAs#1 DoWhileNotEOF (1) LineInput#1,inputdata Text1.Text=Text1.Text+inputdata+vbCrLf Loop Close#1 EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)