资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2算法框图的基本结构及设计2.2选择结构制作:董坤1回顾练习:1.写出下列程序的运行结果.、图(1)中,输出S=_ 、图(2)中,若R=8,则a=_开始结束输入a,ba=2b=4输出S图(1)开始结束输入Ra=2b输出a图(2)22.写出下列程序的运行结果.在右侧的两个框图中均输入a=3,b=4,c=5则框图输出的是框图输出的是开始输入a,b,cx=aa=cc=bb=x输出a,b,c结束开始输入a,b,cb=ac=ba=c输出a,b,c结束3顺序结构由若干个依次执行的处理步骤组成的逻辑结构。这是任何一个程序都离不开的基本结构。AB在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种算法结构称为条件结构。选择结构是是否否条件条件步骤步骤1步骤步骤24例1、画出函数的程序框图1.输入x2,判断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.算法分析:y=-x开始输入xx0y=x输出y否是结束结束62.下图的作用是判断输入数x的奇偶性,则处应为_开始结束输入x输出“x是奇数”输出“x是偶数”R=x除以2的余数否是7 例: 儿童乘火车的时候,若身高不超过1.2m ,则无需购票;若身高超过1.2m ,但是不超过1.5m ,可买半票;若超过1.5m,应购买全票,设计一个算法,并画出框图1、测量儿童的身高 h m,2、若,那么免票乘车;否则,若,那么买半票;否则买全票解:8练习2: 已知函数 , 设计程序框图求对于任意给定x值,求y的值。9,下面的程序练习:1、已知函数则处应为_ 处应为_表示给定的x的值,求相应函数值的算法开始结束输入xy=35x否是输出y10开始输入x结束输出输出“是负数”是否2、在下面的框图中若输入4,则输出的结果为 11开始输入xx9是否x2是否y=9x-8y=0y=-x+3输出y结束3、写出程序框图所表示的函数。12(2008海南高考)如图所示的程序框图,如果输入三个实数a、b、c,要求输出这三个数中最大的数,那么在空白的判断框中,应填入下面四个选项 中的( ) A.cx B.xc C.cb D.bc 开始输入a、b、cx=abxx=bx=c输 出x结束否否是是132算法框图的基本结构及设计2.3循环结构制作:董坤14例例4:设计一算法,求和设计一算法,求和:1+2+3+100第一步:输入输入n=100n=100;第二步:计算计算S=n(n+1)/2S=n(n+1)/2;第三步:输出输出S S。算法1:利用等差数列求和公式开始结束输入n=100S=n(n+1)/2输出S顺序结顺序结构构15例例4:设计一算法,求和设计一算法,求和:1+2+3+100算法2:第一步:从从1开始将自然开始将自然数数1、2、 3、100逐逐个相加个相加;第二步:输出累加结果。输出累加结果。思考:1、上边的式子有怎样的规律呢?S=0S=S + 1S=S+ 2S=S+ 3S=S+ 1002、怎么用程序框图表示呢?S = S + ii =i + 14、如何使程序结束?3、i有什么作用?S呢?S=S + i累加法累加法16(3)循环结构循环结构 有些算法中有些算法中,也经常出现从某处开始也经常出现从某处开始,按照一按照一定条件定条件,反复执行某些步骤的情况反复执行某些步骤的情况.这就是这就是循环结循环结构构.反复执行的步骤称为反复执行的步骤称为循环体循环体.知识探究知识探究循环结构的三要素循环结构的三要素:循环变量,循环体、循环的终止条件。循环结构的设计步骤循环结构的设计步骤1)确定循环结构的循环变量和初始条件;2)确定算法中需要反复执行的部分,即循环体;3)确定循环的终止条件。17计数变量计数变量:用于记录循环次数用于记录循环次数,同时还用同时还用于判断循环是否终止于判断循环是否终止.i 累加变量累加变量:用于输出结果用于输出结果,一般与计数变一般与计数变量同步执行量同步执行,累加一次累加一次,计数一次计数一次.sS = S + ii =i + 1循环体循环体18S = S + ii =i + 1解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。试分析两种流程的异同点当型结构S = S + i i =i + 1是否S = S + ii =i + 1否是i100?i 100?请填上判断的条件。可以先可以先判断再判断再执行执行可以先执行再可以先执行再判断判断直到型结构使循环能使循环能够终止够终止19开始开始N输出输出结束结束Y计数变量计数变量:用于记录循环次数用于记录循环次数,同时还用同时还用于判断循环是否终止于判断循环是否终止.累加变量累加变量:用于输出结果用于输出结果,一般与计数变一般与计数变量同步执行量同步执行,累加一次累加一次,计数一次计数一次.循环终止条件循环终止条件循环体循环体确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即即循环体;循环体;循环循环变量变量20最后的结果结束S = S + i i =i + 1i100?输出S否是i=1,S=0开始结束输出Si=1,S=0开始S = S + ii =i + 1i 100?否是21结束S = S + ii =i + 1i100?输出S否是i=1,S=0开始步骤A步骤B 思考:将步骤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整除的正整数。算法框图如右:开 始n=1a=15n输出an=n+1n66结 束是否初始条件循环体循环终止条件24练习巩固练习巩固1、设计一算法,求积、设计一算法,求积:123100,画出流程图,画出流程图结束输出Pi=0,P=1开始i = i + 1P=P*ii=100?否是思考:该流程图与前面的例4中求和的流程图有何不同?EX:设计一算法,求和设计一算法,求和:22+42+62+1002,画出流程图画出流程图25 例例7.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革新后预计技术革新后预计以后每年的生产总值比上一年增加以后每年的生产总值比上一年增加5%.设计一个程序框图,输设计一个程序框图,输出预计年生产总值超过出预计年生产总值超过300万元的最早年份万元的最早年份.算法算法第一步:输入第一步:输入2005年的年生产总值年的年生产总值.第二步:计算下一年的年生产总值第二步:计算下一年的年生产总值.第三步:判断所得结果是否大于第三步:判断所得结果是否大于300.若是,输出该年若是,输出该年年份年份;否则,返回第二步否则,返回第二步.循环结构的设计步骤循环结构的设计步骤(1)确定循环结构的确定循环结构的循环变量循环变量和和初始条件初始条件;(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即即循环体循环体;(3)确定循环的确定循环的终止条件终止条件.直到型循环结构直到型循环结构当型循环结构当型循环结构26开始开始否否结束结束输出输出是是开始开始结束结束输出输出否否当当型型循循环环结结构构直直到到型型循循环环结结构构是是 例例7.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革新后预计以后每年的生产总值技术革新后预计以后每年的生产总值比上一年增加比上一年增加5%.设计一个程序框图,输出预计年生产总值超过设计一个程序框图,输出预计年生产总值超过300万元的最早年万元的最早年份份.EX:设计一算法,求使设计一算法,求使:1+2+3+n2012成立的最小成立的最小自然数自然数n的值,的值,画出流程图画出流程图271、写出下列程序的输出结果、写出下列程序的输出结果练习练习开始i=0j=10j19?i=i+1j=j+3是输出i否结束开始a=5,s=1a4?s=saa=a-1是否输出s结束28开始i=2sum=0sum=sum+ii=i+2i100?否是输出sum结束开始n=1s=0n51否输出s结束是n=n+2292、写出S的表达式开始S=0i=1i5?否是i=i+1结束输出S开始S=1i=2i10?否是S=S*ii=i+1输出S结束303、在判断框中填入相应的条件开始S=0i=1,n=2是否i=i+1输出S结束n=n+2该程序是计算的值的一个框图问:若没有变量311(2012北京卷)执行如图所示的程序框图,输出的S值为A2 B4 C8 D16C当k0时,满足k3,因此S1201;当k1时,满足k3,因此S1212;当k2时,满足k3,因此S2228;当k3时,不满足k3,因此输出S8.322如图,在程序框图中,若输入x为5,则输出的值是( ) 31 当输入x5时, 注意到52311,且52431,故运行此程序后输出的y值为31,333(2012北京海淀一模)执行如图所示的程序框图,输出的k值是()A4 B5C6 D7B 344(2012西安长安一中质检)按如图所示的算法流程图运算,若输出k2,则输入x的取值范围是()A19x200 Bx19C19x200 Dx200A 355、如果下述程序输出的S的值比2 013小,若使输出的S最大,那么判断框中应填入()AK10 BK10CK9 DK9C 363几种基本语句3.1条件语句制作:董坤37在算法中,选择结构是一种基本结构,在算法中,选择结构是一种基本结构,条件语句是表达选条件语句是表达选择结构最常用的语句择结构最常用的语句。条件条件条件条件语句语句语句语句1 1语句语句语句语句2 2真真假假条件条件条件条件语句语句语句语句真真假假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. y=x2-x开始输入xx1y=x+1输出y否是结束结束If ThenElsexEnd Ifxx-21 y=x+1 y=x输 入39练习1 写出一个 y=x的语句练习2 写出下列程序的运行结果输入 xIf x0 Then y=xElse y=xEnd If输出 y a=2 , b=3If ab Then t = a a = b b = tEnd If输出 a , b b=2If b0 Then t = 0.5*b+3Else t = 0 End If输出 t x= 9If x 5 Then y =3*x+4Else y = 7*x +5 y = 2y End If输出 y 40例例2 在音乐唱片超市里,每张唱片售价在音乐唱片超市里,每张唱片售价25元。顾客如果购元。顾客如果购买买5张以上(含张以上(含5张)唱片,则按照九折收费;如果顾客购张)唱片,则按照九折收费;如果顾客购买买10张以上(含张以上(含10张)唱片,则按照八五折收费。请用语张)唱片,则按照八五折收费。请用语句描述完成计费工作的算法,画出算法框图。句描述完成计费工作的算法,画出算法框图。解解 假如用变量假如用变量a表示顾客购买的唱片数,用变量表示顾客购买的唱片数,用变量C表示顾表示顾客要缴纳的金额。则这个算法可以表示为:客要缴纳的金额。则这个算法可以表示为:41算法框图算法框图开始开始C=25aC=21.25aC=22.5a输入输入a结束结束否否是是a5a10输出输出C否否是是在这个算法中,判断的后面接着在这个算法中,判断的后面接着判断,我们可用判断,我们可用复合复合复合复合If If语句语句语句语句来描来描述这个算法述这个算法42对于形如下框图的算法,都可以复合对于形如下框图的算法,都可以复合If语句来表示:语句来表示:语句语句1语句语句2语句语句3真真假假条件条件1条件条件2假假真真43开始开始C=25aC=21.25aC=22.5a输入输入a结束结束否否是是a5a10输出输出C否否是是44IF 条件条件1 THEN 语句语句 1 ELSE IF 条件条件2 THEN 语语 句句 2 ELSE 语句语句 3 END IFEND IF 程序框图:程序框图:满足条件满足条件1? 语句语句2 语句语句1否否是是满足条件满足条件2? 语句语句3是是否否条件语句的嵌套格式条件语句的嵌套格式外外层层条条件件语语句句 内内层层条条件件语语句句45IF 条件条件1 THEN IF 条件条件2 THEN 语句语句 1 ELSE 语语 句句 2 END IF ELSE 语句语句 3END IF 程序框图程序框图:满足条件满足条件1 1? 语句语句1 语句语句3否否是是满足条件满足条件2? 语句语句2是是否否条件语句的嵌套格式条件语句的嵌套格式外外层层条条件件语语句句内内层层条条件件语语句句46如果x=0,则 y=0否则:y=x+1例3:已知, 编写程序,输出相应的函数值。算法算法算法算法:1、输入自变量x3、输出y2、如果x0;则 y=-2x+1, 否则 :x0?否否y=-2x+1是是开始开始输入输入x结束结束输出输出yx=0?y=0否否y=x+1是是47INPUT “x= ”; xIF x0 THEN y=(-2)*x+1ELSE IF x=0 THEN y=0 ELSE y=x+1 END IFEND IFPRINT “y= ”; yEND 程程序序的的嵌嵌套套开始开始输入输入xx0y=x+1输出输出y结束结束x0y=0y=x+1否否是是输入输入x;If x0 then y=x+1;else if x=0 then y=0; else y=x+1; end ifEnd if50练习题练习题1.下面的问题中不需用条件结构就可以实下面的问题中不需用条件结构就可以实现的是(现的是( )A.已知三角形三边长,求三角形的面积;已知三角形三边长,求三角形的面积;B.求方程求方程ax+b=0 (a, b为常数为常数)的根;的根;C.求三个实数求三个实数a,b,c中的最大者;中的最大者;D.给出两点给出两点M、N的坐标的坐标,计算直线计算直线MN的的斜率。斜率。A512. 给出以下四个问题给出以下四个问题, 输入一个数输入一个数x, 输出输出它的相反数它的相反数. 求面积为求面积为6的正方形的周长的正方形的周长.求三个数求三个数a,b,c中的最大数中的最大数. 求函数求函数 的函数值的函数值. 其中不需其中不需要用条件语句来描述其算法的有要用条件语句来描述其算法的有 ( ) A. 1个个 B. 2个个 C. 3个个 D. 4个个B522、写出下程序运行的结果、写出下程序运行的结果 _ A=2 B=3 X=0 If AB Then X=B-A End if 输出输出 X 1 11、将功能为求一个数的绝对值的、将功能为求一个数的绝对值的程序补充完整程序补充完整输入输入 X If _ Then Y=X Else Y=X End if X X0 b b,a a c c THEN THEN 输出输出输出输出 a a ELSE ELSE IF IF b b c c THEN THEN 输出输出输出输出 b b ELSE ELSE 输出输出输出输出 c c END IF END IF END IF END IF 该程序的功能是:该程序的功能是:_输出输出输出输出a a,b b,c c三个数中较大一个数三个数中较大一个数三个数中较大一个数三个数中较大一个数 534已知伪代码如下:根据伪代码提示输入已知伪代码如下:根据伪代码提示输入a4,b2,c5,则伪代码运行结果是,则伪代码运行结果是()Amaxa BmaxbCmaxc Dmax4D545给出以下伪代码:如果输入给出以下伪代码:如果输入2,3,那么执行,那么执行此伪代码的结果是输出此伪代码的结果是输出()A7 B10C5 D8C55如果输入如果输入a3,则伪代码运行的结果是,则伪代码运行的结果是()A3 B34C345 D3456D5657585960
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号