,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第六章 循环结构程序设计-,Use,circle structure to design a program,本章讲授程序根本结构中的最后一种循环结构及对应语句,主要内容:,(1)次数的循环语句for next,(2)当型循环语句whilewend,(3)当型/直到型循环语句do.loop,(4)嵌套循环的特点及作用.,6.1 循环的概念-,Conception of circle,引子:在日常生活的实际中,常用到“循环结构,比方:逐个处理一个班的学生成绩,数据的累加计算等.但又与顺序结构和选择结构不同.无论是顺序还是选择分支语句,它们中的每一条语句,一般只执行一次,而循环结构中,有时常要重复某几条语句.所以循环结构就是用于完成一些重复的操作.但它并不是单纯的重复执行,每次执行时,语句的参数一般都是不同的.,VB中按循环控制方式分类可分为手动循环和自动循环.前者在运行时通过反复操作控件实现某事件过程的反复执行.本章要讲述的是自动循环,它是由程序中的语句控制的,是程序执行时自动实现的循环.,根据循环的条件,又可分为,有条件循环,(当循环条件满足或不满足时才执行的循环)和,无条件循环,(无条件地执行循环).,对有条件循环,按判断循环条件的先后,又将其分为,当型循环,(当循环条件满足时执行循环)和,直到型循环,(循环到循环条件满足为止).对这两类循环,VB,提供了三种类型的循环语句:,(1),for.next,语句,(2),do.loop,语句,(3),while.wend,语句,本章将对这三种循环分别加以讨论.,6.1 循环的概念-,Conception of circle,6.2,for,next,语句-for next sentence,这种循环语句属于当型循环,它可以看作是循环次数的一种循环.对循环次数一定的问题,适合用for.next语句来实现,格式:,for=to step 步长,循环体,exit for,next 循环变量,执行过程:,说明:,(,1),for,语句,与,next,语句,必须成对出现,缺一不可,且,for,中的循环变量名必须与,next,中的循环变量名一致.,(2)循环变量是一个,简单型,(不是数组元素)的数值变量,通常用整型变量作循环变量,.,(3)初值,终值,步长均为数值表达式.结果类型可以是整型,也可以是实型,但,最终都转换为对应的循环变量类型,.,(4),步长,表示每次执行了循环体后循环变量的,增值或减值量,.,(5)循环体由一组可执行语句组成.,(6)循环次数的计算公式为:,int(,终值-初值)/步长+1,(7),next,语句中的循环变量可以省略,.,6.2,for,next,语句-for next sentence,注意:(1)for next循环属于先判条件的循环.,(2)循环变量在循环体中可以用来控制循环次数,也可以被引用,但不应被重新赋值,否那么将无法确定循环次数,更大大降低了程序的结构性.,(3)编程时应尽量用整型变量作循环变量.如果必须要用其他数值型量来控制循环次数,可以用类型变量变换的方法来处理.,(1)判素数,(2)求/2=(2*2)/(1*3)*(4*4)/(3*5)*(6*6)/(5*7).(2*n)2/(2*n-1)*(2*n+1),6.2,for,next,语句-for next sentence,Whilewend,也属于,当型循环,.但它与,fornext,不同的是:,whilewend,不是通过计算,来决定是否循环,而是直接通过判断语句中的条件表达式是否为,true,来决定是否循环.,格式:,while,wend,执行过程:,说明:,条件为,关系表达式,或,逻辑表达式,.,6.3,while,wend,语句-while wend sentence,注意,:(1),whilewend,的,条件是以关系或逻辑表达式的形式直接出现在语句中的,所以要使循环有限次地执行,必须在,while,的循环体中改变条件,.,(2)临界值问题.,eg:,实验四计算机出10条题目,程序举例,:,求两个数的最大公约数.,6.3,while,wend,语句-while wend sentence,do .loop 通过和while,until语句的配合使用,可以方便地实现“当型(while)循环和“直到型(until)循环.,格式1:Do while 格式2:Do until ,Loop Loop,格式3:Do 格式4:Do,Loop while Loop until ,注意:在循环体内要有对循环变量进行修改的语句.,程序举例:试编程实现在一个字符串中搜索某目标串出现的次数.instr(position,str1,str2,style(0/区分或1/不区分大小写),6.4,do,loop,语句-do loop sentence,Def:多重循环是指在循环体中又含有循环语句的结构.,一.多重循环的执行过程:,形象比喻:大齿轮与小齿轮的关系,二.本卷须知:,(1)多重循环不管包含的是那种循环,也不管是几重循环,内层循环必须完整地包含在外层循环中,不能交叉.,(2)多重循环的书写也应按照缩进格式.,(3)在使用goto语句时,不能从循环外转入循环体内.,(4)多重循环中,各层循环变量不能重名.,(5)在多重循环中的分支结构必须完全包含在里面,不能交叉,举例说明:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一.百钱买百鸡,问鸡翁,母,雏各几何?,6.5 多重循环-,multi-layer circle,6.6 循环退出语句及,GOTO,语句-,exit sentence&goto sentence,一.循环退出语句:,功能:,为了方便编程与程序调试,VB,为,Fornext,doloop,循环语句提供了对应的退出循环语句,exit,以,强制性地退出对应循环,执行,后继,语句.,格式,:,exit for,或,exit do,执行原理:变量的改变情况,注意:,(1)一般退出语句与条件语句结合起来使用.,(2)循环退出语句常在调试程序时使用.,(3),VB,还提供了一个语句也能用来退出循环即,GOTO,二.,goto,语句,:,功能:,将程序的流程转到指定的语句处.,格式:,goto,说明:(,1),执行此语句时,程序流程将直接转向带语句标号的语句去执行.(语句标号的定义),(2)强制性,随意性.,注意:,goto,语句的随意性不能从循环外向循环里跳转!,6.6 循环退出语句及,GOTO,语句-,exit circle sentence&goto sentence,