选择结构程序.ppt
数据库应用基础数据库应用基础-visual foxpro结构化程序设计基础课题:选择结构程序设计教学目标:1、掌握选择结构程序的分类2、掌握选择结构程序设计的基本办法解释英语句子 vIf the weather is fine this weekend,we will go for an outing,else go to the movies这是我们生活中遇到的事情,那我们如何选择呢?v 选择结构是程序的三种基本结构之一。选选择结构是程序的三种基本结构之一。选择结构的程序可以根据指定的条件,选择执择结构的程序可以根据指定的条件,选择执行不同的程序分支。行不同的程序分支。v 根据程序分支的数目,可以把选择结构根据程序分支的数目,可以把选择结构分为单分支选择结构、双分支选择结构和多分为单分支选择结构、双分支选择结构和多分支选择结构。分支选择结构。选择结构程序设计1.单分支选择结构单分支选择结构 单分支选择结构的格式单分支选择结构的格式 IF ENDIF 选择结构程序设计 参数说明:参数说明:IF表示选择结构开始,表示选择结构开始,ENDIF表示选择结构表示选择结构 结束,它们必须成对使用,缺一不可。结束,它们必须成对使用,缺一不可。“条件条件”是一个逻辑表达式。是一个逻辑表达式。“语句组语句组”由一组由一组Visual FoxPro的程序语句的程序语句组成。组成。选择结构程序设计 程序流程:程序流程:程序执行到单分支选择结构时,首程序执行到单分支选择结构时,首先检查先检查IF后面的后面的“条件条件”。如果满足条件(即该。如果满足条件(即该逻辑表达式的值为真逻辑表达式的值为真.T.),则先执行),则先执行“语句组语句组”,再执行,再执行ENDIF后面的语句。否则,不执行后面的语句。否则,不执行“语语句组句组”,直接执行,直接执行ENDIF后面的语句。后面的语句。单分支选择结构只有一个程序分支。只有满足单分支选择结构只有一个程序分支。只有满足指定的条件,才能执行该程序分支的语句。指定的条件,才能执行该程序分支的语句。例:某商品一次购买100件以上时,可享受8%的优惠,是编程序,输入单价和数量,计算总价vClear&清除屏幕显示信息vInput”数量:”to sl&通过键盘输入数量vinput”单价:”to dj&通过键盘输入单价vZj=dj*sl&计算总价vIf sl100&分支条件开始vZj=zj*0.92vEndif&分支条件结束v?”应付总价:”+str(zj,8,2)&输出总价选择结构程序设计 2.双分支选择结构双分支选择结构 双分支选择结构的格式双分支选择结构的格式 IF ELSE ENDIF 参数说明:参数意义与单参数说明:参数意义与单分支选择结构相同。分支选择结构相同。选择结构程序设计 程序流程:程序执行到双分支选择结构时,首程序流程:程序执行到双分支选择结构时,首先计算先计算IF后面的后面的“条件条件”表达式的值。如果满足表达式的值。如果满足条件(即该逻辑表达式的值为真条件(即该逻辑表达式的值为真.T.),则执行),则执行“语句组语句组1”,否则,否则,执行执行“语句组语句组2”。“语句组语句组1”或或“语句组语句组2”执行完后,再执行执行完后,再执行ENDIF后面的语句。后面的语句。双分支选择结构提供两种选择。无论是否满足双分支选择结构提供两种选择。无论是否满足指定的条件,都能执行其中一种选择指定的条件,都能执行其中一种选择,并且只能执并且只能执行一种选择。行一种选择。例:输出两个数a,b之间较大的数vSet talk offvClearvMax=0&定义赋值最大值vInput”输入一个数:”to a&输入第一个数给avInput”输入另一个数:”to b&输入第二个数给bvIf a=b&双分支条件开始vMax=avElse&另外一种情况vMax=bvEndif&结束条件v?”较大的数:”,maxvSet talk on选择结构程序设计3.多分支选择结构多分支选择结构 DO CASE CASE CASE CASE OTHERWISE 语句组语句组 ENDCASE 选择结构程序设计参数说明:参数说明:DO CASE表示多分支选择结构开始,表示多分支选择结构开始,ENDCASE表示多分支选择结构结束,它们必须表示多分支选择结构结束,它们必须成对使用,缺一不可。成对使用,缺一不可。“条件条件1”、“条件条件2”、“条件条件n”都是逻都是逻辑表达式。辑表达式。“语句组语句组1”、“语句组语句组2”、“语句组语句组n”和和“语句组语句组”都是由都是由Visual FoxPro的程序语句组的程序语句组成。成。选择结构程序设计 程序流程:程序执行到多分支选择结构时,首程序流程:程序执行到多分支选择结构时,首先检查第一个先检查第一个CASE后面的后面的“条件条件1”。如果满足条。如果满足条件,则先执行件,则先执行“语句组语句组1”,再执行,再执行ENDCASE后面后面的语句。否则,继续检查第二个的语句。否则,继续检查第二个CASE后面的后面的“条条件件2”,如果满足条件,则先执行,如果满足条件,则先执行“语句组语句组2”,再执,再执行行ENDCASE后面的语句,如此进行下去。如果所后面的语句,如此进行下去。如果所有有CASE后面的条件都不满足,当有后面的条件都不满足,当有OTHERWISE选项时,执行对应的选项时,执行对应的“语句组语句组”,没有,没有OTHERWISE选项时,直接执行选项时,直接执行ENDCASE后面的后面的语句。语句。例:f(x)=vClearvInput”请输入x的值:”to xvDo casevCase x0vY=3*x2+1vCase x=0vY=3*x2vOtherwisevY=3*x2-1vEndcasev?”f(“+alltrim(str(x)+”)”,y3x2+1 x03x2 x=03x2 1 x=200v IF yu=60 and sx=60v?录取v ELSEv IF yu=70 and sx=55 v?复试v ENDIFv ENDIFv ELSEv?不录取 v ENDIF