Visual Basic程序设计基础知识要点Word文档格式.docx

上传人:b****6 文档编号:8687299 上传时间:2023-05-12 格式:DOCX 页数:17 大小:47.79KB
下载 相关 举报
Visual Basic程序设计基础知识要点Word文档格式.docx_第1页
第1页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第2页
第2页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第3页
第3页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第4页
第4页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第5页
第5页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第6页
第6页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第7页
第7页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第8页
第8页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第9页
第9页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第10页
第10页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第11页
第11页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第12页
第12页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第13页
第13页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第14页
第14页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第15页
第15页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第16页
第16页 / 共17页
Visual Basic程序设计基础知识要点Word文档格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Visual Basic程序设计基础知识要点Word文档格式.docx

《Visual Basic程序设计基础知识要点Word文档格式.docx》由会员分享,可在线阅读,更多相关《Visual Basic程序设计基础知识要点Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。

Visual Basic程序设计基础知识要点Word文档格式.docx

求10!

.

DimSumAsLong,iAsInteger

Sum=1

Fori=1To10

Sum=Sum*i

Print“10!

=”;

Sum

三、求最大公约数

求M和N两个数的最大公约数。

DimMAsInteger,NAsInteger,RAsInteger

M=36:

N=24

Do

R=MModN

M=N

N=R

LoopWhileR<

>

0’或LoopUntilR=0

Print"

M和N的最大公约数为:

"

M

四、求素数

求100—200之间的所有素数,并按每行5个元素格式输入所有素数。

DimnAsInteger,iAsIntegerjAsInteger

Forn=100To200

Fori=2Ton-1’n-1可以是n/2,也可以是Sqr(n)形式IfnModi=0ThenExitFor

Nexti

Ifi>

n-1Then

j=j+1’统计素数个数

Printn;

IfjMod5=0ThenPrint’输出5个数换行

EndIf

Nextn

判断素数的函数过程:

FunctionPrime(xAsInteger)AsBoolean

DimIAsInteger

ForI=2ToSqr(x)

IfxModI=0Then

Prime=False

NextI

Prime=True

EndFunction

五、求水仙花数(拆数法)

求100—999之间的所有水仙花数,并将所有水仙花数在文本框中显示。

所谓水仙花数:

即153=1^3+5^3+3^3条件成立。

方法1:

(数值型:

使用运算符Mod和\)

DimiAsInteger,aAsInteger,bAsInteger,cAsInteger

Fori=100To999

a=i\100’取百位数

b=i\10Mod10’取十位数

c=iMod10’取个位数

Ifi=a^3+b^3+c^3Then

Text1.Text=Text1.Text&

i&

Space

(2)

方法2:

(字符型:

使用函数Mid、Val和CStr)

a=Val(Mid(CStr(i),1,1))’取百位数

b=Val(Mid(CStr(i),2,1))’取十位数

c=Val(Mid(CStr(i),3,1))’取个位数

六、排序问题

随机产生10个两位整数,并存入数据a中,然后将这10个元素从小到大排序(或从大到小),并将排序号的数组显示在文本框中。

选择排序

PrivateSubCommand1_Click()

Dima(10)AsInteger,iAsInteger,jAsInteger,tempAsInteger

Fori=1To9’比较n-1轮

Forj=i+1To10’每一轮比较几次

Ifa(i)>

a(j)Then’从大到小:

a(i)<

a(j)

temp=a(i)

a(i)=a(j)

a(j)=temp

Nextj

Fori=1To10

a(i)&

space

(2)

直接插入排序

DimPointerAsInteger

Fori=1To10

Pointer=i

Ifa(Pointer)>

a(j)ThenPointer=j

Nextj

Ifi<

PointerThen

a(i)=a(Pointer)

a(Pointer)=temp

Fori=1To10

EndSub

方法3:

冒泡排序

Forj=1To10-i’每一轮比较几次

Ifa(j)>

a(j+1)Then’从大到小:

temp=a(j)

a(j)=a(j+1)

a(j+1)=temp

Fori=1To10

七、字符操作

1、字符串取反

在文本框中输入一个字符串,比如:

ABCDEFGH,然后反向输出,结果为:

HGFEDCBA。

DimsAsString,nAsInteger,iAsInteger

n=Len(Text1.Text)

Fori=nTo1Step-1'

Fori=1Ton

s=s+Mid(Text1.Text,i,1)'

s=Mid(Text1.Text,i,1)+s

Prints

2、判断字符串中的某个字符是否为字母

A$4Ch&

*Fiy%41H,输出字符串中的所有字母,结果为:

AChFiyH。

DimsAsString,nAsInteger,iAsInteger,cAsString

Fori=1Ton

c=Mid(Text1.Text,i,1)

Ifc>

="

A"

Andc<

="

Z"

Orc>

a"

z"

Then

s=s+c

EndIf

3、统计每类字符的个数

A$m4Ch&

*F13iy%p41H,请分别统计出大写字母、小写字母、数字字符和其他字符的个数。

DimnAsInteger,iAsInteger,cAsString

Dimn1AsInteger,n2AsInteger,n3AsInteger,n4AsInteger

SelectCasec

Case"

To"

n1=n1+1

n2=n2+1

0"

9"

n3=n3+1

CaseElse

n4=n4+1

EndSelect

Print"

大写字母个数:

n1;

小写字母个数:

n2;

数字字符个数:

n3;

其他字符个数:

n4

八、矩阵(二维数组)

四种矩阵的算法:

(图形表示)

图①图②图③图④

有一个4行4列二维数组,现随机生成16个两位整数,并将它们存入到二维数组中,现根据以上四种图形分别求主对角线、副对角线、外圈数据以及内圈数据之和。

第一种矩阵算法:

(主对角线)

Dima(4,4)AsInteger,iAsInteger,jAsInteger

DimsumAsInteger

Fori=1To4

Forj=1To4

a(i,j)=Int(Rnd*90)+10

Nextj

Ifi=jThen'

行下标和列下标相同

sum=sum+a(i,j)

EndIf

主对角线数据之和"

sum

EndSub

第二种矩阵算法:

(副对角线)

Ifi+j=5Then'

行下标和列下标之和是一个定数

副对角线数据之和"

第三种矩阵算法:

(外圈数据)

Fori=1To4

Ifi=1Ori=4then

sum1=sum1+a(i,j)

Elseifj=1Orj=4Then

Endif

外围数据之和"

第四种矩阵算法:

(内圈数据)

Dimsum1AsInteger,sum2AsInteger,sumAsInteger

'

上句为求周边元素和。

sum=sum+a(i,j)'

数组所有元素之和。

Print"

内围数据之和"

sum-sum1

九、文件读写操作

1、字符型读写数据

见概念分析篇的知识点12有详细说明。

2、数值型读写数据

3、综合例题:

a.通用对话框和读写文件结合使用

在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有一个文本框,名称为Textl,可以多行显示;

有一个名称为CD1的通用对话框;

还有三个命令按钮,名称分别为C1、C2、C3,标题分别“打开文件”、“转换”、“存盘”,如图2-5所示。

命令按钮的功能是:

“打开文件”——弹出打开文件对话框,默认打开文件的类型“文本文件”。

选择考生文件夹下的in5.txt文件后,该文件中的内容显示在Text1中;

“转换”——把Text1中的所有小写英文字母装换成大写;

“存盘”——把Text1中的内容存入考生文件夹下的out5.dat文件中。

在窗体中已经给出了部分程序,要求:

1)请去掉程序中的注释符,把程序中的?

改为正确的内容。

但不能修改程序中的其他部分,也不能修改控件的属性。

2)编写“转换”按钮的Click事件过程。

最后把修改后的文件按原文件名存盘。

注意:

不得修改已有的程序和控件的属性,必须对考生文件夹下的in5.txt文件进行转换,并把转换结果通过“存盘”按钮存入考生文件夹下的out5.dat文件中。

图2-5运行界面

已有程序代码如下:

PrivateSubC1_Click()

DimaAsString

CD1.Filter="

所有文件|*.*|文本文件|*.txt|Word文件|*.doc"

CD1.FilterIndex=2

CD1.Action=1'

打开通用对话框,此句也可以为:

CD1.ShowOpen

OpenCD1.FileNameForInputAs#1'

CD1.FileName是文件路径

Input#1,a

Close#1

Text1.Text=a

PrivateSubC3_Click()

CD1.FileName="

out5.dat"

CD1.Action=2'

保存通用对话框,此句也可以为:

CD1.ShowSaveOpenCD1.FileNameForOutputAs#1

Print#1,Text1.Text

Close#1

考生需编写的代码:

PrivateSubC2_Click()

Text1.Text=Ucase(Text1.Text)'

小写字母转换成大写字母的过程

b.输入数据、计算与存盘

在考生文件夹下有一个工程文件sjt5.vbp,请先装入该工程文件,然后完成以下操作:

在名称为Form1的窗体上画三个命令按钮,其名称分别为C1、C2和C3,标题分别为“读入数据”、“计算”和“存盘”(如图16-5)所示。

程序运行后,如果单击“读入数据”按钮,则调用题目已提供的ReadData1和ReadData2过程读入datain1.txt和datain2.txt文件中的各20个整数,分别放入Arr1和Arr2两个数组中;

如果单击“计算”按钮,则把两个数组中对应下标的元素除以10并截尾取整后相乘,其结果放入第三个数组中(即:

把第一个数组的第n个元素除以10并截尾取整,再把第二个数组的第n个元素除以10并截尾取整,两者相乘后的结果作为第三个数组的第n个元素,这里的n为1、2、3……20),最后计算第三个数组中各元素之和,并把所求得的和在窗体上显示出来;

如果单击“存盘”按钮,则调用题目中给出的WriteData过程将所求得的和存入考生文件夹的dataout.txt文件中。

考生不得修改窗体文件中已经存在的程序,必须把求得的结果用“存盘”按钮存入考生文件夹下的dataout.txt文件中。

最后把修改后的文件以原来的文件名存盘。

图16-5运行界面

OptionBase1

DimArr1(20)AsInteger

DimArr2(20)AsInteger

SubReadData1()

OpenApp.Path&

\"

&

datain1.txt"

ForInputAs#1

Fori=1To20

Input#1,Arr1(i)

SubReadData2()

datain2.txt"

Input#1,Arr2(i)

SubWriteData(FilenameAsString,NumAsInteger)

FilenameForOutputAs#1

Print#1,Num

考生需编写的程序代码:

DimsumAsInteger

ReadData1

ReadData2

DimiAsInteger,Arr3(20)AsInteger

Arr3(i)=Int(Arr1(i)/10)*Int(Arr2(i)/10)

sum=sum+Arr3(i)

Printsum

WriteData"

dataout.txt"

sum

本题中的sum为模块级变量。

c.英文字母出现次数统计

在考生文件夹下有一个工程文件sjt5.vbp,窗体上有二个标题分别为“读数据”和“统计”的命令按钮和初始值为空、名称分别为Text1和Text2的二个文本框,如图12-5所示。

程序功能如下:

1)单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容(该文件中仅含有字母和空格)显示在Text1文本框中(此过程已给出);

2)在Text1文本框中选中内容后,单击“统计”按钮,则统计选中文本中出现次数最多的字母(不区分大小写),以大写形式在Text2文本框中显示这些出现次数最多的字母。

请将“统计”按钮Click事件过程中的注释符去掉,把?

改为正确的内容,以实现上述程序功能。

不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。

DimxAsString,max_nAsInteger

\in5.dat"

s=Input(LOF

(1),#1)

Text1.Text=s

PrivateSubCommand2_Click()

Dima(26)AsInteger

sl=Text1.SelLength

st=Text1.SelText

Text2="

Ifsl=0Then

MsgBox"

请先选择文本"

Else

Fori=1Tosl

c=Mid(st,i,1)

Ifc<

n=Asc(UCase(c))-Asc("

)+1'

出现某字母的编号

a(n)=a(n)+1'

出现某字母的次数

max_n=a

(1):

n=1'

先设"

与"

字母的次数a

(1)为最多

Forj=2To26

Ifmax_n<

a(j)Then

max_n=a(j)

Fori=1To26

Ifmax_n=a(i)Then

Text2.Text=Text2.Text+"

+Chr(Asc("

)+i-1)

注:

本例中n=Asc(UCase(c))-Asc("

)+1是用来计算所取字母的编号,"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2