条件语句、循环语句.ppt_第1页
条件语句、循环语句.ppt_第2页
条件语句、循环语句.ppt_第3页
条件语句、循环语句.ppt_第4页
条件语句、循环语句.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习目标: 1、知识与技能 (1)正确理解条件语句的概念; (2)会应用条件语句编写程序。 2、过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力,1.2.2基本算法语句 条件语句,3、情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。,重点与难点: 重点:条件语句的步骤、结构及功能. 难点:会编写程序中的条件语句.,算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句 .,条件语句的一般格式,只含一个“分支”的条

2、件结构,写成条件语句为,当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF之后的语句.,含两个“分支”的条件结构,写成条件语句为,当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.,条件语句的作用 在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。,【例题解析】,例1:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。,算法分析:,一元

3、二次方程的根有三种不同情况:,设判别式=b2-4ac,(1)当0时,一元二次方程有两个不等的实数根.,(2)当=0时,一元二次方程有两个相等的实数根.,(3)当0时,一元二次方程没有实数根.,是,【程序框图】,开始,输入a,b,c,=b2-4ac,0?,原方程无实根,2,2,结束,否,1,1,=0?,输出p,是,否,x1=p+q,x2=p-q,输出x1,x2,【程序】,INPUT “ a,b,c =”;a,b,c d=b*b-4*a*c IF d=0 THEN p=-b/(2*a) q=SQR(d)/(2*a) IF d=0 THEN PRINT “One real root:”;p ELSE

4、 x1=p+q x2=p-q PRINT “Two real roots:“;x1,x2 END IF ELSE PRINT “No real root!” END IF END,例2:编写程序,使得任意输入的3个整数按从大到小的顺序输出。,算法分析:用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已按

5、从大到小的顺序排列好。 第五步:按顺序输出a,b,c.,c=b,b=t,b=t,c=t,a=c,【程序框图】,开始,输入a,b,c,ba?,是,t=a,a=b,否,ca?,是,t=a,否,cb?,t=c,是,否,输出a,b,c,交换a,b的值,【程序】,INPUT “a,b,c =”;a,b,c IF ba THEN t=a a=b b=t END IF IF ca THEN t=a a=c c=t END IF,IF cb THEN t=b b=c c=t END IF PRINT a,b,c END,【课堂小结】 本节课主要学习了条件语句的结构、特点、作用以及用法,并懂得利用它解决一些简单

6、问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。 条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。,【课堂练习】,1.课本P22页T2.读程序,说明程序的运行过程.,INPUT “x=:”;x IF 9x AND x100 THEN a=x10 b=x MOD 10 x=10b+a PRINT x END IF END,问题如输入的数x=86,则输出的结果是什么?,68,此程序用于交换一个两位数的个位和十位数字.,2.课本P22页T1.,IN

7、PUT “a,b,c=”; a,b,c IF a+bc AND a+cb AND b+ca THEN PRINT “Yes.” ELSE PRINT “No.” END IF END,参考答案:,3.课本P22页T3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.,INPUT “a=”; a IF a MOD 2 =0 THEN PRINT “Even.” ELSE PRINT “Odd.” END IF END,参考答案:,4.课本P22页T1.闰年指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.,INPUT “

8、Please input a year:”;y b=y MOD 4 c=y MOD 100 d=y MOD 400 IF b=0 AND c0 THEN PRINT “Leap year.” ELSE IF d=0 THEN PRINT “Leap year.” ELSE PRINT “Not leap year.” END IF END IF END,参考答案:,表示c0,5.(P25页A组T3)编写一个程序,输入两个整数a,b,判断a是否能被b整除.,INPUT “a,b=”; a,b IF a MOD b =0 THEN PRINT “b divides a.” ELSE PRINT “

9、b does not divide a.” END IF END,参考答案:,6.(P25页B组T2),INPUT “x=”;x IF x=1 AND x10 THEN y=2x-1 ELSE y=3x-11 END IF END IF PRINT“y=”;y END,参考答案:,学习目标: 1、知识与技能 (1)正确理解循环语句的概念; (2)会应用循环语句编写程序。 2、过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力,1.2.3基本算法语句 循环语句,3、情感态度与价值观 了解循环语句在程序中起判断转折作用,在解决实际问题中起决定作用。

10、通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。,重点与难点: 重点:循环语句的步骤、结构及功能. 难点:会编写程序中的循环语句.,算法中的循环结构是由循环语句来实现的 .,循环结构有两种-当型与直到型.,当型循环结构(当条件满足时反复执行循环体),直到型循环结构(反复执行循环体直到条件满足),对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。,即WHILE语句和UNTIL语句。,(1)WHILE语句的一般格式是:,WHILE 条件 循环体 WEND,其中循环体是由计算机反复执行的一组语句构成的。WHLIE

11、后面的“条件”是用于控制计算机执行循环体或跳出循环体的。,WHILE当 时候,WEND朝方向 行走,(1)WHILE语句的一般格式是,WHILE 条件 循环体 WEND,当计算机遇到WHILE语句时, 先判断条件的真假,如果条件 符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.,(2)UNTIL语句的一般格式是:,DO 循环体 LOOP UNTIL 条件,DO做什么,LOOP UNTIL绕环回线走,直到达到某种 条件为止,

12、思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的?,(2)UNTIL语句的一般格式是:,DO 循环体 LOOP UNTIL 条件,从UNTIL型循环结构分析,计算机执行该语句时,先 执行一次循环体,然后进行条件的判断,如果条件不 满足,继续返回执行循环体,然后再进行条件的判断, 这个过程反复进行,直到某一次条件满足时,不再执 行循环体,跳到LOOP UNTIL语句后执行其他语句, 是先执行循环体后进行条件判断的循环语句.,提问:通过对照,大家觉得WHILE型语句与UNTIL型 语句之间有什么区别呢?,区别:在WHILE语句中,是当条件满足时执行循环 体,

13、而在UNTIL语句中,是当条件不满足时执行循环 体。,例1.编写程序, 计算自然数1+2+3+99+100的和.,分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。,i=1 S=0,WHLIE i=100,S=S+i,i=i+1,WEND,PRINT S,END,i=1 S=0,DO,S=S+i i=i+1,LOOP UNTIL,i100,PRINT S,END,变式训练(1): 编写程序求:n!=12345n的值.,如何修改?,WHILE语句,i=1 S=0,WHLIE i=100,S=S+i,i=i+1,WEND,PRINT S,END,INPUT “n=”;n

14、,S=1,S=Si,in?,S=1,n,S=Si,变式训练(2): 编写程序求:1357101的值.,如何修改?,UNITL语句,i=1 S=0,DO,S=S+i,i=i+1,LOOP UNTIL i100,PRINT S,END,S=1,101,S=Si,i=i+2,直到型,S=1,S=Si,i=i+2,i101?,例2:根据P5页图1.1-2,将程序框图转化为程序语句.,分析:仔细观察,该程序框图中既有条件结构,又有循环结构。,INPUT “n=”;n i=2 DO r=n MOD i i=i+1 LOOP UNTIL i=n OR r=0 IF r=0 THEN PRINT “n is

15、not a prime number.” ELSE PRINT “n is a prime number.” END IF END,程序,习题解答,1.P24页练习T1.,程序框图,程序,a=1,b=2,e=0.005,DO,m=(a+b)/2,f=m2-2,g=a2-2,IF gf0 THEN,a=m,ELSE,b=m,END IF,LOOP UNTIL ABS(a-b)e OR f=0,PRINT m,END,继续,是,是,否,程序框图,开始,f(x)=x2-2,输入误差 和初值a,b,a=m,否,b=m,|a-b|或f(m)=0?,输出m,结束,返回,2.P24页练习T2.,x=1,DO

16、,y=x2-3x+5,LOOP UNTIL x20,PRINT “x=”;x, “y=”;y,END,x=x+1,程序,2.P24页练习T2.,x=1,WHILE x=20,y=x2-3x+5,WEND,PRINT x, y,END,x=x+1,程序,3.P25页A组T4.,程序,INPUT “n=”;n,i=1,S=0,WHILE i=n,S=S+(i+1)/i,i=i+1,WEND,PRINT “S=”;S,END,4.P25页B组T1.,程序,n=1,p=1000,WHILE n=7,p=p(1+0.5),n=n+1,WEND,PRINT p,END,5.P40页A组T4.,程序,INPUT “n=”;n,i=1,S=0,WHILE i=n,S=S+1/i,i=i+1,WEND,PRINT “S=”;S,END,6.P40页A组T2.,程序框图,程序,INPUT a1,b1,c1,a2,b2,c2,IF a10 THEN,u=-a2/a1,b=b2+b1u,c=c2+c1u,y=c/b,x=(c2-b2y)/a2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论