算法与程序框图汇总情况
- 格式:doc
- 大小:1.48 MB
- 文档页数:13
一、算法1.算法的概念在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.注意:(1)算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.(2)通俗地讲,算法就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是实施某种算法,前者是推理实现的算法,后者是操作实现的算法.(3)描述算法可以有不同的方式.可以用自然语言和数学语言加以叙述,也可以用算法语言给出精确的说明,或用框图直观的显示等.2.算法的特点(1)确定性:算法中的每一步应该是确定的并且能有效的执行且得到确定的结果,而不应当是模棱两可或者有歧义.(2)可行性:算法对于某一类问题的解决都必须是有效的,切实可行的,并且能重复使用.(3)有效性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不是无限的.二、程序框图1.画程序框图的规则①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画;③除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一的符号;④一种判断是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;⑤在图形符号内描述的语言要非常简练、清楚.2.算法的基本逻辑结构及框图表示任何一种算法都可由顺序结构、条件结构和循环结构这三种基本逻辑结构组成.学习这部分时应注意:①循环结构中一定包含条件结构;②在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中;③根据对条件的不同处理,循环结构又分为当型(WHILE型)和直到型(UNTIL型)两种.当型循环在每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的条件进行判断,当条件不满足时执行循环体,满足则停止.3.三种基本逻辑结构的共同特点(1)只有一个入口.(2)只有一个出口,请注意一个菱形判断框有两个出口,而一个条件结构只有一个出口,不要将菱形框的出口和条件结构的出口混淆了.(3)结构内的每一部分都有机会被执行到.也就是说对每一个框来说,都应当有一条从入口到出口的路径通过它.(4)结构内不存在死循环,即无终止的循环.在程序设计中是不允许有死循环出现的.以上这些共同特点,也是检查一个程序框图或算法是否正确,合理的有效方法.。
算法与程序框图知识整理算法初步、框图第一节算法与程序框图1.算法的概念(1)算法的定义:广义的算法是指完成某项工作的方法和步骤在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
(2)算法的描述:自然语言、程序框图、程序语言。
2.程序框图(1)程序框图又称流程图,是一种用程序框,流程线,文字说明表示算法的图形;(2)构成程序框的图形符号3.几种重要的结构(1)顺序结构(2)条件结构(3)循环结构典例分析:例1.下列说法正确的是()A .算法就是某个问题的解题过程;B .算法执行后可以产生不同的结果;C .解决某一个具体问题算法不同结果不同;D .算法执行步骤的次数不可以为很大,否则无法实施。
例2.设计算法,求0=+b ax 的解,并画出流程图。
解析:对于方程0=+b ax 来讲,应该分情况讨论方程的解。
我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下:(1)当a ≠0时,方程有唯一的实数解是ab -;(2)当a=0,b=0时,全体实数都是方程的解;(3)当a=0,b ≠0时,方程无解。
第一步:判断a 是否不为零。
若成立,输出结果“解为ab -”;第二步:判断a=0,b=0是否同时成立。
若成立,输出结果“解集为R ”;第三步:判断a=0,b ≠0是否同时成立。
若成立,输出结果“方程无解”,结束。
例3.设计算法,找出输入的三个不相等实数a 、b 、c 中的最大值,并画出流程图。
第一步:输入a ,b ,c 的值;第二步:判断a >b 是否成立,若成立,则执行第三步;否则执行第四步;第三步:判断a >c 是否成立,若成立,则输出a ,并结束;否则输出c ,并结束;第四步:判断b >c 是否成立,若成立,则输出b ,并结束;否则输出c ,并结束。
例4.设计一个算法,求123..........99++++的值,并画出程序框图。
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
程序框图的高中数学算法知识点总结有关程序框图的高中数学算法知识点总结1、程序框图基本概念:(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、使用标准的图形符号。
2、框图一般按从上到下、从左到右的方向画。
3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
5、在图形符号内描述的语言要非常简练清楚。
(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的',它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。
如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。
2、条件结构:条件结构是指在算法中通过对条件的判断根据条件是否成立而选择不同流向的算法结构。
条件P是否成立而选择执行A框或B框。
无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。
一个判断结构可以有多个判断框。
3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。
循环结构又称重复结构,循环结构可细分为两类:(1)、一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P 不成立为止,此时不再执行A框,离开循环结构。
1.程序框图(1)通常用一些通用图形符号构成一张图来表示算法.这种图称做程序框图(简称框图).(2)基本的程序框图有起、止框、输入、输出框、处理框、判断框、流程线等图形符号和连接线构成.2.三种基本逻辑结构名称内容顺序结构条件分支结构循环结构定义最简单的算法结构,语句与语句之间,框与框之间按从上到下的顺序进行依据指定条件选择执行不同指令的控制结构根据指定条件决定是否重复执行一条或多条指令的控制结构程序框图3.基本算法语句(1)赋值语句①概念:用来表明赋给某一个变量一个具体的确定值的语句.②一般格式:变量名=表达式.③作用:计算出赋值号右边表达式的值,把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.(2)输入语句①概念:用来控制输入结构的语句.②一般格式:变量名=input.③作用:把程序和初始数据分开.(3)输出语句①概念:用来控制把求解结果在屏幕上显示(或打印)的语句.②一般格式:print(%io(2),表达式).③作用:将结果在屏幕上输出.(4)条件语句①处理条件分支逻辑结构的算法语句.②条件语句的格式及框图.a.if语句最简单的格式及对应的框图b.if语句的一般格式及对应的框图(5)循环语句①算法中的循环结构是由循环语句来实现的.②循环语句的格式及框图.a.for语句b.while语句【思考辨析】判断下面结论是否正确(请在括号中打“√”或“×”) (1)算法只能解决一个问题,不能重复使用.(×)(2)程序框图中的图形符号可以由个人来确定.(×)(3)输入框只能紧接开始框,输出框只能紧接结束框.(×)(4)条件分支结构的出口有两个,但在执行时,只有一个出口是有效的.(√)(5)5=x是赋值语句.(×)(6)输入语句可以同时给多个变量赋值.(√)1.已知一个算法:(1)m=a.(2)如果b<m,则m=b,输出m;否则执行第(3)步.(3)如果c<m,则m=c,输出m.如果a=3,b=6,c=2,那么执行这个算法的结果是()A.3 B.6C.2 D.m答案 C解析当a=3,b=6,c=2时,依据算法设计,本算法是求a、b、c三个数的最小值,故输出m的值为2,故选C.2.(2015·陕西)根据如图所示的框图,当输入x为6时,输出的y等于()A.1 B.2C.5 D.10答案 D解析输入x=6,程序运行情况如下:x=6-3=3>0,x=3-3=0≥0,x=0-3=-3<0,退出循环,执行y=x2+1=(-3)2+1=10,输出y=10.故选D.3.(2014·课标全国Ⅰ)执行下面的程序框图,若输入的a,b,k分别为1,2,3,则输出的M等于()A.203B.165C.72D.158答案 D解析 当n =1时,M =1+12=32,a =2,b =32;当n =2时,M =2+23=83,a =32,b =83;当n =3时,M =32+38=158,a =83,b =158;当n =4时,终止循环.输出M =158.4.(教材改编)程序:若输入a =10,则输出的结果是( ) A .20 B .10 C .100 D .200答案 C解析 程序所表示的函数表达式为y =⎩⎪⎨⎪⎧2a (a <10)a 2 (a ≥10),∴当a =10时,y =102=100.5.如图,是求实数x 的绝对值的算法程序框图,则判断框①中可填________________.答案 x >0(或x ≥0)解析 由于|x|=⎩⎪⎨⎪⎧x , x ≥0,-x ,x <0或|x |=⎩⎪⎨⎪⎧x ,x >0,-x ,x ≤0,故根据所给的程序框图, 易知可填“x >0”或“x ≥0”.题型一 顺序结构与条件分支结构 命题点1 顺序结构例1 已知f (x )=x 2-2x -3,求f (3)、f (-5)、f (5),并计算f (3)+f (-5)+f (5)的值.设计出解决该问题的一个算法,并画出程序框图. 解 算法如下: 第一步,令x =3.第二步,把x =3代入y 1=x 2-2x -3. 第三步,令x =-5.第四步,把x =-5代入y 2=x 2-2x -3. 第五步,令x =5.第六步,把x =5代入y 3=x 2-2x -3.第七步,把y 1,y 2,y 3的值代入y =y 1+y 2+y 3. 第八步,输出y 1,y 2,y 3,y 的值. 该算法对应的程序框图如图所示:命题点2 条件分支结构例2 执行如图所示的程序框图,如果输入的t ∈[-1,3],则输出的s 属于( )A .[-3,4]B .[-5,2]C .[-4,3]D .[-2,5]答案 A解析 根据程序框图可以得到分段函数s =⎩⎪⎨⎪⎧3t ,t <1,4t -t 2,t ≥1,进而在函数的定义域[-1,3]内分段求出函数的值域.所以当-1≤t <1时,s =3t ∈[-3,3);当1≤t ≤3时,s =4t -t 2=-(t -2)2+4,所以此时3≤s ≤4.综上可知,函数的值域为[-3,4],即输出的s 属于[-3,4]. 引申探究若将本例中判断框的条件改为“t ≥1”,则输出的s 的范围是什么?解 根据程序框图可以得到,当-1≤t <1时,s =4t -t 2=-(t -2)2+4,此时-5≤s <3;当1≤t ≤3时,s =3t ∈[3,9].综上可知,函数的值域为[-5,9],即输出的s 属于[-5,9]. 思维升华 应用顺序结构与条件分支结构的注意点 (1)顺序结构顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的. (2)条件分支结构利用条件分支结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.(2014·四川)执行如图所示的程序框图,如果输入的x ,y ∈R ,那么输出的S 的最大值为( )A .0B .1C .2D .3答案 C解析 当条件x ≥0,y ≥0,x +y ≤1不成立时输出S 的值为1;当条件x ≥0,y ≥0,x +y ≤1成立时S =2x +y ,下面用线性规划的方法求此时S 的最大值.作出不等式组⎩⎪⎨⎪⎧x ≥0,y ≥0,x +y ≤1表示的平面区域如图中阴影部分,由图可知当直线S =2x +y 经过点M (1,0)时S最大,其最大值为2×1+0=2,故输出S 的最大值为2. 题型二 循环结构命题点1 由程序框图求输出结果例3 (2015·安徽)执行如图所示的程序框图,输出的n 为________.答案 4解析 结合程序框图逐一验证求解.执行第一次判断:|a -1.414|=0.414>0.005,a =32,n =2;执行第二次判断:|a -1.414|=0.086>0.005,a =75,n =3;执行第三次判断:|a -1.414|=0.014>0.005,a =1712,n =4;执行第四次判断:|a -1.414|<0.005,输出n =4. 命题点2 完善程序框图例4 (2014·重庆)执行如图所示的程序框图,若输出k 的值为6,则判断框内可填入的条件是( )A .s >12B .s >35C .s >710D .s >45答案 C解析 第一次执行循环:s =1×910=910,k =8,s =910应满足条件;第二次执行循环:s =910×89=810,k =7,s =810应满足条件,排除选项D ;第三次执行循环:s =810×78=710,k =6,正是输出的结果,故这时程序不再满足条件,结束循环,而选项A 和B 都满足条件,故排除A 和B ,故选C. 命题点3 辨析程序框图的功能例5 (2014·陕西)根据下面框图,对大于2的整数N ,输出的数列的通项公式是( )A .a n =2nB .a n =2(n -1)C.a n=2n D.a n=2n-1答案 C解析由程序框图可知第一次运行:i=1,a1=2,S=2;第二次运行:i=2,a2=4,S=4;第三次运行:i=3,a3=8,S=8;第四次运行:i=4,a4=16,S=16.故选C.思维升华与循环结构有关问题的常见类型及解题策略(1)已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果.(2)完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)对于辨析程序框图功能问题,可将程序执行几次,即可根据结果作出判断.(1)(2015·课标全国Ⅰ)执行如图所示的程序框图,如果输入的t=0.01,则输出的n等于()A.5 B.6 C.7 D.8(2)(2014·课标全国Ⅱ)执行如图所示的程序框图,如果输入的x,t均为2,则输出的S等于()A.4 B.5 C.6 D.7答案 (1)C (2)D解析 (1)逐次运行程序,直至输出n .运行第一次:S =1-12=12=0.5,m =0.25,n =1,S >0.01;运行第二次:S =0.5-0.25=0.25,m =0.125,n =2,S >0.01; 运行第三次:S =0.25-0.125=0.125,m =0.062 5,n =3,S >0.01; 运行第四次:S =0.125-0.062 5=0.062 5,m =0.031 25,n =4,S >0.01; 运行第五次:S =0.031 25,m =0.015 625,n =5,S >0.01; 运行第六次:S =0.015 625,m =0.007 812 5,n =6,S >0.01; 运行第七次:S =0.007 812 5,m =0.003 906 25,n =7,S <0.01. 输出n =7.故选C.(2)x =2,t =2,M =1,S =3,k =1. k ≤t ,M =11×2=2,S =2+3=5,k =2;k ≤t ,M =22×2=2,S =2+5=7,k =3;3>2,不满足条件,输出S =7. 题型三 基本算法语句例6 (1)下面程序输出的结果是________.(2)根据如图所示的程序,当输入a ,b 分别为2,3时,最后输出的m 的值为________.答案 (1)0 (2)3解析 (1)当s =5+4+3+2+1≥15时,停止循环,而此时,n =1-1=0. (2)本程序的功能是求两个数中较大的一个数.思维升华 解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟该语句的功能;最后根据语句的功能运行程序,解决问题.下面程序的作用是__________________.答案求-(3+7+11+…+199)的值解析这是for语句,循环变量为i,初值为3,步长为4,终值为199,先求S=3+7+11+…+199,然后M=-S=-(3+7+11+…+199).21.变量的含义理解不准致误典例执行如图所示的程序框图,输出的S值为()A.2 B.4 C.8 D.16易错分析(1)读不懂程序框图,把执行循环体的次数n误认为是变量k的值,没有注意到k的初始值为0.(2)对循环结构:①判断条件把握不准;②循环次数搞不清楚;③初始条件容易代错.解析当k=0时,满足k<3,因此S=1×20=1;当k=1时,满足k<3,则S=1×21=2;当k=2时,满足k<3,则S=2×22=8;当k=3时,不满足k<3,输出S=8.答案 C温馨提醒在处理含有循环结构的算法问题时,关键是确定循环的次数,循环中有哪些变量,且每一次循环之后的变量S、k值都要被新的S、k值所替换.[方法与技巧]1.在设计一个算法的过程中要牢记它的五个特征:概括性、逻辑性、有穷性、不唯一性、普遍性.2.在画算法框图时首先要进行结构的选择.若所要解决的问题不需要分情况讨论,只用顺序结构就能解决;若所要解决的问题要分若干种情况讨论时,就必须引入条件结构;若所要解决的问题要进行许多重复的步骤,且这些步骤之间又有相同的规律时,就必须引入变量,应用循环结构. [失误与防范]1.注意起止框与处理框、判断框与循环框的不同.2.注意条件分支结构与循环结构的联系:对于循环结构有重复性,条件分支结构具有选择性没有重复性,并且循环结构中必定包含一个条件分支结构,用于确定何时终止循环体.3.循环语句有for 循环和while 循环两种,要区别两者的异同,主要解决需要反复执行的任务,用循环语句来编写程序.4.关于赋值语句,有以下几点需要注意:(1)赋值号左边只能是变量名字,而不是表达式,例如3=m 是错误的.(2)赋值号左右不能对换,赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,例如Y =x ,表示用x 的值替代变量Y 的原先的取值,不能改写为x =Y .因为后者表示用Y 的值替代变量x 的值. (3)在一个赋值语句中只能给一个变量赋值,不能出现多个“=”.A 组 专项基础训练 (时间:25分钟)1.(2015·北京)执行如图所示的程序框图,输出的k 值为( )A .3B .4C .5D .6 答案 B解析 第一次循环:a =3×12=32,k =1;第二次循环:a =32×12=34,k =2;第三次循环:a =34×12=38,k =3;第四次循环:a =38×12=316<14,k =4.故输出k =4.2.(2015·课标全国Ⅱ)下边程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a ,b 分别为14,18,则输出的a 等于( )A .0B .2C .4D .14答案 B解析 由题知,若输入a =14,b =18,则第一次执行循环结构时,由a <b 知,a =14,b =b -a =18-14=4; 第二次执行循环结构时,由a >b 知,a =a -b =14-4=10,b =4; 第三次执行循环结构时,由a >b 知,a =a -b =10-4=6,b =4; 第四次执行循环结构时,由a >b 知,a =a -b =6-4=2,b =4; 第五次执行循环结构时,由a <b 知,a =2,b =b -a =4-2=2; 第六次执行循环结构时,由a =b 知,输出a =2,结束. 故选B.3.执行如图所示的程序框图,则输出的k 的值是( )A .3B .4C .5D .6 答案 C解析 由题意,得k =1时,s =1;k =2时,s =1+1=2;k =3时,s =2+4=6;k =4时,s =6+9=15;k =5时,s =15+16=31>15,此时输出k 值为5.4.(2015·重庆)执行如图所示的程序框图,若输出k 的值为8,则判断框内可填入的条件是( )A .s ≤34B .s ≤56C .s ≤1112D .s ≤2524答案 C解析 由s =0,k =0满足条件,则k =2,s =12,满足条件;k =4,s =12+14=34,满足条件;k =6,s =34+16=1112,满足条件;k =8,s =1112+18=2524,不满足条件,输出k =8,所以应填“s ≤1112”. 5.(2015·天津)阅读右边的程序框图,运行相应的程序,则输出S 的值为( )A .-10B .6C .14D .18 答案 B解析 运行相应的程序,第一次循环:i =2,S =20-2=18;第二次循环:i =4,S =18-4=14;第三次循环:i =8,S =14-8=6;8>5,终止循环,输出S =6,故选B. 6.定义某种运算,a b 的运算原理如图所示.设S =1x ,x ∈[-2,2],则输出的S 的最大值与最小值的差为( )A .2B .-1C .4D .3 答案 A解析 由题意可得,S (x )=⎩⎪⎨⎪⎧|x |,-2≤x ≤1,1,1<x ≤2,∴S (x )max =2,S (x )min =0, ∴S (x )max -S (x )min =2.7.(2015·江苏改编)根据如图所示的语句,可知输出的结果S =________.答案 7解析 I =1,S =1;S =1+2=3,I =1+3=4<8; S =3+2=5,I =4+3=7<8; S =5+2=7,I =7+3=10>8. 退出循环,故输出S =7.8.如图是一个程序框图,则输出的n 的值是________.答案 5解析 该程序框图共运行5次,各次2n 的值分别是2,4,8,16,32,所以输出的n 的值是5.9.(2015·山东)执行下边的程序框图,输出的T 的值为________.答案116解析 当n =1时,T =1+⎠⎛01x 1dx =1+⎪⎪12x 210=1+12=32; 当n =2时,T =32+⎠⎛01x 2dx =32+⎪⎪13x 310=32+13=116; 当n =3时,结束循环,输出T =116.10.关于函数f (x )=⎩⎪⎨⎪⎧-x ,1<x ≤4,cos x ,-1≤x ≤1的程序框图如图所示,现输入区间[a ,b ],则输出的区间是________.答案 [0,1]解析 由程序框图的第一个判断条件为f (x )>0,当f (x )=cos x ,x ∈[-1,1]时满足.然后进入第二个判断框,需要解不等式f ′(x )=-sin x ≤0,即0≤x ≤1.故输出区间为[0,1].B 组 专项能力提升 (时间:25分钟)11.给出一个算法的程序框图(如图所示),该程序框图的功能是( )A .输出a ,b ,c 三数中的最大数B .输出a ,b ,c 三数中的最小数C .将a ,b ,c 按从小到大排列D .将a ,b ,c 按从大到小排列 答案 B解析 先比较a ,b 的值,把较小的值赋值给a ;再比较a ,c 的值,把较小的值赋值给a ,输出a . 12.给出一个如图所示的程序框图,若要使输入的x 值与输出的y 值相等,则这样的x 值是________.答案 0,1,3解析 根据题意,本程序框图表示分段函数:y =⎩⎪⎨⎪⎧x 2,x ≤2,2x -3,2<x ≤5,1x ,x >5,由于输入的x 值与输出的y 值相等, 由x 2=x 解得x =0或x =1,都满足x ≤2; 由x =2x -3解得x =3,也满足2<x ≤5; 由1x =x 解得x =±1,不在x >5内,舍去. 可见满足条件的x 共三个:0,1,3.13.下列是求一个函数的函数值的程序,在键盘上输入一个自变量x 的值,输出它的函数值.若执行的结果为3,则输入的x 值为__________. 答案 -3或414.对一个作直线运动的质点的运动过程观测了8次,第i 次观测得到的数据为a i ,具体如下表所示:i 1 2 3 4 5 6 7 8 a i4041434344464748在对上述统计数据的分析中,一部分计算见如图所示的程序框图(其中a 是这8个数据的平均数),则输出的S 的值是________.答案 7解析 本题计算的是这8个数的方差,因为 a =40+41+43+43+44+46+47+488=44,所以S =(-4)2+(-3)2+(-1)2+(-1)2+02+22+32+428=7.15.如图(1)(2)所示,它们都表示的是输出所有立方小于1 000的正整数的程序框图,那么应分别补充的条件为:(1)____________;(2)______________.答案(1)n3<1 000(2)n3≥1 000解析第一个图中,n不能取10,否则会把立方等于1 000的正整数也输出了,所以应该填写n3<1 000;第二个图中当n≥10时,循环应该结束,所以填写n3≥1 000.16.(2014·湖北)设a是一个各位数字都不是0且没有重复数字的三位数.将组成a的3个数字按从小到大排成的三位数记为I(a),按从大到小排成的三位数记为D(a)(例如a=815,则I(a)=158,D(a)=851).阅读如图所示的程序框图,运行相应的程序,任意输入一个a,输出的结果b=________.答案495解析取a1=815⇒b1=851-158=693≠815⇒a2=693;由a2=693⇒b2=963-369=594≠693⇒a3=594;由a3=594⇒b3=954-459=495≠594⇒a4=495;由a4=495⇒b4=954-459=495=a4⇒b=495.。
算法与程序框图一、程序框图与算法基本逻辑结构: 1.程序框图符号及作用:例:解一元二次方程:20(0)ax bx c a ++=≠2.画程序框图的规则:为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.(1)实用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画.(3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束.(4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果.(5)在图形符号用于描述的语言要非常简练清楚.3.算法的三种基本逻辑结构: (1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤n 后,才能接着执行步骤n+1.例:.已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图.解:算法如下: S1 a ←5;S2 b ←8;S3 h ←9; S4 S ←(a +b )×h /2;S5 输出S .流程图如下:(2)条件结构一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件P 是否成立,选择不同的执行框(步骤A ,步骤B ),无论条件P 是否成立,只能执行步骤A 或步骤B 之一,不可以两者都执行或都不执行.步骤A 和步骤B 中可以有一个是空的.例:某铁路客运部门规定甲、乙两地之间旅客托运行的费用为 0.53,50,500.53(50)0.85,50,c ωωωω⨯≤⎧=⎨⨯+-⨯>⎩其中ω(单位:kg )为行的重量.试给出计算费用c (单位:元)的一个算法,并画出流程图. 1S 输入行的重量ω;2S 如果50ω≤,那么0.53c ω=⨯,否则500.53(50)0.85c ω=⨯+-⨯;3S 输出行的重量ω和运费c .(3)循环结构步骤n 步骤n+1 ↓ ↓↓ 开始结束b h a 589S (+)×/2a b h 输出S满足条件?步骤A 步骤B 是否满足条件?步骤A 是否在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.例:成功举办了2008年第29届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对筛选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.怎样用算法结构表述上面的操作过程?解:算法为: 1S 投票;2S 统计票数,如果有一个城市得票超过总票数的一半,那么该城 市就获得举办权,转3S ,否则淘 汰得票数最少的城市,转1S ; 3S 宣布主办城市.这里,“投票”就是一个循环体循环结构有两种形式:直到型循环结构(until 型)和当型循环结构(while 型)(1)直到型循环结构如图,直到型循环在执行一次循环体A 之后,对控制循环的条件P 进行判断,如果条件P 不成立则返回继续执行循环体A ,执行后,再判断条件P 是否成立,依次重复操作,直到某一次给定的判断条件P 成立为止.此时,不再返回来执行循环体A ,离开循环结构,继续执行下面的结构.直到型循环,因其先.执行一次循环体,再.对控制循环的条件进行判断,然后根据判断的结果决定是否继续执行循环体.当条件不成立...时继续执行循环体.....,当条件成立时,跳出循环结构,所以, 我们也把直到型循环称为“后测试型”循环.(2)当型循环结构如图,每次执行循环体A 前,先对控制循环的条件P 进行判断,当条件P 成立时执行循环体A ,循环体A 执行完毕后,返回来再判断条件P 是否成立,如果条件P 仍然成立,那么再执行循环体A ,如此反复执行循环体A ,直到某一次返回来判断条件P 不成立时为止,此时不再执行循环体A ,离开循环结构,继续执行下面的结构.也正因为当型循环结构先.对条件P 进行判断,当条件P 成立时...,执行..循环体...;当条件不成立时,跳出循环结构,我们常常把当型循环结构还称为“前测试型”循环.区别:“当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时终止循环的. 联系:两个循环形式不同但功能和作用相同,一般情况下可以相互转化.满足条件?是否循环体A满足条件?否是循环体A例:写出计算1001i i=∑的算法及程序框图(分别用直到型循环和当型循环)(全解P15)解:第一步:设i的值为1;第二步:设sum的值为0;第三步:如果i≤100执行第四步,否则转去执行第七步;第四步:计算sum+i并将结果代替sum;第五步:计算i+1并将结果代替i;第六步:转去执行第三步;第七步:输出sum的值并结束算法.循环结构的应用:(1)确定循环变量和初始条件;(2)确定算法中反复执行的部分,即循环体;(3)确定循环的条件;(4)注意不要出现“死循环”.二、基本算法语句1、输入语句2、输出语句3、赋值语句4、条件语句IF-THEN-ELSE格式IF-THEN格式5、循环语句(1)WHILE语句A B(2)UNTIL 语句三、算法案例1.任何一种程序设计语言都包含五种基本的算法语句,它们是输入语句 , 输出语句, 赋值语句,条件语句,循环语句 2.输入语句的一般格式是"";INPUT 提示内容变量; 输出语句的一般格式是"";PRINT 提示内容表达式; 赋值语句的一般格式是 变量表达式;条件语句的一般格式是IF THENEND IF条件语句体 或IF THENEND IF条件语句体1ELSE语句体2;循环语句的一般格式是DOLOOP UNTIL 循环体条件和WHILEWEND条件循环体.输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序框图中的条件结构和循环结构. 3.常用符号运算符号:加_+_,减-__,乘*__,除/__,乘方a^b ,整数取商\,求余数MOD.逻辑符号:且AND ,或OR ,大于>,等于=,小于<,大于等于>=,小于等于<=,不等于<>. 常用函数:绝对值ABS ,平方根SQR ,取整INT . 4.算法案例(1)辗转相除法和更相减损术辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.(1)辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数. (2)更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假设进行了k 次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的2k即为所求两数的最大公约数.(2)秦九韶算法秦九韶算法是求多项式值的优秀算法.设1110()n n n n f x a x a x a x a --=++++L ,改写为如下形式:()f x =1210(())).n n n a x a x a x a x a --++++L L设0101,n n v a v v x a -==+21232310n n n n v v x a v v x a v v x a ---=+=+=+L这样求n 次多项式()f x 的值就转化为求n 个一次多项式的值.当多项式中有些项不存在时,可将这几项看做0nx ⨯,补齐后再利用秦九韶算法进行计算.对于一个n 次多项式,只需做n 次乘法和n 次加法运算即可.(3)进位制K 进制数的基数为k ,k 进制数是由0~1k -之间的数字构成的. 将十进制的数转化为k 进制数的方法是除k 取余法.110110(0,0,,)n n n n k a a a a a k a a a k --<<≤<L L 把进制数化为十进制数的方法为1110()110n n n n k n n a a a a a k a k a k a ---=++++L L .一、典例精析例1.写出用循环语句描述求11111123499100S =-+-++-L 的值的算法程序.例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月排出的污水量m 吨收取的污水处理费y 元,运行程序如下所示:1005015*(501315025(100)50)IF m THEN INPUT mIF m THEN y mELSEELSEy m END IF E y ND IF EN m D<==+-<==*=+*-请写出y 与m 的函数关系,并求排放污水150吨的污水处理费用.例3. 求三个数72,120,168的最大公约数.变式:试写出求正整数,()m n m n >的最小公倍数的算法程序. 解:例4.用秦九韶算法求多项式5432()23456f x x x x x x =+++++在2x =时的值.例5.完成下列进制的转化变式训练:下面是把二进制数(2)11111化为十进制数的一个程序框图,判断框应填入的条件是 ( ).5?.4?.4?.5?A i B i C i D i >≤>≤二、习题精练 (一)基本概念1.下列关于算法的说确的是( ) A.某算法可以无止境地运算下去 B.一个问题的算法步骤可以是可逆的 C.完成一件事情的算法有且只有一种D.设计算法要本着简单、方便、可操作的原则 2.任何一个算法都离不开的基本结构为( ) A.逻辑结构 B.选择结构 C.循环结构 D.顺序结构3.下列图形符号表示判断框的是( )(3)(10)(10)__________(8)(1)10202____(2)101==4.能够使算法的程序和步骤表达更为直观的是( ) A.自然语言 B.流程图 C.数学语言 D.逻辑语言5.下面的四种叙述不能称为算法的是( ) A.广播的广播操图解 B.歌曲的歌谱 C.做饭用米D.做米饭需要刷锅、淘米、添水、加热这些步骤6.在流程图中,算法要处理数据或计算,可分别写在不同的( ) A.处理框 B.判断框 C.输入、输出框 D.循环框(二)顺序结构及其应用1.早上从起床到出门需要洗脸刷牙(5 min )、刷水壶(2 min )、烧水(8 min )、泡面(3 min )、吃饭(10 min )、听广播(8 min )几个步骤.从下列选项中选最好的一种算法( ) A.S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 B.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播 C. S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播 D.S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶2. 写出求方程0ax b +=,(0a ≠)的算法步骤1S ,2S ,3S .3. 将两个数a=8,b=17下面语句正确一组是 A. B. C. D.4.右边流程图表示 算法,输出的s = .5. “鸡兔同笼”是我国隋朝时期的数学著作《子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.A .C .D . B. a=b b=a c=b b=a a=c b=a a=b a=cc=b b=a(三)条件结构及其应用1.给出以下四个问题,①输入一个数x ,输出它的相反数.②求面积为6的正方形的周长.③求三个数a,b,c中的最大数.④求函数0.10.2{)(≥-<+= x x x x x f 的函数值. 其中不需要用条件语句来描述其算法的有 ( )A. 1个B. 2个C. 3个D. 4个2.图中所示的算法的功能是_______________(求两个数中的最大数)开始max=a max>b?Nmax=b输出max 结束3.根据题意,完成流程图填空:输入两个数,输出这两个数差的绝对值.开始 输入,a b 输出-a b 结束YN①②输出三、课后作业1.(2009卷理)某程序框图如图所示,该程序运行后输出的k 的值是( )A .4B .5C .6D .7(第一题) (第二题)2、(2009卷文)某店一个月的收入和支出总共记录了 N 个数据 1a ,2a ,。