112程序框图与算法的基本逻辑结构习题课

上传人:pu****.1 文档编号:577180402 上传时间:2024-08-21 格式:PPT 页数:33 大小:541.50KB
返回 下载 相关 举报
112程序框图与算法的基本逻辑结构习题课_第1页
第1页 / 共33页
112程序框图与算法的基本逻辑结构习题课_第2页
第2页 / 共33页
112程序框图与算法的基本逻辑结构习题课_第3页
第3页 / 共33页
112程序框图与算法的基本逻辑结构习题课_第4页
第4页 / 共33页
112程序框图与算法的基本逻辑结构习题课_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《112程序框图与算法的基本逻辑结构习题课》由会员分享,可在线阅读,更多相关《112程序框图与算法的基本逻辑结构习题课(33页珍藏版)》请在金锄头文库上搜索。

1、1.1.2 1.1.2 程序框图与算法程序框图与算法 的基本逻辑结构的基本逻辑结构 习题课习题课问题提出问题提出 1.1.算法的基本逻辑结构有哪几种?算法的基本逻辑结构有哪几种?用程序框图分别如何表示?用程序框图分别如何表示? 步骤步骤n步骤步骤n+1顺序结构顺序结构条件结构条件结构满足条件?满足条件?步骤步骤A步骤步骤B是是否否(1)(1)满足条件?满足条件?步骤步骤A是是否否(2)(2)循环结构循环结构循环体循环体满足条件?满足条件?是是否否直到型直到型循环体循环体满足条件?满足条件?是是否否当型当型注意:注意: 2.2.在学习上,我们要求对实际问题在学习上,我们要求对实际问题能用自然语言

2、设计一个算法,再根据算能用自然语言设计一个算法,再根据算法的逻辑结构画出程序框图,同时,还法的逻辑结构画出程序框图,同时,还要能够正确阅读、理解程序框图所描述要能够正确阅读、理解程序框图所描述的算法的含义,这需要我们对程序框图的算法的含义,这需要我们对程序框图的画法有进一步的理解和认识的画法有进一步的理解和认识. .例例1:已知函数已知函数右面流程图表示的是右面流程图表示的是给定给定x值值,求其相应函求其相应函数值的算法数值的算法,请将流请将流程图补充完整程图补充完整,其中其中处应填处应填 处应填处应填开始开始结束结束否否是是思考3:你能画出求分段函数的值的程序框图吗?思考思考3 3:你能画出

3、求分段函数你能画出求分段函数 的值的程序框图吗?的值的程序框图吗?开始开始输入输入xx1?输出输出y结束结束x0?否否是是y=x+2是是y=3x- -1否否y=1- -x知识探究(一):多重条件结构的程序框图知识探究(一):多重条件结构的程序框图思考思考1:1:解关于解关于x x的方程的方程ax+bax+b=0=0的算法步骤的算法步骤如何设计?如何设计?第三步,判断第三步,判断b b是否为是否为0.0.若是,则输出若是,则输出“方程的解为任意实数方程的解为任意实数”;否则,输出;否则,输出“方程无实数解方程无实数解”. .第一步,输入实数第一步,输入实数a a,b.b.第二步,判断第二步,判断

4、a a是否为是否为0.0.若是,执行第三若是,执行第三步;否则,计算步;否则,计算 ,并输出,并输出x x,结束,结束算法算法. .思考思考2:2:该算法的程序框图如何表示?该算法的程序框图如何表示? 开始开始输入输入a,ba=0?是是b=0?输出输出x结束结束输输出出“方方程程的的解解为为任意实数任意实数”是是输输出出“方方程程无无实数根实数根”否否否否 例例1 1 设计一个求解一元二次方程设计一个求解一元二次方程axax2 2+bx+c=0+bx+c=0的算法,并画出程序框图表示的算法,并画出程序框图表示. . 理论迁移理论迁移算法分析算法分析:第一步,输入三个系数第一步,输入三个系数a

5、a,b b,c.c.第二步,计算第二步,计算=b=b2 2-4ac.-4ac.第三步,判断第三步,判断0 0是否成立是否成立. .若是,则计若是,则计 算算 ;否则,输出;否则,输出“方程方程没有没有 实数根实数根”,结束算法,结束算法. .第四步,判断第四步,判断=0=0是否成立是否成立. .若是,则输出若是,则输出 x x1 1=x=x2 2=p=p,否则,计算,否则,计算x x1 1= =p+qp+q,x x2 2= =p-qp-q, 并输出并输出x x1 1,x x2 2. . 程序框图程序框图:开始开始输入输入a,b,c= b2- -4ac0?=0?否否x1=p+q输出输出x1,x2

6、结束结束否否是是x2=p- -q输出输出x1=x2=p是是输出输出“方程没有方程没有实数根实数根” 例例2 2 某工厂某工厂20052005年的年生产总值为年的年生产总值为200200万元,技术革新后预计以后每年的年万元,技术革新后预计以后每年的年生产总值都比上一年增长生产总值都比上一年增长5%.5%.设计一个程设计一个程序框图,输出预计年生产总值超过序框图,输出预计年生产总值超过300300万万元的最早年份元的最早年份. .第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.300. 若是,则输出该年的年份;若是,则输出该年的年份; 否则,返回第二步否则,返回第二步. .第一

7、步,第一步, 输入输入20052005年的年生产总值年的年生产总值. .第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值. .算法分析算法分析:(3 3)控制条件:当)控制条件:当“a a300300”时终止循时终止循环环. .(1 1)循环体:设)循环体:设a a为某年的年生产总值,为某年的年生产总值,t t为年生产总值的年增长量,为年生产总值的年增长量,n n为年份,为年份,则则t=0.05at=0.05a,a=a=a+ta+t,n=n+1.n=n+1.(2 2)初始值:)初始值:n=2005n=2005,a=200.a=200.循环结构循环结构:开始开始n=2005a=200

8、t=0.05aa=a+tn=n+1a300?结束结束输出输出n是是否否程序框图程序框图:思考思考1 1:用用“二分法二分法”求方程求方程 的的近似解的算法如何设计?近似解的算法如何设计? 知识探究(二):混合逻辑结构的程序框图知识探究(二):混合逻辑结构的程序框图第一步,令第一步,令f(xf(x)=x)=x2 2-2-2,给定精确度,给定精确度d.d. 第二步,确定区间第二步,确定区间aa,bb,满足,满足f(a)f(a)f(bf(b) )0. 0. 第三步,取区间中点第三步,取区间中点 . . 第四步,若第四步,若f(a)f(a)f(mf(m) )0 0,则含零点的区间为,则含零点的区间为a

9、a,mm;否则,含零点的区间为;否则,含零点的区间为mm,b.b.将新得到的含将新得到的含零点的区间仍记为零点的区间仍记为aa,b. b. 第五步,判断第五步,判断aa,bb的长度是否小于的长度是否小于d d或或f(mf(m) )是否是否等于等于0.0.若是,则若是,则m m是方程的近似解;否则,返回第是方程的近似解;否则,返回第三步三步. . 思考思考2:2:该算法中哪几个步骤可以用顺序该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图结构来表示?这个顺序结构的程序框图如何?如何?f(x)=x2- -2输入精确度输入精确度d和初始值和初始值a,b思考思考3:3:该算法中第四步是什

10、么逻辑结构该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?这个步骤用程序框图如何表示?f(a)f(m)0?a=mb=m是是否否思考思考4:4:该算法中哪几个步骤构成循环结该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示构?这个循环结构用程序框图如何表示?第三步第三步第四步第四步|a- -b|d或或f(m)=0?输出输出m是是否否思考思考5:5:根据上述分析,你能画出表示整个算根据上述分析,你能画出表示整个算法的程序框图吗?法的程序框图吗?开始开始结束结束f(a)f(m)0??a=mb=m是是否否|a- -b|b?ac?是是x=a是是x=c否否bc?否否x=b是是x=c否

11、否输出输出x结束结束开始开始结束结束例例5:写出右图的运行结果写出右图的运行结果箭头指向箭头指向处处,输出输出S=箭头指向箭头指向处处,输出输出S=“盒子盒子”思想思想:以新替旧以新替旧 输出的总是输出框之前输出的总是输出框之前最最“新鲜的新鲜的”155是是否否开始开始结束结束1.(08广东广东)如图如图,若输若输入入m=4,n=6,则输出则输出a=i=123变式变式例例6、考察下列程序框图:考察下列程序框图:S=?开始开始n100?n=1S=0n是偶数是偶数?S=S- -nnS=S+ +nnn=n+1输出输出S结束结束是是是是否否否否小结作业小结作业设计一个算法的程序框图的基本思路:设计一个

12、算法的程序框图的基本思路:第二步,确定每个算法步骤所包含的逻第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示辑结构,并用相应的程序框图表示. .第一步,用自然语言表述算法步骤第一步,用自然语言表述算法步骤. .第三步,将所有步骤的程序框图用流程第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框线连接起来,并加上两个终端框. .作业:作业:P19P19练习练习(只要求画出算法的(只要求画出算法的 程序框图)程序框图). .P20P20习题习题1.1B1.1B组:组:2.2.P.20习题习题1.1B组第组第1题题方程无解开始输出提出:“输入第一个方程的系数”“x的系数是”:a1“y的系数是”:b1“常数项是”:c1输出“x=”;x“y=”;y方程有无数多组解a1*b2a2*b10x=(c2*b1 c1*b2)/(a1*b2 a2*b1)y=(c2*b1 c1*b2)/(a1*b2 a2*b1)结束输出提出:“输入第二个方程的系数”“x的系数是”:a2“y的系数是”:b2“常数项是”:c2NYc1=c2YN

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号