2020版高中数学 第一章 算法初步学案(含解析)新人教B版必修3
- 格式:docx
- 大小:812.77 KB
- 文档页数:20
章末复习提升课[学生用书P21]),[学生用书P21])1.算法的特征(1)可执行性;(2)确定性;(3)有穷性.2.程序框图的画法与应用(1)程序框图是用规定的图形和指向线来准确、直观、形象地表示算法的图形.设计程序框图时,要先进行算法分析,建立相应的数学模型或过程模型,设计出合理有效的算法,确定算法的逻辑结构和各步的功能后再画程序框图,同时要考虑到编写程序的要求.读、画程序框图是高考在本章中考查的重点.(2)如果设计的程序框图较为复杂,就要采取“逐步求精”的思想,先将问题中的简单部分明确出来,再逐步对复杂部分进行细化,然后一步一步向前推进.3.算法语句设计的注意点(1)条件语句主要用于需要进行条件判断的算法.循环语句主要用于含有一定规律的计算,在使用时需要设计合理的计数变量.(2)在设计整个问题的算法语句时,可能既有条件语句又有循环语句,因此要注意几种语句的书写格式.4.算法案例(1)求两个正整数最大公约数的解法用的是辗转相除法和更相减损之术.(2)多项式求值比较先进的算法是秦九韶算法.(3)割圆术是采用正多边形面积逐渐逼近圆面积的算法计算圆周率π的一种方法.1.输入语句和赋值语句二者的不同输入语句可使初始值与程序分开,利用输入语句改变初始数据时,程序不变,而赋值语句是程序的一部分,输入语句可对多个变量赋值,赋值语句只能给一个变量赋值.2.程序设计中的注意点程序设计中特别注意:条件语句的条件表达和循环语句的循环变量的取值范围.3.辗转相除法与更相减损之术的区别(1)都是求两个正整数最大公约数的方法,计算上辗转相除法以除法为主,更相减损之术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显.(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0而得到,而更相减损之术则以减数与差相等而得到., [学生用书P22])算法的设计一些问题的解决常常需要设计出一系列可操作步骤,只要按顺序执行这些步骤,就能完成任务,通常把这种解决问题的思想称为程序化思想或者算法思想.算法设计与一般意义上的解决问题的方法不同,它是对一类问题的一般解法的抽象与概括,它要借助一般问题的解决方法,又要包含这类问题的所有可能情形,它往往是把问题的解法划分为若干个可执行的步骤,有时甚至是重复多次,但最终都必须在有限个步骤之内完成.已知平面直角坐标系中的两点A (-3,1),B (3,2),写出求线段AB 的垂直平分线方程的一个算法.【分析】 线段AB 的垂直平分线是指经过线段AB 的中点且与线段AB 垂直的直线,故可先由中点坐标公式求出线段AB 的中点N ⎝ ⎛⎭⎪⎫0,32,然后计算线段AB 所在直线的斜率k 1=2-13-(-3)=16,由垂直关系可知,线段AB 的垂直平分线的斜率k =-6,最后由点斜式写出垂直平分线的方程.【解】 该问题的算法步骤如下:S1 计算x 0=-3+32=0,y 0=1+22=32,得线段AB 的中点N ⎝ ⎛⎭⎪⎫0,32; S2 计算k 1=2-13-(-3)=16,得线段AB 所在直线的斜率; S3 计算k =-1k 1=-6,得线段AB 的垂直平分线的斜率; S4 由点斜式得线段AB 的垂直平分线的方程为y -32=-6x ,即12x +2y -3=0.【点评】 对于给定的问题,设计算法时应注意以下几点:(1)与解决该问题的一般方法相联系,从中提炼与概括算法步骤;(2)将解决问题的过程划分为若干个步骤;(3)引入有关的参数或变量对算法步骤加以表达;(4)用简练的语言将各个步骤表达出来.程序框图程序框图是用规定的图形和连接线来准确、直观、形象地表示算法的图形,一定要分析算法的逻辑结构,根据逻辑结构画出相应的程序框图.设计较简单的程序框图时,我们可以通过问题的分析,建立相应的数学模型或过程模型,进而选择顺序结构、条件分支结构、循环结构中的一种或几种画出框图即可.如果设计的框图较为复杂,就要采取“逐步求精”的思想设计框图,先将问题中的简单部分明确出来,再对复杂部分进行细化.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费.试用条件语句描述汇款额为x 元时,银行收取手续费为y 元的过程,画出程序框图并写出程序.【分析】 依题意可知y 与x 的关系是y =⎩⎪⎨⎪⎧1,0<x ≤100,0.01x ,100<x ≤5 000,50,5 000<x ≤1 000 000.因此可以利用条件分支结构实现算法.【解】 程序框图如图所示:程序如下:x =input(“x=”);if x >0 and x <=100y =1;elseif x >5000y =50;elsey =0.01*x ;endend【点评】 处理有关分段函数的问题,常用条件分支结构实现算法.用基本算法语句编写程序基本算法语句有输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种基本逻辑结构:顺序结构、条件分支结构、循环结构,用基本语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表述以及循环语句中有关变量的取值范围.计算16+16+16+16+16的值,写出程序并画出程序框图.【分析】 利用循环结构实现算法必须搞清初值是谁,在本题里初值可设定为x 1=16,第一次循环得到x 2=16+16=16+x 1,第二次循环得到x 3=16+x 2,…,第四次循环得到x 5=16+x 4,共循环了4次.【解】 程序如下:x =1/6;i =1;while i <=4x =1/(6+x);i =i +1;endprint(%io(2),x);相应程序框图如图所示:【点评】 当执行程序时遇到while 循环语句,先判断表达式的真假,如果表达式为真,就执行while 和end 之间的循环体.每次开始执行循环体前,都要判断表达式是否为真.这样重复执行,一直到表达式为假时,就跳出循环体部分,结束循环.该循环语句是在执行循环体之前进行条件判断的,故也称“前测试型”循环.while 与end 之间的语句组称为“循环体”.在使用while 循环时,应注意务必使“条件”最终变为“假”,这样才能终止循环,否则循环将无休止地进行下去.“end ”的作用是控制结束一次循环.1.要计算下列各式中的S 的值:①S =1+2+3+ (100)②S=1+2+3+…+100+…;③S=1+2+3+…+n(n≥1且n∈N).其中,能设计算法求解的是( )A.①②B.②③C.①③D.①②③解析:选C.若能设计成算法,该算法必须可以在有限步内结束并得到结果.②是无限的计算过程,因此②不能设计算法求解.2.阅读下面的程序框图,运行相应的程序,则输出i的值为( )A.3 B.4 C.5 D.6解析:选 B.由a=1,i=0→i=0+1=1,a=1×1+1=2→i=1+1=2,a=2×2+1=5→i=2+1=3,a=3×5+1=16→i=3+1=4,a=4×16+1=65>50,所以输出4.3.若输入8,则下列程序执行后输出的结果是________.t=input(“t=”);if t<=6c=0.2;elsec=0.2+0.7(t-3);endc解析:这是一个用条件语句编写的程序,由于输入8时,t≤6不成立,故应有c=0.2+0.7×(8-3)=3.7.答案:3.74.画出求S =12+23+34+45+…+100101的值的程序框图. 解:。
算法初步小结
教学重点:①通过分析具体问题过程与步骤,体会算法的思想,了解算法的含义,能用自然语言,程序框图,程序语言描述解决具体问题的算法. ②理解并掌握程序框图的三种基本逻辑结构——顺序结构,条件结构,循环结构。
并掌握基本程序框的画法,会设计程序框图表达解决问题的算法的过程. ③理解几种基本的算法语句——输入语句,输出语句,赋值语句,条件语句,循环语句。
理解它们与三种基本逻辑结构之间的关系. ④经历将具体问题的程序框图转化为程序语句的过程. ⑤了解中国古代及西方数学中几个典型的算法案例,理解其中所包含的算法思想,体会中国古代数学对世界数学发展的贡献。
教学难点:①用自然语言,程序框图,程序语言描述解决具体问题的算法. ②理解并掌握几种基本的算法语句——输入语句,输出语句,赋值语句,条件语句,循环语句。
理解它们与三种基本逻辑结构之间的关系.
教学过程:
一、本章知识结构框图:
二、例题讲解: 例1:已知函数2(1)0(11)2(1)x x y x x x <-⎧⎪=-≤≤⎨⎪->⎩
,给出x 的值,计算出y 的值.
例2:编写程序,求11111112345910
-+-+-+-L 的值. 例3:求多项式65432()3128 3.57.2513f x x x x x x x =++-++-在x =6时的值.
三、巩固练习:
1.编写程序,输入任意3个数,输出其中最大的数.
2.输入一个正整数n,并计算123123n S n =⨯⨯⨯⨯L 的值.
2101211化为8进制的数.
3.把
(3)
四、作业:略。
1.1.1 算法的概念课时目标通过分析解决具体问题的过程与步骤,体会算法的思想,了解算法的含义,能用自然语言描述解决具体问题的算法.1.算法可以理解为由基本运算及规定的________所构成的完整的解题步骤,或者看成按照要求设计好的________________计算序列,并且这样的步骤或序列能够解决________问题.2.求解某个问题的算法不一定是惟一的.3.算法的要求(1)写出的算法,必须能解决________问题,并且____重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须________,不能含混不清,而且经过________步后能得出结果.一、选择题1.下面四种叙述能称为算法的是( )A .在家里一般是妈妈做饭B .做米饭需要刷锅、淘米、添水、加热这些步骤C .在野外做饭叫野炊D .做饭必须要有米2.下列对算法的理解不正确的是( )A .算法有一个共同特点就是对一类问题都有效(而不是个别问题)B .算法要求是一步步执行,每一步都能得到唯一的结果C .算法一般是机械的,有时要进行大量重复计算,它的优点是一种通法D .任何问题都可以用算法来解决3.下列关于算法的描述正确的是( )A .算法与求解一个问题的方法相同B .算法只能解决一个问题,不能重复使用C .算法过程要一步一步执行,每步执行的操作必须确切D .有的算法执行完后,可能无结果4.计算下列各式中S 的值,能设计算法求解的是( )①S =12+14+18+…+12100 ②S =12+14+18+…+12100+… ③S =12+14+18+…+12n (n ≥1且n ∈N +) A .①② B .①③ C .②③ D .①②③5.关于一元二次方程x 2-5x +6=0的求根问题,下列说法正确的是( )A .只能设计一种算法B .可以设计两种算法C .不能设计算法D .不能根据解题过程设计算法6.对于算法:第一步,输入n .第二步,判断n 是否等于2,若n =2,则n 满足条件;若n >2,则执行第三步.第三步,依次从2到(n -1)检验能不能整除n ,若不能整除n ,则执行第四步;若能整除n ,则执行第一步.第四步,输出n .满足条件的n 是( )7.已知直角三角形两条直角边长分别为a ,b .写出求斜边长c 的算法如下:第一步,输入两直角边长a ,b 的值.第二步,计算c =a 2+b 2的值.第三步,________________.将算法补充完整,横线处应填____________.8.下面给出了解决问题的算法:第一步:输入x .第二步:若x ≤1,则y =2x -1,否则y =x 2+3.第三步:输出y .(1)这个算法解决的问题是________;(2)当输入的x 值为________时,输入值与输出值相等.9.求1×3×5×7×9×11的值的一个算法是:第一步,求1×3得到结果3;第二步,将第一步所得结果3乘5,得到结果15;第三步,____________________;第四步,再将105乘9得到945;第五步,再将945乘11,得到10 395,即为最后结果.三、解答题10.已知某梯形的底边长AB =a ,CD =b ,高为h ,写出一个求这个梯形面积S 的算法.11.函数y =⎩⎪⎨⎪⎧ -x +1 (x >0)0 (x =0)x +1 ( x <0),写出给定自变量x ,求函数值的算法.能力提升12.某铁路部门规定甲、乙两地之间旅客托运行李的费用为:c =⎩⎪⎨⎪⎧0.53×ω, ω≤50,50×0.53+(ω-50)×0.85, ω>50. 其中ω(单位:kg)为行李的质量,如何设计计算托运费用c (单位:元)的算法.13.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:(1)有三根杆子A ,B ,C ,A 杆上有三个碟子(大小不等,自上到下,由小到大),如图.(2)每次移动一个碟子,小的只能叠在大的上面.(3)把所有碟子从A 杆移到C 杆上.试设计一个算法,完成上述游戏.1.算法的特点(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且能得到确定的结果,而不应当是模棱两可的.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决.2.算法与数学问题解法的区别与联系(1)联系算法与解法是一般与特殊的关系,也是抽象与具体的关系.(2)区别算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.答案知识梳理1.运算顺序 有限的确切的 一类 3.(1)一类 能 (2)确切 有限作业设计1.B [算法是解决一类问题的程序或步骤,A 、C 、D 均不符合.]2.D3.C [算法与求解一个问题的方法既有区别又有联系,故A 不对;算法能重复使用,故B 不对;每个算法执行后必须有结果,故D 不对;由算法的要求可知C 正确.]4.B [因为算法的步骤是有限的,所以②不能设计算法求解.]5.B [算法具有不唯一性,对于一个问题,我们可以设计不同的算法.]6.A [此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n -1)一一验证,看是否有其他约数,来判断其是否为质数.]7.输出斜边长c 的值8.(1)求分段函数y =⎩⎪⎨⎪⎧ 2x -1(x ≤1),x 2+3(x>1)的函数值 (2)19.将第二步所得的结果15乘7,得结果10510.解 第一步,输入梯形的底边长a 和b ,以及高h.第二步,计算a +b 的值.第三步,计算(a +b)×h 的值.第四步,计算S =(a +b )×h 2的值. 第五步,输出结果S.11.解 算法如下:第一步,输入x.第二步,若x>0,则令y =-x +1后执行第五步,否则执行第三步.第三步,若x =0,则令y =0后执行第五步,否则执行第四步.第四步,令y =x +1;第五步,输出y 的值.12.解 第一步,输入行李的质量ω.第二步,如果ω≤50,则令c =0.53×ω,否则执行第三步.第三步,c =50×0.53+(ω-50)×0.85.第四步,输出托运费c.13.解 第一步,将A 杆最上面碟子移到C 杆.第二步,将A 杆最上面碟子移到B 杆.第三步,将C 杆上的碟子移到B 杆.第四步,将A 杆上的碟子移到C 杆.第五步,将B 杆最上面碟子移到A 杆.第六步,将B 杆上的碟子移到C 杆.第七步,将A 杆上的碟子移到C 杆.。
描述:例题:高中数学必修3(人教B版)知识点总结含同步练习题及答案第一章 算法初步 1.1 算法与程序框图一、学习任务1. 了解算法的含义,能用自然语言描述算法.2. 了解设计程序框图表达解决问题的过程,了解算法和程序语言的区别;了解程序框图的三种基本逻辑结构,会用程序框图表示简单的常见问题的算法.二、知识清单算法 程序框图三、知识讲解1.算法算法(algorithm)是指按照一定规则解决某一类问题的明确和有限的步骤 .可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.描述算法可以有不同的方式.例如,可以用自然语言和数学语言加以描述,也可以借助形式语言(算法语言)给出精确的说明,也可以用框图直观地显示算法的全貌.算法的要求:(1)写出的算法,必须能解决一类问题,并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步后能得到结果.下列对算法的理解不正确的是( )A.一个算法应包含有限的步骤,而不能是无限的B.算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的C.算法中的每一个步骤都应当是有效地执行,并得到确定的结果D.一个问题只能设计出一种算法解:D算法的有限性是指包含的步骤是有限的,故 A 正确;算法的确定性是指每一步都是确定的,故 B正确;算法的每一步都是确定的,且每一步都应有确定的结果,故 C 正确;对于同一个问题可以有不同的算法,故 D 错误.下列叙述能称为算法的的个数为( )①植树需要运苗、挖坑、栽苗、浇水这些步骤;描述:2.程序框图程序框图简称框图,是一种用程序框、流程线及文字说明来表示算法的图形.其中,起、止框是任何流程不可少的,表明程序的开始和结束.输入和输出框可用在算法中任何需要输入、输出的位置.算法中间要处理数据或计算,可分别写在不同的处理框内.一个算法步骤到另一个算法步骤用流程线连接.如果一个框图需要分开来画,要在断开处画上连接点,并标出连接的号码.②依次进行下列运算:,,,,;③从枣庄乘火车到徐州,从徐州乘飞机到广州;④ ;⑤求所有能被 整除的正整数,即 .A. B. C. D.解:B①、②、③为算法.1+1=22+1=33+1=4⋯99+1=1003x >x +133,6,9,12,⋯2345写出解方程组的一个算法.解:方法一:代入消元法. 第一步,由 得 ;第二步,将 代入 ,得 ,解得 ;第三步,将 代入方程 ,得 ;第四步,得到方程组的解为 .方法二:加减消元法.第一步,方程 两边同乘以 ,得 ;第二步,将第一步所得的方程与方程 作差,消去 ,得 ,解得 ;第三步,将 代入方程 ,得 ,解得 ;第四步,得到方程组的解为 .{2x +y =74x +5y =112x +y =7y =7−2x y =7−2x 4x +5y =114x +5(7−2x )=11x =4x =4y =7−2x y =−1{x =4y =−12x +y =7510x +5y =354x +5y =11y 6x =24x =4x =42x +y =72×4+y =7y =−1{x =4y =−1例题:画程序框图的规则(1)使用标准的图形符号.(2)框图一般按从上到下、从左到右的方向画.(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号.(4)判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.(5)在图形符号内描述的语言要非常简练清楚.算法的三种基本逻辑结构顺序结构:语句与语句之间,框与框之间按从上到下的顺序进行.条件分支结构:在一个算法中,经常会遇到一些条件的判断,算法的流程条件是否成立有不同的流向,条件结构就是处理这种过程的结构.循环结构:在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.下列程序框图分别是解决什么问题的算法.解:(1)已知圆的半径,求圆的面积的算法.(2)求两个实数加法的算法.执行如图的程序框图,输出的 ______ .解:T =30四、课后作业 (查看更多本章节同步练习题,请到快乐学)某程序框图如图所示,若输出的 ,则判断框内为( )A. B. C. D.解:AS =57k >4?k >5?k >6?k >7?已知函数 ,对每次输入的一个值,都得到相应的函数值,画出程序框图.解:f (x )={2x +3,3−x ,x 2x ⩾0x <0x高考不提分,赔付1万元,关注快乐学了解详情。
第一章算法初步章末复习1.算法算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的、确切的计算序列,并且这样的步骤或序列能够解决一类问题.2.程序框图程序框图又称流程图,是一种用规定的图形、流程线及文字说明来准确、直观地表示算法的图形.通常,程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤:流程线是带方向箭头的指向线,按照算法进行的顺序将程序框连接起来.3.程序设计自然语言表述的算法和程序框图是程序设计的基础,程序框图侧重于直观性,而程序则倾向于计算机执行的实用性.编写程序的基本方法是“自上而下,逐步求精”,即首先把一个复杂的大问题分解成若干个相对独立的小问题,如果小问题仍较复杂,则可以把这些小问题再继续分解成若干个子问题,这样不断分解,便可使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止,然后,对应每一个小问题或子问题编写出一个功能上相对独立的程序模块来.每个模块各个击破,最后再统一组装,问题便可得到解决.4.算法在实际生活中的应用算法的基本思想在我们的日常生活中是很有用的,随着计算机技术的发展,计算机技术在实际生活中的应用越来越广泛,特别是尖端科学技术更离不开它,算法在计算机科学和数学领域都有非常重要的地位.为此,我们在理解算法的基础上,要有意识地将算法思想应用到日常生活中,这样有利于提高解决具体问题的能力.题型一 算法设计算法设计应注意(1)与解决问题的一般方法有联系,从中提炼出算法; (2)将解决问题的过程分为若干个可执行步骤; (3)引入有关的参数或变量对算法步骤加以表达; (4)用最简练的语言将各个步骤表达出来; (5)算法的执行要在有限步内完成.例1 已知平面直角坐标系中两点A (-1,0),B (3,2),写出求线段AB 的垂直平分线方程的一个算法.解 S1 计算x 0=-1+32=1,y 0=0+22=1,得AB 的中点N (1,1).S2 计算k 1=2-03--=12,得AB 斜率. S3 计算k =-1k 1=-2,得AB 垂直平分线的斜率.S4 由点斜式得直线AB 的垂直平分线的方程,并输出.跟踪演练1 已知函数y =2x 4+8x 2-24x +30,写出连续输入自变量的11个取值,分别输出相应的函数值的算法. 解 算法为S1 输入自变量x 的值; S2 计算y =2x 4+8x 2-24x +30; S3 输出y ; S4 记录输入次数;S5 判断输入的次数是否大于11.若是,则结束算法;否则,返回S1. 题型二 程序框图的应用程序框图是用规定的图形和流程线来准确、直观、形象地表示算法的图形.画程序框图之前应先对问题设计出合理有效的算法.然后分析算法的逻辑结构,画出相应的程序框图,算法的逻辑结构有三种:顺序结构、条件分支结构和循环结构.①条件分支结构是一种重要的选择结构.比如比较两个数的大小、对一组数进行排序筛选等问题都要用到条件分支结构.②在利用循环结构画程序框图前,常确定三件事:一是确定循环变量的初始条件;二是确定算法中反复执行的部分,即循环体;三是循环终止的条件.例2 设计一个计算10+11+12+…+200的值的算法.并画出程序框图. 解 算法如下: S1 使i =10. S2 使p =0. S3 使p =p +i . S4 使i =i +1.S5 若i ≤200.则返回S3;否则,输出p ,算法结束. 程序框图如图.跟踪演练2 执行如图所示的框图,输入x 1=1,x 2=2,x 3=4,x 4=8,则输出的数等于________.答案154解析 输出的是四个数的平均数,即输出的是1+2+4+84=154.题型三 程序的编写算法设计和程序框图是设计程序的基础.编写程序的基本方法是“自上而下逐步求精”,步骤如下:(1)把一个复杂的大问题分解成若干相对独立的小问题.若小问题仍较复杂,则可以把小问题分解成若干个子问题.这样不断地分解,使小问题或子问题简单到能直接用程序的三种基本结构甚至是五种基本语句表达清楚为止.(2)对应每一个小问题或子问题编写出一个功能上相对独立的程序块来.(3)把每一个模块统一组装,完成程序. 例3 某高中男子体育小组的50 m 赛跑成绩(单位:s)如下:6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5,7.6,6.3,6.4,6.4,6.5,6.7,7.1,6.9,6.4,7.1,7.0设计一个程序从这些成绩中搜索出小于6.8 s 的成绩.并画出程序框图.解 程序如下 程序框图如下图 i =1;while i <=20 if Gi <6.8 prin ,i , end i =i +1end跟踪演练3 请写出如图所示的程序框图描述的算法的程序.解 这是一个求分段函数y =⎩⎪⎨⎪⎧x -1,x >12x +1,-1≤x ≤1x +1,x <-1的函数值的算法,所求算法程序为x ==;if x >1y =x -1elseif x <-1y =x +1 else y =2*x +1 end end,;题型四 分类讨论思想在解答某些数学问题时,有时会有多种情况,需对各种情况加以分类,并逐类求解,然后综合得结论,这就是分类讨论思想.在具体问题的算法设计中,往往需要根据条件进行逻辑判断,并进行不同的处理(如条件分支结构和循环结构),这实际上运用了分类讨论的数学思想方法.例4 已知函数f (x )=⎩⎪⎨⎪⎧x 2-2x ,x ≥2,x +5,x <2.写出求f (f (x ))的程序,并画出程序框图.解 算法的程序框图如下图所示.程序如下:x ==if x <2 y 1=x +5 if y 1<2y =y 1+5 elsey =y 1^2-2*y 1 end elsey 2=x^2-2*x if y 2<2y =y 2+5 elsey =y 2^2-2*y 2 end end,;跟踪演练4 任给一个x 值计算y =⎩⎪⎨⎪⎧x ,x =,x中的y 值的算法的程序框图如图,其中图框中的①②③分别为____________、________、________.答案 x <0 x >0 y =3从近三年高考各省市试题中可以看出,本部分命题呈现以下特点:(1)考题以选择题、填空题为主,属中低档题.(2)考查内容是程序框图,或者要求补充完整框图,或者要求出按程序框图执行后的结果.程序框图中主要以条件分支结构和循环结构为主,其中循环结构是重点.。
1)) ) 高中数学(必修3)第一章(算法初步)知识点导学一、算法的概念:1.算法概念:在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
2.算法的特点:(1)有限性:一个算法的步骤序列是有限的,必须在有限步操作之后停止,不能是无限的,(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可的,(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题,(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法,(5)普遍性:很多具体的问题,都可以设计成合理的算法去解决,如:心算,计算器计算都要经过有限步事先设计好的步骤加以解决。
二、程序框图:1.程序框图的概念:程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确,直观地表示算法的图形,一个程序框图包括以下几部分:表示相应操作的程序框,带箭头的流程线,程序框外必要的文字说明,3.学习这部分知识的时候,要掌握各个图形的形状,作用及使用规则,画程序框图的规则如下:①使用标准的图形符号,②框图一般按从上到下,从左到右的方向画,③除判断框外,大多数流程图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,④判断框分两大类,一类是对“是”与“否”两个分支的判断,而且有且仅有两个结果,另一类是多分支判断,有几种不同的结果,⑤在图形符号内描述的语言要非常简练清楚。
4.算法的三种基本逻辑结构:顺序结构,条件结构,循环结构。
(1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构,顺序结构 在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤,如图1,A 框和B 框是依次执行的,只有在执行完A 框指定的操作后,才能接着执行B 框所指定的操作。
示范教案整体设计教学分析前面学习了算法、程序框图与几种算法语句,本节课作为本章的小结,旨在和学生一起站在全章的高度,以算法思想为灵魂,以问题解决为主线,以典型例题为操作平台,以巩固知识、发展能力、提高素养为目的对本章作全面的复习总结,帮助学生进一步提高对算法的理解和认识,优化知识结构.三维目标1.对本章知识形成知识网络,提高学生的逻辑思维能力,培养学生的归纳能力.2.熟练应用算法、程序框图与基本算法语句来解决问题,培养学生的分析问题和解决问题的能力,逐步学会用数学方法去认识世界、改造世界.重点难点教学重点:应用算法、程序框图与基本算法语句解决问题.教学难点:形成知识网络.课时安排1课时教学过程导入新课思路1(情境导入).大家都熟悉围棋高手“石佛”李昌镐吧,他曾经打遍天下无敌手,你知道他最令人可怕的地方吗?他的技术很全面,但他最厉害的技术是“官子”,他的“官子”层次分明,可以说滴水不漏,堪称世界第一.我们的这次复习也要像围棋中的“官子”,也要做到层次分明、滴水不漏.思路2(直接导入).前面我们学习了算法、程序框图与基本算法语句等内容,今天我们对本章知识、方法、数学思想进行全面、系统的总结与复习.推进新课新知探究提出问题(1)请同学们自己梳理本章知识结构.(2)回顾算法的定义及特征.(3)回忆程序框图的三种逻辑结构.(4)总结算法语句.讨论结果:(1)本章知识结构如下图.(2)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.算法的特征:①确定性:算法的每一步都应当做到“准确无误、不重不漏”“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣、分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(3)顺序结构、条件分支结构、循环结构.(4)赋值语句:变量=表达式.输入语句:变量=input.输出语句:print(%io(2),变量).条件语句:格式1:if表达式语句序列1;else语句序列2;end格式2:if表达式语句序列1;end循环语句:for语句:for循环变量=初值:步长:终值循环体;endwhile语句:while表达式循环体;end应用示例例1如下图所示,该程序框图输出的结果为________.解:该程序框图的运行过程是:A=1;S=1;S=1+9=10;A=1+1=2;A≤2,成立;S=10+9=19;A=2+1=3;A=3≤2,不成立;输出S=19.答案:19点评:解决同一个问题,可以有多种算法,那么就有多种程序框图和语句,再就是不同版本的教材算法语句的语言形式也不相同,因此高考试题中通常不会考查画程序框图或编写程序.由于学习本章的目的是体会算法的思想,所以已知程序框图或程序,判断其结果是高考考查本章知识的主要形式,这也是课程标准和考试说明对本章的要求.其判断方法是具体∴y =π2×2-5=π-5. 例2到银行办理个人异地汇款(不超过100万元),银行收取一定的手续费.假设汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费.试用程序框图描述汇款额为x 元时,银行收取手续费y 元的过程.分析:这是一个实际问题,故应先建立数学模型,y =⎩⎪⎨⎪⎧ 1(0<x ≤100),0.01x (100<x ≤5 000),50(5 000<x ≤1 000 000).由此看出,要求手续费,需先判断x 的范围.解:程序框图如下图:点评:条件分支结构经常与分段函数有密切的关联;判断框里要写明分支的条件,从而决定下一步该作出怎样的选择.例3已知函数y =⎩⎪⎨⎪⎧ 2x -1,x ≤-1,log 3(x +1),-1<x<2,x 4,x ≥2,试设计一个算法,输入x 的值,求对应的函数值.分析:对输入x 的值与-1和2比较大小,即分类讨论.解:算法如下:S1 输入x 的值;S2 当x ≤-1时,计算y =2x -1,否则执行下一步;S3 当x ≥2时,计算y =x 4,否则执行下一步;S4 计算y =log 3(x +1);S5 输出y.点评:分段函数是高考考查的重点,在考虑算法步骤时,要用到分类讨论思想,这为复习程序框图和算法语句打好了基础.知能训练1.下面程序框图输出的结果是( )A .11B .12C .132D .1 320分析:该程序框图的运行过程是:i =12;s =1;i =12≥10,成立;s =1×12=12;i =12-1=11;i =11≥10,成立;s =12×11=132;i =11-1=10;i =10≥10,成立;s =132×10=1 320;i =10-1=9;i =9≥10,不成立;输出s =1 320.答案:D2.下图是表示求解方程x 2-(a +1)x +a =0(a ∈R ,a 是常数)过程的程序框图.请在标有序号(1)(2)(3)(4)处填上你认为合适的内容将框图补充完整.(1)____________;(2)____________;(3)____________;(4)____________.解析:所解方程是一元二次方程,先计算判别式Δ=(a +1)2-4a =(a -1)2,所以(1)处填(a -1)2;计算判别式Δ的大小后,再判断其符号,由于Δ=(a -1)2,则只需判断a 是否等于1即可,则(2)有两种填法a =1或a ≠1,当(2)处填a =1时,(3)处填x 1=x 2=1,(4)处填x 1=a ,x 2=1;当(2)处填a ≠1时,(3)处填x 1=a ,x 2=1,(4)处填x 1=x 2=1.答案:(1)(a -1)2 (2)a =1 (3)x 1=x 2=1 (4)x 1=a ,x 2=1或(1)(a -1)2 (2)a ≠1(3)x 1=a ,x 2=1 (4)x 1=x 2=13.下列程序的功能是________.s =0;for i =1:1:100s =s +1/i ;endprint(%io(2),s);解析:该程序的执行过程是:s =0;i =1,s =0+11=1; i =2,s =1+12;i =3,s =1+12+13; ……i =100,s =1+12+13+…+1100. 答案:计算1+12+13+…+1100的值 拓展提升数学的美是令人惊异的!如三位数153,它满足153=13+53+33,即这个整数等于它各位上的数字的立方的和,我们称这样的数为“水仙花数”.请您设计一个算法,找出大于100,小于1 000的所有“水仙花数”.(1)写出算法步骤;(2)画出程序框图.分析:由于需要判断大于100,小于1 000的整数是否满足等于它各位上的数字的立方的和,所以需要用循环结构.解:(1)算法步骤如下:S1 i =101;S2 如果i 不大于999,则执行第3步,否则算法结束;S3 若这个数i 等于它各位上的数字的立方的和,则输出这个数;S4 i =i +1,返回第2步.(2)程序框图如下图所示.课堂小结(1)复习了本章知识,形成了知识网络.(2)判断算法的功能或输出结果.作业本章小结Ⅲ.巩固与提高 4、5.设计感想本节通过大量生动活泼的例题对本章进行系统的总结,通过精彩的点评渗透算法的基本思想,使学生的知识得到进一步巩固,使学生的思想方法不断升华.备课资料人机大战的启示人类的许多进步之所以产生,多半是发明了一个更好、更有力的工具.物质工具使工作速度加快并使人们从重体力劳动中解脱出来,而信息工具则扩大人们的智力.物质工具如犁、起重机、推土机、内燃机、电动机等等,是人的四肢的延伸,而计算机是人的大脑的延伸.它最初只能进行数值计算,但随着其发展,应用范围不断扩大.它不仅能够进行计算,还能进行记忆、判断、推理、设计、控制、自动化处理等等.一句话,只要是能输入计算机里的信息,它都能按照人的要求对信息进行迅速而圆满的处理.因此,计算机也被称为电脑.在短短十几年的时间里,我们经历了计算机深入生活每一个角落的过程,深深感受到了计算机多方面的强大的功能.其中,国际象棋大师卡斯帕罗夫与IBM“深蓝”的人机大战的结果曾引起世人瞩目和激烈讨论,留下了有关计算机与人的关系的种种思考.1989年,美国IBM公司成立了“深蓝”(Deep Blue)项目小组,开始着手研究有关计算机下棋方面的技术,其实就是设计下棋的算法.其目的是证明它具有能够处理复杂博弈模式的能力,而真正的意图是,以此作为一个模型,将并行技术深入到其他各种复杂应用领域.1988年,“深蓝”的前身“深思”(Deep Thought)在华裔科学家许峰雄等人的开发下,已经具备与人进行国际象棋比赛的能力.“深蓝”在开始设计时就以超越“深思”为目的,特别在运算速度与处理能力部分.经过不断的努力,1996年2月,当今最优秀的国际象棋棋手、世界冠军卡斯帕罗夫与“深蓝”计算机展开了第一次真正的角逐.比赛为六局对抗赛.虽然卡斯帕罗夫最终以4∶2的比分取胜,但今天计算机所达到的能力,也着实让全世界吃了一惊.尤其是第一局,“深蓝”以获胜来了个“开门红”.卡斯帕罗夫在赛后承认,“深蓝”是必须认真对待的劲敌,他说:“我没有料到它如此难以对付,我输掉第一局非常幸运,因为那是给我发出的最严重警告.”由于卡斯帕罗夫战胜“深蓝”,他预言“在严肃、经典的比赛中,计算机在本世纪没有赢棋的机会.”然而,卡斯帕罗夫对计算机技术的飞速发展估计错了.仅仅一年后,“深蓝”就战胜了这位大师.1997年5月人机大战重开.前五局战平,5月11日第六局决胜局的比赛,卡斯帕罗夫仅走了19步便向“深蓝”认输.“深蓝”的重量达1.4吨,拥有32个节点,每一节点有8块专门为进行国际象棋对弈设计的处理器,从而拥有每秒运算超过2亿步的惊人速度.为了使“深蓝”能拥有更多的资源规划棋步,开发小组汇集了一个开放棋局的数据库,输入了100年来世界顶级棋手的棋局,此外还有残局数据库,即最后五步时的走法,形成了汇集10亿个棋局的数据库.自1996年在输给卡斯帕罗夫之后,美国特级大师本杰明加盟“深蓝”,将他对象棋的理解编成语句输入“深蓝”,且在1997年的比赛中,每场对局结束后,小组都会根据卡斯帕罗夫的情况相应地修改特定的参数.“深蓝”在比赛中,不会疲倦、不会有心理和情绪上的起伏,只是不动声色地进行高速准确的运算.因此,卡斯帕罗夫的对手并不是“深蓝”主机,而是一群人如何运用电脑的硬、软件来向一个人的智慧和反应挑战.电脑的胜利说到底是人脑的胜利.但是“深蓝”的这次胜利,毕竟标志着计算机技术又上了一个新台阶,更准确地说,这次“深蓝”胜利,是人脑经过电脑胜过人脑.它也反过来让人们思考,什么是思维的本质?它第一次让人类如此真切地感受到了电脑与人的相异却又能够与人对抗的能力,这种力量还会从人们今后的努力中得到滋养从而不断壮大.有人曾将人机大战称为捍卫人类尊严的比赛,此次“深蓝”获胜,绝不意味人类的尊严丧失殆尽.许峰雄博士说得好:“棋王卡斯帕罗夫的胜利是为人类的过去赢了一盘棋;今年,‘深蓝’胜卡斯帕罗夫,是为人类的未来赢了一盘棋.”另外,深具意义的是,“深蓝”证明了人类的极限.超越人类的极限是一件很大的事情,人类就是在不断超越自己的极限中而进步的.。
高中数学必修三:第1章算法初步一、课标要求:1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读中国古代教学中的算法案例,体会中国古代数学世界数学发展的贡献。
2、算法就是解决问题的步骤,算法也是数学及其应用的重要组成部分,是计算机科学的基础,利用计算机解决问需要算法,在日常生活中做任何事情也都有算法,当然我们更关心的是计算机的算法,计算机可以解决多类信息处理问题,但人们必须事先用计算机熟悉的语言,也就是计算能够理解的语言(即程序设计语言)来详细描述解决问题的步骤,即首先设计程序,对稍复杂一些的问题,直接写出解决该问题的程序是困难的,因此,我们要首先研究解决问题的算法,再把算法转化为程序,所以算法设计是使用计算机解决具体问题的一个极为重要的环节。
二、编写意图与特色:算法是数学及其应用的重要组成部分,是计算科学的重要基础。
随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。
在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
1、结合熟悉的算法,把握算法的基本思想,学会用自然语言来描述算法。
2、通过模仿、操作和探索,经历设计程序流程图表达解决问题的过程。
在具体问题的解决过程中理解程序流程图的三种基本逻辑结构:顺序结构、条件结构、循环结构。
3、通过实际问题的学习,了解构造算法的基本程序。
4、经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想。
5、需要注意的问题1) 从熟知的问题出发,体会算法的程序化思想,而不是简单呈现一些算法。
1.1 算法与程序框图1.1.1 算法的概念学习目标 1.了解算法的含义.2.了解算法的思想.3.会用自然语言描述一些具体问题的算法.知识点一 算法的概念思考1 有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换过来,试用自然语言表述你的操作办法.答案 先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.思考2 某笑话有这样一个问题:把大象装进冰箱总共分几步?答案是分三步.第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.这是一个算法吗?答案 是.梳理 算法概念12世纪的算法是指用阿拉伯数字进行算术运算的过程数学中的算法通常是指按照一定规则解决某一类问题的明确和有限的步骤现代算法通常可以编成计算机程序,让计算机执行并解决问题知识点二 算法的特征思考 算法与一般意义上具体问题的解法的区别与联系是什么?答案 (1)它们之间是一般与特殊的关系,也是抽象与具体的关系.(2)要设计出解决一类问题的算法,可以借助于此类问题中的某一个问题的解决过程和思路进行设计,而此类问题中的任何一个具体问题都可以利用这类问题的一般算法来解决.梳理 算法的五个特征(1)有限性:一个算法的步骤是有限的,它应在有限步操作之后停止.(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不是模棱两可的.(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列.(4)普遍性:一个确定的算法,应该能够解决一类问题.(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.知识点三 算法的设计思考 自然语言是唯一描述算法的语言吗?答案 不是.描述算法可以有不同的方式,常用的有自然语言、框图(流程图)、程序设计语言等.梳理 (1)设计算法的目的设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.(2)设计算法的要求①写出的算法必须能解决一类问题.②要使算法尽量简单、步骤尽量少.③要保证算法步骤有效,且计算机能够执行.1.算法是解决一个问题的方法.( × )2.一个算法可以产生不确定的结果.( × )3.算法的步骤必须是明确的、有限的.( √ )题型一 算法概念的理解例1 下列关于算法的说法,正确的个数有( )①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1 B.2 C.3 D.4答案 C解析 由于算法具有有限性、确定性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.反思与感悟 算法实际上是解决问题的一种程序性方法,它通常用来解决某一个或某一类问题,在用算法解决问题时,体现了特殊与一般的数学思想.跟踪训练1 下列描述不能看作算法的是( )A.做米饭需要刷锅,淘米,添水,加热这些步骤B.洗衣机的使用说明书C.解方程2x2+x-1=0D.利用公式S=πr2,计算半径为4的圆的面积,就是计算π×42答案 C解析 A,B,D都描述了解决问题的过程,可以看作算法,而C只描述了一个事实,没说明怎么解决问题,不是算法.题型二 算法的阅读理解例2 下面算法要解决的问题是_______________________________________________.S1 输入三个数,并分别用a,b,c表示.S2 比较a与b的大小,如果a<b,则交换a与b的值.S3 比较a与c的大小,如果a<c,则交换a与c的值.S4 比较b与c的大小,如果b<c,则交换b与c的值.S5 输出a,b,c.答案 输入三个数a,b,c,并按从大到小的顺序输出解析 第一步是给a,b,c赋值.第二步运行后a>b.第三步运行后a>c.第四步运行后b>c,所以a>b>c.第五步运行后,显示a,b,c的值,且从大到小排列.反思与感悟 一个算法的作用往往并不显而易见,这需要我们结合具体数值去执行一下才知道.跟踪训练2 下面给出了一个问题的算法:S1 输入a.S2 若a≥4,则执行第三步,否则执行第四步.S3 输出2a-1.S4 输出a2-2a+3.这个算法解决的问题是________________________________________________________.答案 求函数f(x)=Error!当x=a时的函数值f(a)题型三 算法的设计与应用命题角度1 直接应用数学公式设计算法例3 有一个底面半径为3,母线为5的圆锥,写出求该圆锥体积的算法.解 如图,先给r ,l 赋值,计算h ,再根据圆锥体积公式V =πr 2h 计算V ,然后输出结果.13S1 令r =3,l =5.S2 计算h =.l 2-r 2S3 计算V =πr 2h .13S4 输出运算结果.反思与感悟 利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.跟踪训练3 已知一个等边三角形的周长为a ,求这个三角形的面积.设计一个算法解决这个问题.解 S1 输入a 的值.S2 计算l =的值.a 3S3 计算S =×l 2的值.34S4 输出S 的值.命题角度2 函数求值问题的算法设计例4 已知函数f (x )=Error!设计一个算法求函数的任一函数值.解 S1 输入x =a .S2 若a ≥2,则执行第三步;若a <2,则执行第四步.S3 输出f (a )=a 2-a +1.S4 输出f (a )=a +1.反思与感悟 首先结合函数的表达式的特征,然后选择恰当的算法语言进行描述.跟踪训练4 已知函数f(x)=|x-2|+1, 设计一个算法求函数的任一函数值.解 S1 输入x=a.S2 若a<2,则执行第三步,否则执行第四步.S3 输出f(a)=3-a.S4 输出f(a)=a-1.命题角度3 非数值性计算问题的算法例5 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.解 算法如下:S1 给出任意一个正整数n(n>1).S2 若n=2,则输出“2是素数”,判断结束.S3 令m=1.S4 m=m+1.S5 如果m≥n,则输出“n是素数”,判断结束.S6 判断m能否整除n,①如果能整除,则输出“n不是素数”,判断结束;②如果不能整除,则转第四步.反思与感悟 设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决该问题的一般数学方法.(2)借助有关变量或参数对算法加以表述.(3)将解决问题的过程划分为若干步骤.(4)用简练的语言将这个步骤表示出来.跟踪训练5 判断一个大于2的整数是否为质数的算法步骤如何设计?解 S1 给定大于2的整数n.S2 令i=2.S3 用n除以i,得到余数r.S4 判断“r=0”是否成立.若成立,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.S5 判断“i>(n-1)”是否成立.若成立,则n是质数,结束算法;否则,返回第三步.1.下列关于算法的说法正确的是( )A .一个算法的步骤是可逆的B .描述算法可以有不同的方式C .算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题D .算法只能用一种方式显示答案 B解析 由算法的定义知A ,C ,D 错.2.计算下列各式中S 的值,能设计算法求解的是( )①S =+++…+;12141812100②S =+++…++…;12141812100③S =+++…+(n ≥1,n ∈N +).12141812n A .①②B .①③C .②③D .①②③答案 B解析 由算法的有限性知②不能设计算法求解,①③都能通过有限步输出确定结果.3.已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步:(1)计算c =;a 2+b 2(2)输入直角三角形两直角边长a ,b 的值;(3)输出斜边长c 的值.其中正确的顺序是________.答案 (2)(1)(3)解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.4.求过P (a 1,b 1),Q (a 2,b 2)两点的直线的斜率有如下的算法,请在横线上填出适当步骤.S1 令x 1=a 1,y 1=b 1,x 2=a 2,y 2=b 2.S2 判断“x 1=x 2”是否成立.若成立,则输出“斜率不存在”;否则,执行第三步.S3 ________________________________________________________________________.S4 输出k .答案 计算斜率k =y 2-y 1x 2-x 1解析 由题意可知,“第三步”应根据直线斜率公式计算斜率k 的值.5.写出解二元一次方程组Error!的算法.解 S1 ①+2×②得7x =1.③S2 解③得x =.17S3 ②×3-①×2得7y =5.④S4 解④得y =.57S5 得到方程组的解为Error!1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性.2.算法设计的要求:(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.(2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.一、选择题1.下列可以看成算法的是( )A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B.今天餐厅的饭真好吃C.这道数学题难做D.方程2x2-x+1=0无实数根答案 A解析 A是学习数学的一个步骤,所以是算法.2.下面是判断一元二次方程ax2+bx+c=0是否有实数根的算法步骤.对该算法步骤排序正确的是( )①输入一元二次方程的系数:a,b,c.②计算Δ=b2-4ac的值.③判断Δ≥0是否成立.若Δ≥0成立,则输出“方程有实数根”;否则输出“方程无实数根”,结束算法.A.①②③B.②①③C.③①②D.②③①答案 A解析 根据该算法的构成,容易得到答案为A.3.在用二分法求方程零点的算法中,下列说法正确的是( )A.这个算法可以求所有的零点B.这个算法可以求任何方程的零点C.这个算法能求所有零点的近似解D.这个算法可以求变号零点的近似解答案 D解析 二分法的理论依据是函数的零点存在性定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.4.有蓝、黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,现有空墨水瓶若干,解决这一问题最少需要的步骤数为( )A.2 B.3 C.4 D.5答案 B解析 S1 将蓝墨水装到一个空墨水瓶中;S2 将黑墨水装到黑墨水瓶中;S3 将蓝墨水装到蓝墨水瓶中,这样就解决了这个问题,故选B.5.已知一个算法:(1)给出三个数x 、y 、z ;(2)计算M =x +y +z ;(3)计算N =M ;13(4)得出每次计算结果.则上述算法是( )A .求和B .求余数C .求平均数D .先求和再求平均数答案 D解析 由算法过程可知,M 为三数之和,N 为这三数的平均数,故选D.6.下面是对高斯消去法的理解:①它是解方程组的一种方法;②它可以用来解多元一次方程组;③用它来解方程组时,有些方程组的答案可能不准确.其中正确的是( )A .①②B .③C .①③D .②③答案 A解析 只有①②符合题意.7.下列各式中T 的值不能用算法求解的是( )A .T =12+22+32+42+…+1002B .T =++++…+12131415150C .T =1+2+3+4+5+…D.T=1-2+3-4+5-6+…+99-100答案 C解析 根据算法的有限性知C不能用算法求解.8.对于算法:S1 输入n.S2 判断n是否等于2,若n=2,则n满足条件;若n>2,则执行第三步.S3 依次从2到(n-1)检验能不能被n整除,若不能被n整除,则执行第四步;若能整除n,则结束算法.S4 输出n.满足条件的n是( )A.质数B.奇数C.偶数D.约数答案 A解析 此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.二、填空题9.下面是解决一个问题的算法:S1 输入x.S2 若x≥6,转到S3;否则转到S4.S3 输出3x-2.S4 输出x2-2x+4.当输入x的值为________时,输出的数值最小,且最小值为________.答案 1 3解析 所给算法解决的是求分段函数f(x)=Error!的函数值的问题.当x≥6时,f(x)=3x-2≥3×6-2=16;当x<6时,f(x)=x2-2x+4=(x-1)2+3≥3.所以f(x)min=3,此时x=1,即当输入x的值为1时,输出的数值最小,且最小值是3.10.一个算法的步骤如下:S1 令i=0,S=2.S2 如果i≤15,则执行S3,否则执行S6.S3 计算S+i并将结果代替S.S4 用i+2的值代替i.S5 转去执行S2.S6 输出S.运行该算法输出的结果S=________.答案 58解析 据题意知,S=2+2+4+6+8+10+12+14=58.11.下面给出了解决问题的算法:S1 输入x.S2 若x≤1,则y=2x-1,否则y=x2+3.S3 输出y.当输入的x值为________时,输入值与输出值相等.答案 1解析 该算法的作用是求分段函数y=Error!的函数值.解Error!得x=1;Error!无解.12.给出下列算法:S1 输入x的值.S2 当x>4时,计算y=x+2;否则执行下一步.4-xS3 计算y=.S4 输出y.当输入x=0时,输出y=________.答案 24-0解析 0<4,执行第三步,y==2.三、解答题13.某商场举办优惠促销活动.若购物金额在800元以上(不含800元),打7折;若购物金额在400元以上(不含400元),800元以下(含800元),打8折;否则,不打折.请为商场收银员设计一个算法,要求输入购物金额x,输出实际交款额y.解 算法步骤如下:S1 输入购物金额x(x>0).S2 判断“x>800”是否成立,若成立,则y=0.7x,转第四步;否则,执行第三步.S3 判断“400<x≤800”是否成立,若成立,则y=0.8x,转第四步;否则,y=x.S4 输出y,结束算法.四、探究与拓展14.下面是求15和18的最小公倍数的算法,其中不恰当的一步是________.S1 先将15分解素因数:15=3×5.S2 然后将18分解素因数:18=32×2.S3 确定它们的所有素因数:2,3,5.S4 计算出它们的最小公倍数:2×3×5=30.答案 第四步解析 素因数2,3,5的最高指数分别是1,2,1,算出它们的最小公倍数为2×32×5=90. 15.如图所示,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移动到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面.把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是________.答案 7解析 直接进行分析,将最小的碟子命名为①,中间的碟子命名为②,最大的碟子命名为③,进行如下移动:①→A,②→C,①→C,③→A,①→B,②→A,①→A,此时按要求全部放好,移动7次.。
第一章算法初步1 算法概念的诠释同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了.广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础,它可理解为由基本运算及规定的运算顺序所构成的完整的解题步骤.一、算法的特征1.确定性确定性:算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.2.有限性一个算法必须保证在执行有限步后结束,不能出现无限循环或死循环.这里说的“有限性”一般指算法在合理的范围以内,一般由人们的常识和需要以及计算机性能而定.例如,计算机执行一个算法需要一千年才能结束,这个算法虽然有限,但超过了合理的限度,因而也不是一个有效算法.二、算法的思想在数学中,计算一个函数值、求解一个方程、证明一个结论等等,我们都需要有一个清晰的思路,一步一步去完成,这就是算法的思想,即程序化思想.它强调的是通性通法,给出一个算法实际上是给出了一种解决问题(特别是数学问题)的方法.三、特别提示1.在算法的理解方面,是指使用一系列运算规则,能在有限步骤内求解某类问题,其中每条规则必须是明确定义的,可行的.2.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求近似值却没有要求近似的精确度,则该问题不能求解.3.在设计算法时,算法应有一个或多个输出,算法的目的是为了求解,没有输出的算法是没有意义的.4.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x2-3x-4=0的算法时,用求根公式来做,步骤则较为简洁.5.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.四、典例分析例1 已知一个等边三角形的周长为a,求这个三角形的面积,设计一个算法解决这个问题.分析对于已知等边三角形的边长求面积的题目.同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.解 算法步骤如下: S1 输入a 的值. S2 计算l =a3的值.S3 计算S =34×l 2的值. S4 输出S 的值.例2 下面给出了一个问题的算法: S1 输入x .S2 若x ≥4,则执行第三步,否则执行第四步. S3 输出2x -1. S4 输出x 2-2x +3. 这个算法解决的问题是什么?分析 依据题目给出的算法步骤依次执行,分别写出其对应的结果就可以很容易解决此题. 解 这个算法先是输入一个变量x ,当x ≥4时输出2x -1,当x <4时输出x 2-2x +3,不难发现这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值.2 典型算法举例1.解方程(方程组)、不等式的算法例1 用自然语言描述求一元二次方程x 2+bx +c =0的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法. 解 用自然语言来描述算法, S1 计算Δ=b 2-4ac .S2 如果Δ<0,则原方程无实数解,否则(Δ≥0)x 1=-b +b 2-4ac 2a ,x 2=-b -b 2-4ac2a .S3 输出x 1,x 2或无实数解的信息.评注 第二步中包含了一个判断Δ=b 2-4ac 是否小于零的条件,并根据判断结果进行不同的处理,在算法中称作条件分支结构. 例2 写出解x 2-4x +3<0的算法.思维切入 只要把平时的固定解法有条理地写出来,即为解不等式的算法.解S1 求出对应方程的根x1=1,x2=3.S2 确定根的大小x 1<x 2. S3 写出解集{x |1<x <3}. 2.套用公式求值的算法例3 已知摄氏温度C 与华氏温度F 的关系是F =C ×95+32,写出由摄氏温度求华氏温度的算法.思维切入 这是一个函数求值问题,给C 赋值再代入解析式求F . 解 S1 输入摄氏温度C . S2 代入F =C ×95+32.S3 输出华氏温度F .评注 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果. 3.判断性质型问题的算法例4 试描述判断圆(x -a )2+(y -b )2=r 2和直线Ax +By +C =0位置关系的算法. 思维切入 直线与圆的关系有三种:相离、相切、相交,如果圆心到直线的距离d >r ,则直线与圆相离,d =r 则直线与圆相切,d <r 则直线与圆相交.因此我们可以先求出圆心到直线的距离d ,然后再和r 比较.解 S1 输入圆心的坐标、直线方程的系数和半径r . S2 计算z 1=Ax 0+By 0+C . S3 计算z 2=A 2+B 2. S4 计算d =|z 1|z 2.S5 如果d >r 则相离;如果d =r 则相切;如果d <r 则相交. 评注 算法要求分解成简单计算,不要直接计算d =|Ax 0+By 0+C |A 2+B 2.4.累加、累乘问题的算法例5 用自然语言描述求解mul =1×2×3×4×5×6问题的算法.思维切入 根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法. 解 S1 计算1×2,得2.S2 将S1中的运算结果2与3相乘得6.S3 将S2中的运算结果6与4相乘得24.S4 将S3中的运算结果24与5相乘得120.S5 将S4中的运算结果120与6相乘得720.评注一眼就看出答案来了,为什么还一步一步地做,太枯燥了,但是相乘的数小、数少还能看出,如果数多了,数大了没有这样的步骤就很难解决这一类问题.思维拓展该算法包含一个重复操作的过程是循环结构,我们可将算法改造得更为简练、科学.解S1 设i=1,P=1.S2 如果i≤6执行S3,否则执行S5.S3 计算P×i并将结果代替P.S4 将i+1代替i,转去执行S2.S5 输出P.评注i称作计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.3 程序框图画法全知晓一、画程序框图的基本步骤第一步,设计算法,因为算法的设计是画程序框图的基础,所以画程序框图前,首先写出相应的算法步骤,并分析算法需要用哪种基本逻辑结构(顺序结构、条件分支结构、循环结构)完成.第二步,把算法步骤转化为对应的程序框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.第三步,将所有步骤的程序框图用流程线连接起来,并加上起、止框,得到整个表示算法的程序框图.二、画程序框图的规则1.使用标准的框图符号.2.框图一般按从上到下、从左到右的方向来画.3.除判断框外,大多数框图符号只有一个输入点和一个输出点,判断框是唯一具有超过一个输出点的符号.4.在图形符号内描述的语言要简练清楚.三、典例分析1.顺序结构顺序结构是最简单的算法结构,是任何一个算法都离不开的结构.若一个算法由若干个依次执行的步骤组成,则在画程序框图时,可直接由顺序结构完成.因为在其他的结构中都会涉及顺序结构,所以关于顺序结构的画法,在此不再单独叙述.2.条件分支结构设计程序框图时,若是分段函数或执行时需要先判断才能执行的问题,则需要用到判断框,引入条件分支结构.例1 如图,在边长为4的正方形ABCD 的边上有一点P ,沿着BCDA 的方向由点B 向点A 运动,设点P 运动的路程为x (0<x <12),△APB 的面积为y ,画出y 关于x 的关系式的程序框图.分析 先根据题意写出算法,再根据算法画出程序框图.即 第一步,按照题意,y 与x 的关系满足分段函数: y =⎩⎪⎨⎪⎧2x ,0<x ≤4,8,4<x ≤8,212-x ,8<x <12.第二步,用合适的含条件分支结构的程序框图表示该分段函数. 解 程序框图如图所示.点评 该题中的分段函数是分三段的函数,需引入两个判断框.至于判断框的内容是没有顺序的,但与下一图形的内容或操作必须相互对应.同时,在画程序框图时,要特别注意图形符号的规范性. 3.循环结构如果问题中进行了重复的运算,且有相同的规律,就可根据需要引入相关变量,利用这些规律组成一个循环体,用循环结构来解决.例2某机械厂为增加产值进行了技术革新.据统计2014年的生产总值为500万元,技术革新后预计每年的生产总值比上一年增加5%,求最早要到哪一年生产总值才能超过600万元,试用程序框图表示.分析 用变量n ,a 分别表示所经过的年数和生产总值的数量,注意变量的初始值以及递加的值是多少.由题意知第n 年后的生产总值为a =500(1+0.05)n,此时为(2014+n )年.由于题中进行了重复的运算,故应引入循环结构. 解 程序框图如图所示.点评 在本例中,给出了一种循环结构的框图,另一种循环结构(先执行循环体,再判断条件是否成立),同学们可以自行完成.4 例说条件分支结构条件分支结构是三种基本逻辑结构之一,可以解决一些含有条件判断的算法问题,如分段函数求值问题、比较大小问题、分类讨论问题和一些实际问题等.下面就其应用略举两例,供同学们学习时参考. 一、分段函数求值问题例1已知函数y =⎩⎪⎨⎪⎧-x +1,x >0,0,x =0,x +3,x <0,请设计程序框图,要求输入自变量x ,输出函数值y .分析 输入自变量x 的值,首先判断x 与0的大小关系,再代入相应的表达式求函数值.解程序框图如图.点评求分段函数的函数值,需先判断再执行步骤,需要引入条件分支结构.注意画程序框图时,判断条件不同,框图中表达式的位置也不同.二、实际应用问题例2某电子汇款单笔最高限额为1万元,每笔汇款的资费标准为汇款金额的1%,最低收费为2元,最高收费为50元.试编写一程序框图求出当汇款x (0<x≤10000)元时,应交纳资费多少元.分析由题意分析,当x≤200时,应缴纳资费2元,当x≥5000时,应缴纳资费50元,所以引入条件分支结构,200和5000是两个分段点.解程序框图如图.点评在一些需要判断的实际问题中,一般都会用到条件分支结构,在设计程序框图时,可先根据题意,设计算法,再根据算法画出程序框图.5 循环结构的应用在循环结构中,经常会出现两个变量:计数变量和累计变量.计数变量往往出现在循环结构中,起到循环计数的作用,这个变量一般出现在执行或终止循环体的条件中;而累计变量用于输出结果,往往与计数变量同步执行,一般有累加与累乘两种.下面举例说明循环结构的应用.一、求和或求积问题例1 设计两个求1+3+5+…+2015的值的算法的程序框图.分析本题是一个累加问题,由于加数较多,采用逐一相加的思路不可取,引入变量,应用循环结构解决:(1)设一个循环变量为i,初始值为1;再设一个累加变量为S,初始值为0.(2)循环体为S=S+i,i=i+2.(3)终止条件为i>2015.解方法一程序框图如图1所示,方法二程序框图如图2所示.评注涉及求多项的和与积的程序框图要用到循环结构和条件分支结构.画图时要注意循环变量的初始值、终值以及循环变量的增量在程序中的作用.本题代表了一类相邻两个数的差为常数的求和问题的解法,在设计程序框图时要注意前后两个加数相差2,此时计数变量不是i=i+1,而是i=i+2,要根据题意灵活地改变算法中的相应部分.二、叠加求值例2 画出求式子(共9个3)的值的一个程序框图.分析 本题是一个叠加问题,由于前后重复了多次相同的运算,所以应采用循环结构来设计算法,但利用循环结构实现算法需搞清初始值是什么.本题中初始值可设定为a 1=13,第一次循环得到a 2=13+a 1,第二次循环得到a 3=13+a 2,…,a 9=13+a 8,共循环了8次. 解 程序框图如图所示.评注 如果算法问题里涉及的运算有许多重复的步骤,且数之间有相同的规律,那么可引入变量,应用循环结构.在循环结构中,要注意根据条件,设计合理的计数变量、累计变量,特别要注意条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况.6 三种逻辑结构辨析算法中有三种逻辑结构,即顺序结构、条件分支结构、循环结构,同学们初学这三种结构,容易混淆.本文将这三种结构进行比较,希望同学们能深刻体会这三种结构的差异与共同点.一、三种基本逻辑结构顺序结构 按照语句的先后顺序,从上而下依次执行这些语句,该结构不具备控制流程的作用,是任何一个算法都离不开的基本结构.条件分支结构根据某种条件是否满足来选择程序的走向.当条件满足时,运行一个分支,不满足时,运行另一个分支. 循环结构 从某处开始,按照一定的条件,反复执行某一处理步骤的情况.用来处理一些反复进行操作的问题.二、三种基本逻辑结构的共同特点1.只有一个入口.2.只有一个出口,注意一个菱形判断框有两个出口,而一个条件分支结构只有一个出口,不要将菱形框的出口和条件分支结构的出口混为一谈.3.结构内的每一部分都有机会被执行到,即对每一个框来说都应当有一条从入口到出口的路径通过它,如图1中的A,没有一条从入口到出口的路径通过它,是不符合要求的程序框图.4.结构内不存在死循环,即无终止的循环,如图2就是一个死循环,在程序框图中是不允许有死循环出现的.三种基本结构的这些共同特点,也是检查一个程序框图或算法是否正确、合理的方法和试金石.三、典例剖析1.顺序结构例1 已知点P(x0,y0)和直线l:Ax+By+C=0,画出求点P(x0,y0)到直线l的距离d的算法的程序框图.分析利用点到直线的距离公式可画出其程序框图.解程序框图如图所示.评注顺序结构是由若干个依次执行的处理步骤组成的,这是任何一个算法都离不开的基本结构,它是最简单的算法结构,在程序框图中的体现就是用流程线自上而下地连接起来,按顺序执行算法的步骤.2.条件分支结构例2 画出解方程ax+b=0(a,b为常数)的一个算法的程序框图.分析在求解方程时,需要在方程两边同时除以a,这时对a是否为0的情况要加以讨论,当a=0时,又要对b是否为0分情况讨论.解程序框图如图所示.评注条件分支结构中要先根据指定条件进行判断,再由判断的结果决定选择执行哪一条路径.3.循环结构例3 某校高一(1)班共有60人,市青少年保护中心来抽样检测同学们的身体素质,要求学号被3整除的同学参加体检,已知同学们的学号是从1到60号,请画出一个算法的程序框图,使其能够输出参加体检的同学的学号.解程序框图如图所示.评注循环结构按照一定的条件,反复执行某一处理步骤.循环结构要在某个条件下终止循环,这就需要条件分支结构来判断,在循环结构中都有一个计数变量和一个累加变量,计数变量用于记录循环次数,累加变量用于输出结果,计数变量和累加变量一般是同步执行的,累加一次,计数一次.7 算法在生活实际中的应用数学来源于生活,服务于社会,数学与生活息息相关,数学是有用的,在生活中做一件事情的方法和步骤有多种,生活中的许多问题都可以用算法描述,用程序框图表达.下面请欣赏三例算法问题.一、第29届奥林匹克运动会的申办例1 北京成功举办了2008年第29届夏季奥林匹克运动会.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市的得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.请设计一个算法表述上面过程,并画出程序框图.解算法步骤如下:S1 投票.S2 统计票数,如果有一个城市得票数超过总票数的一半,那么该城市就获得主办权;否则淘汰得票数最少的城市,转S1.S3 宣布主办城市.程序框图如图:点评算法本身就是用计算机解决一些实际问题的方法,一定要充分理解算法的特点.二、奖金的发放例2 某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名.第1名得全部奖金的一半多1万元,第2名得剩余的奖金的一半多1万元,第3名再得剩余奖金的一半多1万元,以此类推,到第10名恰得奖金1万元,请设计一个算法的程序求科研所最初拿出多少奖金进行奖励.解第10名的奖金额S1=1万元,第9名和第10名的总奖金额S2=(1+1)×2=4万元,第8名、第9名和第10名的总奖金额S3=(4+1)×2=10万元......总奖金额S10=(S9+1)×2,得递推公式S1=1,S n+1=(S n+1)×2,n=1,2, (9)程序:S=1;i=1;while i<10S =S +1*2; i =i +1;endS程序框图:三、李白酒壶中的酒例3 李白是我国唐代的一位伟大诗人,平时很喜欢喝酒,有一首打油诗讲了李白买酒的一件趣事,“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒.”问:李白的酒壶中原来有多少酒?请用算法解释,画出程序框图. 解 通过逆向思考,李白遇到第三枝花时,壶中有1斗酒,遇到第三个店时,壶中有12斗酒;遇到第二枝花时,壶中有1+12=32斗酒,遇到第二个店时,壶中有12×32=34斗酒;遇到第一枝花时,壶中有1+34=74斗酒,遇到第一个店时,壶中有12×74=78斗酒. 根据以上分析可得算法步骤如下:S1 S =0.S2 I =1.S3 S =S +12.S4 I =I +1.S5 如果I >3,则输出S ;否则,转S3.程序框图如图所示.资料仅供参考!!!。