算法框图-选择结构ppt课件_第1页
算法框图-选择结构ppt课件_第2页
算法框图-选择结构ppt课件_第3页
算法框图-选择结构ppt课件_第4页
算法框图-选择结构ppt课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

2算法框图的基本结构及设计,2.2选择结构,制作:董坤,1,回顾练习:,1.写出下列程序的运行结果.、图(1)中,输出S=_、图(2)中,若R=8,则a=_,2,2.写出下列程序的运行结果.在右侧的两个框图中均输入a=3,b=4,c=5则框图输出的是框图输出的是,3,顺序结构,由若干个依次执行的处理步骤组成的逻辑结构。这是任何一个程序都离不开的基本结构。,在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种算法结构称为条件结构。,选择结构,4,例1、画出函数,的程序框图,1.输入x,2,判断x是否大于5,若x5,则y=2x+5;若x5,则执行第3步.,3,若x5则y=4x2-9x;,4,输出y.,5,例题2任意给定一个实数x,设计一个算法,求x的绝对值,并画出程序框图.,第一步,判断x是否大于0,若x0,则x的绝对值等于x,令y=x;若x0,则执行第二步.,第二步,x的绝对值等于x,令y=x;,第三步,输出y.,算法分析:,6,2.下图的作用是判断输入数x的奇偶性,则处应为_,7,例:儿童乘火车的时候,若身高不超过1.2m,则无需购票;若身高超过1.2m,但是不超过1.5m,可买半票;若超过1.5m,应购买全票,设计一个算法,并画出框图,1、测量儿童的身高hm,解:,8,练习2:已知函数,设计程序框图求对于任意给定x值,求y的值。,9,,下面的程序,练习:1、已知函数,则处应为_处应为_,表示给定的x的值,求相应函数值的算法,10,2、在下面的框图中若输入4,则输出的结果为,11,开始,输入x,x9,是,否,x2,是,否,y=9x-8,y=0,y=-x+3,输出y,结束,3、写出程序框图所表示的函数。,12,(2008海南高考)如图所示的程序框图,如果输入三个实数a、b、c,要求输出这三个数中最大的数,那么在空白的判断框中,应填入下面四个选项中的()A.cxB.xcC.cbD.bc,13,2算法框图的基本结构及设计,2.3循环结构,制作:董坤,14,例4:设计一算法,求和:1+2+3+100,第一步:输入n=100;,第二步:计算S=n(n+1)/2;,第三步:输出S。,算法1:利用等差数列求和公式,顺序结构,15,例4:设计一算法,求和:1+2+3+100,算法2:,第一步:从1开始将自然数1、2、3、100逐个相加;,第二步:输出累加结果。,思考:1、上边的式子有怎样的规律呢?,S=0S=S+1S=S+2S=S+3S=S+100,2、怎么用程序框图表示呢?,4、如何使程序结束?,3、i有什么作用?S呢?,S=S+i,16,(3)循环结构,有些算法中,也经常出现从某处开始,按照一定条件,反复执行某些步骤的情况.这就是循环结构.反复执行的步骤称为循环体.,知识探究,循环结构的三要素:,循环变量,循环体、循环的终止条件。,循环结构的设计步骤,1)确定循环结构的循环变量和初始条件;2)确定算法中需要反复执行的部分,即循环体;3)确定循环的终止条件。,17,循环体,18,解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。,试分析两种流程的异同点,当型结构,i100?,i100?,请填上判断的条件。,可以先判断再执行,可以先执行再判断,直到型结构,使循环能够终止,19,确定算法中需要反复执行的部分,即循环体;,循环变量,20,最后的结果,21,思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?,答:达不到预期结果;因为是从2开始加到100.须将计数变量i的初始值改为0.,22,循环结构分为当型循环结构和直到型循环结构,差异:循环终止条件不同,检验条件是否成立的先后次序也不同.,当型循环结构:先判断后执行循环体.,直到型循环结构:先执行循环体后判断条件是否成立.,23,进一步理解循环框图和分析循环结构的各个要素,例1,设计算法,输出1000以内能被3和5整除的所有正整数,画出算法框图。,解:,引入变量a=15n(n=1,2,3,66)n从1到66,反复输出a,就能输出1000以内的所有能被3和5整除的正整数。,算法框图如右:,初始条件,循环体,循环终止条件,24,练习巩固,1、设计一算法,求积:123100,画出流程图,思考:该流程图与前面的例4中求和的流程图有何不同?,EX:设计一算法,求和:22+42+62+1002,画出流程图,25,例7.某工厂2005年的生产总值为200万元,技术革新后预计以后每年的生产总值比上一年增加5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.,算法,直到型循环结构,当型循环结构,26,当型循环结构,直到型循环结构,例7.某工厂2005年的生产总值为200万元,技术革新后预计以后每年的生产总值比上一年增加5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.,EX:设计一算法,求使:1+2+3+n2012成立的最小自然数n的值,画出流程图,27,1、写出下列程序的输出结果,练习,开始,a=5,s=1,a4?,s=sa,a=a-1,是,否,输出s,结束,28,开始,i=2,sum=0,sum=sum+i,i=i+2,i100?,否,是,输出sum,结束,开始,n=1,s=0,n51,否,输出s,结束,是,n=n+2,29,2、写出S的表达式,开始,S=0,i=1,i5?,否,是,i=i+1,结束,输出S,开始,S=1,i=2,i10?,否,是,S=S*i,i=i+1,输出S,结束,30,3、在判断框中填入相应的条件,开始,S=0,i=1,n=2,是,否,i=i+1,输出S,结束,n=n+2,该程序是计算,的值的一个框图,问:若没有变量,31,1(2012北京卷)执行如图所示的程序框图,输出的S值为A2B4C8D16,C当k0时,满足k3,因此S1201;当k1时,满足k3,因此S1212;当k2时,满足k3,因此S2228;当k3时,不满足k3,因此输出S8.,32,2如图,在程序框图中,若输入x为5,则输出的值是(),31当输入x5时,注意到52311,且52431,故运行此程序后输出的y值为31,,33,3(2012北京海淀一模)执行如图所示的程序框图,输出的k值是(),A4B5C6D7,B,34,4(2012西安长安一中质检)按如图所示的算法流程图运算,若输出k2,则输入x的取值范围是(),A19x200Bx19C19x200Dx200,A,35,5、如果下述程序输出的S的值比2013小,若使输出的S最大,那么判断框中应填入(),AK10BK10CK9DK9,C,36,3几种基本语句,3.1条件语句,制作:董坤,37,在算法中,选择结构是一种基本结构,条件语句是表达选择结构最常用的语句。,38,设计算法,根据输入的x值,计算y的值,写出计算程序,y与x关系如下:x+1,x1;x2-x,x1.,y=,【解析】程序如下:(1)输入x;(2)如果x1,则y=x+1,(3)如果x1,则y=x2-x,(4)输出y.,39,练习1写出一个y=x的语句,练习2写出下列程序的运行结果,输入xIfx0Theny=xElsey=xEndIf输出y,a=2,b=3IfabThent=aa=bb=tEndIf输出a,b,b=2Ifb0Thent=0.5*b+3Elset=0EndIf输出t,x=9Ifx5Theny=3*x+4Elsey=7*x+5y=2yEndIf输出y,40,例2在音乐唱片超市里,每张唱片售价25元。顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含10张)唱片,则按照八五折收费。请用语句描述完成计费工作的算法,画出算法框图。,解假如用变量a表示顾客购买的唱片数,用变量C表示顾客要缴纳的金额。则这个算法可以表示为:,41,算法框图,在这个算法中,判断的后面接着判断,我们可用复合If语句来描述这个算法,42,对于形如下框图的算法,都可以复合If语句来表示:,43,44,IF条件1THEN语句1ELSEIF条件2THEN语句2ELSE语句3ENDIFENDIF,程序框图:,满足条件1?,语句2,语句1,否,是,满足条件2?,语句3,是,否,条件语句的嵌套格式,外层条件语句,内层条件语句,45,IF条件1THENIF条件2THEN语句1ELSE语句2ENDIFELSE语句3ENDIF,程序框图:,满足条件1?,语句1,语句3,否,是,满足条件2?,语句2,是,否,条件语句的嵌套格式,外层条件语句,内层条件语句,46,如果x=0,则y=0否则:y=x+1,例3:已知,编写程序,输出相应的函数值。,算法:,1、输入自变量x,3、输出y,2、如果x0;则y=-2x+1,否则:,47,INPUT“x=”;x,IFx0,y=x+1,输出y,结束,x0,y=0,y=x+1,否,是,输入x;Ifx0theny=x+1;elseifx=0theny=0;elsey=x+1;endifEndif,50,练习题,1.下面的问题中不需用条件结构就可以实现的是()A.已知三角形三边长,求三角形的面积;B.求方程ax+b=0(a,b为常数)的根;C.求三个实数a,b,c中的最大者;D.给出两点M、N的坐标,计算直线MN的斜率。,A,51,2.给出以下四个问题,输入一个数x,输出它的相反数.求面积为6的正方形的周长.求三个数a,b,c中的最大数.求函数的函数值.其中不需要用条件语句来描述其算法的有()A.1个B.2个C.3个D.4个,B,52,三、随堂演练,2、写出下程序运行的结果_A=2B=3X=0IfAcTHEN输出aELSEIFbcTHEN输出

温馨提示

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

评论

0/150

提交评论