- 2021-06-11 发布 |
- 37.5 KB |
- 17页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
条件语句和循环语句教案1
1.2.2-1.2.3条件语句和循环语句 教学目标: 知识与技能 (1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想 【创设情境】 试求自然数1+2+3+……+99+100的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE格式) 满足条件? 语句1 语句2 是 否 IF 条件 THEN 语句1 ELSE 语句2 END IF 17 当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图) 在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式) IF 条件 THEN 语句 END IF 满足条件? 语句 是 否 计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图) 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】 例1. 分析下面的程序,当输入的值为时,程序的输出结果为________. INPUT x IF x<-1 THEN y=x^2 ELSE IF x<=1 THEN y=0 ELSE y=(-2)^x END IF END IF PRINT y END 答案: 例2 .给出下列程序,如果输入,那么输出的是________. INPUT a,b,c IF a>b THEN a=b END IF IF a>c THEN a=c END IF PRINT a 17 END 答案: 例3. 判断一元二次函数是否有根. 分析:,当时,方程有实根; 当时,方程无实根. 解:该算法用自然语言表述为 Step1:输入三个系数. Step2:计算. Step3:判断是否成立.若是,则输出“方程有实根”; 否则输出“方程无实根输出:方程有实根 开始 输入a,b,c 结束 输出:方程无实根 ”,结束算法. 程序框图为: 程序为: INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THEN PRINT “Have real root” ELSE PRINT “No real root” END IF END 例4.编写程序,输入一元二次方程的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来。 INPUT “Please input a,b,c =”;a,b,c d=b*b-4*a*c p=-b/(2*a) q=SQR(ABS(d))/(2*a) IF d>=0 THEN x1=p+q x2=p-q IF x1=x2 THEN PRINT “One real root:”;x1 ELSE PRINT “Two real roots:x1”;x1,“and x2”;x2 END IF ELSE PRINT “No real root!” END IF END 算法分析:我们知道,若判别式 17 ,原方程有两个不相等的实数根、;若,原方程有两个相等的实数根; 若,原方程没有实数根。也就是说,在求解方程之前,需要首先判断判别式的符号。因此,这个过程可以用算法中的条件结构来实现。 又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算和之前,先计算,。程序框图:(参照课本) 程序:(如右图所示) 注:SQR()和ABS()是两个函数,分别用来求某个数的平方根和绝对值。即 , 例5. 设计算法,求的解,并画出流程图. 解:算法: 第一步:判断是否成立.若成立,输出结果“解为”. 第二步:判断是否成立.若成立,输出结果“解集为”. 第三步:判断是否成立.若成立,输出结果“方程无解”,结束算法. 程序框图:略 程序为: INPUT “a,b=”;a,b d=b^2-4*a*c IF a=0 THEN IF b=0 THEN PRINT “All real” ELSE PRINT “No root” END IF ELSE PRINT “x=”;-b/a END IF END 例6.设计算法,找出输入的三个不等实数的最大值,并画出流程图. 解:算法: 17 第一步:输入的值. 第二步:判断是否成立,若成立,则执行第三步;否则执行第四步. 第三步:判断是否成立.若成立,则输出,并结束;否则输出,并结束. 第四步:判断是否成立,若成立,则输出,并结束;否则输出并结束. 程序框图:略 程序为: INPUT a,b,c IF aa THEN t=a a=b b=t END IF IF c>a THEN t=a a=c c=t END IF IF c>b THEN t=b b=c c=t END IF PRINT a,b,c END 程序框图: 程序:(如右框图 开始 输入a,b,c 输出a,b,c 结束 17 例8.铁路部门托运行李的收费方法如下: y是收费额(单位:元),x是行李重量(单位:kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。 分析:首先由题意得:该函数是个分段函数。需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现。 17 程序: INPUT “请输入旅客行李的重量(kg)x=”;x IF x>0 AND x<=20 THEN y=0.35*x ELSE y=0.35*20+0.65*(x-20) END IF PRINT “该旅客行李托运费为:”;y END 基本条件语句 例9. 编写一个程序,求实数的绝对值. 解:程序1: INPUT x 开始 输入x 输出y 结束 IF x>=0 THEN PRINT x ELSE PRINT –x END IF END 程序1: INPUT x IF <0 THEN x=-x END IF PRINT x END 例10. 给计算机编写一个程序,输入一个自变量的值,输出分段函数的函数值. 解: 程序框图 QuickBASIC程序语句 17 开始 输入x 输出y 结束 INPUT “x=”; IF x>=0 THEN y = x + 2 ELSE y = x^2 END IF PRINT “y =” ; y END QuickBASIC语言中的符号。 数学运算 等于 不等于 大于 小于 大于等于 小于等于 程序符号 = <> > < >= <= 条件结构的嵌套 例11.函数, 开始 输入x 输出y 外层选择结构 内层选择结构 编写一个程序,输入x的值,输出y的值 解:用程序框图表示为 17 用QuickBASIC 语言可写为 INPUT “x =” ; x IF x>0 THEN 内层IF语句 外层IF语句 y = 1 ELSE IF x=0 THEN y = 0 ELSE y = -1 END IF END IF PRINT “ y=”; y END 该程序中有两个IF语句,大IF语句中嵌套了一个小IF语句。 例12.乘坐火车时,可以托运货物,从甲地到乙地,规定每张火车客票托运费计算方法是:行李质量不超过时按元;超过而不超过时,其超过部分按元;超过时,其超过部分按元.编写程序,输入行李的质量,计算出托运的费用. 解:算法分析:数学模型实际上为:关于的分段函数.关系式 为:, 算法步骤: 第一步 输入行李质量. 第二步 当时,计算,否则,执行下一步. 第三步 当时,计算,否则,计算. 第四步 输出托运费. 程序框图为:略 程序为: INPUT x IF x<=50 THEN y=0.25*x ELSE IF x<=100 THEN y=0.35*x-5 17 ELSE y=0.45*x-15 END IF END IF PRINT “y=”;y END 【课堂精练】 1.(题略)分析:如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。 参考答案: INPUT “请输入三个正数a,b,c=”; a,b,c IF a+b>c AND a+c>b AND b+c>a THEN PRINT “以下列三个数:”;a,b,c,“可以构成三角形。” ELSE PRINT “以下列三个数:”;a,b,c,“不可以构成三角形!” END IF END 2.读程序,说出该程序的功能。 INPUT “Please input an inter:”;x IF 9查看更多