第4章--三种控制结构程序设计

上传人:油** 文档编号:240716105 上传时间:2024-05-02 格式:PPT 页数:76 大小:1.33MB
返回 下载 相关 举报
第4章--三种控制结构程序设计_第1页
第1页 / 共76页
第4章--三种控制结构程序设计_第2页
第2页 / 共76页
第4章--三种控制结构程序设计_第3页
第3页 / 共76页
点击查看更多>>
资源描述
第第4 4章章-三种控制结构程三种控制结构程序设计序设计浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.1算法及算法的表示算法及算法的表示4.1.1算法概述算法概述什么是算法:什么是算法:广义地讲:广义地讲:算法是为完成一项任务所应当遵循的算法是为完成一项任务所应当遵循的一步一一步一步的规则的、精确的、无歧义的描述,步的规则的、精确的、无歧义的描述,它的总步数是有限的。它的总步数是有限的。狭义地讲:狭义地讲:算法是解决一个问题采取的方法和步骤的描述。算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:下面通过两个简单的例子加以说明:浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 1)输入输入A、B、C。2)A与与B中大的一个放入中大的一个放入MAX中。中。3)把把C与与MAX中大的一个放入中大的一个放入MAX中。中。4)输出输出MAX,MAX即为最大数。即为最大数。例例4.1输入三个数,然后输出其中最大的数。输入三个数,然后输出其中最大的数。将三个数依次输入到变量、将三个数依次输入到变量、B、C中,设变量中,设变量MAX存放存放最大数。其算法如下:最大数。其算法如下:4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例例4.2输入输入10个数,打印输出其中最大的数。个数,打印输出其中最大的数。算法设计如下:算法设计如下:(1)输输入入1个个数数,存存入入变变量量A中中,将将记记录录数数据据个个数数的的变变量量N赋赋值为值为1,即,即N=1(2)将)将A存入表示最大值的变量存入表示最大值的变量Max中,即中,即Max=A(3)再再输输入入一一个个值值给给A,如如果果AMax则则Max=A,否否则则Max不变不变(4)让记录数据个数的变量增加)让记录数据个数的变量增加1,即,即N=N+1(5)判判断断N是是否否小小于于10,若若成成立立则则转转到到第第(3)步步执执行行,否否则转到第(则转到第(6)步)步(6)打印输出)打印输出max4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.1.2算法的特性算法的特性1有穷性有穷性2确定性确定性3有有0个或多个输入个或多个输入4有一个或多个输出有一个或多个输出5有效性有效性4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.1.3算法的表示算法的表示一、自然语言与伪代码表示算法一、自然语言与伪代码表示算法自然语言:自然语言:就是指人们日常使用的语言,可以是汉语、英就是指人们日常使用的语言,可以是汉语、英语或其它语言。语或其它语言。伪代码:伪代码:是用介于自然语言和计算机语言之间的文字和符是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。号(包括数学符号)来描述算法。4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例如:例例如:例4.1可用如下的伪代码表示可用如下的伪代码表示Begin(算法开始)(算法开始)输入输入 A,B,C IF AB 则则 AMax 否则否则 BMax IF CMax 则则 CMaxPrint MaxEnd(算法结束算法结束)4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 二二用用传统传统流程图表示算法流程图表示算法处理框起止框I/O框判断框流程线连接点1、传统流程图中的基本符号、传统流程图中的基本符号4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 2、三种基本结构的表示、三种基本结构的表示(1)顺序结构)顺序结构条件语句1语句2YN语句1语句2(2)选择结构)选择结构4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业(3)循环结构)循环结构a)当型循环当型循环b)直到循环直到循环条件语句组YN(b)条件(a)YN语句组4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 三种基本结构的特点:三种基本结构的特点:(1)只有一个入口)只有一个入口(2)只有一个出口)只有一个出口(3)不存在死语句)不存在死语句(4)不存在死循环)不存在死循环例:例:例例4.2输入输入10个数,打印输出其中的最大的数的流程图个数,打印输出其中的最大的数的流程图4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 从从10个数中选出最大的数个数中选出最大的数的算法流程图的算法流程图NMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.1.4用用NS流程图表示算法流程图表示算法将全部算法写在一个矩形框内,在矩形内还可包含其将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框它从属于它的框三种基本结构的三种基本结构的NS图表示:图表示:语句A语句B语句A语句B条件YN1、顺序结构、顺序结构2、选择结构、选择结构4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业(3)循环结构)循环结构a)当型循环当型循环b)直到循环直到循环例:例:画出从画出从10个数中选出最大的数的个数中选出最大的数的NS流程图流程图语句组当条件成立(a)语句组直到当条件成立(b)4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 传统流程图NMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY输入A当NMaxYN输入A4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 PrivateSubForm_Click()Dima%,max%,i%a=Val(InputBox(A=?)max=aFori=1To10a=Val(InputBox(A=?)IfamaxThenmax=aNextiPrintMax=;maxEndSub下面是例下面是例4.2的计算机的计算机程序,即为用计算机语言表示算法:程序,即为用计算机语言表示算法:4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.1.6结构化程序设计方法(补充)结构化程序设计方法(补充)(一)、用计算机解决问题的过程(一)、用计算机解决问题的过程提出、分提出、分析问题析问题确定算确定算法模型法模型设计设计算法算法编写编写程序程序调试调试程序程序分析输分析输出结果出结果正确正确合理合理结束结束不正确不正确4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业(二)、结构化程序设计思想(二)、结构化程序设计思想自顶向下、逐步细化、模块化自顶向下、逐步细化、模块化自顶向下:自顶向下:先从全局、整体设计先从全局、整体设计逐步细化:逐步细化:将一个问题分解成几个较小的问题解决将一个问题分解成几个较小的问题解决模块化:模块化:将一个大任务分解成若干个较小的部分,将一个大任务分解成若干个较小的部分,每每个部分承担一定功能,称为个部分承担一定功能,称为“功能模块功能模块”例:给例:给100个整数,打印输出其中的素数个整数,打印输出其中的素数4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 S1NS流程图流程图输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中中不等于不等于0的数的数让让x1,x2,x100中的非素变为中的非素变为0S3S2输入输入xi当当i=100i=i+1i=1S1细化细化xi0当当i=100i=i+1i=1YN打印打印xiS3细化细化4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 S1NS流程图流程图输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中中不等于不等于0的数的数让让x1,x100中的中的非素变为非素变为0S3S2S2细化细化判断判断xi是否是素数,是否是素数,若不是则将若不是则将xi=0当当i=100i=i+1i=1S21r=0rxi/2S21细化细化4.1算法及算法的表示算法及算法的表示浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 输入输入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浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.2顺序结构顺序结构4.2.1 4.2.1 赋值语句赋值语句 形式形式:变量名表达式变量名表达式对象对象.属性表达式属性表达式功能:功能:将表达式的值赋值给变量名或指定对象的属性。将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值一般用于给变量赋值或对控件设定属性值.例:例:sRate!=0.1Text1.Text欢迎使用欢迎使用VisualBasic6.0”说明:说明:1执行过程:先求表达式的值,然后将值赋值给左边的变量。执行过程:先求表达式的值,然后将值赋值给左边的变量。2右边的表达式可以是变量、常量、函数调用等特殊的表达式。右边的表达式可以是变量、常量、函数调用等特殊的表达式。3不要将不要将“”理解为数学上的等号:理解为数学上的等号:A=A+1是表示将是表示将A单元的值加后以放回到单元的值加后以放回到A单元。单元。浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 执行过程如右图执行过程如右图4赋值符号赋值符号“=”左边一定只能是变量名或对象的属性引左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:下面的赋值语句都是错的:5=X左边是常量。左边是常量。Abs(X)=20左边是函数调用,即是表达式。左边是函数调用,即是表达式。5.赋值符号赋值符号“=”两边的数据类型一般要求应一致。两边的数据类型一般要求应一致。4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.2.2数据的输出数据的输出Print方法方法Print方法的一般格式:方法的一般格式:对象名对象名.Print,|;说明:说明:对象名对象名.可以是窗体名、图片框名,也可是立即窗口可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。若省略对象,则表示在当前窗体上输出。用用Print方法在图片框和立即窗口对象中输出与在窗体方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。对象中输出完全相同。4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.2.3用户交互函数和过程用户交互函数和过程 1.InputBox函数函数变量名变量名=InputBox$(,)其中其中:提示提示提示信息提示信息,标题标题标题区显示标题区显示,缺省缺省输入区缺省值。输入区缺省值。例如,要在屏幕上显示如下的对话框例如,要在屏幕上显示如下的对话框:4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例如:有下列语句如下例如:有下列语句如下:Dimx%x=Val(InputBox(“请输入一个数请输入一个数”,“输入框输入框”,100)语句执行后打开如下对话框。语句执行后打开如下对话框。缺省值标题提示4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 2.MsgBox函数和函数和MsgBox过程过程函数形式函数形式:变量变量%=MsgBox(提示提示,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题,标题)过程形式过程形式:MsgBox提示提示,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题标题图标标题提示信息命令按钮4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 说明:说明:“标题标题”和和“提示提示”与与InputBox函数中对应的参数相同;函数中对应的参数相同;“按钮图标按钮图标+缺省按钮缺省按钮+模式模式”是整型表达式,决定是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式信息框按钮数目、出现在信息框上的图标类型及操作模式(见表见表4.1)若程序中需要返回值,则使用函数,否则可调用过程。若程序中需要返回值,则使用函数,否则可调用过程。4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 按钮及图标值如下按钮及图标值如下:根据用户所选按钮,函数返根据用户所选按钮,函数返回回1717的整数值,其含义的整数值,其含义如下表如下表:(表(表4.2)4.2)4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.2.4注释语句注释语句其语法格式为:其语法格式为:Rem或或说明:说明:1.指指要要包包括括的的任任何何注注释释文文本本。在在Rem关关键键字字和和注注释释内内容容之之间间要要加加一一个个空空格格。可可以以用用一一个个英英文文单单引引号号“”来来代替代替Rem关键字。关键字。2.如如果果在在其其他他语语句句行行后后面面使使用用Rem关关键键字字,必必需需用用冒冒号号(:)与与语语句句隔隔开开。若若用用英英文文单单引引号号“”,则则在在其其他他语语句句行行后后面面不必加冒号不必加冒号(:)。例如:例如:Const PI=3.1415925 符号常量符号常量PIS=PI*r*r :Rem计算圆的面积计算圆的面积4.2顺序结构顺序结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 1.IfThen语句语句(单分支结构单分支结构)IfThen语句块语句块EndIf或或IfThen例例:已知两个数已知两个数x和和y,比较它们的大小,比较它们的大小,使得使得x大于大于y.IfxyThent=x:x=y:y=tEndIf或或IfxyThent=x:x=y:y=t4.2选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 2.IfThenElse语句语句(双分支结构双分支结构)IfThenElseEndIfIfThenElse双分支选择结构执行过程双分支选择结构执行过程4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例如:输出例如:输出x,y两个中值较大的一个值。两个中值较大的一个值。IF XY Then Print XElse Print YEnd If也可以写成如下的单行形式:也可以写成如下的单行形式:IF XY Then Print X Else Print Y4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 3.IfThenElseIf语句语句(多分支结构多分支结构)形式形式:IfThenElseIfThenElse语句块语句块n+1EndIf执行过程4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 使用使用IF语句实现的程序段如下:语句实现的程序段如下:If x=90 then Print 优秀优秀ElseIf x=80 Then Print 良好良好 ElseIf x=70 Then Print 中等中等 ElseIf x=60 Then Print 及格及格 Else Print 不及格不及格End If例例4.4:输入一学生成绩,评定其等级。方法是:输入一学生成绩,评定其等级。方法是:90100分分为为“优秀优秀”,8089分为分为“良好良好”,7079分为分为“中等中等”,6069分为分为“及格及格”,60分以为分以为“不合格不合格”4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.3.2SelectCase语句(情况语句)语句(情况语句)形式:形式:SelectCase变量或表达式变量或表达式Case表达式列表表达式列表1语句块语句块1Case表达式列表表达式列表2语句块语句块2CaseElse语句块语句块n+1EndSelect数值型或字符串表达式4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 说明:说明:与:与同类型的同类型的下面四种形式之一:下面四种形式之一:表达式表达式A+5一组枚举表达式一组枚举表达式(用逗号分隔用逗号分隔)2,4,6,8表达式表达式1To表达式表达式260to100Is关系运算符表达式关系运算符表达式Is604.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例如:将例例如:将例4.3使用使用selectcase.语句来实现的程序段如下:语句来实现的程序段如下: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 Select4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.3.3选择结构的嵌套选择结构的嵌套下面是两种正确的嵌套形式:(1)IFThen.IFThenElse.EndIf.Else.IFThen.Else.EndIf.EndIF(2)IFThen.SelectCaseCaseIFThenElse.EndIfCase.EndSelect.EndIF4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 注注意意:只只要要在在一一个个分分支支内内嵌嵌套套,不不出出现现交交叉叉,满满足足结结构构规规则则,其其嵌嵌套套的的形形式式将将有有很很多多种种,嵌嵌套套层层次次也也可可以以任任意意多多。对对于于多多层层IF嵌嵌套套结结构构中中,要要特特别别注注意意IF与与Else的的配配对对关关系系,一一个个Else必必须须与与IF配配结结,配配对对的的原原则则是是:在在写写含含有有多多层层嵌嵌套套的的程程序序时,建议使用缩进对齐方式,这样容易阅读和维护。时,建议使用缩进对齐方式,这样容易阅读和维护。例例4.5 设计一个用户身份验证程序,运行界面如下图所示。4.3选择结构选择结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.4 4.4 循循环结构构1.For循环语句循环语句(一般用于循环次数已知一般用于循环次数已知)形式:形式:For循环变量初值循环变量初值to终值终值Step步长步长语句块语句块ExitFor语句块语句块Next循环变量循环变量循环体0初值初值终值终值=1时时,可省略可省略终值终值=0死循环死循环步长步长4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 循环次数循环次数例例:ForI=2To13Step3PrintI,NextIPrint“I=“,I循环执行次数循环执行次数输出输出I的值分别为的值分别为:25811出了循环输出为出了循环输出为:I=144.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例例4.6编程计算:编程计算:S=1+2+3+100Dim S%,I%S=0 累加前变量累加前变量S为为0For I=1 to 100 S=S+INext IPrintS=,S当N=100N=N+1打印SS=0,N=1S=S+N例例4-5的算法流程图的算法流程图4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 形式形式1:(当型循环):(当型循环)DoWhile|Until语句块语句块ExitDo语句块语句块Loop4.4.2DoLoop循环语句循环语句4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 形式形式2:(直到循环)直到循环)Do语句块语句块ExitDo语句块语句块LoopWhile|Until4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 条 件语句块语句块TFExit Do条 件语句块语句块TFExit DoDoUntilLoop执行过程执行过程DoLoopUntil执行过程执行过程4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 说明:说明:(1 1)当当使使用用WhileWhile 构构成成循循环环时时,当当条条件件为为“真真”,则则反反复执行循环体,当条件为复执行循环体,当条件为“假假”,则退出循环。,则退出循环。(2)当当使使用用Until构构成成循循环环时时,当当条条件件为为“假假”,则则反反复执行循环体,直到条件成立,即为复执行循环体,直到条件成立,即为“真真”时,则退出循环。时,则退出循环。(3 3)在在循循环环体体内内一一般般应应有有一一个个专专门门用用来来改改变变条条件件表表达达式式中中变变量量的的语语句句,以以使使随随着着循循环环的的执执行行,条条件件趋趋于于不不成成立立(或或成成立立),最后达到退出循环。,最后达到退出循环。(4)语句)语句ExitDo的作用是退出它所在的循环结构,它只能的作用是退出它所在的循环结构,它只能用在用在DO/Loop结构中,并且常常是同选择结构一起出现在循环结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。结构中,用来实现当满足某一条件时提前退出循环。4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.4.3WhileWend语句语句使用格式如下:使用格式如下:WhileWend说说明明:该该语语句句的的功功能能与与DoWhile.Loop实实现现的的循环完全相同。循环完全相同。例:用例:用doLoop语句改写前面的例题语句改写前面的例题4.54.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例例4.8 求两个整数的最大公约数、最小公倍数求两个整数的最大公约数、最小公倍数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算法流程图算法流程图4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.4.4循环的嵌套循环的嵌套多重循环结构多重循环结构如果在一个循环内完整地包含另一个循环结构,则称如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。嵌套一层称为二重循环,嵌套二层称为三重循环。上上面面介介绍绍的的几几种种循循环环控控制制结结构构可可以以相相互互嵌嵌套套,下下面面是是几种常见的二重嵌套形式:几种常见的二重嵌套形式:4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业(1)ForI=.ForJ=.NextJ.NextI(2)ForI=.DoWhile/Until.Loop.NextI(3)DoWhile.ForJ=.NextJ.Loop(4)DoWhile/Until.DoWhile/Until.Loop.Loop4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例如例如:打印九九乘法表打印九九乘法表.Fori=1To9Forj=1To9se=i&j&=&i*jPicture1.PrintTab(j-1)*9+1);se;NextjPicture1.PrintNexti4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 Fori=1To10Forj=1To20NextjNextiFori=1To10NextiFori=1To10Nexti对于循环的嵌套,要注意以下事项:对于循环的嵌套,要注意以下事项:(1)内循环变量与外循环变量不能同名;内循环变量与外循环变量不能同名;(2)外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉;(3)不能从循环体外转向循环体内,也不能从外循环转向内不能从循环体外转向循环体内,也不能从外循环转向内循环循环.下面是正确的嵌套下面是正确的嵌套4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 Fori=1To10Forj=1To20NextiNextjFori=1To10Fori=1To20NextiNexti下面是不正确的嵌套下面是不正确的嵌套4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 对于循环的嵌套,要注意以下事项:对于循环的嵌套,要注意以下事项:(1)内循环变量与外循环变量不能同名;内循环变量与外循环变量不能同名;(2)外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉;(3)不能从循环体外转向循环体内,也不能从外不能从循环体外转向循环体内,也不能从外循环转向内循环循环转向内循环.4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.4.5几种循环语句比较几种循环语句比较4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.4.6循环结构与选择结构的嵌套循环结构与选择结构的嵌套在循环结构中可以完整嵌套选择结构即整个选择结构在循环结构中可以完整嵌套选择结构即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构个循环结构必须完整地嵌套在一个分支内,一个循环结构不允许出现在两个或两个以上的分支内。不允许出现在两个或两个以上的分支内。4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业(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 IF(4)For I=Select Case Case Case End Select Next I4.4循环结构循环结构浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.5.1Goto语句语句形式形式:GoTo标号标号|行号行号作用是无条件地转移到标号或行号指定的那行语句作用是无条件地转移到标号或行号指定的那行语句.标号是一个字符序列标号是一个字符序列,行号是一个数字序列。行号是一个数字序列。例如:例如:Lp:gotolp4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.5.2Exit语句语句 Exit语句用于退出语句用于退出Do.Loop、For.Next、Function或或Sub代码块。代码块。对应的使用格式为:对应的使用格式为:ExitDo、ExitFor、ExitFunction、ExitSub。分别表示退出。分别表示退出DO循环、循环、For循环、函循环、函数过程、子过程。数过程、子过程。例如:例如:下面的例子是使用下面的例子是使用Exit语句退出语句退出For.Next循环、循环、Do.Loop循环及子过程。循环及子过程。4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 Private Sub Form_Click()Dim I%,Num%Do While True 建立无穷循环。建立无穷循环。For I=1 To 100 循环循环 100 次。次。Num=Int(Rnd*100)生成一个生成一个099的随机数。的随机数。Select Case Num Case 10:Exit For 退出退出 For.Next 循环。循环。Case 50:Exit Do 退出退出 Do.Loop 循环。循环。Case 64:Exit Sub 退出子过程。退出子过程。End Select Next I LoopEnd Sub4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.5.3End语句语句形式:形式:End功能:结束一个程序的运行。功能:结束一个程序的运行。在在VisualBasic中中还还有有多多种种形形式式的的End语语句句,用用于于结结束束一个程序块或过程。一个程序块或过程。其形式有:其形式有:EndIfEndSelectEndTypeEndWithEndSubEndFunction等,它们与对应的语句配对使用。等,它们与对应的语句配对使用。4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.5.4暂停语句暂停语句Stop语句用来暂停程序的执行,相当于在事件代码中设置语句用来暂停程序的执行,相当于在事件代码中设置断点。断点。语法格式为:语法格式为:Stop说明:说明:1.Stop语语句句的的主主要要作作用用是是把把解解释释程程序序置置为为中中断断(Break)模模式式,以以便便对对程程序序进进行行检检查查和和调调试试。可可以以在在程程序序的的任任何何地地方方放放置置Stop语句,当执行语句,当执行Stop语句时,系统将自动打开立即窗口。语句时,系统将自动打开立即窗口。2.与与End语句不同。语句不同。4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.5.5With.EndWith语句语句形式:形式:With对象名对象名语句块语句块EndWith说明:说明:With语句可以对某个对象执行一系列的语句,而语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。不用重复指出对象的名称。例如,要改变一个对象的多个例如,要改变一个对象的多个属性属性,可以在可以在With控制控制结构中加上属性的赋值语句,这时候只是引用对象一次而不结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使是在每个属性赋值时都要引用它。下面的例子显示了如何使用用 With 语句来给同一个对象的几个属性赋值。语句来给同一个对象的几个属性赋值。4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例例如如,需需要要对对同同一一对对象象设设置置几几个个属属性性。途途径径之之一一是是使使用用多条语句。多条语句。Private Sub Form_Load()Command1.Caption=退出退出(E&xit)Command1.Top=500 Command1.Left=4500 Command1.Enabled=TrueEnd Sub4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 使用使用With.EndWith语句,上面程序的代码如下。语句,上面程序的代码如下。Private Sub Form_Load()With Command1 .Caption=退出退出(E&xit).Top=500 .Left=4500 .Enabled=True End WithEnd Sub 4.5 4.5 其它控制语句其它控制语句 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.6应用程序举例应用程序举例4.6.1素数与哥德巴赫猜想素数与哥德巴赫猜想例例4.10判断一个给定的整数是否为素数。判断一个给定的整数是否为素数。算算法法思思路路:素素数数指指除除了了能能被被1和和自自身身外外,不不能能被被其其他他整整数数整整除除的的自自然然数数。判判断断整整数数N是是不不是是素素数数的的基基本本方方法法是是:将将N分分别别除除以以2,3,N-1,若若都都不不能能整整除除,则则N为为素素数数。因因为为N=Sqr(N)*Sqr(N),所所以以,当当N能能被被大大于于等等于于Sqr(N)的的整整数数整整除除时时,一一定定存存在在一一个个小小于于等等于于Sqr(N)的的整整数数,使使N能能被被它它整整除除,因因此此只只要要判判断断N能能否否被被2,3,Sqr(N)整整除除即即可。可。算法流程图如下:算法流程图如下:浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 DimN%,I%,K%N=Val(InputBox(N=?)K=Int(Sqr(N)ForI=2ToKIfNModI=0ThenExitForNextIIfIKThenPrintN;是素数是素数ElsePrintN;不是素数不是素数EndIf4.6应用程序举例应用程序举例算法流程图算法流程图程序代码:程序代码:浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例例4.11编一程序验证哥德巴赫猜想:一个大于等于编一程序验证哥德巴赫猜想:一个大于等于6的偶数的偶数可以表示为两个素数之和。例如:可以表示为两个素数之和。例如:6=3+38=3+510=3+7算算法法设设计计:设设N为为大大于于等等于于6的的任任一一偶偶数数,将将其其分分解解为为N1和和N2两两个个数数,使使用用N1+N2=N,分分别别判判断断N1和和N2是是否否为为素素数数,若若都都是是,则则为为一一组组解解。若若N1不不是是素素数数,就就不不必必再再检检查查N2是是否否素素数数。先先从从N1=3开开始始,直直到到N1=N/2为为止止。算算法法流流程程图图如如图图4-29所所示示。将将程程序序代代码码写写到到窗窗体的单击事件中。体的单击事件中。实现上面算法的程序代码如下:实现上面算法的程序代码如下:4.6应用程序举例应用程序举例浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 Private Sub Form_Click()Dim N%,N1%,N2%,I%,K1%,K2%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 Sub4.6应用程序举例应用程序举例浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 4.6.2字符串处理字符串处理例例4.12统计文本框中英文单词的个数。统计文本框中英文单词的个数。算法设计算法设计(1)从从文文本本(字字符符串串)的的左左边边开开始始,取取出出一一个个字字符符;设设逻逻辑辑量量WT表表示示所所取取字字符符是是否否是是单单词词内内的的字字符符,初初值值设设为为False。(2)若若所所取取字字符符不不是是“空空格格”、“逗逗号号”、“分分号号”或或“感感叹叹号号”等等单单词词的的分分隔隔符符,再再判判断断WT是是否否为为True,若若WT不不为为True,则表示新单词的开始,让单词数,则表示新单词的开始,让单词数Nw=Nw+1;让;让WT=True。(3)若若所所取取字字符符是是“空空格格”、“逗逗号号”、“分分号号”或或“感感叹叹号号”等单词的分隔符,则表示字符不是单词内字符,让等单词的分隔符,则表示字符不是单词内字符,让WT=False。(4)再依次取下一个字符,重复()再依次取下一个字符,重复(2)()(3)步直到文本)步直到文本结束。结束。4.6应用程序举例应用程序举例浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net目录4.1 4.2 4.3 4.4 4.5 4.6 作业 例例4.13字符的加密和解密字符的加密和解密加密算法是:加密算法是:将将每每个个字字母母C加加(或或减减)一一序序数数K,即即用用它它后后的的第第K个个字字母母代替,变换式公式:代替,变换式公式:c=chr(Asc(c)+k)例例如如:设设序序数数k为为5,这这时时 A F,a f,B G当加序数后的字母超过当加序数后
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!