VisualBasic的流程控制教学内容:VisualBasic的流程控制中的顺序控制、简单分支、选择分支、多路分支、循环控制。教学重点:选择分支、多路分支、循环控制的应用。教学难点:选择分支、多路分支、循环控制的应用选择。教学方法:项目法教学课时:2课时一、项目目的、要求及分析学习课程VisualBasic6.0程序设计学习单元内容VisualBasic的流程控制主要项目顺序、简单分支、选择分支、多路分支、循环控制目标群体技工学校计算机专业学生学习环境顺序、简单分支、选择分支、多路分支、循环控制项目能力分析专业能力VisualBasic流程控制的适用选择分析能力通过代码的阅读分析,作出流程图方法能力自学能力、信息分析、理解问题能力教学方法项目法、讨论归纳法二、任务书:(提前一周发给学生,分组完成相关要求)任务书内容阅读下面代码,用流程图模拟出计算机运行各语句操作的流程。并说明该代码所完成的功能项目一:顺序流程PrivateSubCommand1_Click()Dima,bAsDoublea=70b=74Print数a+b的算术平方根为:,Sqr(a+b)EndSub1项目二:简单分支IF···THEN···ENDIFPrivateSubCommand1_Click()DimaAsDoublea=Val(InputBox(请输入一个数:,求算术平方根))Ifa=0ThenMsgBox输入数的算术平方根为:&Sqr(a)EndIfEndSub项目三:选择分支IF···THEN···ELSE···ENDIFPrivateSubCommand1_Click()DimaAsDoublea=Val(InputBox(请输入一个数:,求算术平方根))Ifa=0ThenMsgBox输入数的算术平方根为:&Sqr(a)ElseMsgbox负数不能求算术平方根为!EndIfEndSub项目四:多路分支子项目(1)IF···ELSEIF···THEN···ELSE···ENDIFPrivateSubCommand1_Click()DimgradeAsSingle,resultAsStringgrade=Val(InputBox(请输入学生的分数:,学生成绩输入))Ifgrade=90Thenresult=APrint该生的等级为AElseIfgrade=80Thenresult=BPrint该生的等级为BElseIfgrade=70Thenresult=CPrint该生的等级为CElseIfgrade=60Thenresult=DPrint该生的等级为DElseresult=EPrint该生的等级为EEndIfEndSub2子项目(2)SELECTCASE···CASE···CASE···ENDSELECTPrivateSubCommand1_Click()DimgradeAsSingle,resultAsStringgrade=Val(InputBox(请输入学生的分数:,学生成绩输入))SelectCasegradeCaseIs=90result=ACaseIs=80result=BCaseIs=70result=CCaseIs=60result=DCaseElseresult=EEndSelectMsgBox该生的等级为:&resultEndSub项目五:循环控制子项目(1)FOR···NEXT循环和FOREACH···NEXTPrivateSubCommand1_Click()Dimsum,nAsIntegerForn=1To100Step2sum=sum+nNextnMsgBox1—100间奇数的累加和为:&sum,vbInformationEndSub子项目(2):WHILE···WENDPrivateSubCommand1_Click()Dimnum,n,sAsLongnum=Val(InputBox(请输入要求阶乘的数〈13:,求阶乘的数))n=1s=1Whilen=nums=s*nn=n+1WendMsgBoxnum&数的阶乘为:&sEndSub3子项目(3):DO···LOOP当型循环条件前置PrivateSubCommand1_Click()Dimn,sumAsIntegern=0sum=0DoWhilen100sum=sum+nn=n+1LoopPrintsumEndSub当型循环条件后置PrivateSubCommand1_Click()Dimn,sumAsIntegern=0sum=0Dosum=sum+nn=n+1LoopWhilen100PrintsumEndSub直到循环条件前置PrivateSubCommand1_Click()Dimsum,sAsLongs=0sum=0DoUntiln100sum=sum+nn=n+1LoopPrintsumEndSub直到循环条件后置PrivateSubCommand1_Click()Dimsum,sAsLongs=0sum=04Dosum=sum+nn=n+1LoopUntiln100PrintsumEndSub要求1、画出上述代码的流程图,并说明该代码所完成的功能2、理解和掌握各控制语句的功能3、能够根据教师给出的实例,正确选择上述控制语句4、分析同一控制流程不同语的同异,并在以编程中代码最短的情况下,应如何选择相应的控制流程三、教学过程:时间内容1周先期对学生进行分组,并下达项目任务书,结合教材及相关书籍,完成项目书要求上的第1、2项(自学能力、信息分析、理解问题能力的体现)5分钟(上课时间)引导进入新课,说明流程控制在编程中的相关应用及其重要性。30分钟分组展示分析各自的流程控制图(语言表达及)10分钟教师展示流程图,并结全学生的流程控制图进行讲评20分钟给出一实例,要学生先给出流程控制图,然后写出代码(完成任务书上要求的第3项)15分钟展示各自小组的流程控制图及代码10分钟教师讲评,并结合任务书上要求的第4项5四、各流程控制图(结合学生图示给予比较讲评的图示)顺序流程简单分支选择分支:循环控制:子项目(1、2、3)(可演变)N?N100,N=1,N=N+2YNEXTnMSGBOXENDSUBSum=Sum+n循环体循环条件DimSum,nAsInteger注意嵌套,并给予分析DimaAsDoubleVal(INPUTBOX(“请输入一个数:”,”求算术平方根”))?a=0YMsgbox”输入数的算术平方根为:”&SQR(a)EndifEndsubMsgbox”负数不能求算术平方根!”NDimaasdouble输入一个数a?a=0Sqr(a)endifendsubYNa=70b=74Printsql(a+b)endsub6多路分支:子项目(1)多路分支:子项目(2)ELSEIS=60DimgradeSingle,ResultAsStringgrade=Val(InputBox(请输入学生的分数:,学生成绩输入))IS=70IS=80NIS=90NNresult=”A”result=”B”result=”C”result=”D”result=”E”MSGBOXendsubENDSELECTYYYYNDimgradeSingle,ResultAsStringgrade=Val(InputBox(请输入学生的分数:,学生成绩输入))?Grade=70?Grade=80N?Grade=90NNN?Grade=60result=”A”result=”B”result=”C”result=”D”result=”E”Print“A”Print“B”Print“C”Print“D”Print“E”Endifendsub7六、应用实例(课堂练习):1、任意输入三个数,判断其大小并输出其最大值。要求:选画流程控制图,后写代码。流程控制图代码PrivateSubCommand1_Click()Dima,b,c,maxnumAsDoubleClsa=Val(InputBox(pleaseinputthefirstnumber))b=Val(InputBox(pleaseinputthesecondnumber))c=Val(InputBox(pleaseinputthethirdnumber))IfabThenIfacThenmaxnum=aElsemaxnum=cEndIfElseIfbcThenmaxnum=bElsemaxnum=cEndIfEndIfPrintmaxnum=&maxnumEndSub七、分析:写代码应可读、简短并达到目的为原则。NYYYCLS‘清屏’定义变量及变量类型输入要比较的数?ab?ac?bcMaxnum=bMaxnum=cMaxnum=aNNPrintmaxnumEndsub