《1132条件语句.ppt》由会员分享,可在线阅读,更多相关《1132条件语句.ppt(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、11、3 基本算法语句11.3.2 条件语句条件语句温故知新温故知新1条件结构的判断框有条件结构的判断框有_个入口,个入口,_个出口:个出口:即即_和和_2输入语句的作用是实现算法中输入语句的作用是实现算法中_的功能的功能输出语句的作用是实现算法中的输出语句的作用是实现算法中的_功能功能.赋值语句的作用是赋值语句的作用是_.一一二二是是否否输出结果输出结果将表达式的值赋给变量将表达式的值赋给变量输入变量信息输入变量信息新知探索算法逻辑结构中的条件结构一般由算法语句中的条件语句来实现。算法逻辑结构中的条件结构一般由算法语句中的条件语句来实现。开始是结束且cbabcaacb且否“不能构成三角形”D
2、“能构成三角形”Dcba、输入D输出INPUT “a,b,c=”;a,b,cIF a+bc AND b+ca AND c+ab THEND=“能构成三角形”ELSED=“不能构成三角形”END IFPRINT DEND书P10例1的程序框图转化为右边的伪代码在这个程序中,哪些是条件语句?讨论总结n一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向。条件结构就是处理这种过程的结构。用程序框图表示条件结构如下图:n条件语句条件语句1“IFTHENELSE”语句2“IFTHEN”语句IF 条件 THEN语句1ELSE语句2END IFIF 条件 THEN语句END IF条件
3、语句的功能功能:功能:在“IFTHENELSE”语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END IF表示条件语句的结束.计算机在执行“IFTHENELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”.计算机在执行“IFTHEN”语句时,首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句.相同点:首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句.不同点:
4、对于“IFTHENELSE”语句,若不符合条件,则执行ELSE后面的“语句2”。对于“IFTHEN”语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句。对应关系程序中的条件语句与程序框图中的条件结构存在一一对应关系如下图:应用示例(1)例例1 1 高等数学中经常用到符号函数,符号函数的定义为y= 试编写程序输入x的值,输出y的值., 0, 1, 0, 0, 0, 1xxx解解:程序一:(嵌套结构)程序框图:程序如下:INPUT xIF x0 THEN y=1ELSE IF x=0 THEN y=0 ELSE y=1 END IFEND IFPRINT yEND方法2 程序二:(叠加
5、结构)程序如下:INPUT xIF x0 THEN y=1END IFIF x=0 THEN y=0END IFIF xb,则输出a的值,否则,输出b的值.(程序框图如下图)程序如下:(“IFTHENELSE”语句)INPUT “a,b”;a,bIF ab THEN PRINT aELSE PRINT bEND IFEND方法2算法二:算法二:第一步,输入第一步,输入a,b的数值的数值.第二步,判断第二步,判断a,b的大小的大小关系关系,若,若ba,则将,则将b的值赋予的值赋予a;否则,直接;否则,直接执行第三步执行第三步.第三步,输出第三步,输出a的值,结束的值,结束.(程序框图如下图)(程
6、序框图如下图)程序如下:(“IFTHEN”语句)INPUT “a,b”;a,bIF ba THEN a=bEND IFPRINT aEND点评:点评:设计一个“好”的算法需要在大量的算法设计中积累经验.我们也可以先根据自己的思路设计算法,再与 “成形”的、高效的、优秀的算法比较,改进思路,改进算法,以避免重复计算等问题,提高算法设计的水平.我们在平常的训练中尽可能地少引用变量,过多的变量不仅会使得算法和程序变得复杂,而且不利于计算机的执行.为此,我们在练习中要尽可能少引入变量并且要积极思考才能少引入变量.应用示例(3)例例3 编写程序,使任意输入的3个整数按从大到小的顺序输出.(课本P28例3
7、)算法分析:用a,b,c表示输入的3个整数.为了节约变量,把它们重新排列后,仍用a,b,c表示,并使abc.具体操作步骤如下:第一步,输入3个整数a,b,c.第二步,将a与b比较,并把小者赋给b,大者赋给a.第三步,将a与c比较,并把小者赋给c,大者赋给a(此时a已是三者中最大的).第四步,将b与c比较,并把小者赋给c,大者赋给b(此时a,b,c已按从大到小的顺序排列好).第五步,按顺序输出a,b,c.如下图所示,上述操作步骤可以用程序框图更直观地表达出来.框图与程序根据程序框图,写出相应的计算机程序.INPUT “a,b,c=”;a,b,cIF ba THEN t=a a=b b=tEND
8、IFIF ca THEN t=a a=c c=tEND IFIF cb THEN t=b b=c c=tEND IFPRINT a,b,cEND应用示例(4)例例4 把前面求解一元二次方程ax2+bx+c=0的程序框图转化为程序.(P11例2)解解:由程序框图可以发现,其中包含着两个条件结构,而且内层的条件结构是外层的条件结构的一个分支,所以,可以用“IFTHENELSEEND IF”来完成转化.程序:INPUT “a,b,c=”;a,b,cd=b2-4*a*cIF d=0 THEN p=-b/(2*a) q=SQR(d)/(2*a) IF d=0 THEN PRINT “x1=x2=”;p
9、ELSE PRINT “x1,x2=”;p+q,p-q END IFELSE PRINT“No real root”END IFEND应用示例(5)例例5 中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按以一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.解:解:算法程序如下:INPUT “请输入通话时间:”;tIF t=3 THEN y=0.22ELSE IF INT(t)=t THEN y=0.22+0.1*(t3) ELSE y=0.22+0.1*(INT(t3)+1) END IFEND IFPRINT “通话费用为:”;yEND课堂小结本节课主要学习了条件语句的结构、特点、作用以及用法,并懂得利用解决一些简单问题条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化,条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。条件语句必须是以条件语句必须是以IF开始,以开始,以END IF结结束,一个束,一个IF必须与一个必须与一个END IF相对应。相对应。作业(书P36习题3)3、5
限制150内