1.1.2程序框图与算法的基本逻辑结构(3个课时)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、复习回顾1、什么是算法?算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。确定性、有限性、可行性、不唯一性、普遍性2、算法有哪些特征?自然语言3、怎么表示算法?例:判断“整数n(n2)是否是质数”的算法算法步骤:程序框图:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示.第五步,判断“i(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步.二、讲授新课1、程序框图(1)程序框图的概念程序框图又称流程图,是一种用程序框、流程线及文字说明来准确、直观地表示算法的图形.图形符号名称功能终端框(起止框)输入、输出框处理框(执行框)判断框表示一个算法的起始和结束表示一个算法输入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.(2)构成程序框图的图形符号及其功能流程线连接程序框连结点连接程序框图的两部分6例:判断“整数n(n2)是否是质数”的算法算法步骤:程序框图:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示.第五步,判断“i(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步.开始输入n求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?r=0?n不是质数n是质数结束否否是是i=2例:判断“整数n(n2)是否是质数”的算法算法步骤:程序框图:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示.第五步,判断“i(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步.开始求n除以i的余数ri=2输入nin-1?r=0?输出“n是质数”是i=i+1否输出“n不是质数”是结束否结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?终端框(起止框),表示一个算法的起始和结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?输入、输出框表示一个算法输入和输出的信息结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?处理框(执行框)赋值、计算结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?判断框判断某一条件是否成立,成立时在出口处标明“是”;不成立时标明“否”结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?流程线连接点名称终端框或起止框名称输入、输出框名称处理框或执行框作用作用作用判断框作用表示算法的起始和结束表示算法的输入和输出的信息赋值、计算判断某一条件是否成立,成立在出口处标明“是”或“Y”不成立标明“否”或“N”名称程序框图:又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观的表示算法的图形.开始输入n求n除以i的余数i的值增加1,仍用i表示in-1或r=0?r=0?n不是质数n是质数结束否否是是i=2顺序结构循环结构条件结构问题:你能说出三种基本逻辑结构的特点吗?2、算法的三种基本逻辑结构顺序结构、条件结构、循环结构。(1)顺序结构顺序结构是由若干个依次执行的步骤组成的。它是任何一个算法都离不开的一种基本算法结构。步骤n步骤n+1示意图例3已知一个三角形的三边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.算法步骤:第一步,输入三角形三边长a,b,c第二步,计算2cbap第三步,计算c)-b)(p-a)(p-p(ps第四步,输出s.程序框图:结束开始输入a,b,c2cbapc)-b)(p-a)(p-p(ps输出s算法步骤为:第一步,输入圆的半径r.第二步,计算第三步,输出s.2rs程序框图:结束开始输入r输出s2rs计算练习1:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.练习2(1)写出图中程序框图的运行结果:开始a=2b=4S=a/b+b/a输出S结束图中输出S=;5/2(2)写出下列算法的功能。开始输入a,bd=a2+b2c=输出c结束d左图算法的功能是;求两数平方和的算术平方根条件结构是指在算法中通过对某条件的判断,根据条件是否成立而选择不同流向的算法结构.基本形式2(2)条件结构满足条件?步骤A否是满足条件?步骤A步骤B是否基本形式1例4任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.a+bc,a+cb,b+ca是否同时成立?开始存在这样的三角形结束不存在这样的三角形否是输入a,b,c例5.设计算法,求一元二次方程ax2+bx+c=0,画出相应的流程图解决这一问题的算法步骤如下:第一步:输入3个系数a,b,c第二步:计算△=b2-4ac第三步:判断△≥0是否成立.若是,则计算p=-,q=;否则,输出“方程没有实数根”,结束算法.第四步:判断△=0是否成立.若是,则输出x1=x2=p;否则,计算x1=p+q,x2=p-q,并输出x1,x2b2a√△2a开始输入a,b,c△=b2-4ac△≥0?P=-q=△=0?b2a√△2ax1=p+qx2=p-q输出x1,x2结束输出“方程没有实数根”输出p否是是否开始结束输入xx3?y=x-2输出yy=4-x否是练习1、此为某一函数的求值程序图,若输入x的值为3,求输出的y值变形:设计一个算法计算分段函数的函数值,并画出程序框图。1(0)1(01)(1)xxyxxx2      1、掌握程序框的画法和功能。2、了解什么是程序框图,知道学习程序框图的意义。3、掌握顺序结构、条件结构的应用,并能解决与这两种结构有关的程序框图的画法。三、课时小结:例6、设计一个算法计算分段函数,的函数值,并画出程序框图。)1()10(1)0(0xxxxy第一步、输入x第二步、判断“x0”是否成立,若是,则输出y=0,否则执行第三步;第三步、判断“x1”是否成立,若是,则输出y=1,否则输出y=x。开始i=1S=0i=i+1S=S+ii≤10?输出S结束否是循环结构问题:说一说循环结构的功能循环结构——在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.反复执行的步骤称为循环体.注意:循环结构中一定包含条件结构.循环结构定义循环结构类型反复执行的步骤称为循环体.循环体满足条件?否是循环体满足条件?否是直到型当型循环体满足条件?是否这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.反复执行循环体,直到条件满足循环体满足条件?是否这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.当条件满足时反复执行循环体思考1设计一个计算1+2+3+…+100的值的算法,并画出程序框图.第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.显然,这个过程包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可以发现每一步都可以表示为第i步的结果=第(i﹣1)步的结果+i.知识探究(一):循环结构的程序框图S=S+i.i依次取1,2,...,100.由于i同时记录了循环的次数,所以也称为计数变量。第四步,判断“i100”是否成立.若是,则输出S,结束算法;否则,返回第二步.第一步,令i=1,S=0.第二步,计算S+i,仍用S表示.第三步,计算i+1,仍用i表示.思考1:计算1+2+3+…+100的值的算法,并画出程序框图。算法分析:思考2:用直到型循环结构,上述算法的程序框图如何表示?开始i=1i100?是输出S结束S=0i=i+1S=S+i否思考3:用当型循环结构,上述算法的程序框图如何表示?开始i=1结束输出S否是S=0S=S+ii≤100?i=i+1第二步,判断i≤100是否成立.若是,则执行第三步;否则,输出S,结束算法.第一步,令i=1,S=0.第三步,计算S+i,仍用S表示.第四步,计算i+1,仍用i表示,返回第三步.思考4:观察两个程序框图,直到型循环结构与当型循环结构如何转化?开始i=1i100?是输出S结束S=0i=i+1S=S+i否开始i=1结束输出S否是S=0i≤100?i=i+1S=S+i初始值循环体终止条件说明:(1)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.(2)循环结构分为两种------当型和直到型.当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体)直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足)变式1:右边的程序框图输出S=————?开始i=1i100?是输出S结束S=0i=i+1S=S+i否开始i=1i3?是输出S结束S=0S=S+ii=i+1否9变式2:右边的程序框图,输出S=———?开始i=1i3?是输出S结束S=0i=i+1S=S+i2否题型一:程序框图的阅读与理解14题型二:程序框图的补充1、求的值。设计的算法框图如右,应该在空格位置填入什么条件?分析:空格位置判断条件,应该考虑循环的终止条件是什么?应该填入:i10201....614121课堂小结3.设计一个算法的程序框图的基本思路:第二步,确定每个算法步骤所包含的逻辑结构,并用相应的程序框图表示.第一步,用自然语言表述算法步骤.第三步,将所有步骤的程序框图用流程线连接起来,并加上两个终端框.首先确定循环体,再根据循环体第一步确定初值,最后一步确定循环终止条件。1.循环结构三要素:循环变量赋初值、循环体、循环终止条件2.循环三要素确定过程:例2某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值.算法分析:(3)控制条件:当“a300”时终止循环.(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.(2)初始值:n=2005,a=200.循环结构:开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束输出n是否程序框图:循环结构:开始n=2005a=200t=0.05aa=a+tn=n+1输出n结束是否a≤300?当型循环结构程序框图思考1:用“二分法”求方程的近似解的算法如何设计?知识探究(二):混合逻辑结构的程序框图第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)0.第三步,取区间中点.第四步,若f(a)·f(m)0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功