算法含义
- 格式:doc
- 大小:94.50 KB
- 文档页数:3
算法的概念——知能阐释一、知识精讲1.算法的含义算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。
说明:(1)算法一般是机械的,有时要进行大量的重复计算,只要按部就班地去做,总能算出结果。
通常把算法过程称为“数学机械化”,数学机械化的最大优点,是它可以让计算机来完成。
(2)实际上,处理任何问题都需要算法,中国象棋有中国象棋的棋谱,国际象棋有国际象棋的棋谱。
再比如,邮寄物品有其相应的手续,购买飞机票也有一系列的手续等等。
(3)求解某个问题的算法不唯一。
2.算法的特征(1)确定性:算法的每一步必须是确切定义的,且无二意性,算法只有唯一的一条执行路径,对于相同的输入只能得出相同的输出。
(2)有容性:一个算法必须在执行有穷次运算后结束,在所规定的时间和空间内,若不能获得正确结果,其算法也是不能被采用的。
(3)可行性:算法中的每一个步骤都必须能用实现算法的工具——可执行指令精确表达,并在有限步骤内完成,否则这种算法也是不会被采纳的。
(4)算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤。
(5)有输出,算法一定能得到问题的解,有一个或多个结果输出,达到求解问题的目的,没有输出结果的算法是没有意义的。
3.算法的描述(1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等。
用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解。
缺点是如果算法中包含判断或转向,并且操作步骤较多时,就不那么直观清晰了。
(2)框图(流程图):所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法,具有直观、结构清晰、条理分明、通俗易懂、便于检查修改及交流等优点。
(3)程序设计语言:算法最终可通过程序的形式编写出来,并在计算机上执行。
程序设计语言可分为低级语言和高级语言,低级语言包括机器语言和汇编语言。
算法复习试题一、名词解释:1、算法:就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。
2、贪心算法:能够得到某种量度意义下的最优解的分级处理方法称为贪心算法。
3、分治法:分治法的求解思想就是把整个问题分成若干个小问题后分的治之4、递归过程:一个递归过程的执行类似于多个子程序的嵌套调用,递归过程是自己调用自己本身代码。
递归算法的特点:思路清晰,算法的描述简洁且易理解。
5、集合:在研究某一类对象时,可把这类对象的整体称为集合。
6、生成树:设G=(V,E)是一个无向连通图。
如果G的生成子图T=(V,E')是一棵树,则称T是G的一棵生成树。
7、算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口可行性:就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
8、迭代法:称辗转法,是一种不断用变量的旧值递推出新值的解决问题的方法。
9、贪婪法: 是一种不追求最优解,只希望得到较为满意解的方法。
贪婪法不要回溯10、动态规划:是一种将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。
11、分支限界法:是一种用于求解组合优化问题的排除非解的搜索算法。
12、树:树是一个或多个结点的有限集合。
12、二元树:它是结点的有限集合,它或者为空,或者由一个根和两棵树(左子树和右子树)的不相交的二元树所组成。
13、二分检索树:T是一棵二元树,它或者为空,或者其每个结点含有一个可比较大小的数据元素。
14、图:图是数据结构,一个图G是由称之为结点V和边E的两个集合组成的15、最优解:使目标函数取极值(极大值或极小值)的可行解。
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
算法算法是高中数学课程中的新增内容,是中国数学课程内容的一个新特色.“算法”过程是指机械式地按照某种确定的步骤行事,通过一系列小的简单计算操作完成复杂计算的过程.算法的学习内容大致可分为三个步骤:用自然语言描述算法;精确刻画算法(程序框图);计算机实现执行算法(程序语言的描述过程).算法思想贯穿高中数学课程的相关部分.【知识要点】1.算法:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤.2.程序框图程序框图:用一些通用的符号构成一张图来表示算法,这种图称为程序框图(程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形).用框图表示算法步骤的一些常用的图形符号:程序框名称功能终端框(起止框) 表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框) 赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”,不成立时标明“否”↓→流程线(指向线) 指引流程图的方向连接点连接另一页或另一部分的框图程序框图的三种基本逻辑结构:顺序结构:描述的是最简单的算法结构,语句与语句之间、框与框之间按从上到下的顺序进行(如图9-1).图9-1条件分支结构:依据指定条件选择执行不同指令的控制结构(如图9-2).图9-2循环结构:根据指定条件决定是否重复执行一条或多条指令的控制结构(如图9-3).图9-33.几种基本算法语句任何一个程序设计语言中,都包含五种基本的算法语句,即输入语句、输出语句、赋值语句、条件语句、循环语句.输入语句和输出语句分别用来实现算法的输入信息、输出结果的功能;赋值语句是用来表明赋给某一个变量一个具体的确定值的语句;条件语句是处理条件分支逻辑结构的算法语句;循环语句是用来处理算法中的循环结构的语句.4.中国古代算法案例:更相减损之术、辗转相除法:求两个正数的最大公因数的方法.辗转相除法算法步骤:第一步:用两数中较大数除以较小数,求商和余数.第二步:用除数除以余数.第三步:重复第二步,直到余数为0.第四步,得出两数的最大公约数,即余数0之前的余数.更相减损术算法步骤:第一步:用较大数减去较小数,得到差.第二步:比较减数与差的大小,再用较大数减去较小数.第三步:重复第二步,直到差与减数相等为止.第四步:相等数即为最大公约数.割圆术:用正多边形的面积逐渐逼近圆面积的算法求圆周率π. 秦九韶算法:求一元多项式的值的一种方法,递推关系为),,2,1(10n k a x v v a v k n k kn=⎩⎨⎧+==-- 【复习要求】1.了解算法的含义,了解算法的思想.2.理解程序框图的三种基本逻辑结构:顺序结构、条件分支结构、循环结构.3.理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.【例题分析】例1 如图(图9-4)所示,将一系列指令用框图的形式表示,箭头指向下一步的操作.请按照框图回答问题:图9-4(1)这个框图表示了怎样的算法?(2)输出的数是多少?【分析】由框图中的文字及图形符号表示的操作内容可知:此算法是“求1到50的和”,由此可以算出输出的数.解:(1)此框图表示的算法为:求1+2+3+…+50的和;(2)易知所求和为1275.【评析】程序框图主要包括三部分:表示相应操作的框,带箭头的流程线和框外必要的说明.读框图时要从这三个方面研究,流程线反映了命令执行的先后顺序,主要看箭头方向,框及内外的文字说明表明了操作内容.常用这种方式考察对算法的理解和应用.例2 (1)如图9-5所示的是一个算法的程序框图,已知a1=3,输出的结果为7,则a2的值为______.图9-5(2)如图9-6所示的是某个函数求值的程序框图,则满足该程序的函数解析式为_____.图9-6(3)如图9-7所示的是求某个数列和的程序框图,此程序输出的结果为_____.图9-7【分析】这三个小题的重点在于读懂框图.(1)只含有顺序结构,(2)含有条件分支结构,表明函数的定义域为R ,当x <0时,遵从解析式f (x )=3x -1,否则(即当x ≥0时),遵从解析式f (x )=2-5x ;(3)中有两个循环变量S 、I ,S 是累加变量,I 是计数变量;另外还要判断I 的奇偶性,以此决定是加还是减.解:(1)112=a ;(2)⎩⎨⎧≥-<-=)0(52)0(13)(x x x x x f ;(3)S =12-22+32-42+…+992-1002=-5050.【评析】题(1),只含有顺序结构,所表示的算法比较简单,只需按照框图箭头方向依次读出即可.题(2)含有条件分支结构,这是一个与分段函数有关的算法,框图中含有判断框.读包含有判断框的框图时,要特别重视判断框内的条件和框外的文字说明,对应的下一步操作会依条件不同而改变.题(3)含有循环结构,当解决一些有规律的科学计算问题,尤其是累加和累乘时,往往可以利用循环结构来实现算法.循环结构有两种,读包含有循环结构的框图时,除关注判断框内外的说明外,一般要从开始依顺序做几次循环,观察变量的变化规律来帮助读懂算法的含义.例3 (1)已知平面上的一点P 0(x 0,y 0)和直线l :Ax +By +C =0,求点P 0到直线l 的距离d ,并画出程序框图.(2)用条件分支结构写“已知三个数a 、b 、c ,找出其中最大数”的算法及框图.(3)写出求n131211++++的和的算法,画出程序框图,并写出相应程序(选做). 【分析】正确分析“算理”,才能选择恰当的算法结构,有条理的表达算法.(1)在已知点到直线距离公式的前提下,适合用顺序结构表示;(2)涉及比大小,必须用到条件分支结构;(3)中分母有规律的递增,可以引入累加变量S 和计数变量i ,且S =S +1/i 是反复进行的,可以用循环结构表示.解:(1)算法及框图为:S1 输入x 0,y 0;A ,B ,C ; S2 计算m =A 2+B 2;S3 计算n =Ax 0+By 0+C ; S4 计算mn d ||=; S5 输出d ;(2)算法及框图为:S1 输入a ,b ,c ; S2 令x =a ;S3 若b >x ,则令x =b ;否则,执行S4;S4 若c >x ,则令x =c ;否则,执行S5; S5 输出x ;(3)算法及框图为:S1 输入i =1,S =0; S2 当i ≤n 时,,1iS S += i =i +1;否则执行S3; S3 输出S ;程序如下; S =0For i =1:1:n S =S +1/i i =i +1 endprint(%io (2),S )【评析】书写算法时,一步一步的程序化步骤,即“算则”固然重要,但这些步骤的依据,即“算理”有着更基本的作用,“算理,,是“算则”的基础,“算则”是“算理”的表现.这三道小题由于算理不同,所蕴含的算法结构也不同.通过实例,模仿、操作、探索,经历通过设计程序框图表达解决问题的过程,可以更好的理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会和理解算法的含义,了解算法语言的基本构成.本例中涉及的“利用公式求点到直线的距离”、“实数排序求最值问题”、“求数列的和或积的问题”,还包括“二分法求函数零点”、“质数的判定”,“求π的近似值”等等,都是算法的典型案例,学习时要给予充分的重视.一般算法的表示方法并不唯一.不同的算法语言的书写形式是有差别的.本书所采用的是Scilab 语言,学习时要了解赋值语句、输入输出语句、if 语句、while 和for 语句的基本含义及表达方式,能够读懂语句表示的算法过程.例4 (1)用辗转相除法计算56和264的最大公约数时,需要做的除法次数是______. (2)用更相减损术求56和98的最大公约数时,操作如下:(98,56)(56,42)(42,14)(28,14)(14,14),由此可知两数的最大公约数为______.(3)用秦九韶算法求得多项式f (x )=x 6-2x 5+3x 3+4x 2-6x +5当x =2时函数值为______.解:(1)8216816240164015640564264+⨯=+⨯=+⨯=+⨯=所以最大公约数为8,需做的除法次数是4;(2)最大公约数为14; (3)33. 【评析】书上所涉及的古代基本算法案例包括:更相减损术与辗转相除法、秦九韶算法、割圆术.辗转相除法与更相减损术都是求最大公约数的方法,辗转相除法又叫欧几里得方法,计算上以除法为主,更相减损术以减法为主,计算次数上,前者相对较少,特别是两个整数相差较大时区别尤其明显;辗转相除法以余数为0结束,更相减损术则以减数与差相等结束.秦九韶算法的特点是把求n 次多项式的值转化为求n 个一次多项式的值,运算时只有加法和乘法,而且运算的次数比较少,求一个n 次多项式的值最多需要进行n 次加法、n 次乘法.割圆术是由中国古代数学家刘徽提出的,是当时计算圆周率比较先进的算法,“算理”明确,即用圆内接正多边形和外切正多边形逼近圆周率,重点是确定递推关系.例5 (09辽宁)某店一个月的收入和支出总共记录了N 个数据,其中收入记为正数,支出记为负数.该店用下边的程序框图计算月总收入S 和月净盈利V .那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( )A .A >0,V =S -TB .A <0,V =S -TC .A >0,V =S +TD .A <0,V =S +T【分析】本题要注意三点:a k 有正有负;S 为总收入,是所有正数的和;T 为总支出,是所有非正数的和.答案为C【评析】本题结合实际背景,强调算法的应用价值,是一种比较新的题型,应引起关注.练习9一、选择题1.任何一个算法都必须有的基本结构是( )A.顺序结构B.条件分支结构C.循环结构D.以上三个都要有2.下面给出对程序框图的几种说法:①任何一个程序框图都必须有起止框;②判断框有一个入口,有不止一个出口;③对于一个算法来说,判断框内的条件表达方式是唯一的;其中正确的有( )A.0个B.1个C.2个D.3个3.在算法的逻辑结构中,要求进行逻辑判断并根据结果进行不同处理的是哪种结构( ) A.顺序结构B.条件分支结构和循环结构C.顺序结构和条件分支结构D.顺序结构和循环结构4.算法:S1 输入n;S2 判断n是否是2;若n=2,则n满足条件,若n>2,则执行S3;S3 依次从2到n-1检验能否整除n,若都不能整除,则n满足条件;满足上述算法的n是( )A.奇数B.偶数C.质数D.合数二、填空题5.阅读下面两个程序框图,框图1输出的结果为______;框图2输出的结果为______.框图1 框图26.(08广东)阅读图9-8的程序框图,若输入m=4,n=6,则输出a=______,i=______.图9-8 图9-97.阅读图9-9的程序框图,若输入的n是100,则输出的变量S和T的值依次是______.8.“x=3*5”和“x=x+1”是某个程序中的先后相邻两个语句,下列说法中①“x=3*5”是将数值15赋给x,而不是普通运算“x=3*5=15”;②“x=3*5”可以写成“3*5=x”③语句“x=x+1”在执行时,“=”右边x为15,“=”左边x为16;正确的有______.三、解答题9.分别用辗转相除法和更相减损术求189和81的最大公约数.10.用循环语句书写求1+2+3+…+n>1000的最小自然数n的算法,画出程序框图,并写出相应的程序(选做).11.(09宁夏)为了测量两山顶MN间的距离,飞机沿水平方向在AB两点进行测量,MN在同一个铅垂平面内(如图).飞机能够测量的数据有俯角和AB间的距离,请你设计一个方案,包括:指出需要测量的数据(用字母表示,并在图中标出);用文字和公式写出计算MN间距离的步骤.专题九 算法参考答案练习9一、选择题1.A 2.C 3.B 4.C 二、填空题5.27,21 6.12,3 7.2550,2500 8.①③. 三、解答题9.解:辗转相除法:3278127281189 ⨯=⨯=,所以最大公约数为27.更相减损术:189-81=108,108-81=27,81-27=54,54-27=27, 所以最大公约数为27. 10.解:S1 输入S =0,i =1; S2 S =S +i ,i =i +1;S3 若S ≤1000,重复执行S2; 若 S >1000,输出i .S =0,i =1; While S ≤1000 S =S +i ; i =i +1; endprint (%io (2),i )11.解:如图(1)需要测量的数据有:A 点到M 、N 的俯角α1,β1;B 点到M 、N 的俯角α 2,β 2;A 、B 的距离d .11 / 11 (2)第一步:计算BM ,由正弦定理)sin(sin 211ααα+=d BM ; 第二步:计算BN ,由正弦定理)sin(sin 121βββ-=d BN ; 第三步:计算MN ,由余弦定理 )cos(22122αβ+++=⋅⋅BN BM BN BM MN .。
(第1课时) §1.1 算法的含义教学目标:1.通过实例体会算法思想,了解算法的含义与主要特点;2.能按步骤用自然语言写出简单问题的算法过程学;3.培养学生逻辑思维能力与表达能力.教学重点:将问题的解决过程用自然语言表示为算法过程.教学难点:用自然语言描述算法.教学过程:一.序言算法不仅是数学及其应用的重要组成部分,也是计算机理论和技术的核心.在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域.那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.阅读教材第4页.二.问题情境1.情境:介绍猜数游戏(见教材第5页).2.问题:解决这一问题有哪些策略,哪一种较好?三.学生活动学生容易说出“二分法策略”,教师要引导学生进行算法化(按步骤)的表达.说明:以上过程实际上是按一种机械的程序进行的一系列操作.四.建构数学在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.1.广义的算法——某一工作的方法和步骤,例如:歌谱是一首歌曲的算法,空调说明书是空调使用的算法.在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序.2.本章主要讨论的算法(计算机能够实现的算法)——对一类问题的机械的、统一的求解方法.例如:解方程(组)的算法,函数求值的算法,作图问题的算法等.3.本节采用自然语言来描述算法.五.数学运用1.算法描述举例例1.给出求1+2+3+4+5的一个算法.解: 算法1 按照逐一相加的程序进行.第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6;第三步:将第二步中的运算结果6与4相加,得到10;第四步:将第三步中的运算结果10与5相加,得到15.算法2 运用公式123n ++++= 2)1(+n n 直接计算. 第一步:取n =5; 第二步:计算2)1(+n n ; 第三步:输出运算结果.算法3 用循环方法求和.第一步:使1S =,;第二步:使2I =;第三步:使S S I =+;第四步:使1I I =+;第五步:如果5I ≤,则返回第三步,否则输出S .说明:①一个问题的算法可能不唯一.②若将本例改为“给出求123100++++ 的一个算法”,则上述算法2和算法3表达较为方便.例2.给出求解方程组274511x y x y +=⎧⎨+=⎩的一个算法. 分析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组.解:用消元法解这个方程组,步骤是:第一步:方程①不动,将方程②中x 的系数除以方程①中x 的系数,得到乘数422m ==; 第二步:方程②减去m 乘以方程①,消去方程②中的x 项,得到2733x y y +=⎧⎨=-⎩; 第三步:将上面的方程组自下而上回代求解,得到1y =-,4x =.所以原方程组的解为41x y =⎧⎨=-⎩. 说明:(1).从例1、例2可以看出,算法具有两个主要特点:①有限性:一个算法在执行有限个步骤后必须结束.“有限性”往往指在合理的范围之内,如果让计算机执行一个历时1000年才结束的算法,这虽然是有限的,但超过了合理的限度,人们也不把它视作有效算法.“合理限度”一般由人们的常识和需要以及计算机的性能而定.②确定性:算法的每一个步骤和次序应当是确定的.例如,一个健身操中一个动作“手举过头顶”,这个步骤就是不确定的、含糊的.是双手都举过头,还是左手或右手?举过头顶多少厘米不同的人可以有不同的理解.算法中的每一个步骤不应产生歧义,而应当是明确无误的.(2).一般来说,算法应有一个或多个输出,算法的目的是为了求解,没有输出的算法是没有意义的.2.练习:课本第6页练习第1、2、3题.练习1答案:第一步 移项得23x =-;第二步 两边同除以2得32x =-. 练习2答案:第一步:使1S =,;第二步:使3I =;第三步:使S S I =⨯;第四步:使2I I =+;第五步:如果7I ≤,则返回第三步,否则输出S .练习3答案:第一步 计算斜率203(1)AB k -=--; 第二步 用点斜式写出直线方程0(1)AB y k x -=+. 补充:1.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.解:算法或步骤如下:S1 人带两只狼过河;S2 人自己返回;S3 人带一只羚羊过河;S4 人带两只狼返回;S5 人带两只羚羊过河;S6 人自己返回;S7 人带两只狼过河;S8 人自己返回;S9 人带一只狼过河.2.写出求111123100++++ 的一个算法. 解:第一步:使1S =,;第二步:使2I =;第三步:使1n I=; 第四步:使S S n =+;第五步:使1I I =+;第六步:如果100I ≤,则返回第三步,否则输出S . 六.回顾小结1.算法的概念:对一类问题的机械的、统一的求解方法.算法是由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题.2.算法的重要特征:(1)有限性:一个算法在执行有限步后必须结束;(2)确切性:算法的每一个步骤和次序必须是确定的;(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的.七、课外作业:课本第6页第4题,补充:1. 有A 、B 、C 三个相同规格的玻璃瓶,A 装着酒精,B 装着醋,C 为空瓶,请设计一个算法,把A 、B 瓶中的酒精与醋互换.2.写出解方程0322=--x x 的一个算法.3.已知),(11y x A ,),(22y x B ,写出求直线AB 斜率的一个算法.4.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”请你先列出解决这个问题的方程组,并设计一个解该方程组的算法.。
§1.1算法与程序框图1.1.1算法的概念学习目标1.了解算法的含义和特征.2.会用自然语言描述简单的具体问题的算法.知识点一算法的概念知识点二算法的特征算法的五个特征(1)有限性:一个算法的步骤是有限的,它应在有限步操作之后停止.(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不是模棱两可的.(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列.(4)普遍性:一个确定的算法,应该能够解决一类问题.(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.知识点三算法的设计1.设计算法的目的设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.2.设计算法的要求①写出的算法必须能解决一类问题.②要使算法尽量简单、步骤尽量少.③要保证算法步骤有效,且计算机能够执行.1.算法是解决一个问题的方法.(×)2.一个算法可以产生不确定的结果.(×)3.算法的步骤必须是明确的、有限的.(√)4.求解一类问题的算法是唯一的.(×)题型一对算法概念的理解例1下列说法正确的是()A.算法就是某个问题的解题过程B.算法执行后可以产生不同的结果C.解决某一个具体问题算法不同,则结果不同D.算法执行步骤的次数不可以很多,否则无法实施★答案★ B解析选项B正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项A,算法不能等同于解法;选项C,解决某一个具体问题算法不同,但结果应相同;选项D,算法可以为很多次,但不可以为无限次.反思感悟算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.跟踪训练1下列描述不是解决问题的算法的是()A.从中山到北京先坐汽车,再坐火车B.解可化为一元一次方程的分式方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C.方程x2-4x+3=0有两个不相等的实根D.解不等式ax+3>0时,第一步移项,第二步讨论★答案★ C解析A选项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题;B选项,解可化为一元一次方程的分式方程的步骤:去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题;D选项,解不等式ax+3>0时,第一步移项,将不等式化为ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题; 选项C 只是一个真命题,没有解决什么问题,因此不是算法.题型二 算法的设计命题角度1 直接应用数学公式设计算法例2 有一个底面半径为3,母线长为5的圆锥,写出求该圆锥体积的算法.解 如图,先给r ,l 赋值,计算h ,再根据圆锥体积公式V =13πr 2h 计算V ,然后输出结果.第一步,令r =3,l =5. 第二步,计算h =l 2-r 2. 第三步,计算V =13πr 2h .第四步,输出运算结果.反思感悟 利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.跟踪训练2 已知一个等边三角形的周长为a ,求这个三角形的面积.设计一个算法解决这个问题.解 第一步,输入a 的值. 第二步,计算l =a3的值.第三步,计算S =34×l 2的值. 第四步,输出S 的值.命题角度2 非数值性问题的算法例3所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.解算法如下:第一步,给出任意一个正整数n(n>1).第二步,若n=2,则输出“2是素数”,判断结束.第三步,令m=1.第四步,将m的值增加1,仍用m表示.第五步,如果m≥n,则输出“n是素数”,判断结束.第六步,判断m能否整除n,①如果能整除,则输出“n不是素数”,判断结束;②如果不能整除,则转第四步.反思感悟设计一个具体问题的算法,通常按以下步骤(1)认真分析问题,找出解决该问题的一般数学方法.(2)借助有关变量或参数对算法加以表述.(3)将解决问题的过程划分为若干步骤.(4)用简练的语言将这个步骤表示出来.跟踪训练3判断一个大于2的整数是否为质数的算法步骤如何设计?解第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.解方程组的算法设计典例 写出解方程组⎩⎪⎨⎪⎧2x +y =7,①4x +5y =11②的一个算法.解 方法一 (代入消元法) 第一步,由①得y =7-2x .③ 第二步,将③代入②,得4x +5(7-2x )=11.④ 第三步,解④得x =4.第四步,将x =4代入③,得y =-1.第五步,得到方程组的解为⎩⎪⎨⎪⎧x =4,y =-1.方法二 (加减消元法)第一步,①×5-②得,(2×5-4)x =7×5-11.⑤ 第二步,解⑤得x =4.第三步,①×2-②,得(1×2-5)y =7×2-11.⑥ 第四步,解⑥得y =-1.第五步,得到方程组的解为⎩⎪⎨⎪⎧x =4,y =-1.[素养评析] (1)设计算法时,经常遇到解方程组的算法问题,一般是按照数学上解方程组的方法进行设计,但应注意全面考虑方程组解的情况,即先确定方程组是否有解,有解时有几个解,然后依据求解步骤设计算法步骤.(2)从对运算方法的选择,运算程序的设计,到最后求得运算结果,整个过程就是典型的数学运算素养的体现.1.下列关于算法的说法正确的是()A.一个算法的步骤是可逆的B.描述算法可以有不同的方式C.算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题D.算法只能用一种方式显示★答案★ B解析由算法的定义知A,C,D错.2.下列叙述中:①植树需要运苗、挖坑、栽苗、浇水这些步骤;②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100;③从青岛乘火车到济南,再从济南乘飞机到广州;④3x>x+1;⑤求所有能被3整除的正数,即3,6,9,12,….能称为算法的个数为()A.2B.3C.4D.5★答案★ B解析根据算法的含义和特征知,①②③都是算法;④⑤不是算法.其中④只是一个问题,而没有解决问题,不能称为算法;⑤的步骤是无穷的,与算法的有限性矛盾.3.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________. ★答案★ (2)(1)(3)解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.4.下面是解决一个问题的算法: 第一步:输入x .第二步:若x ≥4,转到第三步;否则转到第四步. 第三步:输出2x -1. 第四步:输出x 2-2x +3.当输入x 的值为________时,输出的数值最小值为________. ★答案★ 1 2解析 所给算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值问题,当x ≥4时,f (x )=2x -1≥2×4-1=7;当x <4时,f (x )=x 2-2x +3=(x -1)2+2≥2,所以f (x )min =2,此时x =1.即输入x 的值为1时,输出的数值最小,最小值为2. 5.下面算法要解决的问题是____________________________. 第一步,输入三个数,并分别用a ,b ,c 表示.第二步,比较a 与b 的大小,如果a <b ,则交换a 与b 的值. 第三步,比较a 与c 的大小,如果a <c ,则交换a 与c 的值. 第四步,比较b 与c 的大小,如果b <c ,则交换b 与c 的值. 第五步,输出a ,b ,c .★答案★ 输入三个数a ,b ,c ,并按从大到小的顺序输出 解析 第一步是给a ,b ,c 赋值. 第二步运行后a >b . 第三步运行后a >c .第四步运行后b >c ,所以a >b >c .第五步运行后,显示a ,b ,c 的值,且从大到小排列.6.写出解二元一次方程组⎩⎪⎨⎪⎧3x -2y =-1,①2x +y =1 ②的算法.解 第一步,①+2×②得7x =1.③ 第二步,解③得x =17.第三步,②×3-①×2得7y =5.④ 第四步,解④得y =57.第五步,得到方程组的解为⎩⎨⎧x =17,y =57.1.算法的特点:有限性、确定性、逻辑性、普遍性、不唯一性. 2.算法设计的要求:(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.(2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.一、选择题1.下列可以看成算法的是( )A .学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B .今天餐厅的饭真好吃C .这道数学题难做D .方程2x 2-x +1=0无实数根★答案★ A解析 A 是学习数学的一个步骤,所以是算法.2.在用二分法求方程零点的算法中,下列说法正确的是( )A .这个算法可以求所有的零点B .这个算法可以求任何方程的零点C .这个算法能求所有零点的近似解D .这个算法可以求变号零点的近似解★答案★ D解析 二分法的理论依据是函数的零点存在性定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.3.如下算法:第一步,输入x 的值.第二步,若x ≥0,则y =x .第三步,否则,y =x 2.第四步,输出y 的值.若输出的y 值为9,则x 的值为( )A .3B .-3C .3或-3D .-3或9 ★答案★ D解析 根据题意可知,此为分段函数y =⎩⎪⎨⎪⎧x ,x ≥0,x 2,x <0的算法, 当x ≥0时,x =9;当x <0时,x 2=9,所以x =-3.综上所述,x 的值是-3或9.4.对于算法:第一步,输入n .第二步,判断n 是否等于2,若n =2,则n 满足条件;若n >2,则执行第三步.第三步,依次从2到(n -1)检测能不能整除n ,若不能整除n ,则执行第四步;若能整除n ,则结束算法.第四步,输出n.满足条件的n是()A.质数B.奇数C.偶数D.合数★答案★ A解析此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.5.有蓝、黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,现有空墨水瓶若干,解决这一问题最少需要的步骤数为()A.2 B.3C.4 D.5★答案★ B解析第一步,将蓝墨水装到一个空墨水瓶中;第二步,将黑墨水装到黑墨水瓶中;第三步,将蓝墨水装到蓝墨水瓶中,这样就解决了这个问题,故选B.6.早上从起床到出门需要洗脸刷牙(5min)、刷水壶(2min)、烧水(8min)、泡面(3min)、吃饭(10min)、听广播(8min)几个过程.下列选项中最好的一种算法是()A.第一步,洗脸刷牙.第二步,刷水壶.第三步,烧水.第四步,泡面.第五步,吃饭.第六步,听广播B.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭.第五步,听广播C.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭同时听广播D.第一步,吃饭同时听广播.第二步,泡面.第三步,烧水同时洗脸刷牙.第四步,刷水壶★答案★ C解析最好算法的标准是方便、省时、省力.A中共需5+2+8+3+10+8=36(min),B中共需2+8+3+10+8=31(min),C中共需2+8+3+10=23(min),D中共需10+3+8+2=23(min),但算法步骤不合理,最好的算法为C.7.对于求18的正因数,给出下列两种算法:算法1:第一步,1是18的正因数,将1列出.第二步,2是18的正因数,将2列出.第三步,3是18的正因数,将3列出.第四步,4不是18的正因数,将4剔除.……第十八步,18是18的正因数,将18列出.算法2:第一步,18=2×9.第二步,18=2×32.第三步,列出所有的正因数1,2,3,32,2×3,2×32.则这两个算法()A.都正确B.算法1正确,算法2不正确C.算法1不正确,算法2正确D.都不正确★答案★ A解析算法1是用1~18的整数逐一验证,得出正因数.算法2是利用因数分解得到18的正因数.两种算法都正确.故选A.8.一个算法步骤如下:第一步,S取值0,i取值1.第二步,若i≤9,则执行第三步;否则,执行第六步.第三步,计算S+i并用结果代替S.第四步,用i+2的值代替i.第五步,转去执行第二步.第六步,输出S.运行以上算法,则输出的结果S等于()A.16 B.25C.36 D.以上均不对★答案★ B解析解本题关键是读懂算法,本题中的算法功能是求S=1+3+5+7+9=25.9.结合下面的算法:第一步,输入x.第二步,判断x是否小于0,若是,则输出x+2,否则执行第三步.第三步,输出x-1.当输入的x的值为-1,0,1时,输出的结果分别为()A.-1,0,1 B.-1,1,0C.1,-1,0 D.0,-1,1★答案★ C解析 依据算法可知,当x =-1时,满足x <0,则输出x +2=-1+2=1;当x =0时,不满足x <0,则输出x -1=0-1=-1;当x =1时,不满足x <0,则输出x -1=1-1=0.故选C.二、填空题10.下面给出了解决问题的算法:第一步:输入x .第二步:若x ≤1,则y =2x -1,否则y =x 2+3.第三步:输出y .(1)这个算法解决的问题是________;(2)当输入的x 值为________时,输入值与输出值相等.★答案★ (1)求分段函数y =⎩⎪⎨⎪⎧2x -1,x ≤1,x 2+3,x >1的函数值 (2)111.以下是解二元一次方程组⎩⎪⎨⎪⎧2x -y +6=0,①x +y +3=0 ②的一个算法,请将该算法补充完整. 第一步,①②两式相加得3x +9=0.③第二步,由③式可得________.④第三步,将④式代入①式得y =0.第四步,输出方程组的解为________.★答案★ x =-3 ⎩⎪⎨⎪⎧x =-3,y =0 解析 该算法的流程实质是解二元一次方程组的过程,由消元法易得.12.下面是求15和18的最小公倍数的算法,其中不恰当的一步是________.第一步,先将15分解素因数:15=3×5.第二步,然后将18分解素因数:18=32×2.第三步,确定它们的所有素因数:2,3,5.第四步,计算出它们的最小公倍数:2×3×5=30.★答案★ 第四步解析 素因数2,3,5的最高指数是1,2,1,算出它们的最小公倍数为2×32×5=90.三、解答题13.某商场举办优惠促销活动.若购物金额在800元以上(不含800元),打7折;若购物金额在400元以上(不含400元),800元以下(含800元),打8折;否则,不打折.请为商场收银员设计一个算法,要求输入购物金额x ,输出实际交款额y .解 算法步骤如下:第一步,输入购物金额x(x>0).第二步,判断“x>800”是否成立,若是,则y=0.7x,转第四步;否则,执行第三步.第三步,判断“x>400”是否成立,若是,则y=0.8x,转第四步;否则,y=x.第四步,输出y,结束算法.14.下面算法的功能是()第一步,令i=1.第二步,i除以3,得余数r.第三步,若r=0,则输出i;否则,执行第四步.第四步,令i的值增加1.第五步,若i≤1000,则返回第二步;否则,算法结束.A.求3的倍数B.求1至1000中3的倍数C.求i除以3D.求i除以3的余数★答案★ B解析由第二步和第三步可知,输出的是3的倍数,由第四步和第五步可知,输出的是1至1000中3的倍数.15.如图所示,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移动到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面.把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是________.★答案★7解析直接进行分析,将最小的碟子命名为①,中间的碟子命名为②,最大的碟子命名为③,进行如下移动:①→A,②→C,①→C,③→A,①→B,②→A,①→A,此时按要求全部放好,移动7次.。
algorithm与calculation的用法algorithm和calculation是两个在计算机科学和数学领域经常使用的术语。
它们有一些相似之处,但在含义和用法上略有不同。
Algorithm(算法)
Algorithm指的是一组定义了解决问题步骤的有序集合。
它是一种抽象的描述,描述了如何从给定的输入数据中得出期望的输出结果。
算法通常由一系列逻辑、控制结构、条件和迭代组成,以指导计算机执行特定的任务或解决特定的问题。
算法是计算机科学中的基础概念,用于设计和开发各种软件和系统,例如排序算法、搜索算法、图形算法等。
算法是独立于具体编程语言的,可以用伪代码或自然语言来表示和描述。
Calculation(计算)
Calculation指的是进行数值运算或数学计算的过程。
计算可以涉及基本的数学运算,例如加法、减法、乘法和除法,也可以包括更复杂的数学操作,例如三角函数、指数、对数等。
计算可以通过手动计算、使用计算器、编写计算机程序等方式进行。
在计算机科学中,计算通常是算法的一部分,用于执行特定的计算任务或处理数据。
总结来说,algorithm是一种抽象的描述,描述了解决问题的步骤和规则,而
calculation是进行数值运算或数学计算的实际过程。
算法可以包含计算作为其中的一部分,用于实现特定的计算任务。
张喜林制1.1 算法与程序框图1.1.1 算法的概念教材知识检索考点知识清单1.算法可以理解为或者看成____,并且这样的能够解决一类问题.2.描述算法可以有,例如,可以用加以叙述,也可以借助给出精确的说明,也可以用显示算法的全貌.3.教材中阐述的这种求解方程组的方法称为.4.我们学习的算法不同于一个具体问题的求解方法,它有如下要求:(1)写出的算法,必须能(例如解任意一个二元一次方程组),并且能使用.(2)算法过程要能____,每一步执行的操作,必须,不能____,而且经过有限步后能.要点核心解读1.算法的含义算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.2.算法的要求我们现在学习的算法不同于求解一个具体问题的方法,它有如下的要求:(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且能在有限步后得出结果.总之,算法虽然没有一个明确的概念,但其特点还是很鲜明的.不仅要注意理解算法的程序性、有限性、构造性、精确性的特点,还应充分理解算法的问题指向性即算法往往指向解决某一个或某一类问题.泛泛地谈算法是没有意义的,算法一定要以问题为载体, 3.高斯消去法(1)高斯消去法,例如:解方程组⎩⎨⎧=+=+,4842,17y x y x记(I)⎩⎨⎧=+=+.4842,17y x y x将方程组(I)中的第一个方程的两边同乘-2加到第二个方程中去,得⎩⎨⎧⨯-=-=+∏,21748)24(,17)(y y x 解方程组(Ⅱ)中的第二个方程,得.72421748=-⨯-=y利用方程组(I)中的第一个方程来消去第二个方程中的未知数x ,从而使该方程组(I)化为与其等价的方程组(Ⅱ),进而通过(Ⅱ)的第二个方程确定y ,再通过第一个方程确定x ,这种求解方程组的方法称为高斯消去法.(2)用高斯消去法解一般的二元一次方程组的算法.用高斯消去法解一般的二元一次方程组:⎩⎨⎧=+=+②①22221211212111,b x a x a b x a x a 的算法描述如下: 因为是二元一次方程组,所以方程组中的2111,a a 不能同时为0.第一步:假定011=/a (如果,011=a 可将第一个方程与第二个方程互换),,)(1121②①+-⨯a a得,)(111212211122122a b a b x a a a a -=-即方程组可化为⎩⎨⎧⋅-=-=+④③1212112122122111212111)(,b a b a x a a a a b x a x a第二步:如果,012212211=/-a a a a 解方程④得到:122122111212112a a a a b a b a x --= ⑤第三步:将⑤代入③,整理得122122112121221a a a a ba b a x --= ⑥第四步:输出结果⋅21,x x如果,012212211=-a a a a 则从④可以看出,方程组无解或有无穷多组解,以后,我们在描述算法时,用英文Stepl ,Step2,…来表示第一步,第二步,……也可以简写为:Sl ,S2,…4.解二元一次方程组的公式算法算法步骤如下:Sl 计算;12212211a a a a D -=S2如果D=O ,则原方程组无解或者有无穷多组解;如果D ≠0,;,21111221222211Dab a b x D a b a b x -=-=则S3 输出计算的结果21,x x 或无法求解信息.5.算法的描述描述算法可以有不同的.方式,常用的有自然语言、框图、程序设计语言、伪代码等. (1)自然语言.自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等,用自然语言描述算法的优点通俗易懂,当算法中的操作步骤都是按顺序执行时比较容易理解,缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(2)框图(下一节研究). (3)程序设计语言.典例分类剖析考点1算法的概念[例1] 指出下列哪个不是算法( ).A .解方程062=-x 的过程是移项和系数化为1B .从济南到温哥华要先乘火车到北京,再转乘飞机C .解方程0122=-+x xD .利用公式2r S π=计算半径为3的圆的面积就是计算23⨯π [试解] .(做后再看答案,发挥母题功能)[解析] 由算法的含义可知选C . [答案]C[点拨] 正确理解算法的含义是解决此类问题的关键. 1.下列语句中是算法的有().①从广州到北京旅游,先坐火车,再坐飞机抵达;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;③方程012=-x 有两个实根;④求4321+++的值,先计算,321=+再由1046,633=+=+得最终结果是10.A .1个 B.2个 C.3个 D.4个考点2 高斯消去法和解二元一次方程组的公式算法[例2] 给出求解方程组⎩⎨⎧=+=+②①1154,72y x y x 的一个算法.[答案] 算法分析一:用高斯消去法求解. 解法-:Sl ,2⨯-①②得③;33-=y S2 解③得④;1-=y S3 将④代入①,得.4=x算法分析二:用公式法求解. 解法二:Sl 计算;61452=⨯-⨯=D S2 因为,06=/=D 所以,4611157=⨯-⨯=x;1647211-=⨯-⨯=yS3 输出.1,4-==y x[点拨] 本题的算法一是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法,下面写出求方程组)0()2.........(0A )1.(..........0y 1221222111≠-⎩⎨⎧=++=++B A B A C y B x C B x A 的解的算法:第一步:③①②;0)(,1221122121=-+-⨯-⨯C A C A y B A B A r A A r第二步:解③,得;12212112B A B A C A C A y --=第三步:将lB A B AC A C A y 2212112--=代入①,得 ⋅-+-=12212112B A B A C B C B x此时我们得到了二元一次方程组的求解公式,利用此公式可得到例2的另一个算法:第一步:取;11,5,4,7,1,2222111-===-===C B A C B A 第二步:计算 ;122121121222112B A B A C A C A y B A B A C B C B x l --=-+-=与第三步:输出运算结果.可见利用上述算法,更加有利于上机执行与操作. 2.写出二元一次方程组⎩⎨⎧-=+=-2,1423y x y x 的两种算法.考点3算法的描述[例3] (1)写出一个求解任意二次函数++=bx ax y 2)0(=/a c 的最值的算法. (2)设计一个算法,对任意3个数a ,b ,c ,求出其中的最小数.[答案] (1)由二次函数的性质知,当0>a 时,函数有最小值;442ab ac -当a<0时,函数有最大值 ab ac 442- 算法步骤用自然语言叙述如下:Sl 计算;442ab ac m -=S2 若a>0,则函数的最小值是m ;否则,执行S3; S3 函数的最大值是m . (2)算法步骤如下:;min 1a S =S2 如果min,<b 则;min b =S3 如果min,<c 则⋅=c mm S4 min 就是a ,b ,c 中的最小数.[点拨] (1)第(1)题用的是自然语言,第(2)题用的是数学语言,至于用哪种语言结合具体的问题而定. (2)任给有限个数,求其中的最大数、最小数的算法,在数不是很多的情况下,就可以采用这种逐一比较的办法.3.写出解方程0322=--x x 的一个算法, 考点4算法的应用[例4] -位商人有9枚银元,其中有一枚略轻的是假银元,你能用天平(不用砝码)将假银元找出来吗?设计一个算法,解决这一问题.[解析] 最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一排,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.上述算法,最少要称量1次最多需称量7次,我们还可以对这种算法进行改进,使得称量的次数尽量少一些.[答案] 解法一:算法步骤如下:Sl任取2枚银元分别放在天平的两边,如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则执行S2;S2取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.解法二:算法步骤如下:Sl把银元分成3组,每组3枚;S2先将两组分别放在天平的两边,如果天平不平衡,那么假银元就在偏轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里;S3取出含假银元的那一组,从中任取两枚银元放在天平的两边,如果左右不平衡,则轻的那一边就是假银元;如果天平平衡.则未称的那一枚就是假银元.4.-个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,它就会吃掉羚羊.请你设计安全渡河的算法,优化分层测训学业水平测试1.下列关于算法的说法中,正确的是( ). A .算法就是某个问题的解题过程 B .算法执行后可以不产生确定的结果 C .解决某类问题的算法不是唯一的 D .算法可以无限地操作下去不停止 2.假设家中生火泡茶有下列步骤:a.生火 b .将水倒入锅中 c .找茶叶 d .洗涤茶壶茶碗 e .用开水冲茶 则最优算法为( ).A. abcdeB.bacdeC.cdabeD.dcabe 3.下列算法的说法中,正确的有 . ①求解某一类问题的算法是唯一的; ②算法必须在有限步操作后停止; ③算法的每一步操作必须是明确的; ④算法执行后一定产生确定的结果.4.对于像“喝一碗水”这类含有动作性的语言能否出现在算法的一个步骤中,下列说法中正确的是——: ①能;②不能;③有些题目能,有些不能;④以上说法均不对. 5.写出一个能找出a ,b ,c ,d 最大数的算法.高考能力测试(测试时间:45分钟测试满分:100分)一、选择题(本大题共8小题,每小题5分,共40分,在每小题给出的四个选项中,只有一项是符合题目要求的)1.下列对算法描述正确的一项是( ). A .算法只能用自然语言来描述 B .算法只能用图形方式来表示 C .同一问题可以有不同的算法D .同一问题的算法不同,必然结果不同 2.算法的有穷性是指( ). A .算法必须包含输出B .算法中的每个操作步骤都是可执行的C .算法的步骤必须有限D .以上说法均不正确3.下列语句表达中是算法的有( ).①从济南到巴黎,可以先乘火车到北京,再坐飞机抵达;②利用公式ah S 21=计算底为1,高为2的三角形的面积;;4221+>x x ③④求M(l ,2)与Ⅳ(-3,-5)两点连线的方程,可先求MN 的斜率,再利用点斜式方程求得.A .1个B .2个C .3个 D.4个 4.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤,下列选项中最好的一种算法是( ). A .洗脸刷牙、刷水壶、烧水、泡面、吃饭、听广播B .刷水壶、烧水同时洗脸刷牙、泡面、吃饭、听广播C .刷水壶、烧水同时洗脸刷牙、泡面、吃饭同时听广播D .吃饭同时听广播、泡面、烧水同时洗脸刷牙、刷水壶 5.下面四句话中不是解决问题的算法的是( ).A .从济南到北京旅游,先坐火车,再坐飞机B .解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C .方程012=-x 有两个实根D .求54321++++的值,先计算,321=+再由,633=+,15510,1046=+=+最终结果为15 6.计算下列各式中的s 的值,能设计算法求解的是( ).;100321++++= s ① ;100321 +++++=s ②⋅∈≥++++=),1(321N n n n s 且③①②.A .B ①③ ②③.C ①②③.D7.对于算法:Sl 输入n ;S2 判断n 是否等于2,若,2=n 则n 满足条件;若n>2,则执行S3;S3 依次从2到n-1检验能不能整除n ,若不能整除n ,则执行S4;若能整除n ,则执行Sl ; S4 输出n .满足条件的n 是( ).A .质数B .奇数C .偶数D .约数 8.-个算法步骤如下:第一步:S 取值0,i 取值1;第二步:如果i≤10,则执行第三步,否则执行第六步; 第三步:计算S+i 并将结果代替S ; 第四步:用i+2的值代替i ; 第五步:转去执行第二步; 第六步:输出S .运行以上步骤输出的结果为( ). A .25 B .20 C .15 D .10二、填空题(本大题共4小题,每小题5分,共20分,把答案填在题后的相应位置) 9.可设计一个计算分段函数.⎩⎨⎧≤+>-=)0(5),0(12)(2x x x x x x f 的函数值的算法,该算法最后输出的结果是6时,输入的x 的值为10.已知数字序列:.8,52,12,18,32,15,8,7,5,2写出从该序列中搜索18的一个算法: 第一步:输入实数a .第二步: 第三步:输出.18=a11.求1197531⨯⨯⨯⨯⨯的值的一个算法是:第一步:求lx3得到结果3.第二步:将第一步所得的结果3乘5,得到结果15. 第三步: 第四步:再将105乘9得到945.第五步:再将945乘11,得到10395,即为最后结果.12. -个求解任意二次函数)0(2=/++=a c bx ax y 的最值的算法是:第一步:计算;442ab ac m -=第二步: , 第三步:三、解答题(本大题共4小题,每小题10分,共40分,解答须写出文字说明、证明过程和演算步骤) 13.写出任意给出的4个数a ,b ,c ,d 的平均数的一种算法.14.某人带着一只狼和一只羊及一捆青菜过河,只有一条船,此船仅可载此人和狼、此人和羊或此人和青菜,没有此人在的时候,狼会吃羊,羊会吃青菜,请设计一个安全过河的算法.15.下面给出了一个问题的算法:第一步:输入a .第二步:若,4≥a 则执行第三步,否则执行第四步. 第三步:输出.12-a 第四步:输出.322+-a a问题:(1)这个算法解决的问题是什么?(2)当输入a 的值为多大时,输出的数值最小?16.如图1 -1 -1 -1,已知直线-+=+-y x l y x l 23:0123:21和,06=求1l 和2l 与y 轴所围成的三角形的面积,写出解决本题的一个算法.11 / 11。
算法的含义知识点总结什么是算法?算法是一种用于解决问题或执行任务的有序步骤集合。
算法可以应用于各种领域,包括计算机科学、数学、工程学、生物学等。
它们通常用于解决特定问题或执行特定任务,如排序数据、搜索数据库、路由网络流量等。
算法的特征1. 有限性:算法必须由有限步骤组成,不能无限循环。
2. 确定性:算法的每一步都必须有确定性,即在给定输入下,算法的每一步执行都要产生确定的输出。
3. 输入:算法必须有一个或多个输入,以便获取问题的相关信息。
4. 输出:算法必须产生至少一个输出,表示解决问题或完成任务的结果。
5. 有效性:算法必须能够在有限的时间内解决问题或完成任务。
算法的分类1. 递归算法:递归算法是一种通过自我调用来解决问题的算法。
递归算法通常比较简洁,但有时会带来性能上的问题。
2. 贪心算法:贪心算法是一种通过每一步都选择当前最优解的算法。
贪心算法通常用于解决最优化问题。
3. 动态规划算法:动态规划算法是一种通过将问题分解成子问题并保存子问题的解来解决问题的算法。
动态规划算法通常用于解决最优化问题。
4. 分治算法:分治算法是一种通过将问题分解成多个子问题并将子问题的解合并起来解决问题的算法。
分治算法通常用于解决复杂的问题。
常见的算法问题1. 排序算法:排序算法主要用于对数据进行排序,如快速排序、归并排序、冒泡排序等。
2. 搜索算法:搜索算法主要用于在数据集中查找特定的元素,如线性搜索、二分搜索、哈希搜索等。
3. 图算法:图算法主要用于处理图结构,如最短路径算法、最小生成树算法等。
4. 动态规划算法:动态规划算法主要用于解决最优化问题,如背包问题、最长公共子序列问题等。
算法的时间复杂度与空间复杂度1. 时间复杂度:时间复杂度描述了算法的执行时间随着问题规模增长的趋势。
常见的时间复杂度有O(1)、O(logn)、O(n)、O(nlogn)、O(n²)等。
2. 空间复杂度:空间复杂度描述了算法所需的内存空间随着问题规模增长的趋势。