ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:47.79KB ,
资源ID:11687194      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11687194.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Visual Basic程序设计基础知识要点.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Visual Basic程序设计基础知识要点.docx

1、Visual Basic程序设计基础知识要点Visual Basic程序设计基础知识要点(程序设计篇)全国计算机等级考试中常用的程序编程部分:九大问题具体例子分析:一、求最大数、最小数、求和以及求平均数例题:随机产生10个两位整数,并存入数据a中,然后分别求10个元素中的最大数、最小数、求10个元素之和以及它们的平均数。 Private Sub Command1_Click() Dim a(10) As Integer, i As Integer, Max As Integer, Min As Integer Dim Sum as Integer, Avg As SingleSum=0 For

2、 i= 1 To 10a(i)=Int(Rnd*90)+10 产生1099之间的随机整数 Next i Max=a(1):Min=a(1) 假设最大数和最小数 For i= 1 To 10 If Maxa(i) Then 求最小数 Min=a(i) End ifSum=Sum+a(i) 求和 Next iAvg=Sum/10 求平均数 Print “最大数:”;Max;“最小数:”;Min;“和:”;Sum;“平均数:”;Avg End Sub二、求阶乘例题:求10!. Private Sub Command1_Click() Dim Sum As Long, i As Integer Sum

3、=1For i= 1 To 10 Sum=Sum*i Next i Print “10!=”;Sum End Sub三、求最大公约数例题:求M和N两个数的最大公约数。 Private Sub Command1_Click() Dim M As Integer, N As Integer, R As Integer M=36:N=24 Do R=M Mod N M=N N=R Loop While R0 或 Loop Until R=0 Print M和N的最大公约数为:;M End Sub四、求素数例题:求100200之间的所有素数,并按每行5个元素格式输入所有素数。 Private Sub

4、Command1_Click() Dim n As Integer ,i As Integer j As Integer For n = 100 To 200 For i = 2 To n-1 n-1可以是n/2,也可以是Sqr(n)形式 If n Mod i =0 Then Exit ForNext iIf in-1 Then j=j+1 统计素数个数 Print n; If j Mod 5 =0 Then Print 输出5个数换行End If Next n End Sub判断素数的函数过程:Function Prime (x As Integer)As Boolean Dim I As

5、Integer For I = 2 To Sqr(x) If x Mod I= 0 Then Prime=False End If Next I Prime=TrueEnd Function五、求水仙花数(拆数法)例题:求100999之间的所有水仙花数,并将所有水仙花数在文本框中显示。所谓水仙花数:即153=13+53+33条件成立。方法1:(数值型:使用运算符Mod 和 ) Private Sub Command1_Click() Dim i As Integer ,a As Integer ,b As Integer ,c As Integer For i = 100 To 999a=i1

6、00 取百位数 b=i10 Mod 10 取十位数c=i Mod 10 取个位数If i=a3+b3+c3 Then Text1.Text=Text1.Text & i & Space(2) End If Next i End Sub方法2:(字符型:使用函数Mid、Val和CStr) Private Sub Command1_Click() Dim i As Integer ,a As Integer ,b As Integer ,c As Integer For i = 100 To 999a= Val(Mid(CStr(i),1,1) 取百位数b= Val(Mid(CStr(i),2,1

7、) 取十位数c= Val(Mid(CStr(i),3,1) 取个位数If i=a3+b3+c3 Then Text1.Text=Text1.Text & i & Space(2) End If Next i End Sub六、排序问题例题:随机产生10个两位整数,并存入数据a中,然后将这10个元素从小到大排序(或从大到小),并将排序号的数组显示在文本框中。方法1:选择排序Private Sub Command1_Click() Dim a(10) As Integer, i As Integer, j As Integer ,temp As Integer For i= 1 To 10a(i)

8、=Int(Rnd*90)+10 产生1099之间的随机整数 Next i For i= 1 To 9 比较n-1轮For j = i+1 To 10 每一轮比较几次 If a(i)a(j) Then 从大到小:a(i)a(j) Then Pointer=j Next jIf i Pointer Thentemp=a(i) a(i)=a(Pointer) a(Pointer)=temp End If Next iFor i =1 To 10 Text1.Text=Text1.Text & a(i) & space(2) Next iEnd Sub方法3:冒泡排序Private Sub Comma

9、nd1_Click() Dim a(10) As Integer, i As Integer, j As Integer ,temp As Integer For i= 1 To 10a(i)=Int(Rnd*90)+10 产生1099之间的随机整数 Next i For i= 1 To 9 比较n-1轮For j = 1 To 10-i 每一轮比较几次 If a(j)a(j+1) Then 从大到小:a(i)= A And c= a And c=z Then s = s + cEnd If Next i Print sEnd Sub3、统计每类字符的个数例题:在文本框中输入一个字符串,比如:

10、A$m4Ch&*F13iy%p41H,请分别统计出大写字母、小写字母、数字字符和其他字符的个数。Private Sub Command1_Click() Dim n As Integer ,i As Integer ,c As StringDim n1 As Integer ,n2 As Integer ,n3 As Integer ,n4 As Integer n=Len(Text1.Text ) For i = 1 To n c=Mid(Text1.Text,i,1)Select Case c Case A To Z n1 = n1 + 1 Case a To z n2 = n2 + 1

11、Case 0 To 9 n3 = n3 + 1 Case Else n4 = n4 + 1 End Select Next i Print 大写字母个数:;n1;小写字母个数:;n2;数字字符个数:;n3;其他字符个数:;n4End Sub八、矩阵(二维数组)四种矩阵的算法:(图形表示)图 图 图 图例题:有一个4行4列二维数组,现随机生成16个两位整数,并将它们存入到二维数组中,现根据以上四种图形分别求主对角线、副对角线、外圈数据以及内圈数据之和。第一种矩阵算法:(主对角线) Private Sub Command1_Click() Dim a(4,4) As Integer ,i As I

12、nteger ,j As Integer Dim sum As Integer For i = 1 To 4 For j= 1 To 4 a(i,j) = Int(Rnd*90) + 10 Next j Next i For i = 1 To 4 For j= 1 To 4If i = j Then 行下标和列下标相同 sum = sum + a(i,j) End If Next j Next i Print 主对角线数据之和;sum End Sub 第二种矩阵算法:(副对角线) Private Sub Command1_Click() Dim a(4,4) As Integer ,i As

13、Integer ,j As Integer Dim sum As Integer For i = 1 To 4 For j= 1 To 4 a(i,j) = Int(Rnd*90) + 10 Next j Next i For i = 1 To 4 For j= 1 To 4If i + j = 5 Then 行下标和列下标之和是一个定数 sum = sum + a(i,j) End If Next j Next i Print 副对角线数据之和;sum End Sub 第三种矩阵算法:(外圈数据) Private Sub Command1_Click() Dim a(4,4) As Inte

14、ger ,i As Integer ,j As Integer Dim sum As Integer For i = 1 To 4 For j= 1 To 4 a(i,j) = Int(Rnd*90) + 10 Next j Next i For i = 1 To 4 For j= 1 To 4If i =1 Or i = 4 thensum1 = sum1 + a(i,j)Elseif j =1 Or j = 4 Then sum1 = sum1 + a(i,j)End if Next j Next i Print 外围数据之和;sum End Sub第四种矩阵算法:(内圈数据) Priva

15、te Sub Command1_Click() Dim a(4,4) As Integer ,i As Integer ,j As Integer Dim sum1 As Integer,sum2 As Integer ,sum As Integer For i = 1 To 4 For j= 1 To 4 a(i,j) = Int(Rnd*90) + 10 Next j Next i For i = 1 To 4 For j= 1 To 4If i =1 Or i = 4 thensum1 = sum1 + a(i,j)Elseif j =1 Or j = 4 Then sum1 = sum

16、1 + a(i,j) End if上句为求周边元素和。sum = sum + a(i,j) 数组所有元素之和。 Next j Next iPrint 内围数据之和;sum-sum1 End Sub九、文件读写操作1、字符型读写数据见概念分析篇的知识点12有详细说明。2、数值型读写数据见概念分析篇的知识点12有详细说明。3、综合例题:a.通用对话框和读写文件结合使用在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有一个文本框,名称为Textl,可以多行显示;有一个名称为CD1的通用对话框;还有三个命令按钮,名称分别为C1、C2、C3,标题分别“打开文件”、“转换”、“存盘”,如图2-5所示

17、。命令按钮的功能是:“打开文件”弹出打开文件对话框,默认打开文件的类型“文本文件”。选择考生文件夹下的in5.txt文件后,该文件中的内容显示在Text1中;“转换”把Text1中的所有小写英文字母装换成大写;“存盘”把Text1中的内容存入考生文件夹下的out5.dat文件中。在窗体中已经给出了部分程序,要求:1) 请去掉程序中的注释符,把程序中的?改为正确的内容。但不能修改程序中的其他部分,也不能修改控件的属性。2) 编写“转换”按钮的Click事件过程。最后把修改后的文件按原文件名存盘。注意:不得修改已有的程序和控件的属性,必须对考生文件夹下的in5.txt文件进行转换,并把转换结果通过

18、“存盘”按钮存入考生文件夹下的out5.dat文件中。图2-5 运行界面已有程序代码如下:Private Sub C1_Click() Dim a As StringCD1.Filter = 所有文件|*.*|文本文件|*.txt|Word文件|*.docCD1.FilterIndex = 2CD1.Action = 1 打开通用对话框,此句也可以为:CD1.ShowOpenOpenCD1.FileName For Input As #1 CD1.FileName是文件路径 Input #1, aClose #1Text1.Text = aEnd SubPrivate Sub C3_Click

19、() CD1.FileName = out5.datCD1.Action = 2 保存通用对话框,此句也可以为:CD1.ShowSave Open CD1.FileName For Output As #1Print#1, Text1.Text Close #1End Sub考生需编写的代码:Private Sub C2_Click()Text1.Text=Ucase(Text1.Text) 小写字母转换成大写字母的过程End Subb.输入数据、计算与存盘在考生文件夹下有一个工程文件sjt5.vbp,请先装入该工程文件,然后完成以下操作:在名称为Form1的窗体上画三个命令按钮,其名称分别为

20、C1、C2和C3,标题分别为“读入数据”、“计算”和“存盘”(如图16-5)所示。程序运行后,如果单击“读入数据”按钮,则调用题目已提供的ReadData1和ReadData2过程读入datain1.txt和datain2.txt文件中的各20个整数,分别放入Arr1和Arr2两个数组中;如果单击“计算”按钮,则把两个数组中对应下标的元素除以10并截尾取整后相乘,其结果放入第三个数组中(即:把第一个数组的第n个元素除以10并截尾取整,再把第二个数组的第n个元素除以10并截尾取整,两者相乘后的结果作为第三个数组的第n个元素,这里的n为1、2、320),最后计算第三个数组中各元素之和,并把所求得的

21、和在窗体上显示出来;如果单击“存盘”按钮,则调用题目中给出的WriteData过程将所求得的和存入考生文件夹的dataout.txt文件中。注意:考生不得修改窗体文件中已经存在的程序,必须把求得的结果用“存盘”按钮存入考生文件夹下的dataout.txt文件中。最后把修改后的文件以原来的文件名存盘。 图16-5 运行界面已有程序代码如下:Option Base 1Dim Arr1(20) As IntegerDim Arr2(20) As IntegerSub ReadData1() Open App.Path &datain1.txt For Input As #1 For i = 1 To

22、 20 Input #1, Arr1(i) Next i Close #1End SubSub ReadData2() Open App.Path &datain2.txt For Input As #1 For i = 1 To 20 Input #1, Arr2(i) Next i Close #1End SubSub WriteData(Filename As String, Num As Integer) Open App.Path & Filename For Output As #1 Print #1, Num Close #1End Sub考生需编写的程序代码:Dim sum A

23、s IntegerPrivate Sub C1_Click() ReadData1 ReadData2End SubPrivate Sub C2_Click()Dim i As Integer, Arr3(20) As Integer For i = 1 To 20 Arr3(i) = Int(Arr1(i) / 10) * Int(Arr2(i) / 10) sum = sum + Arr3(i) Next i Print sumEnd SubPrivate Sub C3_Click() WriteData dataout.txt, sumEnd Sub注意:本题中的sum为模块级变量。c.

24、英文字母出现次数统计在考生文件夹下有一个工程文件sjt5.vbp,窗体上有二个标题分别为“读数据”和“统计”的命令按钮和初始值为空、名称分别为Text1和Text2的二个文本框,如图12-5所示。程序功能如下:1) 单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容(该文件中仅含有字母和空格)显示在Text1文本框中(此过程已给出);2) 在Text1文本框中选中内容后,单击“统计”按钮,则统计选中文本中出现次数最多的字母(不区分大小写),以大写形式在Text2文本框中显示这些出现次数最多的字母。请将“统计”按钮Click事件过程中的注释符去掉,把?改为正确的内容,以实现上述程序功能

25、。注意:不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。已有程序代码如下:Option Base 1Dim x As String, max_n As IntegerPrivate Sub Command1_Click() Open App.Path &in5.dat For Input As #1 s = Input(LOF(1), #1) Close #1 Text1.Text = sEnd SubPrivate Sub Command2_Click()Dim a(26) As Integersl =Text1.SelLengthst = Text1.SelText Te

26、xt2 = If sl = 0 Then MsgBox 请先选择文本Else For i = 1 To sl c = Mid(st, i, 1) If c Then n = Asc(UCase(c) - Asc(A) + 1 出现某字母的编号 a(n) = a(n)+1 出现某字母的次数End If Next imax_n = a(1): n = 1先设A与a字母的次数a(1)为最多 For j = 2To 26 If max_n a(j) Then max_n = a(j) End If Next j For i = 1 To 26 If max_n = a(i) Then Text2.Text = Text2.Text + + Chr(Asc(A) + i - 1) End If Next iEnd IfEnd Sub 注:本例中n=Asc(UCase(c)-Asc(A)+ 1是用来计算所取字母的编号,A与a

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1