程序设计导论第一章:计算机程序介绍第二章:脚本简介第三章:数据和变量第四章:使用程序逻辑第五章:使用过程和函数第六章:开发用户界面第七章:数据处理简介第八章:编程方法第九章:软件开发过程简介第十章:进阶学习目标第四章使用程序逻辑使用分支使用循环识别语法错误和逻辑错误现实生活中通常会对具体情况进行评估并在评估的基础上采取行动。与此类似,计算机程序能执行条件评估并根据此评估运行一组特定指令。评估条件并执行特定代码的过程称为条件执行。使用分支4.1使用分支使用分支使用IF语句示例绘制流程图表示IF语句课堂练习使用IF语句4.1使用分支使用IF语句条件的定义结构的定义语法示例嵌套IF结构条件的定义条件是一组语句,它们能引发一项操作。可以让一个程序以用户输入作为一个条件,根据用户输入的不同,程序每次的表现也不一样。大部分程序语言使用IF条件结构,根据条件执行一段代码。使用IF语句结构的定义结构是一段语句,由一个或多个变量、关键字以及代码块组成。使用IF语句语法——在VB.NET中使用IF条件结构,判断一次?使用IF语句IfconditionThen条件为真,执行的语句Else条件为假,执行的语句EndIf使用IF语句Ifcondition1Then如条件1为真,执行的语句ElseIfcondition2Then如条件2为真,执行的语句ElseIfcondition3Then如条件3为真,执行的语句EndIf4.1.1使用IF语句语法——在VB.NET中使用IF条件结构,判断多次?使用ElseIf关键字,可以在单个IF结构中作出多个决定。使用ElseIf关键字时:如果前一个条件为假,可以使用Else关键字来测试下一个条件。然后,如果Else的判定为真,则根据条件运行一段代码;如果为假,则检查下一个条件。使用IF语句示例绘制流程图表示IF语句:要求用户输入两个值,然后比较这两个值并显示它们是否相等。If条件结构如何运作:IfnNum1=nNum2如果变量nNum1和nNum2的值相等,则执行下列语句:MsgBox(“Thenumbersareequal”)如果变量nNum1和nNum2的值不等,则执行下列语句:MsgBox(“Thenumbersarenotequal”)示例IfnNum1=nNum2ThenMsgBox(“Thenumbersareequal”)ElseMsgBox(“Thenumbersarenotequal”)EndIf绘制流程图:示例nNum1=nNum2?输出“相等”输出“不等”是否样本代码:使用VB.NET示例‘VB.NETcodetocomparetwonumbersandcheckforequalityDimnNum1AsIntegerDimnNum2AsIntegernNum1=InputBox(“Enterthefirstnumber:”)nNum2=InputBox(“Enterthesecondnumber:”)IfnNum1=nNum2ThenMsgBox(“Thenumbersareequal”)ElseMsgBox(“Thenumbersarenotequal”)EndIf要求:学会如何绘制流程图表示IF条件逻辑。示例绘制流程图表示IF语句4.1.2示例绘制流程图表示IF语句场景:一些公司的候选人参加测试,该测试有2个,先需要向平均分数超过80分的候选人发送接收信件,还要向平均分数低于或等于80分的人发送拒绝信。示例绘制流程图表示IF语句4.1.2示例绘制流程图表示IF语句nAvgScore80?输出“接收信”输出“拒绝信”是否nAvgScore=nTotScore/2nTotScore=nTest1+nTest2课堂练习使用IF语句编写伪代码,生成录取通知书和拒绝信,将录取通知书发给通过技术考试的候选人,将拒绝信发给所有其他候选人4.1.3课堂练习使用IF语句1.判断程序各个阶段2.识别变量,数据类型,变量名3.使用IF语句,寻找判定条件和相应执行4.使用流程图和伪代码实现nAvgScore≥60?输出“接收信”输出“拒绝信”是否4.1.3课堂练习使用IF语句课堂练习使用IF语句输入姓名输入成绩第四章使用程序逻辑使用分支使用循环识别语法错误和逻辑错误计算机能够重复运行一连串指令,这个过程称为迭代。计算机程序中,重复执行任务称为执行循环。循环可能包含一个或多个迭代。使用循环使用循环使用FOR循环课堂练习显示前8个偶数的乘积使用WHILE循环决定使用何种循环语句的指导方针4.2使用循环(1)循环类型固定循环预先知道重复次数的循环可变循环预先不知道重复次数的循环使用FOR循环4.2.1使用FOR循环(2)FOR循环可以使用FOR循环来对一组任务重复执行特定的次数。使用FOR循环4.2.1使用FOR循环使用FOR循环使用固定循环(预先知道重复次数的循环)FOR循环的次数是固定的;而WHILE循环的次数是可变的Forcounter=startvalueToendvalueStepincrementvalue重复的语句Nextcounter4.2.1使用FOR循环(3)语法使用FOR循环4.2.1使用FOR循环(3)语法例如:Forcounter=1To25Step1Counter变量中存储的初始值为1,以每次递增1的方式循环执行25次,当counter中的值为25时停止执行。(4)示例要求:编写程序接收每个员工的姓名、地址和电话号码,并且显示这些信息。接收并显示一名员工的信息的VB.NET的代码:使用FOR循环4.2.1使用FOR循环DimcNameAsStringDimcAddressAsStringDimcTelNoAsStringcName=InputBox(“Enteryourname:”)cAddress=InputBox(“Enteryouraddress:”)cTelNo=InputBox(“Enteryourtelephonenumber:”)Console.WriteLine(cName)Console.WriteLine(cAddress)Console.WriteLine(cTelNo)使用FOR循环4.2.1使用FOR循环如果要求输入和显示的人数较多时,该怎么做?方案1:可以按照上页显示的编写代码的方法,重复若干次;方案2:使用FOR循环以特定次数接收并显示员工的信息。比较两个方案的结论:方案2更有效请思考:为什么?使用FOR循环4.2.1使用FOR循环使用FOR循环执行25次接收并显示员工的信息的VB.NET代码:DimcNameAsStringDimcAddressAsStringDimcTelNoAsStringDimcounterAsIntegerForcounter=1To25Step1cName=InputBox(“Enteryourname:”)cAddress=InputBox(“Enteryouraddress:”)cTelNo=InputBox(“Enteryourtelephonenumber:”)使用FOR循环4.2.1使用FOR循环Console.WriteLine(cName)Console.WriteLine(cAddress)Console.WriteLine(cTelNo)Nextcounter使用FOR循环4.2.1使用FOR循环课堂练习显示前8个偶数的乘积编写VB.NET代码来表示显示前8个偶数乘积的逻辑,然后在“伪码编译器”中测试代码(1)编写VB.NET代码(2)使用VisualStudio.NET测试代码4.2.2课堂练习显示前8个偶数的乘积课堂练习显示前8个偶数的乘积4.2.2课堂练习显示前8个偶数的乘积DimnNumberAsIntegerDimnProductAsIntegerDimcounterAsIntegernNumber=2nProduct=1Forcounter=1To8Step1nProduct=nNumber*nProductnNumber=nNumber+2Nextcounter课堂练习显示前8个偶数的乘积beginnumericnNumbernumericnProductnumericnCounternNumber=2nProduct=1fornCounter=1to8step1beginnProduct=nNumber*nProductnNumber=nNumber+2endend4.2.2课堂练习显示前8个偶数的乘积使用WHILE循环不知道循环需要执行多少次的时候,使用WHILE循环对循环中的每个迭代条件进行判断当判断结果为真时,循环继续执行4.2.3使用WHILE循环使用WHILE循环Whileconditionistrue重复的语句EndWhile(1)语法:在VB.NET中,使用WHILE循环:4.2.3使用WHILE循环(2)示例要求:需要输入并显示每个参加会议的人员的姓名,但不知有多少人参加,则使用WHILE循环使用WHILE循环4.2.3使用WHILE循环DimcNameAsStringDimcAnswerAsStringcAnswer=“Y”WhilecAnswer=“Y”cName=InputBox(“Enteryourname:”)cAnswer=InputBox(“Doyouwanttocontinue:[EnterYorN]”,cName)EndWhile决定使用何种循环语句的指导方针如果预先知道循环必须执行的迭代数,则使用FOR循环如果预先不知道循环必须执行的迭代数,则使用WHILE循环使用WHILE循环时,确保对控制循环执行的变量进行初始化,至少保证循环执行一次;控制WHILE循环执行的条件必须在某一时刻为假,否则循环不会终止。4.2.4决定使用何种循环语句的指导方针第四章使用程序逻辑使用分支使用循环识别语法错误和逻辑错误学完本节后,将能够:了解语法错误和逻辑错误的概念识别逻辑错误识别语法错误和逻辑错误识别语法错误和逻辑错误逻辑错误简介课堂练习识别逻辑错误4.3识别语法错误和逻辑错误逻辑错误简介逻辑错误简介逻辑错误由不正确的程序逻辑或不正确的业务规则造成逻辑错误使程序不能正常执行逻辑错误只能在运行时跟踪4.3.1逻辑错误简介(1)开发时错误开发错误分为语法错误和逻辑错误语法错误:由排字错误、漏写标点符号或错用语言元素造成。例如:变量赋初值错误:DimcNameAsStringcName=John应将“John”用引号括起来逻辑错误简介4.3.1逻辑错误简介(1)开发时错误逻辑错误:由错误的编程逻辑产生,可能导致无法预料的结果。逻辑错误简介4.3.1逻辑错误简介(2)运行时错误运行时错误是发生在程序执行过程中的错误。不能避免,但可以捕获它们。逻辑错误简介4.3.1逻辑错误简介课堂练习识别逻辑错误业务规则向所有不到18岁的人发送拒绝信,并向合格的候选人发送通知书。实现该业务规则的代码ifage18begindisplayCalllettertobesentendelsebegindisplayRejectionlettertobesentend4.3.2课堂练习识别逻辑错误逻辑错误:向所有年龄大于等于18岁的候选人发送了接收信没有考虑年龄大于等于18岁的候选人是否合格产生的结果:程序产生的候选人数则多于正确的人数正确逻辑:发送接收信的判断条件是年龄大于等于18岁并且合格,则使用IF语句的2次嵌套课堂练习识别逻辑错误4.3.2课堂练习识别逻辑错误DimnIdAsIntegerDimnAgeAsIntegerDimcNameAsStringDimnScoreAsIntegernId=InputBox(“