第2章VisualBasic编程基础第二部分.ppt

上传人:本田雅阁 文档编号:2576964 上传时间:2019-04-11 格式:PPT 页数:86 大小:234.01KB
返回 下载 相关 举报
第2章VisualBasic编程基础第二部分.ppt_第1页
第1页 / 共86页
第2章VisualBasic编程基础第二部分.ppt_第2页
第2页 / 共86页
第2章VisualBasic编程基础第二部分.ppt_第3页
第3页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第2章VisualBasic编程基础第二部分.ppt》由会员分享,可在线阅读,更多相关《第2章VisualBasic编程基础第二部分.ppt(86页珍藏版)》请在三一文库上搜索。

1、第2章 Visual Basic 6.0编程基础 (第二部分),2.7 基本流程结构,控制结构可控制程序执行的流程。如果未使用控制流语句,程序便从左至右、自顶向下地贯穿这些语句。有些简单程序可以只用单向流程来编写,有些流程可以依靠运算符的优先级来控制,但任何编程语言的效力和用途皆由其通过结构和循环改变语句顺序的能力而得。,2.7.1 顺序结构,顺序结构中程序按照语句编写的先后顺序一条一条地执行。使用顺序结构只需要将合法语句按照合理的执行顺序排列即可一一执行。,【案例2-6】 二次函数计算器,按钮单击事件中的代码为 Private Sub Command1_Click() Dim x, y As

2、 Double Const a = 3 Const b = -5 x = Val(Text1.Text) y = a * x 2 + b * x + 1 y = y / Abs(a + b) Text2.Text = Str$(y) End Sub,2.7.2 条件结构,Visual Basic 6.0支持的条件结构有: IfThen; IfThenElse; Iif; Select Case;,(1)用IfThen结构有条件地执行一个或多个语句,单行语法和多行块语法都可以使用。 If 条件 Then 语句 If 条件 Then 语句块 End If “条件”通常是比较式,但它可以是任何计算数

3、值的表达式。Visual Basic 6.0 将这个值解释为True或False。一个为零的数值为False,而任何非零数值都被看做True。若“条件”为True,则Visual Basic 6.0执行“Then”关键字后面的所有“语句块”。,(2)用 IfThenElse块定义几个语句块,执行其中一个语句: If 条件1 Then 语句块1 Else If 条件2 Then 语句块2 . Else 语句块n End If Visual Basic 6.0首先测试“条件1”。如果它为False,Visual Basic 6.0就测试“条件2”,依此类推,直到找到一个为True的条件。当它找到一

4、个为True的条件时,Visual Basic 6.0就会执行相应的语句块,然后执行End If后面的代码。作为一个选择,可以包含Else语句块,如果前n-1个条件都是False,则Visual Basic 6.0执行Else语句块。,(3)IIf函数用于实现一些简单的条件判断分支结构,其格式如下: IIf(条件,条件为真时的值,条件为假时的值) 其作用是对条件进行测试,若条件成立(为真值),则取第一个值(即“条件为真时的值”),否则取第二个值(即“条件为假时的值”)。,(4)Visual Basic 6.0提供Select Case结构替代IfThenElse,从而可在多个语句块中有选择地执

5、行其中一个。Select Case语句的能力与IfThenElse语句类似,但对多重选择的情况,Select Case语句使代码更加易读。Select Case在结构的开始便处理一个测试表达式并只计算一次。然后,Visual Basic 6.0将表达式的值与结构中每个Case的值进行比较。如果相等,就执行与该Case相关联的语句块。 Select Case test 测试表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 . Case Else 语句块n End Select,【案例2-7】 求数据的绝对值,按钮单击事件中的代码为 Private Sub Command

6、1_Click() Dim a As Integer 定义变量 a = Val(Text1.Text) 将文本框中输入的值赋给变量a If a 0 Then 当a为负数时取其相反数 a = -a End If Text2.Text = Str$(a) End Sub 按钮单击事件中的代码为 Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ End Sub,【案例2-8】 闰年,“确定”按钮单击事件中的代码为 Private Sub Command1_Click() Dim x As Integer x = Val(Text1.

7、Text) If (x Mod 100) Then 如果X不能被100整除 If (x Mod 4 = 0) Then 如果x能被4整除但不能被100整除 Text2.Text = “yes“ Else 如果x不能被4和100整除 Text2.Text = “no“ End If ElseIf (x Mod 400 = 0) Then 如果x能被100整除,又能被400整除 Text2.Text = “yes“ Else Text2.Text = “no“ End If End Sub,“清除”按钮单击事件中的代码为 Private Sub Command2_Click() Text1.Tex

8、t = “ Text2.Text = “ End Sub,【案例2-9】 查询十二生肖,Case 6 Text2.Text = “虎“ Case 7 Text2.Text = “兔“ Case 8 Text2.Text = “龙“ Case 9 Text2.Text = “蛇“ Case 10 Text2.Text = “马“ Case 11 Text2.Text = “羊“ Case 0 Text2.Text = “猴“ End Select End Sub,Private Sub Command1_Click() Dim year As Integer, a As Integer year

9、 = Val(Text1.Text) a = year Mod 12 Select Case a Case 1 Text2.Text = “鸡“ Case 2 Text2.Text = “狗“ Case 3 Text2.Text = “猪“ Case 4 Text2.Text = “鼠“ Case 5 Text2.Text = “牛“,ElseIf a=6 Then Text2.Text = “虎“ ElseIf a=7 Then Text2.Text = “兔“ ElseIf a=8 Then Text2.Text = “龙“ ElseIf a=9 Then Text2.Text = “蛇“

10、 ElseIf a=10 Then Text2.Text = “马“ ElseIf a=11 Then Text2.Text = “羊“ Else Text2.Text = “猴“ End If End Sub,使用IfThenElse结构,代码如下: Private Sub Command1_Click() Dim year As Integer, a As Integer year = Val(Text1.Text) a = year Mod 12 If a=1 Then Text2.Text = “鸡“ ElseIf a=2 Then Text2.Text = “狗“ ElseIf a=

11、3 Then Text2.Text = “猪“ ElseIf a=4 Then Text2.Text = “鼠“ ElseIf a=5 Then Text2.Text = “牛“,2.7.3 循环结构, DoLoop; ForNext。,1DoLoop,用Do循环重复执行一语句块,且重复次数不定。DoLoop语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同IfThen 条件必须是一个数值或者值为True(非零)或False(零)的表达式。在下面的DoLoop循环中,只要“条件”为True就执行“语句块”。 Do While (条件) 语句块 Loop 当Visual Basic

12、 6.0执行这个Do循环时会首先测试“条件”。如果“条件”为False(零),则跳过所有语句;如果“条件”为True(非零),则Visual Basic 6.0执行语句,然后退回到Do While语句再测试条件。因此,只要“条件”为True或非零,循环可以随意执行多次;如果“条件”一开始便为False,则不会执行语句。,DoLoop语句的另一种演变形式是先执行语句,然后再在每次执行后测试“条件”。这种形式保证“语句块”至少执行一次: Do 语句块 Loop While (条件) 其他两种演变形式类似于前两个,所不同的是,只要“条件”为False而不是True,它们就执行循环。,2ForNext

13、,与Do循环不同,For循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For循环的语法如下: For 循环变量 = 初值 To 终值 Step 步长 语句块 Next 循环变量 参数“循环变量”、“初值”、“终值”和“步长”都是数值型的。 “步长”参数可正可负。如果“步长”为正,则“初值”必须小于等于“终值”,否则不能执行循环内的语句;如果“步长”为负,则“初值”必须大于等于“终值”,这样才能执行循环体。如果没有设置“Step”(步长),则“步长”缺省值为1。每执行一个循环,“循环变量= 循环变量+步长”。,在执行For循环时,其执行过程如下。 设置“循环变

14、量”等于“初值”。 测试“循环变量”是否在“初值”和“终值”之间。若不是的话,则Visual Basic 6.0退出循环;若是的话执行语句。 执行完“语句块”语句,执行Next 循环变量,循环变量= 循环变量+步长。 重复步骤步骤。,【案例2-10】 人口估算,假设我国现有人口约为12亿,设年增长率为1%,计算多少年后增加到20亿。,Private Sub Form_Click() Dim a As Double Dim r As Single Dim i As Integer a = 12 r = 0.01 i = 0 Do While a 20 当人口数大于等于20亿时结束循环 a = a

15、 * (1 + r) i = i + 1 Loop Print i ;“年后中国人口达到20亿“ End Sub,使用DoLoop While结构,代码如下: Private Sub Form_Click() Dim a As Double Dim r As Single Dim i As Integer a = 12 r = 0.01 i = 0 Do a = a * (1 + r) i = i + 1 Loop While a 20 当人口数大于等于20亿时结束循环 Print i ;“年后中国人口达到20亿“ End Sub,【案例2-11】 累加求和,求m=1+2+3+4+100的值。

16、,Private Sub Form_Click() Dim m As Integer,i As Integer m = 0 For i = 1 To 100 步长省略,默认为1 m = m + i Next i Print m End Sub,2.7.4 控制结构,前面介绍了几种基本的控制语句,而应用这几种基本的控制语句,可以产生各种各样的控制结构,下面讲解几种特殊的控制结构。,(1)嵌套控制结构,可以把控制结构放入另一个控制结构之内(例如在ForNext循环中的IfThen块)。一个控制结构内部包含另一个控制结构叫做嵌套(nest)。在Visual Basic 6.0中,控制结构的嵌套层数没

17、有限制。按一般习惯,为了使条件分枝结构和循环结构更具可读性,总是用缩排方式书写条件分枝结构或循环结构的正文部分。,(2)退出控制结构,用Exit语句可以直接退出For循环、Do循环、子过程或函数过程。 For 循环变量 = 初值 To 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量, 循环变量 , Do While | Until 条件 语句块 Exit Do 语句块 Loop Exit Do语句可以在Do循环语法的所有结构中使用。Exit For和Exit Do非常有用,因为它有时适用于立即退出循环,而且不再执行循环中的任何进一步迭代或者语句。,【案例2-12】

18、人口估算,假设我国现有人口约为12亿,设年增长率为1%,计算多少年后增加到20亿。,Private Sub Form_Click() Dim a As Double Dim r As Single Dim i As Integer a = 12 r = 0.01 For i=0 to 1000 a = a * (1 + r) If a = 20 Then Exit For 当人口数大于等于20亿时跳出循环 Next i Print i; “年后中国人口达到20亿“ End Sub,2.8 数组,在Visual Basic 6.0中,把一组具有同一名字、不同下标的下标变量称为数组,其一般形式如下

19、: S(i) 其中S称为数组名,i是下标。一个数组可以含有若干个下标变量,下标用来指出某个数组元素在数组中的位置,S(8)代表S数组中的第八个元素。,2.8.1 数组的声明,声明固定大小的数组有3种方法,用哪一种方法取决于数组应有的有效范围。 建立全局数组,在模块的声明段用Public语句声明数组。 建立模块或窗体数组,在模块的声明段用Private语句声明数组。 建立局部数组,在过程中用Private语句声明数组。,声明数组时,在数组名之后跟一个用括弧括起来的,其上界、下界不得超过Long数据类型的范围(-2 147 483 6482 147 483 647)。 例如,下列数组声明可出现在模

20、块的声明段: Dim A(4) As Integer 同时定义了A(0),A(1),A(2),A(3),A(4)5个元素。 Dim S (20) As Double 定义了S(0)到S(20)21个元素。 为建立公用数组,直接用Public取代Dim: Public A(4) As Integer Public S (20) As Double 第一个声明建立了一个有5个元素的数组,其索引号为04;第二个声明建立了一个有21个元素的数组,其索引号范围是020。,为了规定下界,可以使用关键字“To”显式提供下界(为Long数据类型): Dim A (1 To 5) As Integer Dim

21、S (100 To 120) As String 在前述声明中,“A”的索引值范围为15,而“S”的索引值范围为100120。,有时候,可能需要知道数组的上界值和下界值,这可以通过Lbound和Ubound函数来测试,其格式如下: Lbound(数组名) 返回数组索引值的上界值 Ubound(数组名) 返回数组索引值的下界值,2.8.2 动态数组,数组长度到底应该为多大才算合适,有些情况下很难确定,这就需要数组能够在运行时具有改变大小的能力。通过使用动态数组,可以在程序中任意改变数组的长度。在Visual Basic 6.0中,动态数组是最灵活、最方便的,有助于有效管理内存。,(1)如果希望数

22、组为公用数组,则用Public语句声明数组;如果希望数组为模块级,则在模块级用Dim语句声明数组;如果希望数组为局部数组,则在过程中用Static或Dim语句声明数组。给数组赋一个空数组,这样就将数组声明为动态数组。例如: Dim A (),(2)用ReDim语句分配实际的元素个数。 ReDim A (X + 1) ReDim语句只能出现在过程中。与Dim语句、Static语句不同,ReDim语句是一个可执行语句,由于这一语句,应用程序在运行时执行一个操作。ReDim语句支持这样的语法,它与固定数组中使用的语法相同。每个ReDim语句都能改变元素数目以及上下界。,2.8.3 数组的基本操作,建

23、立一个数组之后,可以对数组或数组元素进行操作。数组的基本操作包括输入、输出及复制,这些操作都是对数组进行的。此外,在Visual Basic 6.0中还提供了For EachNext语句,可用于对数组的操作。,1数组元素的引用,引用数组元素的格式是:数组名(下标)。 例如: Number(1),A(2),Num(0),B(4)等。,2给数组元素赋值,(1)利用循环结构给数组元素赋值,例如为数组元素赋初值3: For i=1 to 5 A(i)=3 Next i,(2)利用Array()函数为数组元素赋值,即把一个数据集读入某个数组。其格式为: 数组变量名Array(数组元素值) 例如: Sta

24、tic Number Number=Array(1,2,3,4,5) 说明: Array()函数对各元素赋值,声明的数组是动态数组或连小括号都省略的数组,并且类型只能是Varient。 数组下界默认为0,可通过Option Base语句决定,上界由Array()函数括号内的参数个数决定,也可通过UBound()函数获得。 “数组元素值”是需要赋给数组各元素的值,各值之间以逗号分开。 Array()函数只适用于一维数组。,4数组元素的复制,(1)单个数组元素可以像简单变量一样从一个数组复制到另一个数组。例如: Dim b(4),a(6) b(2)=a(3) (2)要复制整个数组,要使用For循环

25、语句。,(3)要复制整个数组,也可以使用一条简单的赋值语句即可。例如: Dim a(4) as integer,b() as integer A(0)=0:a(1)=5:a(2)=10:a(3)=13:a(4)=14 B=a 使用这种方法赋值时,必须要注意: 赋值号两边的数据类型必须一致; 如果赋值号左边的是一个大小固定的数组,则数组赋值出错; 赋值号左边的必须是一个动态数组,赋值时系统将自动给动态数组分配内存空间,使之与右边数组大小相同。,5For EachNext语句,For EachNext循环与ForNext循环类似,与ForNext语句类似,两者都是用来执行指定重复次数的语句。但Fo

26、r EachNext语句是专门用于操作数组的,它的格式如下: For Each In Next ,说明: 格式中的“成员”必须是一个变体变量,是为循环提供的,代表的是数组中的每个元素。 数组名没有括号和上下界。 用For EachNext语句可以对数组中的每个元素进行处理,它包括查询、显示和读取。它所重复的次数由数组中元素的个数决定,数组中有多少个元素,就自动重复执行多少次。,【案例2-13】 数组复制,给数组赋初值,然后复制到另一数组中,并打印输出到窗体上。,Private Sub Form_Click() Dim a(), b() 定义动态数 a = Array(1, 2, 3, 4, 5

27、) 给数组赋初值 ReDim b(UBound(a) 给动态数组分配内存空间 For i = 0 To UBound(a) 数组复制 b(i) = a(i) Next i For i = 0 To UBound(a) 数组输出 Print b(i); Next i End Sub,【案例2-14】 数组求和,求数组A中所有元素的和。,Private Sub Form_Click() Dim sum As Integer Dim A(1 To 10) As Integer 数组定义 For i = 1 To 10 数组赋初值 A(i) = 1 Next i sum = 0 For Each x

28、In A 使用For EachNext数组求和 sum = sum + x Next x Print sum 输出数组和 End Sub,【案例2-15】 数组基本操作,Option Base 1 Private Sub Form_Click() Dim abc(10) As Integer 数组定义 For i = 1 To 10 数组赋初值为0100内的整数 abc(i) = Int(Rnd * 100) Next i Print “使用普通循环输出:“ For i = 1 To 10 使用普通循环输出数组 Print abc(i); Next i Print Print “使用For E

29、achNext输出:“ For Each x In abc 使用For EachNext输出数组 Print x; Next End Sub,2.9 过程,将公用的、能完成某一特定功能的程序设计成可供其他程序调用的、独立的程序段,这种程序段就称为子程序(也称为过程)。调用子程序的程序段称为主程序。 用过程编程有两大好处。 (1)过程可使程序划分成离散的逻辑单元,这样程序的结构清晰且便于调试。 (2)一个程序中的过程,往往不必修改或只需稍做改动,便可成为另一个程序的构件。,2.9.1 子过程的分类,在Visual Basic中,有两类子过程:事件过程和通用过程。,1通用过程,在Visual Ba

30、sic 6.0中,通用过程分为两类,即子程序过程(Sub过程)和函数过程(Function过程)。 通用过程必须由其他过程调用,它并不与任何特定的事件直接相联系,它完成特定的任务,通用过程由用户创建。通用过程可以存储在窗体或标准模块中。,2事件过程,当用户对一个对象发出动作时,会产生一个事件,然后自动地调用与该事件相关的事件过程。事件过程就是在响应事件时执行的程序段。 默认时,事件过程是私有的。事件过程是附加在窗体和控件上的。,所有的事件过程都使用相同的语法。 控件事件的语法: Private Sub 控件名_事件名 (参数列表 ) 语句块 End Sub 窗体事件的语法: Private S

31、ub Form_事件名 (参数列表) 语句块 End Sub,2.9.2 Sub过程,1定义子过程 子过程的语法是: Private | PublicStatic Sub () Exit Sub End Sub 2建立Sub子过程,【案例2-16】 矩形面积计算,使用Sub过程计算矩形的面积,输入矩形的长和宽,输出矩形的面积。,在【通用】/【声明】中定义模块级变量: Dim area As Single 在窗体模块中建立Sub过程,并编写Sub过程响应代码: Sub recarea(rlen, rwid) area = rlen * rwid End Sub,“确定”按钮单击事件中的代码为 P

32、rivate Sub Command1_Click() Dim a As Single, b As Single a = Val(Text1.Text) b = Val(Text2.Text) recarea a, b Call recarea(a, b) Text3.Text = area End Sub,“清除”按钮单击事件中的代码为 Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ Text3.Text = “ End Sub,【案例2-17】 打印等腰三角形,在同一窗体建立两个过程,Triangle是通用过程,Form

33、_Click是窗体事件过程,执行程序时,单击窗体将在窗体显示两个等腰三角形,如图所示。,Private Sub triangle(Str As String, n As Integer) Dim i As Integer, j As Integer For i = l To n Print Tab(16 - i); For j = 1 To 2 * i - 1 Print Str; Next j Print Next i End Sub,Private Sub Form_Click() Dim char As String * 1, n As Integer char = “*“ n = 5

34、Call triangle(char, n) char = “+“ triangle char, 3 End Sub,2.9.3 Function函数过程,Visual Basic 6.0包含内置的或内部的函数,如Sqr,Cos或Chr。此外,还可用Function语句编写自己的Function函数过程。 与Sub过程一样,Function过程也是一个独立的过程,可读取参数,执行一系列语句并改变其参数的值。与子过程不同,Function过程可返回一个值到调用的过程。,1定义Function过程,函数过程的语法是: Static Public | Private Function ()As 函数

35、名=返回值 Exit Function End Function 其中, As类型:函数返回值的类型,若类型说明默认,则返回变体类型值。 参数列表形式同Sub过程。 在函数体内至少对函数名赋值一次。,2建立Function过程,前一节提到建立Sub过程的两种方法也可以建立Function过程,只是当用第一种方法建立时,在【添加过程】对话框的【类型】栏内应选择【函数】单选按钮;另外,两种方法中的Sub应换成Function。,3调用Function过程,通常,调用自行编写的函数过程的方法和调用Visual Basic 6.0内部函数过程(例如Cos)的方法一样,即在表达式中写上它的名字。下面的语

36、句都调用函数Txt。 Print 10 * Txt X = Txt If Txt = 10 Then Print “Out of Range“;“ X = “;10 * Txt 像调用Sub过程那样,也能调用函数。下面的语句都调用同一个函数: Call Sin(x) Sin x,【案例2-18】 矩形面积计算,本案例使用Function过程计算矩形面积。输入矩形的长和宽,输出矩形的面积。,在窗体模块中建立Function过程,并编写过程响应代码: Function recarea(rlen, rwid) As Single recarea = rlen * rwid End Function,

37、“确定”按钮单击事件中的代码为 Private Sub Command1_Click() Dim a As Single, b As Single a = Val(Text1.Text) b = Val(Text2.Text) Text3.Text = Str(recarea(a, b) End Sub “清空”按钮单击事件中的代码为 Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ Text3.Text = “ End Sub,2.9.4 参数使用,参数传递可以实现调用过程和被调过程之间的信息交换,在过程的调用中,调用其他过

38、程的过程称为主过程,被调用的过程称为子过程。当被调用的子过程要使用主过程中的数据时,就必须使用参数传递。参数分为形式参数和实际参数。 形式参数(简称形参):在子过程中的参数,出现在Sub过程和Function过程中。形式参数可以是变量名和数组名。 实际参数(简称实参):在主过程中的参数,过程调用时实参数据会传递给形参。 在Visual Basic 6.0中,实参与形参的结合有两种方法,即传址(ByRef)和传值(ByVal),其中传址又称为引用,是默认的方法。,1按值传递参数,用“ByVal”关键字指出参数是按值来传递的。按值传递参数时,传递的只是变量的副本。当调用一个过程时,系统将实参的值复

39、制给形参,实参与形参断开了联系。被调过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,形参所占用的存储单元也同时被释放。因此在过程体内对形参的任何操作不会影响到实参。,2按地址传递参数,按地址传递参数在Visual Basic 6.0中是缺省的,即不用“ByVal”关键字。按传址方式时,则是把变量在内存中的地址传递给形参。这时,形参将与原变量使用内存中的同一地址。也就是说,如果在过程中改变了这个形参的值,原变量也会随之而改变。,3选用传值还是传地址的使用规则, 形参是数组、自定义类型时只能用传地址方式,若要将过程中的结果返回给主调程序,则形参必须是传址方式。这时实参必须是同类型的变

40、量名,不能是常量或表达式。 若形参不是上述中的两种情况,一般应选用传值方式。这样可增加程序的可靠性和便于调试,减少各过程间的关联。因为在过程体内对形参的改变不会影响实参。,【案例2-19】 参数传递,Private Sub Increase(x As Integer) x = x + 1 End Sub Private Sub Decrease(ByVal x As Integer) x = x - 1 End Sub Private Sub Form_Click() Dim i As Integer, j As Integer i = 1000 Increase i Print i j =

41、1000 Decrease j Print j End Sub,2.10 Visual Basic 6.0程序组成,为了让程序代码实现功能模块化,便于程序的管理和开发,实际的程序代码通常出现在模块和过程中。在Visual Basic 6.0程序设计中,一个Visual Basic 6.0应用程序可以由若干个程序模块组成,而每个程序模块又以各自的文件存储。,2.10.1 模块(Module),模块是一组声明和过程的组合。Visual Basic 6.0的模块有3种类型:窗体模块、标准模块(通用模块)和类模块。,2.10.2 工程,工程是一个应用程序中所有相关模块的集合。多个相关的工程在一起构成工

42、程组。工程管理器窗口用来显示与Visual Basic 6.0工程或工程组相关的文件列表及工程组中的引用。 当创建一个应用程序时,通常要创建一些新的窗体。利用工程管理器,可以调用以前所创建的窗体进行修改或直接引用,这样可以缩短应用程序的开发时间。,2.11 综合案例,在代码窗口添加判断素数的代码如下: Public Function Sushu(ByVal x As Integer) Dim k, i As Integer k = Int(Sqr(x) i = 2 Sushu = 0 Do While i = k And Sushu = 0 If x Mod i = 0 Then Sushu

43、= 1 Else i = i + 1 End If Loop End Function,Dim a(0 To 20) As Integer Dim j, m, n As Integer Private Sub Command1_Click() Command2.Enabled = True FontSize = 24 设置文本显示字体 Print 在窗体上打印换行 Print “产生的20个随机数为:“ For j = 1 To 20 a(j) = CInt(Rnd * 100) 产生100以内的随机数 Print a(j); 在窗体上显示每个随机数 If j Mod 5 = 0 Then 设置每5个随机数为一行 Print End If Next j End Sub,Private Sub Command2_Click() n = 0 Print “其中素数为:“ For j = 1 To 20 m = Sushu(a(j) 引用函数判断a(j)这个随机数是否为素数 If m = 0 Then 在窗体上打印素数 Print a(j); n = n + 1 End If If n Mod 5 = 0 And n 0 Then 设置每5个素数为一行 n = 0 Print End If Next j End Sub,2.12 实训,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1