您好,欢迎访问三七文档
第二章程序设计ABC2.3程序的基本结构2.3程序的基本结构程序的基本结构①顺序结构:按照由上到下的顺序一行一行地执行。程序中没有分支,没有重复。②选择结构:根据不同的条件判断来决定程序执行走向的结构。程序中有分支,没有重复。③循环结构:根据条件判断,需要重复执行某一段代码的程序。程序中可能存在分支和重复。2.3程序的基本结构1、顺序结构PrivateSubcommand1_Click()DimaAsSingleDimbAsSingleDimcAsSinglea=text1.textb=text2.textc=aa=bb=ctext1.text=atext2.text=bEndSub开始输入a,bc=aa=bb=c输出a,b结束2.3程序的基本结构2、选择结构Privatesubcommand1_click()DimaassingleA=val(text1.text)Ifa=60thenPrint“合格”Elseprint“不合格”EndifEndsub开始输入aa=60输出“合格”输出“不合格”结束YN2.3程序的基本结构IF语句有:单分支选择结构,形式为If条件成立Then语句块EndIf;双分支选择结构,形式为If条件成立Then语句1Else语句2EndIf;Ifxmod2=0thenPrint“偶数”Elseprint“奇数”endif例如:ifxmod2=0thenprint“偶数”endif2.3程序的基本结构作业:2.3.1顺序结构2.3程序的基本结构多分支选择结构,形式为If条件1成立Then语句块1ElseIf条件2成立Then语句块2…[Else语句块n+1]EndIfX=t/(s*s)Ifx23thenStr=“您的体形偏胖”Elseifx19.5thenstr=“您的体形偏瘦”elsestr=“您的体形很完美”endif2.3程序的基本结构例:输入一学生成绩,评定其等级。方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以为“不合格”使用IF语句实现的程序段如下:Ifx=90thenPrint优秀ElseIfx=80ThenPrint良好ElseIfx=70ThenPrint中等ElseIfx=60ThenPrint及格ElsePrint不及格EndIf2.3程序的基本结构SelectcasexCase90to100Print“优秀”Case80to89Print“良好”Case70to79Print“中等”Case60to69Print“及格”Elseprint“不及格”Endselect当程序出现多分支选择时,用If语句比较烦琐,而使用多分支选择SelectCase语句就方便多了。SelectcasexCasex23str=“您的体形偏胖”Casex19.5str=“您的体形偏瘦”Caseelsestr=“您的体形很完美”EndselectSelectcasemonthCase1,3,5,7,8,10,12print“大月”Case2print“平月”Caseelseprint“小月”EndselectSelectcasexmod2Case0print“偶数”Case1print“奇数”Endselect语法格式为:SelectCase表达式的值Case情况1语句块1[Case情况2语句块2]……[CaseElse语句块n]EndSelect2.3程序的基本结构程序代码PrivateSubcommand1_Click()DimaAsIntegerRandomizea=Int(Rnd()*12)+1ifa=3thenLabel1.Caption=Str(a)&月份是&春季elseifa=6thenLabel1.Caption=Str(a)&“月份是”&“夏季”elseifa=9thenLabel1.Caption=Str(a)&月份是&秋季elseLabel1.Caption=Str(a)&月份是&冬季endifendSubPrivateSubcommand1_Click()DimaAsIntegerRandomizea=Int(Rnd()*12)+1SelectCaseaCase1To3Label1.Caption=Str(a)&月份是春季Case4To6Label1.Caption=Str(a)&月份是夏季Case7To9Label1.Caption=Str(a)&月份是秋季CaseElseLabel1.Caption=Str(a)&月份是冬季EndSelectendSub2.3程序的基本结构下面是两种正确的嵌套形式:(1)IF条件1Then…..IF条件2Then……Else…..EndIf….Else….IF条件3Then…..Else…..EndIf…..EndIF选择结构的嵌套(2)IF条件1Then…..SelectCase…Case……IF条件2Then……Else…..EndIf……Case….…..EndSelect….EndIF2.3程序的基本结构作业:2.3.2选择结构2.3程序的基本结构3、循环结构循环结构:根据条件判断,需要重复执行某一段代码的程序。程序中可能存在分支和重复。VB中提供了两种类型的循环语句:计数循环语句和条件型循环语句2.3程序的基本结构1.For循环语句(已知循环次数的计数型循环)语句形式:For循环变量=初值To终值[Step步长]循环体语句块Next循环变量‘相当于循环变量=循环变量+stepStep缺省则默认为1For-Next循环的执行过程是:①循环变量取初值;②循环变量与终值比较,没有超过终值转③,否则循环结束,接着执行循环语句的后继语句;③执行一次循环体;④循环变量增加一个步长增量;⑤重复步骤②~④。循环变量取得初值循环变量有没超过终值循环体语句循环变量增加一个步长YN2.3程序的基本结构For循环变量=初值To终值[Step步长]循环体语句块Next循环变量说明:1)循环变量必须为数值型2)步长一般为正,初值小于终值;若为负,初值大于终值;缺省步长为1;3)语句块可以是一句或多句语句,称为循环体;循环次数=int((终值-初值)/步长+1)4)退出循环后,循环变量的值保持退出时的值;5)在循环体内对循环变量可多次引用,但不要对其赋值,否则影响结果。2.3程序的基本结构思考:1.若有如下一段代码:Forj=15to3Step–2PrintjNextj则循环结束时,循环变量j的值是多少?2.循环变量的增量能否为0,如果为0,运行结果怎样?无休止地做循环,也叫死循环12.3程序的基本结构例:n=10Fori=1tonprint“*”;NextiN=10Fori=1tonstep3print“*”;Nexti开始n=10i10YN结束print“*”;Nexti2.3程序的基本结构编程:输入一整数n,计算s=1+2+3…+nDimnasinteger,saslongN=val(text1.text)S=0Fori=1tons=s+iNextiPrint“1+2+…+”&str(n)&”=”;S2.3程序的基本结构思考:如何判断一个数是素数?Dimnasinteger,flagasbooleanN=val(text1.text)Flag=trueFori=2toint(sqr(n))ifnmodI=0thenflag=falseexitforendifNextiIfflag=truethenlabel1.caption=str(n)&“是素数”Elselabel1.caption=str(n)&”不是素数”endif2.3程序的基本结构语句形式:For循环变量=初值To终值[Step步长]语句块[ExitFor]语句块Next循环变量循环变量在终值内图1-3-13For循环语句语句块ExitFor语句块循环变量加步长TF循环变量得初值2.3程序的基本结构2.Do……Loop循环(不知道循环次数的条件型循环)是用于控制循环次数未知的循环结构,语法形式有两种:形式1:DoWhile……LoopDoWhile条件语句块[ExitDo]语句块Loopi=1Dowhilei=10print“*”;i=i+1loop2.3程序的基本结构2.Do……Loop循环(不知道循环次数的条件型循环)是用于控制循环次数未知的循环结构,语法形式有两种:形式2:Do……LoopuntilDo语句块[ExitDo]语句块LoopUntil条件i=1Doprint“*”;i=i+1Loopuntili=102.3程序的基本结构参考“累加器.EXE”,完成一个累加器的界面和程序,将编译好的exe文件命名为“学号姓名累加器.exe”并提交到“2.3.3循环结构”文件夹下。作业:2.3.3循环结构
本文标题:程序的基本结构
链接地址:https://www.777doc.com/doc-3278400 .html