版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1vb基本程序结构基本程序结构第一页,编辑于星期日:五点 五十六分。6.1 算法及算法的表示算法及算法的表示 6. 1.1 算法概述算法概述 什么是算法:什么是算法: 广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲:算法是解决一个问题采取的方法和步骤的描述。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:下面通过两个简单的例子加以说明:例例6.1 输入三个数,然后输出其中最大的数。输入三
2、个数,然后输出其中最大的数。 将三个数依次输入到变量、将三个数依次输入到变量、B、C中,设变量中,设变量MAX存放最大数。其算法如下:存放最大数。其算法如下: 第1页/共62页第二页,编辑于星期日:五点 五十六分。例例6.2 输入输入10个数,打印输出其中最大的数。个数,打印输出其中最大的数。算法设计如下:算法设计如下:(1)输入)输入1个数个数,存入变量存入变量A中中,将记录数据个数的变量将记录数据个数的变量N赋值为赋值为1,即,即N=1(2)将)将A存入表示最大值的变量存入表示最大值的变量Max中,即中,即Max=A(3)再输入一个值给)再输入一个值给A,如果,如果AMax 则则 Max=
3、A, 否则否则Max不变不变(4)让记录数据个数的变量增加)让记录数据个数的变量增加1,即,即N=N+1(5)判断)判断N是否小于是否小于10,若成立则转到第(,若成立则转到第(3)步执行,否则转到第()步执行,否则转到第(6)步。)步。(6)打印输出)打印输出max1) 输入输入A、B、C。2) A与与B中大的一个放入中大的一个放入MAX中。中。3) 把把C与与MAX中大的一个放入中大的一个放入MAX中。中。4) 输出输出MAX,MAX即为最大数。即为最大数。第2页/共62页第三页,编辑于星期日:五点 五十六分。6.1.2 算法的特性算法的特性 有穷性有穷性确定性确定性有有0个或多个输入个或
4、多个输入有一个或多个输出有一个或多个输出有效性有效性第3页/共62页第四页,编辑于星期日:五点 五十六分。6.1.3 算法的表示算法的表示 一、自然语言与伪代码表示算法一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。 例如:例可用如下的伪代码表示例如:例可用如下的伪代码表示Begin(算法开始)(算法开始) 输入输入 A,B,C
5、IF AB 则则 AMax 否则否则 BMax IF CMax 则则 CMaxPrint MaxEnd (算法结束算法结束)第4页/共62页第五页,编辑于星期日:五点 五十六分。二、二、 用用传统传统流程图表示算法流程图表示算法处理框起止框I/O框判断框流程线连接点1、传统流程图中的基本符号、传统流程图中的基本符号第5页/共62页第六页,编辑于星期日:五点 五十六分。2、三种基本结构的传统表示、三种基本结构的传统表示(1)顺序结构)顺序结构条件语句1语句2YN语句1语句2(2)选择结构)选择结构第6页/共62页第七页,编辑于星期日:五点 五十六分。条件( a )条件语句组(3)循环结构)循环结
6、构a) 当型循环当型循环b) 直到循环直到循环YNYN( b )语句组第7页/共62页第八页,编辑于星期日:五点 五十六分。三种基本结构的特点:三种基本结构的特点:(1)只有一个入口)只有一个入口(2)只有一个出口)只有一个出口(3)不存在死语句)不存在死语句(4)不存在死循环)不存在死循环10个数,打印输出其中的最大的数的流程图个数,打印输出其中的最大的数的流程图第8页/共62页第九页,编辑于星期日:五点 五十六分。从从10个数中选出最大的数的流程图个数中选出最大的数的流程图NMaxMax =A输入A开始再输入给AN=N+1打印Max结束YNNY第9页/共62页第十页,编辑于星期日:五点 五
7、十六分。6.1.4 用用NS流程图表示算法流程图表示算法 将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框三种基本结构的三种基本结构的NS图表示:图表示:语句A语句B语句A语句B条件YN1、顺序结构、顺序结构2、选择结构、选择结构第10页/共62页第十一页,编辑于星期日:五点 五十六分。语句组(3)循环结构)循环结构a) 当型循环当型循环b) 直到循环直到循环当条件成立语句组直到当条件成立例:例: 画出从画出从10个数中选出最大的数的个数中选出最大的数的NS 流程图流程图( a )( b )第11页/共62页第十二页,编辑
8、于星期日:五点 五十六分。传统流程图NMaxMax =A输入A开始再输入给AN=N+1打印Max结束YNNY输入A当N=MaxYN第12页/共62页第十三页,编辑于星期日:五点 五十六分。Private Sub Form_Click() Dim a%, max%, i% max = a For i = 1 To 10 a = Val(InputBox(A=?) If a max Then max = a Next i Print Max=; maxEnd Sub 最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符一计算机语言的
9、语法规则。最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符一计算机语言的语法规则。 下面是例下面是例6.2的计算机的计算机 程序,即为用计算机语言表示算法:程序,即为用计算机语言表示算法:第13页/共62页第十四页,编辑于星期日:五点 五十六分。6.1.5 结构化程序设计方法(补充)结构化程序设计方法(补充)(一)用计算机解决问题的过程(一)用计算机解决问题的过程提出、分析问题提出、分析问题确定算法模型确定算法模型设计算法设计算法编写程序编写程序调试程序调试程序分析输出结果分析输出结果正确合理正确合理结束结束不正确不正确第1
10、4页/共62页第十五页,编辑于星期日:五点 五十六分。(二)结构化程序设计思想(二)结构化程序设计思想自顶向下、逐步细化、模块化自顶向下、逐步细化、模块化自顶向下:自顶向下:先从全局、整体设计先从全局、整体设计逐步细化:逐步细化:将一个问题分解成几个较小的问题解决将一个问题分解成几个较小的问题解决模块化:模块化: 将一个大任务分解成若干个较小的部分将一个大任务分解成若干个较小的部分, 每每 个部分承担一定功能,称为个部分承担一定功能,称为“功能功能模块模块”例:给例:给100个整数,打印输出其中的素数个整数,打印输出其中的素数第15页/共62页第十六页,编辑于星期日:五点 五十六分。S1NS流
11、程图流程图输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中不等于中不等于0的数的数让让x1,x2,x100中的非素变为中的非素变为0S3S2输入输入xi当当i=100i=i+1i=1S1细化细化xi0当当i=100i=i+1i=1YN打印打印xiS3细化细化第16页/共62页第十七页,编辑于星期日:五点 五十六分。S1NS流程图流程图输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中不等于中不等于0的数的数让让x1,x100中的非素变为中的非素变为0S3S2S2细化细化判断判断xi是否是素数是否是素数,若不是则将,若不是则将xi=0当当i=10
12、0i=i+1i=1S21r=0rxi/2S21细化细化第17页/共62页第十八页,编辑于星期日:五点 五十六分。输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中不等于中不等于0的数的数让让x1,x100中的非素变为中的非素变为0细化后的流程细化后的流程图图输入输入xi当当i=100i=i+1i=1当当ixi/2i=i+1xi0当当i=100i=1YN打印打印xii=i+1第18页/共62页第十九页,编辑于星期日:五点 五十六分。第19页/共62页第二十页,编辑于星期日:五点 五十六分。执行过程如右图执行过程如右图4赋值符号赋值符号“=”左边一定左边一定只能只能是变量名
13、或对象的属性引用,不能是常量、符号常量、表达式。是变量名或对象的属性引用,不能是常量、符号常量、表达式。 下面的赋值语句都是错的:下面的赋值语句都是错的:5=X 左边是常量。左边是常量。Abs(X)=20 左边是函数调用,即是表达式。左边是函数调用,即是表达式。 5. 赋值符号赋值符号“=”两边的数据类型一般要求应一致。两边的数据类型一般要求应一致。 具体规则(具体规则(P77)第20页/共62页第二十一页,编辑于星期日:五点 五十六分。其语法格式为:其语法格式为:Rem 或或 说明:说明:1. 指要包括的任何注释文本。在指要包括的任何注释文本。在Rem关键字和注释内容之间要加一个空格。可以用
14、一个英文单引号关键字和注释内容之间要加一个空格。可以用一个英文单引号“”来代替来代替Rem关键字。关键字。2. 如果在其他语句行后面使用如果在其他语句行后面使用Rem关键字,必需用冒号关键字,必需用冒号(:)与语句隔开。若用英文单引号与语句隔开。若用英文单引号“”,则在其他语句行后面不必加冒号,则在其他语句行后面不必加冒号(:)。例如:例如:Const PI=3.1415925 符号常量符号常量PIS=PI*r*r : Rem计算圆的面积计算圆的面积第21页/共62页第二十二页,编辑于星期日:五点 五十六分。tyx图1-3-8 两 个 数 交 换过 程例例:已知两个数已知两个数x和和y,比较它
15、们的大小,比较它们的大小, 使得使得x大于大于y. If xy Then t=x : x=y: y=t End If 或或 If xY Then Print XElse Print YEnd If也可以写成如下的单行形式:也可以写成如下的单行形式: IF XY Then Print X Else Print Y 双分支选择结构执行过程双分支选择结构执行过程 第23页/共62页第二十四页,编辑于星期日:五点 五十六分。 例:输入一学生成绩,评定其等级。方法是:例:输入一学生成绩,评定其等级。方法是:90100分为分为“优秀优秀”,8089分为分为“良好良好”,7079分为分为“中等中等”,606
16、9分为分为“及格及格”,60分以为分以为“不合格不合格”执行过程第24页/共62页第二十五页,编辑于星期日:五点 五十六分。使用使用IF语句实现的程序段如下:语句实现的程序段如下:If x=90 thenPrint 优秀优秀ElseIf x=80 ThenPrint 良好良好ElseIf x=70 ThenPrint 中等中等ElseIf x=60 ThenPrint 及格及格ElsePrint 不及格不及格End If第25页/共62页第二十六页,编辑于星期日:五点 五十六分。数值型或字符串表达式第26页/共62页第二十七页,编辑于星期日:五点 五十六分。将例将例6.3 使用使用select
17、 case.语句来实现的程序段如下:语句来实现的程序段如下:Select Case x Case 90 to 100 Print 优秀优秀 Case 80 to 89 Print 良好良好 Case 70 to 79 Print 中等中等 Case 60 to 69 Print 及格及格 Case Else Print 不及格不及格End Select第27页/共62页第二十八页,编辑于星期日:五点 五十六分。补充例题:补充例题:设计一个由计算机来当小学低年级学生算术老师的设计一个由计算机来当小学低年级学生算术老师的VB应用程序,要求给出一系列的两个应用程序,要求给出一系列的两个110数的四则
18、运算的算术题,学生输入该题的答案,计算机根据学生的答案判断正确与否,并给出成绩,单击结束命令按钮,退出应用程序。数的四则运算的算术题,学生输入该题的答案,计算机根据学生的答案判断正确与否,并给出成绩,单击结束命令按钮,退出应用程序。 分析分析:产生产生110操作数,可通过操作数,可通过Int(10* Rnd + 1) 实现实现 第28页/共62页第二十九页,编辑于星期日:五点 五十六分。6.3.3 选择结构的嵌套选择结构的嵌套 在在IF语句的语句的Then分支和分支和Else分支中可以完整地嵌套另一分支中可以完整地嵌套另一IF语句或语句或Select Case语句,同样语句,同样Select
19、Case语句每一个语句每一个Case分支中都可嵌套另一分支中都可嵌套另一IF语句或另一语句或另一Select Case语句。下面是两种正确的嵌套形式:语句。下面是两种正确的嵌套形式:(1)IF Then . if Then Else . End If . Else . IF Then . Else . End If . End IF(2)IF Then . Select Case Case IF Then Else . End If Case. . End Select .End IF第29页/共62页第三十页,编辑于星期日:五点 五十六分。注意:注意: 只要在一个分支内嵌套,不出现交叉,满足
20、结构规则,其嵌套的形式将有很多种,嵌套层次也可以任意多。只要在一个分支内嵌套,不出现交叉,满足结构规则,其嵌套的形式将有很多种,嵌套层次也可以任意多。 对于多层对于多层IF嵌套结构中,要特别注意嵌套结构中,要特别注意IF与与Else的配对关系,一个的配对关系,一个Else必须与必须与IF配结,配对的原则是:在写含有多层嵌套的程序时,建议使用缩进对齐方式,这样容易阅读和维护。配结,配对的原则是:在写含有多层嵌套的程序时,建议使用缩进对齐方式,这样容易阅读和维护。第30页/共62页第三十一页,编辑于星期日:五点 五十六分。6.4 6.4 循环结构循环结构1. For循环语句循环语句 (一般用于循环
21、次数已知一般用于循环次数已知)形式形式 For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 语句块语句块Exit For 语句块语句块 Next 循环变量循环变量 循环变量在终值内 图 1-3-13 For 循环语句 语句块 Exit For 语句块 循环变量加步长 T F 循 环 变 量 得 初值 循环体循环体 0 初值初值终值终值 =1 时时,可省略可省略终值终值=0 死循环死循环 步长步长第31页/共62页第三十二页,编辑于星期日:五点 五十六分。循环次数循环次数) 1(步长初值终值Int例例: For I=2 To 13 Step 3 Print I , Next I
22、 Print “I=“, I 4) 1(3213Int循环执行次数循环执行次数 输出输出I的值分别为的值分别为: 2 5 8 11 出了循环输出为出了循环输出为: I=14第32页/共62页第三十三页,编辑于星期日:五点 五十六分。例例6.5 编程计算:编程计算:S=1+2+3+100Dim S%, I%S=0 累加前变量累加前变量S为为0For I=1 to 100 S=S+INext IPrint S=,S 当当N=100N=N+1打印打印SS=0,N=1S=S+N例例4-5的算法流程图的算法流程图第33页/共62页第三十四页,编辑于星期日:五点 五十六分。形式形式1:(当型循环):(当型
23、循环) Do While|Until 语句块语句块 Exit Do 语句块语句块 Loop 条 件 F T F T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 表 达 式 列 表 1 图 1 -3 -1 6 D o L o o p W h ile D o W h ile L o o p执 行 过 程 6.4.2 DoLoop循环语句循环语句 第34页/共62页第三十五页,编辑于星期日:五点 五十六分。 形式形式2:(直到循环)直到循环)Do 语句块语句块 Exit Do 语句块语句块Loop While|Until 表 达 式 列 表 1 F T
24、 F T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 条 件 D o L o o p W h ile的 执 行 过 程 图 1 -3 -1 5 D o W h ile L o o p 第35页/共62页第三十六页,编辑于星期日:五点 五十六分。条 件语句块语句块TFExit Do条 件语句块语句块TFExit Do Do UntilLoop执行过程执行过程 DoLoop Until执行过程执行过程 第36页/共62页第三十七页,编辑于星期日:五点 五十六分。说明:说明:(1 1)当使用)当使用WhileWhile 构成循环时,当条件为构成循环时,
25、当条件为“真真” 则反复执行循环体,当条件为则反复执行循环体,当条件为“假假”,则退出循环。,则退出循环。(2)当使用)当使用Until 构成循环时,当条件为构成循环时,当条件为“假假”,则反复执行循环体,直到条件成立,即为则反复执行循环体,直到条件成立,即为“真真”时,时, 则退出循环。则退出循环。(3 3)在循环体内一般应有一个专门用来改变条件表达式中)在循环体内一般应有一个专门用来改变条件表达式中 变量的语句,以使随着循环的执行,条件趋于不成立变量的语句,以使随着循环的执行,条件趋于不成立 (或成立),最后达到退出循环。(或成立),最后达到退出循环。(4)语句)语句Exit Do的作用是
26、退出它所在的循环结构,它只能的作用是退出它所在的循环结构,它只能 用在用在DO/Loop结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。 第37页/共62页第三十八页,编辑于星期日:五点 五十六分。6.4.3 WhileWend语句语句使用格式如下:使用格式如下:While Wend 说明:说明:该语句的功能与该语句的功能与Do While .Loop实现的循环完全相同。实现的循环完全相同。例:用例:用doLoop第38页/共62页第三十九页,编辑于星期日:五点 五十
27、六分。例例6.7 求两个整数的最大公约数、最小公倍数求两个整数的最大公约数、最小公倍数Dim n%,m%,nm%,r%m=Val(InputBox(m=)n=Val(InputBox(n=)nm=n*mIf mn Then t=m: m=n: n=t r=m mod n Do While (r 0) m=n n=r r= m mod n LoopPrint 最大公约数最大公约数=, n Print 最小公倍数最小公倍数=, nm/n 算法使用转碾除法,流程图如右,实现的程序代码如下:算法使用转碾除法,流程图如右,实现的程序代码如下:第39页/共62页第四十页,编辑于星期日:五点 五十六分。 6
28、.4.4 循环的嵌套循环的嵌套多重循环结构多重循环结构 如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。 上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:第40页/共62页第四十一页,编辑于星期日:五点 五十六分。(1)For I=. . For J=. . Next J
29、 . Next I(2)For I=. . Do While/Until . . Loop . Next I(3)Do While. . For J=. . Next J . Loop(4)Do While/Until. . Do While/Until . . Loop . Loop第41页/共62页第四十二页,编辑于星期日:五点 五十六分。例如:例如:打印九九乘法表打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i & & j & = & i * j Picture1.Print Tab(j - 1) * 9 + 1)
30、; se; Next j Next i第42页/共62页第四十三页,编辑于星期日:五点 五十六分。对于循环的嵌套,要注意以下事项:对于循环的嵌套,要注意以下事项:(1) 内循环变量与外循环变量不能同名;内循环变量与外循环变量不能同名;(2) 外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉; (3) 不能从循环体外转向循环体内,也不能从外循环转向内循环不能从循环体外转向循环体内,也不能从外循环转向内循环. 正正 确确错错 误误 For ii =1 To 10 For jj=1 To 20 Next ii Next jj For ii =1 To 10 For ii=1 T
31、o 20 Next ii Next ii For ii =1 To 10 For jj=1 To 20 Next jj Next ii For ii =1 To 10 Next ii For ii =1 To 10 Next ii 第43页/共62页第四十四页,编辑于星期日:五点 五十六分。6.4.5 几种循环语句比较几种循环语句比较 For.toNextDo while/until.Loopdo.Loop While/until.循环类型当型循环当型循环直到循环循环控制条件循环变量大于或小于终值条件成立/不成立执行循环条件成立/不成立执行循环循环变量初值在 FOR 语句行中在 DO 之前在
32、DO 之前使循环结束For 语句中无需专门语句必须用专门语句必须使用专门语句使用场合循环次数容易确定循环/结束控制条件易给出循环/结束控制条件易给出第44页/共62页第四十五页,编辑于星期日:五点 五十六分。6.4.6 循环结构与选择结构的嵌套循环结构与选择结构的嵌套 在循环结构中可以完整嵌套选择结构即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构不允许出现在两个或两个以上的分支内。在循环结构中可以完整嵌套选择结构即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构不
33、允许出现在两个或两个以上的分支内。 第45页/共62页第四十六页,编辑于星期日:五点 五十六分。(1)For I= IF Then End IF Next I(6) IF Then For I= End IF Next I(5)Select Case For I= Case Case Next I End Select(3)For I= IF Then Next I End IF(2)IF Then For I= Next I End IF0(4)For I= Select Case Case Case End Select Next I第46页/共62页第四十七页,编辑于星期日:五点 五十六
34、分。6.5 6.5 其它控制语句其它控制语句 6.5.1 Goto 语句语句 形式形式: Go To 标号标号|行号行号 作用是无条件地转移到标号或行号指定的那行语句作用是无条件地转移到标号或行号指定的那行语句. 标号是一个字符序列标号是一个字符序列,行号是一个数字序列。行号是一个数字序列。 例例 求求100以内的素数以内的素数 判别某数判别某数m是否为素数最简单的方法是是否为素数最简单的方法是: 对于对于m 从从i=2,3,m-1判别判别m能否被能否被i整除,只要有一个能整除整除,只要有一个能整除 ,m不是素数,否则不是素数,否则m是素数。是素数。 For m = 2 To 100 For
35、i = 2 To m - 1 If (m Mod i) = 0 Then GoTo NotNextM Next i Print m NotNextM: Next m第47页/共62页第四十八页,编辑于星期日:五点 五十六分。6.5.2 Exit 语句语句 Exit 语句用于退出语句用于退出 Do.Loop、For.Next、Function或或Sub代码块。代码块。 对应的使用格式为:对应的使用格式为:Exit Do、Exit For、Exit Function、Exit Sub。分别表示退出。分别表示退出DO循环、循环、For循环、函数过程、子过程。循环、函数过程、子过程。例如:例如: 下面
36、的例子是使用下面的例子是使用 Exit 语句退出语句退出 For.Next 循环、循环、Do.Loop 循环及子过程。循环及子过程。第48页/共62页第四十九页,编辑于星期日:五点 五十六分。Private Sub Form_Click()Dim I%, Num% Do 建立无穷循环。建立无穷循环。 For I = 1 To 100 循环循环 100 次。次。 Num = Int(Rnd * 100) 生成一个生成一个099的随机数。的随机数。 Select Case Num Case 10: Exit For 退出退出 For.Next 循环。循环。 Case 50: Exit Do 退出退
37、出 Do.Loop 循环。循环。 Case 64: Exit Sub 退出子过程。退出子过程。 End Select Next I LoopEnd Sub第49页/共62页第五十页,编辑于星期日:五点 五十六分。6.5.3 End 语句语句 形式:形式: End 功能:结束一个程序的运行。功能:结束一个程序的运行。 在在Visual Basic中还有多种形式的中还有多种形式的End语句,用于结束一个程序块或过程。语句,用于结束一个程序块或过程。 其形式有:其形式有: End If End Select End Type End With End Sub End Function等等它们与对应的
38、语句配对使用。它们与对应的语句配对使用。 第50页/共62页第五十一页,编辑于星期日:五点 五十六分。6.5.4 暂停语句暂停语句 Stop语句用来暂停程序的执行,相当于在事件代码中设置断点。语句用来暂停程序的执行,相当于在事件代码中设置断点。语法格式为:语法格式为: Stop说明:说明:1. Stop语句的主要作用是把解释程序置为中断语句的主要作用是把解释程序置为中断(Break)模式,以便对程序进行检查和调试。可以在程序的任何地方放置模式,以便对程序进行检查和调试。可以在程序的任何地方放置Stop语句,当执行语句,当执行Stop语句时,系统将自动打开立即窗口。语句时,系统将自动打开立即窗口
39、。2. 与与End语句不同。语句不同。 第51页/共62页第五十二页,编辑于星期日:五点 五十六分。6.5.5 With.End With 语句语句 形式:形式: With 对象名对象名 语句块语句块 End With 说明:说明:With 语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。 例如,要改变一个对象的多个例如,要改变一个对象的多个属性属性,可以在可以在 With 控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使用控制结构中加上属性的赋值语句,这时候
40、只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使用 With 语句来给同一个对象的几个属性赋值。语句来给同一个对象的几个属性赋值。第52页/共62页第五十三页,编辑于星期日:五点 五十六分。例如,需要对同一对象设置几个属性。途径之一是使用多条语句。例如,需要对同一对象设置几个属性。途径之一是使用多条语句。Private Sub Form_Load()Command1.Caption = 退出退出(E&xit)Command1.Top = 500Command1.Left = 4500Command1.Enabled = TrueEnd Sub使用使用With.E
41、nd With 语句,上面程序的代码如下。语句,上面程序的代码如下。Private Sub Form_Load()With Command1.Caption = OK.Top = 500.Left = 4500.Enabled = TrueEnd WithEnd Sub 第53页/共62页第五十四页,编辑于星期日:五点 五十六分。6.6 应用程序举例应用程序举例.1 素数与哥德巴赫猜想素数与哥德巴赫猜想 判断一个给定的整数是否为素数。判断一个给定的整数是否为素数。 算法思路:素数指除了能被算法思路:素数指除了能被1和自身外,不能被其他整数整除的自然数。判断整数和自身外,不能被其他整数整除的自然
42、数。判断整数N是不是素数的基本方法是:将是不是素数的基本方法是:将N分别除以分别除以2,3,N-1,若都不能整除,则,若都不能整除,则N为素数。因为为素数。因为N=Sqr(N)*Sqr(N),所以,当,所以,当N能被大于等于能被大于等于Sqr(N)的整数整除时,一定存在一个小于等于的整数整除时,一定存在一个小于等于Sqr(N)的整数,使的整数,使N能被它整除,因此只要判断能被它整除,因此只要判断N能否被能否被2,3,Sqr(N)整除即可。整除即可。 算法流程图如下:算法流程图如下:第54页/共62页第五十五页,编辑于星期日:五点 五十六分。Dim N %, I%, K%N = Val(Inpu
43、tBox(N=?)K= Int(Sqr(N)For I = 2 To K If N Mod I = 0 Then Exit ForNext IIf IK Then Print N; 是素数是素数Else Print N; 不是素数不是素数End If 第55页/共62页第五十六页,编辑于星期日:五点 五十六分。验证哥德巴赫猜想验证哥德巴赫猜想:一个大于等于:一个大于等于6的偶数可以表示为两个素数之和。例如:的偶数可以表示为两个素数之和。例如: 6=3+3 8=3+5 10= 3+7 算法设计:算法设计:设设N为大于等于为大于等于6的任一偶数,将其分解为的任一偶数,将其分解为N1和和N2两个数,
44、使用两个数,使用N1+N2=N,分别判断,分别判断N1和和N2是否为素数,若都是,则为一组解。若是否为素数,若都是,则为一组解。若N1不是素数,就不必再检查不是素数,就不必再检查N2是否素数。先从是否素数。先从N1=3开始,直到开始,直到N1=N/2为止。算法流程图如图为止。算法流程图如图4-29所示。将程序代码写到窗体的单击事件中。所示。将程序代码写到窗体的单击事件中。实现上面算法的程序代码如下:实现上面算法的程序代码如下:第56页/共62页第五十七页,编辑于星期日:五点 五十六分。Private Sub Form_Click() Dim N%, N1%, N2%, I%, K1%, K2%
45、 N=Val(InputBox(输入大于输入大于6的偶数的偶数) For N1 = 3 To N 2 Step 2 K1 = Int(Sqr(N1) For I = 2 To K1 判断判断N1是否是素数是否是素数 If N1 Mod I = 0 Then Exit For Next I If I K1 Then 如果如果N1为素数,将为素数,将N分解为分解为N1+N2 N2 = N - N1 K2 = Int(Sqr(N2) For I = 2 To K2 判断判断N2是否是素数是否是素数 If N2 Mod I = 0 Then Exit For Next I If I K2 Then 如果如果N2也为素数,则打印输出也为素数,则打印输出 Print N & = & N1 & + & N2 End If End If Next N1End S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 助老员工作制度
- 体艺科工作制度
- 上模工工作制度
- 体制内工作制度
- 冷链室工作制度
- 办税工作制度
- 书画工作制度
- 入职工作制度
- 七天工作制度
- 保交房工作制度
- 四川省党校在职研究生招生考试真题(附答案)
- 自贡市沿滩区邓太片区污水处理厂及配套管网工程项目环评报告
- DB44T 848-2010 工业锅炉水处理剂 腐植酸盐的测定
- 基于人工智能的止痛设备智能优化研究-洞察阐释
- 肿瘤相关性肾病
- 短期雇佣合同协议书
- GB 14930.2-2025食品安全国家标准消毒剂
- 基础医学概论-抗感染药物教学课件
- 湖北省技能高考(护理)专业知识考试题(附答案)
- 2025年陕西榆能化学材料有限公司招聘笔试参考题库含答案解析
- 电力系统基础知识培训课件
评论
0/150
提交评论