《程序基本结构.ppt》由会员分享,可在线阅读,更多相关《程序基本结构.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.3程序基本结构程序基本结构执行语句a执行语句b开始结束语句语句2语句语句1条件条件NY开始结束执行a执行b条件开始结束NY顺序结构顺序结构选择结构选择结构循环结构循环结构程序基本结构:程序基本结构:一、顺序结构一、顺序结构执行语句a执行语句b开始结束P33例PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=Val(InputBox(输入a)b=Val(InputBox(输入b)Print交换前:a=;a,b=;bc=aa=bb=cMsgBox“交换后a=”&a&“b=”&b,vbOKOnly,“交换结果”EndSub 使
2、用对话框使用对话框 一、一、输入框(输入框(InputBoxInputBox)a=Vala=Val(inputbox(“inputbox(“输入输入a”)a”)二、二、信息对话框信息对话框(MsgBox)msgbox msgbox 交换后交换后a=&a&b=&b,vbOKOnly,a=&a&b=&b,vbOKOnly,交换结果交换结果 二、选择结构二、选择结构条件语句序列语句序列1TrueFalse单分支选择结构例PrivateSubForm_Click()DimaAsDoublea=Val(InputBox(请输入一个数)Ifa=7.91Thenlblshow.Caption=飞船成功飞行E
3、lselblshow.Caption=飞船不能升空End IfEndSub多分支选择结构多分支选择结构0-59不及格60-69及格70-79中等80-89良好90-100优秀Selectcase表达式case表达式列表1语句组1case表达式列表2语句组2.caseelse语句组nEndSelectPrivateSubForm_Click()DimxAsSinglex=Val(InputBox(请输入成绩)Ifx=90ThenPrint优秀ElseIfx=80ThenPrint良好ElseIfx=70ThenPrint中等ElseIfx=60ThenPrint及格ElsePrint不及格End
4、IfEndSubPrivateSubForm_Click()DimxAsSinglex=Val(InputBox(请输入成绩)SelectCasexCaseIs=90Print优秀CaseIs=80Print良好CaseIs=70Print中等CaseIs=60Print及格CaseElsePrint不及格EndSelectEndSub三、循环结构三、循环结构For 循环变量=初始值To 终止值(Step步长)循环体Next 循环变量PrivateSubForm_Click()DimiAsIntegerFor i=1To 10PrintiNext iEndSubFor Next循环循环Priv
5、ateSubForm_Click()DimiAsInteger,sAsIntegers=0Fori=1To100s=s+iNextiPrint1-100之间所有数的和是;sEndSub开始S=0I=100S=s+i输出s结束I=I+1NY小猴在某天摘桃子若干个,当天吃掉一半多一个;第2天吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天要吃时只剩下一个,问小猴共摘了多少个桃子?分析:这是一个“递推”问题,先从最后一天推出倒数第2天的桃子树,再从倒数第2天的桃子推出倒数第3天的桃子数设第n天的桃子为Xn,那么它是前一天的桃子数为Xn-1的一半减1,即Xn-1=(Xn+1)*2
6、For 循环变量=初始值To 终止值(Step步长)循环体Next 循环变量Do while 条件循环体LoopDo while loop循环循环 和和 DoLoop whlie循环循环Do循环体Loop while 条件先判断,后执行先执行,后判断PrivateSubForm_Click()DimiAsIntegerFor i=1To 10PrintiNext iEndSubPrivateSubForm_Click()DimiAsIntegeri=1Do Whilei=10Printii=i+1LoopEndSubPrivateSubForm_Click()DimiAsIntegerdims
7、AsIntegeri=1s=0DoWhilei=100s=s+ii=i+1LoopPrint和是:;sEndSubPrivateSubForm_Click()DimiAsIntegerdimsAsIntegers=0Fori=1To100s=s+iNextiPrint和是;sEndSub注:ForNext语句和DowhileLoop语句在许多情况下是可以通用的,但是ForNext语句更适合用于循环次数容易确定的情况,而DowhileLoop语句的使用则更灵活些。例:假设我国现有人口12亿,若年增长率为1.5%,试计算多少年后我国人口将增加到20亿。r为年增长率,i为年数,则i年后人口数为p=p
8、(1+r)iPrivateSubForm_Click()DimpAsSingle,rAsSingle,iAsIntegerp=12r=0.015i=0Do Whilep20p=p*(1+r)i=i+1LoopPrintI;“年后,我国人口将达到”;p;亿EndSub三、循环结构三、循环结构-双重循环双重循环双重循环双重循环For 循环变量=初始值To 终止值(Step步长)循环体Next 循环变量复习回顾复习回顾复习回顾复习回顾For-nextFor-next循环结构:循环结构:循环结构:循环结构:1、编程计算S=1+2+3+100的值2、编程计算1到100之间所有偶数的和,要求Step值为2
9、3、在程序运行过程中任意输入一个自然数n,求1到n之间所有偶数的和例例1:请用for-next循环结构编写如下图所示的图形结论:如果想让下一个print语句显示的内容与上一个print语句的内容连在一起,则在上一个Print后面加一个“分号”即可。我们称之为续行符。提出问题,思考提出问题,思考如何用for-next循环结构实现如图所示的图形双重循环双重循环循环体内部还有循环语句的循环叫做多重循环多重循环,又叫多层循环或嵌套循环。如果内部只有一层循环,叫双重循环双重循环。PrivateSubForm_Click()DimiAsInteger,jAsIntegerFori=1To5Forj=1To
10、5Print*;NextjPrintNextiEndSub内循环,j控制每行的*个数外循环,i控制输出的行数例例2:例例3:PrivateSubForm_Click()DimiAsInteger,jAsIntegerFori=1To5Forj=1To2*i-1Print*;NextjPrintNextiEndSub补充知识点:补充知识点:1、双重循环的执行过程是外循环执行一次,内循环执行一遍,在内循环结束后,再进行下一次外循环,如此反复,直到外循环结束。2、对于双重循环,各层循环的循环控制变量不能同名。3、外循环必须完全包含内循环,不能交叉。总结:总结:PrivateSubForm_Click()Fori=1To7PrintTab(10-i);Forj=1To2*i-1Print*;NextjNextiEndSub对*输出位置进行定位并控制换行例例4:P39思考:思考: