算法与程序框图知识讲解
算法与程序框图知识详解
一、算法1.算法的概念在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.注意:(1)算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.(2)通俗地讲,算法就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是实施某种算法,前者是推理实现的算法,后者是操作实现的算法.(3)描述算法可以有不同的方式.可以用自然语言和数学语言加以叙述,也可以用算法语言给出精确的说明,或用框图直观的显示等.2.算法的特点(1)确定性:算法中的每一步应该是确定的并且能有效的执行且得到确定的结果,而不应当是模棱两可或者有歧义.(2)可行性:算法对于某一类问题的解决都必须是有效的,切实可行的,并且能重复使用.(3)有效性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不是无限的.二、程序框图1.画程序框图的规则①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画;③除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一的符号;④一种判断是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;⑤在图形符号内描述的语言要非常简练、清楚.2.算法的基本逻辑结构及框图表示任何一种算法都可由顺序结构、条件结构和循环结构这三种基本逻辑结构组成.学习这部分时应注意:①循环结构中一定包含条件结构;②在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中;③根据对条件的不同处理,循环结构又分为当型(WHILE型)和直到型(UNTIL型)两种.当型循环在每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的条件进行判断,当条件不满足时执行循环体,满足则停止.3.三种基本逻辑结构的共同特点(1)只有一个入口.(2)只有一个出口,请注意一个菱形判断框有两个出口,而一个条件结构只有一个出口,不要将菱形框的出口和条件结构的出口混淆了.(3)结构内的每一部分都有机会被执行到.也就是说对每一个框来说,都应当有一条从入口到出口的路径通过它.(4)结构内不存在死循环,即无终止的循环.在程序设计中是不允许有死循环出现的.以上这些共同特点,也是检查一个程序框图或算法是否正确,合理的有效方法.。
人教版高二数学上册算法框图的基本结构及设计知识点算法与程序框图
人教版高二数学上册算法框图的基本结构及设计知识点算法与程序框图算法框图是一种图形化的表示方法,用于描述算法的步骤和流程。
它由特定的符号和连接线构成,可以清晰地展示算法的逻辑结构和执行流程。
在人教版高二数学上册中,学生将学习算法框图的基本结构和设计知识点。
以下是相关的基本知识点和注意事项:1.算法框图的基本结构(1) 开始(Start)和结束(End):算法的执行通常从一个开始符号开始,以一个结束符号结束。
(2)输入和输出:算法通常需要获取输入数据并输出结果,在框图中用特殊符号表示。
(3) 过程(Process):算法中的操作步骤可以通过过程符号表示,包括一系列的计算或逻辑操作。
(4) 判断(Decision):算法可能需要进行条件判断,根据不同的条件执行不同的步骤。
判断符号通常有两个或多个出口,分别表示不同的条件结果。
(5) 循环(Loop):算法可能需要进行循环操作,重复执行一些步骤。
循环符号通常有一个判断条件和两个出口。
(6)连接线:算法框图之间通过连接线连接,表示程序的执行流程。
2.算法框图的设计知识点(1)模块化:将算法分解为若干个模块,每个模块完成一个特定的功能。
通过模块化可以提高算法的可读性和可维护性。
(2)层次结构:将算法按照层次结构进行组织,从而使得算法的逻辑结构清晰可见。
(3)合并与分支:合并表示将多个路径上的运行流程合并到一起,分支表示根据不同的条件选择不同的运行路径。
(4)定义变量和赋值操作:算法框图中需要定义和使用变量,通过赋值操作可以对变量进行初始化和修改。
(5)循环操作:循环操作用于重复执行一段程序代码,框图中循环部分需要设置循环条件和循环体。
(6)逻辑判断:算法框图中经常需要进行逻辑判断,根据不同的条件执行不同的代码。
(7)输入和输出:算法框图中需要用特定符号表示输入和输出的部分,以表示算法的输入和输出过程。
3.算法与程序框图的关系算法框图是对算法的图形化描述,用于表示算法的执行流程和逻辑结构。
算法与程序框图知识整理
算法与程序框图知识整理算法初步、框图第一节算法与程序框图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++++的值,并画出程序框图。
高中数学必修三《程序框图与算法的基本逻辑结构》课件
第四步,输出S.
S
p
abc 2
p(p a)(p b)(p c)
上述算法的程序框图如何表示?
输出S 结束
教材5页练习
1、任意给定一个正实数,设计一个算法求以这个数为半
径的圆的面积.
开始
第一步: 给定一个正实数r; 第二步: 计算以r为半径的
输入r
圆的面积S=πr2;
S r2
第三步: 得到圆的面积S.
输入x0,y0,A,B,C
d | Ax0 By0 C | A2 B2
输出d
结束
算法的条件结构:
在某些问题的算法中,有些步骤只有在一定条件下才会被执 行,算法的流程因条件是否成立而变化.在算法的程序框图中,由 若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条 件结构,用程序框图可以表示为下面两种形式:
---用程序框、流程线及文 字说明来表示算法的图形.
在上述程序框图中, 有4种程序框,2种流程 线,它们分别有何特定的名 称和功能?
开始
输入n
i=2
求n除以i的余数r i的值增加1,仍用i表示
i>n-1或r=0?
是
r=0? 是
输出“n 不是质数”
否
否
输出“n 是质数”
结束
图形符号
名称
功能
终端框
表示一个算法的起始和结束
2a 2a 否则,输出“方程没有实数根”,结束算法。
第四步:判断 0是否成立。若是,则输出x1 x2 p; 否则,计算x1 p q, x2 p q,并输出x1, x2
输出p
开始
输入a,b,c
b2 4ac
0?
是 p b
2a
q 2a
算法与程序框图(算法流程图)
程序框图的发展趋势
可视化编程
随着可视化技术的发展,程序框 图成为一种直观的编程方式。通 过图形化的方式描述程序逻辑, 降低了编程难度,提高了开发效 率。
交互式编程
交互式编程让用户在编程过程中 能够实时查看程序运行结果,及 时调整代码。这种编程方式提高 了开发效率和程序质量。
智能生成与自动优
化
基于机器学习和人工智能技术, 程序框图可以自动生成和优化程 序代码。这大大减少了编程工作 量,提高了开发效率。
算法的复杂度分析
随着计算机科学的发展,算法的复杂度分析越来越受到重 视。人们不断探索更高效的算法,以提高计算效率和准确 性。
机器学习与人工智能算法
随着人工智能的兴起,机器学习与人工智能算法成为研究 热点。这些算法能够从大量数据中自动提取有用的信息, 为决策提供支持。
并行计算与分布式算法
为了处理大规模数据和复杂问题,并行计算和分布式算法 成为研究重点。这些算法能够充分利用多核处理器和分布 式系统的优势,提高计算性能。
算法的表示方法
01
自然语言描述
用简洁明了的文字描述算法的步骤。
流程图
用图形符号表示算法的步骤和流程。
03
02
伪代码
用类似于编程语言的简化和结构化 形式描述算法。
程序代码
用编程语言实现算法的具体代码。
04
算法的复杂度分析
时间复杂度
评估算法执行时间随输入规 模增长的情况,表示为 O(f(n))。
空间复杂度
选择结构是根据条件判断选择不同的执行路径的程序框图 结构。它使用判断框来表示条件判断,根据条件的结果选 择不同的执行路径。选择结构可以有效地处理具有多个分 支的情况,提高程序的灵活性和适应性。
知识讲解_高考总复习:算法与程序框图
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
高中数学必修三第一章1.1算法与程序边框图
第一章1.1算法与程序边框图1.算法的概念(1)算法概念的理解①算法是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.②算法与一般意义上具体问题的解法既有联系,又有区别,它们之间是一般和特殊的关系,也是抽象与具体的关系.算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决.③算法一方面具有具体化、程序化、机械化的特点,同时又有高度的抽象性、概括性、精确性,所以算法在解决问题中更具有条理性、逻辑性的特点.(2)算法的四个特征:概括性、逻辑性、有穷性、不唯一性①概括性:写出的算法必须能解决某一类问题,并且能够重复使用.②逻辑性:算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,而且每一步都是正确无误的,从而组成了一个有着很强逻辑性的步骤序列.③有穷性:算法有一个清晰的起始步,终止步是表示问题得到解答或指出问题没有解答,所有序列必须在有限个步骤之内完成,不能无停止地执行下去.④不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法,当然这些算法有简繁之分、优劣之别.(3)常见的算法类型①数值性计算问题.如:解方程(或方程组)、解不等式(或不等式组)、利用公式求值、累加或累乘等问题,可通过相应的数学模型借助一般的数学计算方法,分解成清晰的步骤,使之条理化.②非数值性计算问题.如:判断、排序、变量变换等需先建立过程模型,再通过模型进行算法设计与描述.注意:(ⅰ)注意算法与解法的区别:算法是解决一类问题所需要的程序或步骤的统称;而解法是解决某一个具体问题的过程或步骤,是具体的解题过程.(ⅱ)设计算法时要尽量选取简捷、快速、高效的解决问题的算法.对一个具体的问题,我们要对解决问题的途径进行透彻的研究,找出最优算法,做到“先思考后处理”.2.程序框图(1)程序框图又称为流程图,是一种用程序框、流程线及文字说明来准确、直观地表示算法的图形.(2)用程序框图表示算法,具有直观、形象的特点,能更清楚地展现算法的逻辑结构.(3)程序框图主要由程序框和流程线组成.基本的程序框有终端框、输入框、输出框、处理框、判断框,其中终端框是任何流程图不可缺少的,而输入、输出可以用在算法中任何需要输入、输出的位置.(4)画程序框图的规则①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画;③终端框(起止框)是任何程序框图必不可缺少的,表示程序的开始和结束;④除判断框外,大多数程序框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;⑤程序框图符号框内的文字要简洁精炼.注意:(ⅰ)每一种程序框图的图形符号都有特定的含义,在画程序框图时不能混用,并且所用图形符号一定要标准规范,起始框只有一条流出线(没有流入线),终止框只有一条流入线(没有流出线),输入、输出框只有一条流入线和一条流出线,判断框有一条流入线和两条流出线.(ⅱ)如果一个程序框图由于纸面等原因需要分开画,要在断开处画上连接点,并标出连接的号码.(ⅲ)判断框是“是”与“否”两分支的判断,有且仅有两个结果.(ⅳ)一般地,画程序框图时,先用自然语言编写算法,然后再画程序框图.3.算法的三种基本结构(1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的基本结构,其基本结构形式如图所示,其中A、B两框所指定的操作是依次执行的.顺序结构中所表达的逻辑关系是自然串行、上下连贯、线性排列的.(2)条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构.条件结构用于进行逻辑判断,并根据判断的结果进行不同的处理.条件结构必含判断框.条件结构的结构形式如图2所示,此结构中包含一个判断框,算法执行到此判断框给定的条件P时,根据条件P是否成立选择不同的执行框(A框或B框).注意:无论P是否成立,下一步只能执行A框或B框之一,不能A框和B框同时执行,也不能A、B两框都不执行,但A框和B框中可以有一个是空的,如图3.(3)循环结构:根据条件是否成立,以决定是否重复执行某些操作,在算法中要求重复执行同一操作的结构称为循环结构,重复执行的处理步骤称为循环体.根据执行情况及循环结束条件的不同可以分为当型循环(WHILE型)和直到型循环(UNTIL型).当型循环的特点是“先判断,后执行”,即先判断条件,当条件满足时,反复执行循环体,当条件不满足时退出循环(也就是说直到条件不满足时退出循环).如图4.直到型循环的特点是先执行一次循环体,再判断条件,当条件不满足时执行循环体,当条件满足时退出循环(即直到条件满足时退出循环),即“先执行,后判断”.如图5.当型循环可能一次也不执行循环体,而直到型循环至少要执行一次循环体.当型循环与直到型循环可以相互转化,条件互补.循环结构中常用的变量有计数变量、累加变量及累乘变量.计数变量用来记录某个事件发生的次数(即执行循环体的次数),累加变量用来计算数据之和,累乘变量用来计算数据之积.对于这些变量,开始一般要先赋初值,一般地,计数变量初值可设为0或1,累加变量初值设为0,累乘变量初值设为1.注意:(ⅰ)正确理解顺序结构的特点及适用条件是作出顺序结构图的关键.(ⅱ)画条件结构的程序框图要用到判断框,判断框有两个出口,根据不同的条件输出不同的信息,这些不同的信息必须全部写出.(ⅲ)只有有规律的,能重复进行的算法过程才能用循环结构.题型一算法设计写出能找出a 、b 、c 三个数中最小值的一个算法.解 第一步:输入a 、b 、c .并且假定min =a ;第二步:若b <min 成立,则用b 的值替换min ;否则直接执行下一步;第三步:若c <min 成立,则用c 的值替换min ,否则直接执行下一步;第四步:输出min 的值,结束.点评 本题的思路是:将min 定义为最小值,并把a 的值赋给min ,然后依次与b 、c 比较大小,遇到小的就替换min 的值,最后输出min 的值,这种方法可以推广到从多个不同的数中找出最大或最小的一个.题型二 条件结构的程序框图已知函数y =⎩⎪⎨⎪⎧ -1 (x >0),0 (x =0),1 (x <0).写出求该函数值的算法及程序框图.解 算法如下:第一步:输入x ;第二步:如果x >0,那么使y =-1,如果x =0,那么使y =0,如果x <0,那么使y =1; 第三步:输出函数值y .程序框图如图所示.点评 该函数是分段函数,当x 取不同范围内的值时,函数的表达式不同,因此当给出一个自变量x 的值时,也必须先判断x 的范围,然后确定利用哪一段的表达式求函数值,因为函数分了三段,所以判断框需要两个,即进行两次判断.求分段函数的函数值的程序框图,如果是分两段的函数只需引入一个判断框,如果是分三段的函数,至少需要引入两个判断框,分四段的函数要引入三个判断框,以此类推,至于判断框内的内容是没有顺序的,比如:本题中的两个判断框内的内容可以交换,但对应的下一图框中的内容或操作也必须相应地进行变化,比如本题的程序框图也可以画成如图1所示或如图2所示.图1图2题型三循环结构的程序框图看下面的问题:1+2+3+…+()>10 000,这个问题的答案不唯一,我们只要确定出满足条件的最小正整数n0,括号内填写的数只要大于或等于n0即可.试写出满足条件的最小正整数n0的算法并画出相应的程序框图.解算法如下:第一步:p=0;第二步:i=0;第三步:i=i+1;第四步:p=p+i;第五步:如果p>10 000,则输出i,算法结束.否则,执行第六步;第六步:回到第三步,重新执行第三步、第四步和第五步.该算法的程序框图如图所示.点评本题属于累加问题,代表了一类相邻两数的差为常数的求和问题的解法,需引入计数变量和累加变量,应用循环结构解决问题.在设计算法时前后两个加数相差1,则i=i +1,若相差2,则i=i+2,要灵活改变算法中的相应部分.另外需注意判断框内的条件的正确写出,直到型和当型循环条件不同,本题解法用的是直到型循环,用当型循环结构时判断框内条件应为p≤10 000.如图所示.题型四程序框图在生活中的应用72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来.画出程序框图.解用条件分支结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量,分别计算高于80分的成绩的总和和人数.程序框图如图所示.构和循环结构相结合的算法.【例1】如图所示是某一算法的程序框图,根据该框图指出这一算法的功能.错解 求S =12+14+16+…+110的值. 错解辨析 本题忽略了计数变量与循环次数,没有明确循环体在循环结构中的作用,以及循环终止条件决定是否继续执行循环体.正解 在该程序框图中,S 与n 为两个累加变量,k 为计数变量,所以该算法的功能是求12+14+16+…+120的值. 【例2】 试设计一个求1×2×3×4×…×n 的值的程序框图.错解 程序框图如图所示.错解辨析 本题程序框图看似当型循环结构,我们应当注意的是,当型循环结构是当条件满足时执行循环体,而本题显然是误解了当型循环结构条件.正解 程序框图如图所示.乘变量t和计数变量i,这里t与i每一次循环,它们的值都在改变.1.(海南、宁夏高考)如果执行下面的程序框图,那么输出的S为()A.2 450 B.2 500 C.2 550 D.2 652答案 C解析当k=1,S=0+2×1;当k=2,S=0+2×1+2×2;当k=3,S=0+2×1+2×2+2×3;…当k=50,S=0+2×1+2×2+2×3+…+2×50=2 550.2.(济宁模拟)在如图的程序框图中,输出结果是()A.5 B.6C.13 D.10答案 D解析a=5时,S=1+5=6;a=4时,S=6+4=10;a=3时,终止循环,输出S=10.3.(广东高考)阅读下图的程序框图.若输入m=4,n=6,则输出a=________,i=________.答案12 3解析输入m=4,n=6,则i=1时,a=m×i=4,n不能整除4;i=2时,a=m×i=8,n不能整除8;i=3时,a=m×i=12,6能整除12.∴a=12,i=3.一、选择题1.一个完整的程序框图至少包含()A.终端框和输入、输出框B.终端框和处理框C.终端框和判断框D.终端框、处理框和输入、输出框答案 A解析一个完整的程序框图至少需包括终端框和输入、输出框.2.下列关于条件结构的说法中正确的是()A.条件结构的程序框图有一个入口和两个出口B.无论条件结构中的条件是否满足,都只能执行两条路径之一C .条件结构中的两条路径可以同时执行D .对于一个算法来说,判断框中的条件是惟一的答案 B解析 由条件结构可知:根据所给条件是否成立,只能执行两条途径之一.3.下列问题的算法适宜用条件结构表示的是( )A .求点P (-1,3)到直线l :3x -2y +1=0的距离B .由直角三角形的两条直角边求斜边C .解不等式ax +b >0 (a ≠0)D .计算100个数的平均数答案 C解析 条件结构是处理逻辑判断并根据判断进行不同处理的结构.只有C 中含有判断a 的符号,其余选项都不含逻辑判断.4.下列程序框图表示的算法是( )A .输出c ,b ,aB .输出最大值C .输出最小值D .比较a ,b ,c 的大小答案 B解析 根据流程图可知,此图应表示求三个数中的最大数.5.用二分法求方程的近似根,精确度为δ,用直到型循环结构的终止条件是( )A .|x 1-x 2|>δB .|x 1-x 2|<δC .x 1<δ<x 2D .x 1=x 2=δ答案 B解析 直到型循环结构是先执行、再判断、再循环,是当条件满足时循环停止,因此用二分法求方程近似根时,用直到型循环结构的终止条件为|x 1-x 2|<δ.二、填空题6.下边的程序框图(如下图所示),能判断任意输入的整数x 是奇数或是偶数.其中判断框内的条件是________.答案 m =0?解析 根据程序框图中的处理框和输出的结果,寻找判断框内的条件.由于当判断框是正确时输出的是“x 是偶数”,而判断框前面的处理框是x 除以2的余数,因此判断框应填“m =0?”.7.下图是计算1+13+15+…+199的程序框图,判断框应填的内容是________,处理框应填的内容是________.答案 i ≤99? i =i +2解析 由题意知,该算法从i =1开始到99结束,循环变量依次加2.8.完成下面求1+2+3+…+10的值的算法:第一步,S =1.第二步,i =2.第三步,S =S +i .第四步,i =i +1.第五步,________________________________________________________________________. 第六步,输出S .答案 如果i =11,执行第六步;否则执行第三步解析 本题是用自然语言来描述的算法,实际上第五步是一个判断条件,根据题意,是循环是否终止的条件,因此应该为如果i =11,执行第六步;否则执行第三步.三、解答题9.画出求11×2+12×3+13×4+…+199×100的值的程序框图. 解 这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如下图所示:10.写出解方程ax +b =0 (a 、b 为常数)的算法,并画出程序框图.解 算法如下:第一步,判断a 是否等于零,若a ≠0,执行第二步,若a =0,执行第三步;第二步,计算-b a ,输出“方程的解为-b a”; 第三步,判断b 是否等于零,若b =0,输出“有无数个解”的信息,若b ≠0,输出“方程无解”的信息.程序框图如图所示:探 究 驿 站11.画出求12+12+…+12(共6个2)的值的程序框图. 分析 本题看上去非常烦琐,尤其是对于2的位置处理,容易让人产生错觉.本题只要把含有2的式子分离开来,用A 代替12,即令A =12,则不难分析出分母可化为12+A的形式,且此结构重复出现.解 方法一 当型循环结构程序框图如图所示.方法二 直到型循环结构程序框图如图所示.12.给出以下10个数:5,9,80,43,95,73,28,17,60,36,要求把大于40的数找出来并输出.试画出该问题的程序框图.解程序框图如下图:趣味一题13.相传,古印度的舍罕王打算重赏国际象棋的发明者——宰相西萨·班·达依尔.于是,这位宰相跪在国王面前说:“陛下,请您在这张棋盘的第一个小格内,赏给我一粒麦子;在第二个小格内给两粒,第三格内给四粒,照这样下去,每一小格都比前一小格加一倍.陛下啊,把这样摆满棋盘上所有64格的麦粒,都赏给您的仆人罢!”国王慷慨地答应了宰相的要求,他下令将一袋麦子拿到宝座前.计数麦粒的工作开始了.第一格内放一粒,第二格两粒,第三格四粒……还没到第二十格,袋子已经空了.一袋又一袋的麦子被扛到国王面前来,但是,麦粒数一格接一格地增长得那么迅速,很快就可以看出,即使拿来全印度的小麦,国王也无法兑现他对宰相许下的诺言!请你画出一个程序框图来求需要的麦粒数.分析由题意,我们可以看出第一格内放一粒,第二格两粒,第三格四粒,就是往后每一格是前一格的2倍,这样一共需要的麦粒数就是1+2+22+…+262+263.从而可以得出这是一个累加求和问题,可以利用循环结构来设计算法,计数变量i从1到64循环64次,每个求和的数可用一个累乘变量表示.解程序框图:。
高考数学一轮复习考点知识专题讲解22---算法与程序框图
高考数学一轮复习考点知识专题讲解算法与程序框图考点要求1.了解算法的含义,了解算法的思想.2.理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.知识梳理1.算法与程序框图(1)算法①定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.②应用:算法通常可以编成计算机程序,让计算机执行并解决问题.(2)程序框图定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.2.三种基本逻辑结构内容名称定义程序框图顺序结构由若干个依次执行的步骤组成,这是任何一个算法都离不开的基本结构条件结构算法的流程根据给定的条件是否成立有不同的流向,条件结构就是处理这种过程的结构循环结构从某处开始,按照一定的条件反复执行某些步骤的结构,反复执行的步骤称为循环体常用结论直到型循环是“先循环,后判断,条件满足时终止循环”;当型循环则是“先判断,后循环,条件满足时执行循环”;两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反.思考辨析判断下列结论是否正确(请在括号中打“√”或“×”)(1)算法只能解决一个问题,不能重复使用.(×)(2)程序框图中的图形符号可以由个人来确定.(×)(3)输入框只能紧接开始框,输出框只能紧接结束框.(×)(4)条件结构中判断框的出口有两个,但在执行时,每次只有一个出口是有效的.(√)教材改编题1.执行如图所示的程序框图,则输出S的值为()A.-32B.32C.-12D.12答案D解析按照程序框图依次循环运算,当k=5时,停止循环,S=sin 5π6=12.2.当n=4时,执行如图所示的程序框图,则输出的S的值为()A.9 B.15 C.31 D.63答案C解析由程序框图可知,k=1,S=1,S=1+2=3,k=2,S=3+4=7,k=3,S=7+23=15,k=4,S=15+24=31,k=5,退出循环,输出的S的值为31.3.执行如图所示的程序框图,若输入的a,b的值分别为0和9,则输出的i的值为________.答案3解析第1次循环:i=1,a=1,b=8,a<b;第2次循环:i=2,a=3,b=6,a<b;第3次循环:i=3,a=6,b=3,a>b,输出i的值为3.题型一程序框图命题点1由程序框图求输出结果项例1(1)(2022·马鞍山质检)执行如图所示的程序框图,则输出S的结果为()A.16 B.25 C.36 D.49答案B解析程序运行时变量值在循环体中变化如下:a=1,S=1,n=1,判断不满足n>4;a=3,S=4,n=2,判断不满足n>4;a=5,S=9,n=3,判断不满足n>4;a=7,S=16,n=4,判断不满足n>4;a=9,S=25,n=5,满足n>4,输出S=25.(2)执行如图所示的程序框图,若输入的k=3,则输出的S等于()A.32 B .-32 C.12D .0 答案B解析设第n 次循环后输出,k =3+4n ≥2023, 解得n ≥505,可知第505次循环后结束循环, 此时k =3+4×505=2023,S =cos2023π6=cos ⎝⎛⎭⎪⎫337π+π6=-cos π6=-32.命题点2完善程序框图例2(1)(2022·河南六市模拟)执行如图所示的程序框图,若输出i 的值为7,则框图中①处可以填入()A.S>7 B.S>21 C.S>28 D.S>36答案B解析由程序流程图,其执行逻辑及对应输出如下:i=1,S=0:输出S=1,执行循环,则i=2;i=2,S=1:输出S=3,执行循环,则i=3;i=3,S=3:输出S=6,执行循环,则i=4;i=4,S=6:输出S=10,执行循环,则i=5;i=5,S=10:输出S=15,执行循环,则i=6;i=6,S=15:输出S=21,执行循环,则i=7;i=7,S=21:输出S=28,此时根据条件跳出循环,输出i=7.∴只有当S>21时符合要求.(2)(2022·东三省四市联考)如图所示,流程图所给的程序运行结果为S=840,那么判断框中所填入的关于k的条件是()A.k<5 B.k<4 C.k<3 D.k<2 答案B解析由程序流程的输出结果,知S=1,k=7:执行循环,S=7,k=6;S=7,k=6:执行循环,S=42,k=5;S=42,k=5:执行循环,S=210,k=4;S=210,k=4:执行循环,S=840,k=3,由题设输出结果为S=840,故第5步输出结果,此时k=3<4.命题点3由程序框图逆求参数例3(1)在如图所示的程序框图中,输出值是输入值的13,则输入的x等于()A.35B.911C.2123D.4547答案C解析依题意,令x=x0,则i=1时,x=2x0-1,此时i=2<3,则x=2(2x0-1)-1=4x0-3,i=3≤3,则x=2(4x-3)-1=8x0-7,i=4>3,退出循环体,此时8x0-7=13x,解得x0=21 23,所以输入的x=21 23 .(2)执行如图所示的程序框图,若输出的S满足1<S<2,则输入的整数N的取值范围是()A .(1,100)B .[1,100]C .[9,99]D .(9,99) 答案D解析当N =9时,S =lg2+lg 32+…+lg 109=lg ⎝ ⎛⎭⎪⎫2×32×…×109=lg10=1,当N =99时,S =lg2+lg 32+…+lg10099=lg⎝ ⎛⎭⎪⎫2×32×…×10099=lg100=2, 即N ∈(9,99). 教师备选1.执行程序框图,则输出的S 的值为()A.31 B.32 C.63 D.64答案C解析模拟程序的运行,S=0,i=0,S=0+20=1,满足条件i<5,i=1,S=1+21=3,满足条件i<5,i=2,S=3+22=7,满足条件i<5,i=3,S=7+23=15,满足条件i<5,i=4,S=15+24=31,满足条件i<5,i=5,S=31+25=63,此时,不满足条件i<5,退出循环,输出S的值为63.2.执行如图所示的程序框图,若输出的b的值为63,则图中判断框内应填入的条件为() A.a≥6 B.a<5 C.a<6 D.a≤6解析第一次运算为b=3,a=2,第二次运算为b=7,a=3,第三次运算为b=15,a=4,第四次运算为b=31,a=5,第五次运算为b=63,a=6.思维升华(1)已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果.(2)完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)把参数看成常数,运算程序直到输出已知的结果,列出含有参数的等式或不等式,解出参数的值(或范围).跟踪训练1(1)(2022·资阳模拟)执行如图所示的程序框图,若输入N=6,则输出的S等于()A.56B.67C.78D.89解析初始值N =6,S =0,k =1,第一步:S =0+11×2=1-12,k <6,进入循环; 第二步:k =1+1=2,S =⎝⎛⎭⎪⎫1-12+12×3=1-12+12-13=1-13,k =2<6,进入循环; 第三步:k =2+1=3,S =⎝⎛⎭⎪⎫1-13+13×4=1-14,k =3<6,进入循环; 第四步:k =3+1=4,S =⎝⎛⎭⎪⎫1-14+14×5=1-15,k =4<6,进入循环; 第五步:k =4+1=5,S =⎝⎛⎭⎪⎫1-15+15×6=1-16,k =5<6,进入循环; 第六步:k =5+1=6,S =⎝⎛⎭⎪⎫1-16+16×7=1-17=67,k =6,结束循环,输出S =67.(2)(2022·郑州质检)运行如图所示的程序框图,若输入的a 的值为2时,输出的S 的值为12,则判断框中可以填()A.k<3 B.k<4 C.k<5 D.k<6答案B解析运行该程序:输入a=2,第一次循环:S=0+2×12=2,a=-2,k=1+1=2;第二次循环:S=2-2×22=-6,a=2,k=2+1=3;第三次循环:S=-6+2×32=12,a=-2,k=3+1=4,因为输出的S的值为12,所以判断框中可以填k<4.题型二数学文化与程序框图例4(1)(2022·上饶模拟)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为4,3,则输出v的值为()A.61 B.183 C.18 D.9答案B解析n=4,x=3,v=1,i=3,是,v=1×3+3=6,i=2,是,v=6×3+2=20,i=1,是,v=20×3+1=61,i=0,是,v=61×3+0=183,i=-1,否,终止循环,输出v=183.(2)(2022·开封模拟)下面程序框图的算法思想源于数学名著《几何原本》中“辗转相除法”,执行该程序框图(图中“m MOD n”表示m除以n的余数),若输入的m,n分别为272,153,则输出的m等于()A.15 B.17 C.27 D.34答案B解析因为输入的m,n分别为272,153,第一次循环r=119,m=153,n=119,第二次循环r=34,m=119,n=34,第三次循环r=17,m=34,n=17,第四次循环r=0,m=17.教师备选1.马林梅森(MarinMersenne,1588-1648)是17世纪法国著名的数学家和修道士.他在欧几里得、费马等人研究的基础上,对2p-1做了大量的计算、验证工作.人们为了纪念梅森在数论方面的这一贡献,把形如2p-1(其中p是素数)的素数,称为梅森素数.若执行如图所示的程序框图,则输出的所有梅森素数的和为()A.676 B.165 C.158 D.2212答案D解析由题意,模拟程序的运行,可得p=3,S=23-1=7,输出7,满足p≤9,p=3+2=5,5是素数,S=25-1=31,输出31,满足p≤9,p=5+2=7,7是素数,S=27-1=127,输出127,满足p≤9,p=7+2=9,9不是素数,p=9+2=11,11是素数,S=211-1=2047,输出2047,11不满足p≤9,结束循环,所以输出梅森素数和为7+31+127+2047=2212.2.德国数学家莱布尼兹于1674年得到了第一个关于π的级数展开式,该公式于明朝初年传入我国.我国数学家、天文学家明安图为提高我国的数学研究水平,从乾隆初年(1736年)开始,历时近30年,证明了包括这个公式在内的三个公式,同时求得了展开三角函数和反三角函数的6个新级数公式,著有《割圆密率捷法》一书,为我国用级数计算开创先河.如图所示的程序框图可以用莱布尼兹“关于π的级数展开式计算π的近似值(其中P表示π的近似值)”.若输入n=9,则输出的结果P可以表示为()A .P =4⎝⎛⎭⎪⎫1-13+15-17+…-111 B .P =4⎝⎛⎭⎪⎫1-13+15-17+…+113 C .P =4⎝⎛⎭⎪⎫1-13+15-17+…-115 D .P =4⎝⎛⎭⎪⎫1-13+15-17+…+117 答案D解析由题意,执行给定的程序框图,输入n =9,可得第1次循环:S =1,i =2;第2次循环:S =1-13,i =3; 第3次循环:S =1-13+15,i =4; ……第9次循环:S =1-13+15-17+…+117,i =10, 此时满足判定条件,输出结果P =4S =4⎝ ⎛⎭⎪⎫1-13+15-17+ (117)思维升华 中国古代数学长期领先于世界其他国家,有着丰富的数学文化,算法与中国古代数学文化的结合也是高考中的新宠儿!跟踪训练2(1)(2022·桂林模拟)元朝著名数学家朱世杰在《四元玉鉴》中有一首诗:“我有一壶酒,携着游春走,遇店添一倍,逢友饮一斗,店友经三处,没了壶中酒,借问此壶中,当原多少酒?”用程序框图表达如图所示,即最终输出的x =0,则一开始输入的x 的值为()A.34B.78C.1516D.3132答案B解析本题由于已知输出时x 的值,因此可以逆向求解:输出x =0,此时i =4;上一步:2x -1=0,x =12,此时i =3;上一步:2x-1=12,x=34,此时i=2;上一步:2x-1=34,x=78,此时i=1.(2)公元263年左右,我国数学家刘徽发现当圆内接正多边形的边数无限增加时,多边形面积可无限逼近圆的面积,并创立了“割圆术”.利用“割圆术”刘徽得到了圆周率精确到小数点后两位的近似值3.14,这就是著名的“徽率”,如图是利用刘徽的“割圆术”思想设计的一个程序框图,则输出n的值为()(参考数据:2≈1.414,3≈1.732,sin15°≈0.2588,sin7.5°≈0.1305)A.12 B.24 C.36 D.48答案B解析执行程序,n=6,S=12×6sin60°=332≈2.598<3.10,则n=12,S=12×12sin30°=3<3.10,则n=24,S=12×24sin15°≈3.1056>3.10.则输出n=24.课时精练1.(2022·池州模拟)执行如图所示的程序框图,则输出的i的值为()A.5 B.6 C.4 D.3答案A解析依次执行如下:S=12-2×1=10,i=2;S=10-2×2=6,i=3;S=6-2×3=0,i=4;S=0-2×4=-8,i=5,满足条件S<0,退出循环体,输出i=5.2.执行如图的程序框图,则输出的结果是()A.5360B.4760C.1621D.3760 答案D解析执行程序框图中的程序,如下所示: 第一次循环,S =1,n =1+1=2,不满足n >6; 第二次循环,S =1-12=12,n =2+1=3,不满足n >6;第三次循环,S =12+13=56,n =3+1=4,不满足n >6;第四次循环,S =56-14=712,n =4+1=5,不满足n >6;第五次循环,S =712+15=4760,n =5+1=6,不满足n >6; 第六次循环,S =4760-16=3760,n =6+1=7,满足n >6. 跳出循环体,输出S =3760. 3.(2022·焦作模拟)执行如图所示的程序框图,则输出的结果是()A.15 B.29 C.72 D.185答案C解析第一次执行循环,a=2×1+1=3,b=3×1-1=2,不满足i≥3,则i=0+1=1,第二次执行循环,a=2×3+1=7,b=3×2-1=5,不满足i≥3,则i=1+1=2,第三次执行循环,a=2×7+1=15,b=3×5-1=14,不满足i≥3,则i=2+1=3,第四次执行循环,a=2×15+1=31,b=3×14-1=41,满足i≥3,输出a+b=31+41=72.4.执行如图所示的程序框图,则输出的a值为()A.13B.-3 C.-12D.2答案C解析初始值a=2,i=1,第一步:a=1+21-2=-3,i=1+1=2<2022,进入循环;第二步:a=1-31+3=-12,i=2+1=3<2022,进入循环;第三步:a=1-121+12=13,i=3+1=4<2022,进入循环;第四步:a=1+131-13=2,i=4+1=5<2022,进入循环,因此a的取值情况以4为周期,又2023除以4余3,当i=2023时,结束循环,此时对应的a的值为a=-1 2,即输出a的值为-12 .5.(2022·宝鸡模拟)执行如图所示的程序框图,则输出的S等于()A.501 B.642 C.645 D.896答案B解析S=0,m=1;S=0+1×21=2,m=1+1=2,S≤500;S=2+2×22=10,m=2+1=3,S≤500;S=10+3×23=34,m=3+1=4,S≤500;S=34+4×24=98,m=4+1=5,S≤500;S=98+5×25=258,m=5+1=6,S≤500;S=258+6×26=642,m=6+1=7,S>500,结束循环,输出S=642.6.(2022·驻马店模拟)执行如图所示的程序框图,若输入的x=12,则输出y的值为()A.-98B.32C.-14D.-32答案A解析当x=12时,y=5,|5-12|=7>1,此时x=5;当x=5时,y=32,⎪⎪⎪⎪⎪⎪32-5=72>1,此时x=32;当x =32时,y =-14,⎪⎪⎪⎪⎪⎪-14-32=74>1,此时x =-14;当x =-14时,y =-98,⎪⎪⎪⎪⎪⎪-98+14=78<1,输出y =-98. 7.执行如图所示的程序框图,若输出S 的值为0.99,则判断框内可填入的条件是()A .i <100B .i >100C .i <99D .i <98 答案A解析由程序框图知,S =11×2+12×3+…+1i (i +1)=1-12+12-13+…+1i -1i +1=1-1i +1=0.99, 解得i =99,由于是计算S 后,赋值i =i +1,因此循环条件是i <100.8.(2022·长春质检)执行如图所示的程序框图,若输出的结果为126,则判断框内的条件可以为()A.n≤5 B.n≤6 C.n≤7 D.n≤8答案B解析根据框图,执行程序,S=21,n=2;S=21+22,n=3;…S=21+22+…+2i,n=i+1,令S=21+22+…+2i=126,解得i=6,即n=7时结束程序,所以n≤6.9.(2022·蓉城名校联考)执行如图所示的程序框图,则输出的结果n=________. 答案6解析n=1,S=0≥4960不成立,可得S=11×2=12,n=2,S=11×2=12≥4960不成立,可得S=11×2+12×3=23,n=3,S=23≥4960不成立,可得S=11×2+12×3+13×4=34,n=4,S=34≥4960不成立,可得S=11×2+12×3+13×4+14×5=45,n=5,S=45≥4960不成立,可得S=11×2+12×3+13×4+14×5+15×6=56,n=6,S=56≥4960成立,故输出n=6.10.执行如图所示的程序框图,则输出的S的值是________.答案4解析第一次循环,i=1<9成立,S =22-4=-1,i =1+1=2; 第二次循环,i =2<9成立,S =22+1=23,i =2+1=3; 第三次循环,i =3<9成立,S =22-23=32,i =3+1=4; 第四次循环,i =4<9成立,S =22-32=4,i =4+1=5;第五次循环,i =5<9成立,S =22-4=-1,i =5+1=6; 第六次循环,i =6<9成立, S =22+1=23,i =6+1=7; 第七次循环,i =7<9成立,S =22-23=32,i =7+1=8; 第八次循环,i =8<9成立,S =22-32=4,i =8+1=9.i =9<9不成立,跳出循环体,输出S 的值为4.11.执行如图所示的程序框图,若输出的b的值为16,则图中判断框内①处应填的最大整数为________.答案3解析第一次循环结果为b=2,a=2,第二次循环结果为b=4,a=3,第三次循环结果为b=16,a=4,不满足判断框中的条件,输出的结果是16满足已知条件,所以①处应填的数字的取值范围是[3,4),所以最大整数是3.12.中国的太极图是由黑白两个鱼形图案拼成的一个完整的圆形,喻示着阴阳相互转化又相互对立的基本道理,是反映我国传统哲学中辩证思想的一种象征性符号.若阴表示数字1,阳表示数字0,这蕴含了二进制的思想.图中的程序框图的算法思路就源于我国古代的哲学辩证思想.执行该程序框图,若输入a=10101011,k=2,n=8,则输出的b =________.答案43解析按照程序框图执行,b 依次为0,1,3,3,11,11,43,43.当b =43时,i =7+1=8,跳出循环,故输出b =43.13.在程序框图中,程序运行输出S 的值为1,那么判断框中应填入()A .k <9B .k >9C .k <10D .k >10答案C解析∵lg k +1k=lg(k +1)-lg k ,∴根据程序图的执行可得S =(lg100-lg99)+(lg99-lg98)+…+[lg(k +1)-lg k ] =2-lg k =1,解得k =10,∴判断框中应填入的关于k 的判断条件是k <10.14.我国南北朝时期的数学家张丘建是世界数学史上解决不定方程的第一人,他在《张丘建算经》中给出一个解不定方程的百鸡问题,问题如下:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一.百钱买百鸡,问鸡翁母雏各几何?用代数方法表述为:设鸡翁、鸡母、鸡雏的数量分别为x ,y ,z ,则鸡翁、鸡母、鸡雏的数量即为方程组⎩⎨⎧ 5x +3y +z 3=100,x +y +z =100的解.其解题过程可用程序框图表示,如图所示,则程序框图中正整数m 的值为________.答案4解析由⎩⎨⎧ 5x +3y +z 3=100,x +y +z =100,得y =25-74x , 故x 必为4的倍数, 当x =4t 时,y =25-7t ,由y =25-7t >0,得t 的最大值为3,故判断框应填入的是“t <4?”,即m =4.15.执行如图所示的程序框图,若输入的a ,b ,c 依次为(sin α)sin α,(sin α)cos α,(cos α)sin α,其中α∈⎝ ⎛⎭⎪⎫π4,π3,则输出的x 为()A .(cos α)cos αB .(sin α)sin αC .(sin α)cos αD .(cos α)sin α答案C解析由程序框图可确定其功能是输出a ,b ,c 中的最大者,当α∈⎝ ⎛⎭⎪⎫π4,π3时,0<cos α<sin α<32; 由指数函数y =(cos α)x 可得,(cos α)sin α<(cos α)cos α,由幂函数y =x cos α可得,(cos α)cos α<(sin α)cos α,∴(cos α)sin α<(sin α)cos α;由指数函数y =(sin α)x 可得,(sinα)sinα<(sinα)cosα,∴a,b,c中的最大者为(sinα)cosα,即输出的x为(sinα)cosα.16.如图1,“大衍数列”:0,2,4,8,12来源于《乾坤谱》中对《易传》“大衍之数五十”的推论,主要用于解释中国传统文化中的太极衍生过程中曾经经历过的两仪数量总和.如图2是求大衍数列前n项和的程序框图.执行该程序框图,输入m=8,则输出的S等于()图1图2A.44 B.68 C.100 D.140 答案C解析第1次运行,n=1,a=n2-12=0,S=0+0=0,不符合n≥m,继续运行;第2次运行,n=2,a=n22=2,S=0+2=2,不符合n≥m,继续运行;第3次运行,n=3,a=n2-12=4,S=4+2=6,不符合n≥m,继续运行;第4次运行,n=4,a=n22=8,S=8+6=14,不符合n≥m,继续运行;第5次运行,n=5,a=n2-12=12,S=14+12=26,不符合n≥m,继续运行;第6次运行,n=6,a=n22=18,S=26+18=44,不符合n≥m,继续运行;第7次运行,n=7,a=n2-12=24,S=24+44=68,不符合n≥m,继续运行;第8次运行,n=8,a=n22=32,S=68+32=100,符合n≥m,退出运行,输出S=100.。
1.1.2算法与程序框图
循环结构分为当型循环结构和 循环结构分为当型循环结构和直到型循环结构 当型循环结构
循环体 循环体 是 满足条件? 满足条件? 否 当型循环结构 满足条件? 满足条件? 是 直到型循环结构 否
差异:循环终止条件不同 检验条件是否成立的先后次序也不同 差异 循环终止条件不同,检验条件是否成立的先后次序也不同 循环终止条件不同 检验条件是否成立的先后次序也不同. 当型循环结构:先判断后执行循环体 先判断后执行循环体. 当型循环结构 先判断后执行循环体 直到型循环结构:先执行循环体后判断条件是否成立 先执行循环体后判断条件是否成立. 直到型循环结构 先执行循环体后判断条件是否成立
1.1.2 程序框图 与 算法的基本逻辑结构
程序框
名称
终端框 起止框) (起止框) 输入、 输入、输出框 处理框 执行框) (执行框)
功能
表示一个算法的起始和结束 表示一个算法输入和 输出的信息 赋值、 赋值、计算
判断框
判断某一条件是否成立, 判断某一条件是否成立,成立 时在出口处标明“ 时在出口处标明“是”或“Y”; ; 不成立时标明“ 不成立时标明“否”或“N”. . 连接程序框
结束
判断整数n(n>2)是否为质数”的算法: 判断整数n(n>2)是否为质数”的算法: n(n>2)是否为质数
开始 输入n 输入 i=2 设n是一个大 是一个大 的整数. 于2的整数 的整数
一般用i=i+1 一般用 表示. 表示
除以i的余数 求n除以 的余数 除以 的余数r
i=i+1 i的值增加 仍用 表示 的值增加1仍用 的值增加 仍用i表示
循环结构一定包含条件结构,用以控制循环过程 避免出现 循环结构一定包含条件结构 用以控制循环过程,避免出现 用以控制循环过程 死循环” 判断框内写上条件 判断框内写上条件,两个出口分别对应终止条件成 “死循环”.判断框内写上条件 两个出口分别对应终止条件成 立与否,其中一个指向循环体 经过循环体回到判断框的入口处. 其中一个指向循环体,经过循环体回到判断框的入口处 立与否 其中一个指向循环体 经过循环体回到判断框的入口处
[Word]算法框图知识点和练习
一、知识网络知识点一:算法与程序框图一、算法1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤。
2.算法的描述方式有:自然语言、程序框图、程序语言。
3.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题。
二、程序框图(一)程序框图基本概念程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。
输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
算法初步算法与程序框图算法语句算法案例算法概念框图的逻辑结构输入语句赋值语句循环语句条件语句输出语句顺序结构循环结构条件结构判断框判断某一条件是否成立,成立时在出口处标“是”或“Y ”;不成立时标明“”或“N ”。
画程序框图的规则如下:①、使用标准的图形符号。
②框图一般按从上到下、从左到右的方向画。
③除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
④判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
⑤在图形符号内描述的语言要非常简练清楚。
(三)、程序框图的三种基本逻辑结构是:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构在程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。
如在示意图中,A 框和B框是依次执行的,只有在执行完A 框指定的操作后,才能接着执行B 框所指定的操作。
高考数学专题—算法与程序框图
高考数学专题—算法与程序框图一、基础知识要求1.算法与程序框图(1)算法:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤;(2)程序框图:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.2.三种基本逻辑结构及相应语句易错点:直到型循环是“先循环,后判断,条件满足时终止循环”;当型循环则是“先判断,后循环,条件满足时执行循环”;两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反.二、算法与程序框图常见题型:(共4种题型:由程序框图求输出结果、由输出结果判断输入量的值、辨析程序框图的算法功能、完善程序框图)1、由程序框图求输出结果:已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果.例1、【2020年高考江苏】如图是一个算法流程图,若输出y 的值为2-,则输入x 的值是_____.【答案】3-【解析】由于20x >,所以12y x =+=-,解得3x =-. 故答案为:3-例2、【广西南宁市第三中学2020届高三适应性月考卷】运行如图所示的程序算法,则输出的结果为A .2B .12C .13D .132【答案】A【解析】当2a =时, 1k =;当132a =时,3k =; 当132132a ==时,5k =;…;当132a =时,99k =,当2a =时,101k =,跳出循环; 故选:A .例3、【河北省衡水中学2020届高三下学期第二次调研数学】执行如图所示的程序框图,输出的结果是A .5B .6C .7D .8【答案】B【解析】1i =,12n =, 第一次循环: 8n =,2i =, 第二次循环:31n =,3i =, 第三次循环:123n =,4i =, 第四次循环:119n =,5i =,第五次循环:475n =,6i =,停止循环, 输出6i =. 故选B .例4、【广东省深圳市2020届高三下学期第二次调研数学】执行如图的程序框图,如果输入的k =0.4,则输出的n =A .5B .4C .3D .2【答案】C【解析】模拟程序的运行,可得k =0.4,S =0,n =1, S 11133==⨯, 不满足条件S >0.4,执行循环体,n =2,S 11113352=+=⨯⨯(1111335-+-)25=,不满足条件S >0.4,执行循环体,n =3,S 11111335572=++=⨯⨯⨯(11111133557-+-+-)37=, 此时,满足条件S >0.4,退出循环,输出n 的值为3. 故选:C .例5、【甘肃省西北师大附中2020届高三5月模拟试卷】“辗转相除法”是欧几里得《原本》中记录的一个算法,是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.如图所示是一个当型循环结构的“辗转相除法”程序框图.当输入2020m =,303n =时,则输出的m 是A .2B .6C .101D .202【答案】C【解析】输入2020m =,303n =,又1r =. ①10r =>,202r =,303m =,202n =; ②2020r =>,3032021101÷=,101r =,202m =,101n ;③1010r =>,0r =,101m =,0n =; ④0r =,则0r >否,输出101m =.故选:C.例6、【重庆市第一中学2019-2020学年高三下学期期中数学】冰雹猜想也称奇偶归一猜想:对给定的正整数进行一系列变换,则正整数会被螺旋式吸入黑洞(4,2,1),最终都会归入“4-2-1”的模式.该结论至今既没被证明,也没被证伪. 下边程序框图示意了冰雹猜想的变换规则,则输出的i=A.4B.5C.6D.7【答案】B【解析】由题意,第一次循环,12S Z∉,35116S=⨯+=,011i=+=,1S≠;第二次循环,12S Z∈,11682S=⨯=,112i=+=,1S≠;第三次循环,12S Z∈,1842S=⨯=,213i=+=,1S≠;第四次循环,12S Z∈,1422S=⨯=,314i=+=,1S≠;第五次循环,12S Z∈,1212S=⨯=,415i=+=,1S=;此时输出5i=.故选:B例7、【重庆市南开中学2019-2020学年高三下学期线上期中数学】若某程序框图如图所示,则输出的S 的值是A .31B .63C .127D .255【答案】C【解析】第一次运行,1i =,0S =,8i <成立,则2011S =⨯+=,112i =+=; 第二次运行,2i =,1S =,8i <成立,则2113S =⨯+=,213i =+=; 第三次运行,3i =,3S =,8i <成立,则2317S =⨯+=,314i =+=; 第四次运行,4i =,7=S ,8i <成立,则27115S =⨯+=,415i =+=; 第五次运行,5i =,15S =,8i <成立,则215131S =⨯+=,516i =+=; 第六次运行,6i =,31S =,8i <成立,则231163S =⨯+=,617i =+=; 第七次运行,7i =,63S =,8i <成立,则2631127S =⨯+=,718i =+=; 第八次运行,8i =,127S =,8i <不成立, 所以输出S 的值为127. 故选:C .2、由输出结果判断输入量的值例8、【2020·黑龙江哈尔滨六中期中】执行如图所示的程序框图,若输出的结果是1516,则输入的a 为( )A .3B .6C .5D .4【解析】 (1)第1次循环,n =1,S =12;第2次循环,n =2,S =12+122;第3次循环,n =3,S =12+122+123;第4次循环,n =4,S =12+122+123+124=1516.因为输出的结果为1516,所以判断框的条件为n <4,所以输入的a 为4.故选D.例9、我国古代数学著作《周髀算经》有如下问题:“今有器中米,不知其数.前人取半,中人三分取一,后人四分取一,余米一斗五升.问,米几何?”如图是解决该问题的程序框图,执行该程序框图,若输出的S =1.5(单位:升),则输入k 的值为( )A .4.5B .6C .7.5D .9【解析】选B.由程序框图知S =k -k 2-k 2×3-k 3×4=1.5,解得k =6,故选B.例10、执行下面的程序框图,为使输出S 的值小于91,则输入的正整数N 的最小值为( )A.5B.4C.3D.2【答案】D【解析】程序运行过程如下表所示:此时故选D. 例11、【2020届华大新高考联盟高三4月教学质量测评数学】执行如图所示的程序框图,设输出数据构成集合A ,从集合A 中任取一个元素m ,则事件“函数()2f x x mx =+在[)0,+∞上是增函数”的概率为A .14B .12C .34D .35【答案】C【解析】当20x y =-⇒=; 当2111x y =-+=-⇒=-; 当1100x y =-+=⇒=; 当0113x y =+=⇒=; 当1128x y =+=⇒=; 当213x =+=,退出循环. 所以{}0,1,3,8A =-,又函数()2f x x mx =+在[)0,+∞上是增函数,所以002mm -≤⇒≥. 函数()2f x x mx =+在[)0,+∞上是增函数的概率为34. 故选:C .3、辨析程序框图的算法功能:对于辨析程序框图功能问题,可将程序执行几次,即可根据结果作出判断.例12、执行右面的程序框图,如果输入的x=0,y=1,n=1,则输出x,y 的值满足 ( ) A.y=2x B.y=3x C.y=4x D.y=5x【答案】C【解析】由题图可知,x=0,y=1,n=1,执行如下循环: x=0,y=1,n=2;x=12,y=2,n=3;x=12+1=32,y=6,退出循环,输出x=32,y=6,验证可知,C 正确.例13、执行如图所示的程序框图,输出的结果为 ( )A.(-2,2)B.(-4,0)C.(-4,-4)D.(0,-8)【答案】B【解析】x=1,y=1,k=0,进入循环:s=1-1=0,t=1+1=2,x=0,y=2,k=0+1=1<3;s=0-2=-2,t=0+2=2,x=-2,y=2,k=1+1=2<3;s=-2-2=-4,t=-2+2=0,x=-4,y=0,k=2+1=3≥3,跳出循环,输出(x,y),即(-4,0).例14、执行下面的程序框图,如果输入的N=4,那么输出的S=( )A.1+12+13+14B.1+12+13×2+14×3×2C.1+12+13+14+15D.1+12+13×2+14×3×2+15×4×3×2 【答案】B【解析】由程序框图依次计算可得,输入N=4, T=1,S=1,k=2; T=12,S=1+12,k=3; T=13×2,S=1+12+13×2,k=4; T=14×3×2,S=1+12+13×2+14×3×2,k=5; 此时k 满足k>N,故输出S=1+1+1+1.例15、如果执行下边的程序框图,输入正整数N(N ≥2)和实数a 1,a 2,…,a N ,输出A,B,则( )A.A+B 为a 1,a 2,…,a N 的和B. A+B2为a 1,a 2,…,a N 的算术平均数C.A 和B 分别是a 1,a 2,…,a N 中最大的数和最小的数D.A 和B 分别是a 1,a 2,…,a N 中最小的数和最大的数 【答案】C【解析】随着k 的取值不同,x 可以取遍实数a 1,a 2,…,a N ,依次与A,B 比较,A 始终取较大的那个数,B 始终取较小的那个数,直到比较完为止,故最终输出的A,B 分别是这N 个数中的最大数与最小数.例16、【2020届清华大学中学生标准学术能力诊断性测试高三5月测试数学】下列程序框图的算法思想源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入16a =,10b =,则程序中需要做减法的次数为A .6B .5C .4D .3【答案】C【解析】由16a =,10b =,满足a b ,满足a b >,则16106a =-=;满足a b ,不满足a b >,则1064b =-=; 满足a b ,满足a b >,则642a =-=; 满足a b ,不满足a b >,则422b =-=; 不满足ab ,则输出2a =;则程序中需要做减法的次数为4, 故选:C .4、完善程序框图:完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.例17、【2020届河南省商丘周口市部分学校联考高三5月质量检测数学】宋元时期数学名著《算学启蒙》中有关于“松竹并生”的问题:“松长六尺,竹长两尺,松日自半,竹日自倍,何日竹逾松长?”如图是解决此问题的一个程序框图,其中a 为松长、b 为竹长,则矩形框与菱形框处应依次填A .2a a a =+;a b <B .2aa a =+;a b < C .2a a a =+;a b ≥ D .2aa a =+;a b > 【答案】B【解析】松日自半,则表示松每日增加原来长度的一半,即矩形框应填2aa a =+;何日竹逾松长,则表示竹长超过松长,即松长小于竹长,即菱形框应填ab <. 故选:B例18、【2019·全国1·理T8文T9】下图是求12+12+12的程序框图,图中空白框中应填入( )A.A=12+A B.A=2+1A C.A=11+2AD.A=1+12A【答案】A【解析】执行第1次,A=12,k=1≤2,是,第一次应该计算A=12+12=12+A ,k=k+1=2;执行第2次,k=2≤2,是,第二次应该计算A=12+12+12=12+A,k=k+1=3;执行第3次,k=3≤2,否,输出,故循环体为A=12+A,故选A. 例19、【2018·全国2·理T7文T8】为计算S=1-12+13−14+…+199−1100,设计了右侧的程序框图,则在空白框中应填入( ) A.i=i+1 B.i=i+2 C.i=i+3 D.i=i+4【答案】B【解析】由于N=0,T=0,i=1,N=0+11=1,T=0+11+1=12,i=3,N=1+13,T=12+14,i=5…最后输出S=N-T=1-12+13−14+…+199−1100,一次处理1i 与1i+1两项,故i=i+2. 例20、下面程序框图是为了求出满足3n-2n>1 000的最小偶数n,那么在和两个空白框中,可以分别填入( ) A.A>1 000和n=n+1 B.A>1 000和n=n+2 C.A ≤1 000和n=n+1 D.A ≤1 000和n=n+2【答案】D【解析】因为要求A 大于1 000时输出,且程序框图中在“否”时输出,所以“”中不能填入A>1 000,排除A,B.又要求n 为偶数,且n 初始值为0,所以“”中n 依次加2可保证其为偶数,故选D.例21、执行下面的程序框图,当输入的x 的值为4时,输出的y 的值为2,则空白判断框中的条件可能为( ) A.x>3B.x>4C.x ≤4D.x ≤5【答案】B【解析】因为输入的x 的值为4,输出的y 的值为2,所以程序运行y=log 24=2. 故x=4不满足判断框中的条件,所以空白判断框中应填x>4.例22、【2020年高考浙江】设集合S ,T ,S ⊆N *,T ⊆N *,S ,T 中至少有2个元素,且S ,T 满足:①对于任意的x ,y ∈S ,若x ≠y ,则xy ∈T ;②对于任意的x ,y ∈T ,若x <y ,则y x∈S .下列命题正确的是A .若S 有4个元素,则S ∪T 有7个元素B .若S 有4个元素,则S ∪T 有6个元素C .若S 有3个元素,则S ∪T 有5个元素D .若S 有3个元素,则S ∪T 有4个元素 【答案】A【解析】首先利用排除法:若取{}1,2,4S =,则{}2,4,8T =,此时{}1,2,4,8ST =,包含4个元素,排除选项D ; 若取{}2,4,8S =,则{}8,16,32T =,此时{}2,4,8,16,32S T =,包含5个元素,排除选项C ;若取{}2,4,8,16S =,则{}8,16,32,64,128T =,此时{}2,4,8,16,32,64,128S T =,包含7个元素,排除选项B ;下面来说明选项A 的正确性:设集合{}1234,,,S p p p p =,且1234p p p p <<<,*1234,,,p p p p N ∈,则1224p p p p <,且1224,p p p p T ∈,则41p S p ∈, 同理42p S p ∈,43p S p ∈,32p S p ∈,31p S p ∈,21p S p ∈, 若11p =,则22p ≥,则332p p p <,故322p p p =即232p p =, 又444231p p p p p >>>,故442232p p p p p ==,所以342p p =, 故{}232221,,,S p p p =,此时522,p T p T ∈∈,故42p S ∈,矛盾,舍.若12p ≥,则32311p p p p p <<,故322111,p pp p p p ==即323121,p p p p ==, 又44441231p p p p p p p >>>>,故441331p p p p p ==,所以441p p =, 故{}2341111,,,S p p p p =,此时{}3456711111,,,,p p p p p T ⊆.若q T ∈, 则31q S p ∈,故131,1,2,3,4i q p i p ==,故31,1,2,3,4i q p i +==,即{}3456711111,,,,q p p p p p ∈,故{}3456711111,,,,p p p p p T =, 此时{}234456711111111,,,,,,,S T p p p p p p p p ⋃=即S T 中有7个元素.故A 正确.例23、【2020年高考全国II 卷理数】0-1周期序列在通信技术中有着重要应用.若序列12na a a 满足{0,1}(1,2,)i a i ∈=,且存在正整数m ,使得(1,2,)i m i a a i +==成立,则称其为0-1周期序列,并称满足(1,2,)i m i a a i +==的最小正整数m 为这个序列的周期.对于周期为m 的0-1序列12na a a ,11()(1,2,,1)m i i k i C k a a k m m +===-∑是描述其性质的重要指标,下列周期为5的0-1序列中,满足1()(1,2,3,4)5C k k ≤=的序列是A .11010B .11011C .10001D .11001【答案】C【解析】由i m i a a +=知,序列i a 的周期为m ,由已知,5m =,511(),1,2,3,45i i k i C k a a k +===∑对于选项A ,511223344556111111(1)()(10000)55555i i i C a a a a a a a a a a a a +===++++=++++=≤∑52132435465711112(2)()(01010)5555i i i C a a a a a a a a a a a a +===++++=++++=∑,不满足; 对于选项B ,51122334455611113(1)()(10011)5555i i i C a a a a a a a a a a a a +===++++=++++=∑,不满足; 对于选项D ,51122334455611112(1)()(10001)5555i i i C a a a a a a a a a a a a +===++++=++++=∑,不满足; 故选:C。
算法和程序框图
连接程序框
连接程序框 图的两部分
三、算法的三种逻辑结构
顺序结构 条件结构 循环结构
程
是
否
P
序
A
B
框
图
结 构
按语句先后、顺序 从上而下依次执行,
根据某种条件
不具备控制流程作 是否满足来选
从某处开始按 一定条件反复 执行某一处理
说 用,是任何一个算 择程序的走 步骤的情况.
法都离不开的基本 向.
明 结构.
A
P否
是
先执行 后判断
先执行循环体,然后再检查条 件是否成立,如果不成立就重复执 行循环体,直到条件成立退出循环. 也叫“后测试型”循环.
基本结构
顺序 结构
程序框图
基本算法语言 输入、输出语句、赋值语句
条件 结构
是
否
P
A
B
循环 结构
While(当型)循环 A
P是 否
Until(直到型)循环
A P否 是
§3.1 算法和程序框图
一、算法及其特征
1、 定义: 在数学中,现代意义上的“算法”
通常是指可以用计算机来解决的某一类 问题的程序或步骤,这些程序和步骤必 须是明确和有效的,而且能够在有限步 之内完成.
比如解方程的算法、函数求值的 算法、作图的算法等等.
2、归纳算法的特征
(1)概括性:算法必须能解决某一类问题 (2)逻辑性:每一步都准确,顺序执行 (3)有穷性:在有限步骤内完成 (4)不唯一性:解决某类问题的算法不唯一 (5)普遍性:很多问题,都可以设计合理的 算法加以解决。
3、算法的表示方法:
算法步骤
将解决问题的算法分步骤 写出来。
算法及框图知识点总结
算法及框图知识点总结一、算法概述算法是一种解决问题的方法或者规则,它可以用来描述问题的解决步骤。
在计算机科学中,算法是一种在计算机程序中实现的特定过程或者方法。
对于每一个问题,都可以有多种算法来解决,而这些算法可以有不同的时间复杂度和空间复杂度。
因此,选择恰当的算法对于提高程序的执行效率和降低资源消耗至关重要。
算法的设计可以分为以下几个阶段:1. 理解问题:对于需要解决的问题进行详细的分析和理解,明确问题的输入和输出,以及问题的约束条件。
2. 设计算法:根据理解的问题,设计一种解决问题的方法或规则。
3. 分析算法:对设计的算法进行分析,评估算法的时间复杂度、空间复杂度和正确性。
4. 实现算法:利用计算机编程语言将算法实现成一个可执行的程序。
5. 测试算法:测试实现的算法对于不同输入数据的处理能力,验证算法的正确性和性能。
算法分为以下几个常见的分类:1. 穷举法:由于问题空间很小,可穷举所有可能解决方案的一种算法。
2. 贪心法:在遇到问题时,总是做出当前看来最优的选择。
3. 分治法:将一个大的问题分成若干个小的问题,然后分别解决这些小问题。
4. 动态规划:将原问题分解为若干子问题,先求解子问题的最优解,然后逐步递推得到原问题的最优解。
5. 回溯法:也称为试探法,它是一种通过递归和剪枝的方法来解决问题的算法。
算法的时间复杂度和空间复杂度是评价算法性能的重要指标。
时间复杂度衡量了算法的执行时间,而空间复杂度则衡量了算法的内存消耗。
通常情况下,我们希望选择具有较低时间复杂度和空间复杂度的算法,以提高程序的执行效率。
二、框图概述框图是一种用来描述系统或者流程的图形化表示方法,它可以帮助人们理解复杂的系统或者流程结构。
在计算机科学中,框图通常用来描述程序的逻辑结构和流程控制。
框图通常包括以下几种类型:1. 流程图:用来表示系统或者程序的逻辑流程,通常包括开始和结束节点、流程节点和判断节点。
2. 数据流程图:用来表示系统的数据流动和处理流程,通常包括数据流、处理过程和数据存储。
算法与程序框图
通过逐步构建解决方案,并在构建过程中进 行验证和剪枝的算法。
算法的应用场景
数学领域:诸如求解方程、优化 问题等。如牛顿迭代法、梯度下 降法等。
工程领域:包括信号处理、控制 系统等问题。如卡尔曼滤波算法 、PID控制算法等。
计算机科学领域:包括数据排序 、图形渲染、人工智能等问题。 如快速排序算法、Dijkstra最短路 径算法等。
KMP算法
通过预处理模式串,计算出一个next数组,用于在匹配失败时快速跳过一些不可能匹配的字符,从而 提高字符串匹配的效率。程序框图中可使用两个指针、一个循环结构和一个条件判断表示KMP算法过 程,同时需要额外的计算过程来预处理模式串并生成next数组。
06
算法与程序框图的未来 发展
量子计算对算法与程序框图的影响
程序框图的基本元素
01
起止框
表示程序的开始和结束。
处理框
02
03
判断/决策框
表示程序中的一个处理步骤或操 作。
表示程序中的条件判断或决策点 。
程序框图的基本元素
01
流程线:表示程序的执行流程或 控制流。
02
连接点:用于连接跨越较大空间 的流程线。
输入/输出框:表示程序的输入和 输出。
03
这些基本元素通过各种组合和连 接,可以描述出各种复杂的程序
快速排序
采用分治思想,选取一个基准元素,将列表中小于基准的元 素放到左侧,大于基准的元素放到右侧,然后递归地对左右 两侧子序列进行快速排序。程序框图中可使用递归和条件判 断表示快速排序过程。
图论算法的程序框图表示
深度优先搜索
从某个起始节点开始,沿着一条路径尽 可能深入地搜索,直到路径无法继续为 止,然后回溯到前一个节点,继续深度 优先搜索。程序框图中可使用栈和条件 判断表示深度优先搜索过程。
算法与程序框图知识讲解
算法与程序框图【学习目标】1。
初步建立算法的概念;2。
让学生通过丰富的实例体会算法的思想;3.让学生通过对具体问题的探究,初步了解算法的含义;4.掌握程序框图的概念;5.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;6。
掌握画程序框图的基本规则,能正确画出程序框图。
【要点梳理】要点一、算法的概念1、算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。
在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
2、算法的特征:(1)确定性:算法的每一步都应当做到准确无误、“不重不漏".“不重"是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.(2)逻辑性:算法从开始的“第一步”直到“最后一步"之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。
(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行。
(4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法.3、设计算法的要求(1)写出的算法,必须能解决一类问题(如:判断一个整数35是否为质数;求任意一个方程的近似解……),并且能够重复使用.(2)要使算法尽量简单、步骤尽量少.(3)要保证算法正确.且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的.4、算法的描述:(1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等。
用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构清晰、条理分明、通俗易懂、便于检查修改及交流等特点。
《程序框图与算法的基本逻辑结构》 讲义
《程序框图与算法的基本逻辑结构》讲义一、什么是程序框图程序框图,也叫流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
它就像是一张地图,指引着计算机按照特定的步骤去解决问题。
程序框图由一些图形符号和连接这些符号的线组成。
这些图形符号都有着特定的含义,比如矩形表示处理框,用于赋值、计算;菱形表示判断框,用于判断条件是否成立;箭头线则表示流程的走向。
通过程序框图,我们可以清晰地看到算法的执行过程,发现其中可能存在的问题,并且方便与他人交流和理解算法的思路。
二、算法的基本逻辑结构算法的基本逻辑结构主要有三种:顺序结构、条件结构和循环结构。
1、顺序结构顺序结构是最简单的逻辑结构,就像我们按照先后顺序做事情一样,依次执行各个步骤。
在程序框图中,顺序结构表现为各个步骤按照从上到下的顺序依次执行,没有分支和跳转。
例如,要计算两个数的和,先输入两个数 a 和 b,然后进行相加计算 c = a + b,最后输出结果 c。
这就是一个典型的顺序结构。
2、条件结构条件结构是根据条件是否成立来选择不同的执行路径。
就好比我们在岔路口,根据不同的情况选择不同的道路。
条件结构分为两种:单分支结构和双分支结构。
单分支结构只有一个分支,如果条件成立,就执行某个操作;如果条件不成立,则直接跳过该操作,继续执行后续的步骤。
双分支结构有两个分支,如果条件成立,执行一个操作;如果条件不成立,执行另一个操作。
比如,判断一个数是否为正数,如果是正数就输出“该数为正数”,否则输出“该数不是正数”,这就是一个双分支的条件结构。
3、循环结构循环结构是指在一定条件下,反复执行某段程序。
它就像我们不断重复做一件事情,直到满足某个条件才停止。
循环结构分为两种:当型循环和直到型循环。
当型循环是当条件成立时,反复执行循环体;直到型循环是先执行一次循环体,然后判断条件是否成立,如果不成立则继续执行循环体,直到条件成立为止。
例如,计算 1 到 100 的整数和,我们可以使用循环结构,从 1 开始,每次累加一个数,直到加到 100 为止。
程序框图与算法.知识框架
算法 初步要求层次重难点算法及其程序框图算法的含义A (1)算法的含义、程序框图① 了解算法的含义,了解算法的思想.② 理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. (2)基本算法语句理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义.程序框图的三种基本逻辑结构B 基本算法语句A一、算法的概念与描述1.算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照一定规则解决某一类问题的明确的和有限的步骤,称为算法(algorithm ). 通常可以编成计算机程序,让计算机执行并解决问题.2.算法的特征:⑴有穷性:算法必须在执行有限步后结束,通常还理解为实际上能够容忍的合理限度; ⑵确定性:算法的每一个步骤必须有确定的含义;⑶可行性:组成算法的每个步骤和操作必须是相当基本的,原则上都是能精确地执行的; ⑷输入:有零个或多个输入: ⑸输出:有一个或多个输出.知识内容高考要求模块框架程序框图与算法3.算法的描述:⑴用自然语言;⑵用数学语言;⑶用算法语言(程序设计语言);⑷用程序框图(流程图).4.算法的三种基本逻辑结构:顺序结构、条件(分支)结构和循环结构.⑴顺序结构:最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.如下图,只有在执行完A框指定的操作后,才能接着执行B框指定的操作;⑵条件(分支)结构:在一个算法中,用来处理需要根据条件是否成立有不同的流向的结构.常见的条件结构的程序框图有下面两种形式:⑶循环结构:从某处开始,按照一定的条件反复执行某些步骤的情况,就是循环结构,其中反复执行的步骤称为循环体.常见的循环结构的框图对应为:<教师备案>1.在画程序框图时,从开始框沿箭头必须能到达结束框,特别是条件分支结构应沿每条支路都能到达结束框,流程线必须加箭头表示顺序.2.对于循环结构有如下需要注意的情况:⑴循环结构非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确;⑵循环结构要有中止循环体的条件,不能无休止的运算下去,循环结构中一定包含条件结构,如i n≤就是中止循环的条件;⑶循环结构的关键是,要理解“累加变量”和“用1i 代替i”,S是一个累加变量,i是计数变量,每循环一次,S和i都要发生变化,这两步要重复计算若干次;⑷一种循环结构是先判断i n≤是否成立,若是,执行循环体;若否,则中止循环,像这样,每次执行循环体前对控制循环条件进行判断,条件满足时执行循环体,不满足则停止,称为当型循环.除了当型循环外,常用的循环结构还有直到型循环.5.程序框图的概念:用一些通用的图形符号构成的一张图来表示算法,称为程序框图(简称框图).常用图形符号:<教师备案>1.画程序框图的规则:⑴ 使用标准的框图的符号;⑵ 框图一般按从上到下、从左到右的方向画;⑶ 除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号;⑷ 一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;⑸ 在图形符号内描述的语言要非常简练清楚.2.画程序框图要注意的几点:⑴起、止框是任何流程不可少的,表示程序的开始和结束; ⑵输入、输出框可以用在算法中任何需要输入、输出的位置; ⑶算法中间要处理数据或计算,可分别写在不同的处理框内;⑷当算法要求你对两个不同的结果进行判断时,要写在判断框内; ⑸一个算法步骤到另一个算法步骤用流程线连结;⑹如果一个框图需要分开来画,要在断开处画上连结点,并标出连结的号码.如:用海伦公式求任意三角形的面积的程序框图,其中断开处画上连结点,并标出连结的号码.(1)(1)二.基本算法语句Basic语言(A版)1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本的语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.一般格式:变量=表达式.其中,“=”叫做赋值号.作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.一般格式:INPUT “提示内容”;变量例:INPUT “Maths=”;a,INPUT “Chinese=”;bc=(a+b)/2END表示输入数学与语文的成绩,其中c表示它们的平均数.4.输出语句:以某种形式把求解结果输出的语句.一般格式:PRINT “提示内容”;表达式如上例中输出平均成绩可以用:PRINT “The average=”;(a+b)/25.条件语句:处理条件结构的算法语句.有以下两种基本格式:一般格式1:IF 条件THEN语句体END IF计算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.一般格式2:IF 条件THEN语句体1ELSE语句体2END IF计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.6.循环语句:处理算法中的循环结构的语句;有两种基本语句:UNTIL语句和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句.UNTIL语句:DO循环体LOOP UNTIL 条件WHILE语句的一般格式:WHILE 条件循环体WENDScilab程序语言(B版)1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.一般格式:变量名=表达式;其中“=”叫做赋值号.作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句. Scilab 中的输入语句常用的是:“input”; 一般格式:变量名=input (“提示内容”) 例:a=input (“x1”);b=input (“x2”);aver=(a+b )/2表示输入1x ,2x 的值,求它们的算术平均数, 在Scilab 界面内运行结果如下: -->a=input ("x1");b=input ("x2");aver=(a+b )/2 x1-->此时通过键盘输入x1的值,如4,再按“Enter”键,界面出现: x2-->输入x2的值,如6,再按“Enter”键,这时界面出现: aver = 5.4.输出语句:以某种形式把求解结果输出的语句.Scilab 中有:print ,write ,format ,printf ,disp 等输出语句,主要介绍print 语句: 一般格式:print (%io (2),表达式);其中参数%io (2)表示在屏幕上输出. 5.条件语句:处理条件分支结构的算法语句. Scilab 程序语言中常用的条件语句为if 语句. 一般格式:if 表达式语句序列1; else语句序列2; end最简格式:if 表达式语句序列1; end6.循环语句:处理算法中的循环结构的语句; Scilab 有两种循环语句:for 循环和while 循环. for 循环的格式:for 循环变量=初值:步长:终值循环体; endwhile 语句的一般格式:while 表达式(即条件)循环体; end<教师备案>1.计算机能够直接或间接理解的程序语言有很多种,比如C 语言,Basic 语言,以及一些应用数学软件:Matlab ,Mathsmatics ,Scilab 对应的计算机语言.这里的基本语句结构在这些语言中都是存在的,但是对应不同的程序语言,都会有自己的输入指令与方法.这里是以一种语言为例,让大家理解程序语句的含义,为以后深入学习程序设计打下基础. 2.赋值语句:⑴赋值号左边只能是变量名,而不是表达式;如3m =是错误的; ⑵赋值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变量;如x y =表示用y 的值替代变量x 原先的值,与y x =不同;⑶不能利用赋值语句进行代数式(或符号)的演算;如21(1)(1)y x x x =-=+-是不能实现的;并且在一个赋值语句中,只能给一个变量赋值;⑷赋值号与数学中的等号的意义不同,执行赋值语句后,右面表达式的值会赋给左边,如果左边变量原来有一个值,会自动被冲掉,如1N N =+表示将N 的原值加1再赋给N ,即N 的值加1.3.输入语句:在某些算法中,变量的初值要根据情况经常地改变,一般我们把程序与初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要程序运行时,输入相应的数据即可,这个过程在程序语言中,用“输入语句”来控制.输入语句中还有read输入语句等.输入语句要求输入的一般都是具体的常数,也可输入单个或多个字符,格式为:变量名=input(“提示内容”,“string”),string表示输入字符型变量.4.循环语句:for语句:先把初值赋给循环变量,记下终值和步长,循环变量增值到超过终值时,执行end后面的语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值,步长是指循环变量每次增加的值,步长为1时,可以省略;while语句:先判断条件是否成立,并在符合条件时,执行循环体;直到某次不符合时,跳到end后面的语句.对应的基本框图是:5.在程序语言中,乘、除、乘方、求平方根、绝对值,分别用下列符号表示:*、/、^、sqrt()、abs ().程序语言中,一般“=”为赋值号,“==”表示等号.≥、≤、≠分别写成:>=、<=、<>.在程序中,如果赋值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号,而是直接使用回车或空格.在Scilab语句中,变量名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变量名,但不能用sum表示变量名,但在有些程序语言中,可以用多个字母表示变量名.三.算法案例1.更相减损术——求两个整数的最大公约数的算法如何找到一种算法,对任意两个正整数都能快速地求出它们的最大公约数呢?更相减损术的步骤:以两个数中较大的数减去较小的数,以差数和较小的数构成一对新的数,对这一对数再用大数减小数,以同样的操作一直做下去,直到产生一对相等的数,此数就是这两个数的最大公约数.等值算法:用“更相减损术”设计出来的算法求最大公约数的算法称为“等值算法”,用等值算法可以求任意两个正整数的最大公约数.<教师备案>《九章算法》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数.以具体的例子来说明更相减损术求最大公约数的原理:以求117和182的最大公约数为例:,,,,,,,,(117182)(11765)(6552)(5213)(1339)(1326)(1313)→→→→→→每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数,即为所求的最大公约数.2.辗转相除法又称欧几里得算法,是由欧几里得在公元前300年左右首先提出来的求两个数的最大公约数的算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法与程序框图【学习目标】1.初步建立算法的概念;2.让学生通过丰富的实例体会算法的思想;3.让学生通过对具体问题的探究,初步了解算法的含义;4.掌握程序框图的概念;5.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;6.掌握画程序框图的基本规则,能正确画出程序框图.【要点梳理】要点一、算法的概念1、算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2、算法的特征:(1)确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.(2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.(4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法.3、设计算法的要求(1)写出的算法,必须能解决一类问题(如:判断一个整数35是否为质数;求任意一个方程的近似解……),并且能够重复使用.(2)要使算法尽量简单、步骤尽量少.(3)要保证算法正确.且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的.4、算法的描述:(1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构清晰、条理分明、通俗易懂、便于检查修改及交流等特点.(3)程序语言:算法最终可以通过程序的形式编写出来,并在计算机上执行.要点诠释:算法的特点:思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成,而这些恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作,正因为这些,现代算法的作用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一.事实上,算法中出现的程序只是用基本的语句把程序的主要结构描述出来,与真正的程序还有差距,所以算法描述的许多程序并不能直接运行,要运行程序,还要把程序按照某种语言的严格要求重新改写才行.要点二、程序框图1、程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形. 2程序框名称功能起止框表示一个算法的起始和结束,是任何算法程序框图不可缺少的.输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置.处理框赋值、计算.算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内.判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时在出口处则标明“否”或“N”.流程线算法进行的前进方向以及先后顺序连结点连接另一页或另一部分的框图3一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字.4、算法的三种基本逻辑结构(1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构.见示意图和实例:顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作.(2)条件结构如下面图示中虚线框内是一个条件结构,此结构中含有一个判断框,算法执行到此判断给定的条件P 是否成立,选择不同的执行框(A框、B框).无论P条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框、B框都不执行.A框或B框中可以有一个是空的,即不执行任何操作.见示意图要点诠释:条件结构中的条件要准确,不能含混不清,要清楚在什么情况下需要作怎样的判断,用什么条件来区分.(3)循环结构在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.循环结构有两种形式:当型循环结构和直到型循环结构.①当型循环结构,如左下图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,返回来再判断条件P是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构,继续执行下面的框图.②直到型循环结构,如右下图所示,它的功能是先执行重复执行的A框,然后判断给定的条件P是否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P是否成立,依次重复操作,直到某一次给定的判断条件P成立为止,此时不再返回来执行A框,离开循环结构,继续执行下面的框图.见示意图要点诠释:循环结构中使用什么样的条件控制循环的开始和结束,要清楚满足某个条件的变量的次数与循环次数的联系与区别.误区提醒1、框图中的流程线不能出现交叉的现象.若有交叉,则程序语句无法写出;2、各种框图有其固定的格式和作用,不要乱用.如条件结构中不要忘了“是”与“否”,流程线不要忘记画箭头;3、条件分支结构的方向要准确;4、循环结构中,计数变量要赋初值,计数变量的自加不要忘记,自加多少不能弄错.另外计数变量一般只负责计数任务;5、循环结构中循环的次数要严格把握,区分“<”与“≤”等.循环变量的取值与循环结构(当型与直到型)有关,需区分清楚.另外,同一问题用两种不同的结构解决时,其判断条件恰是相反的;6、程序框图不要出现死循环(无限步的循环). 【典型例题】类型一:算法的概念例1.下列对算法的理解不正确的是( )A .算法有一个共同特点就是对一类问题都有效(而不是个别问题)B .算法要求一步步执行,且每一步都能得到唯一的结果C .算法一般是机械的,有时要进行大量重复的计算,它的优点是一种通法D .任何问题都可以用算法来解决 【答案】 D【解析】 算法是解决问题的精确的描述,但是并不是所有问题都有算法.【总结升华】 算法一般是机械的,有时需要进行大量的重复计算,只要按部就班去做,总能算出结果.通常把算法过程称为“数学机械化”,数学机械化的最大优点是它可以借助计算机来完成.实际上处理任何问题都需要算法,如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续…….举一反三:【变式1】我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组的解,二分法求出函数的零点等,对算法的描述有:①对一类问题都有效;②算法可执行的步骤必须是有限的;③算法可以一步一步地进行,每一步都有确切的含义;④是一种通法,只要按部就班地做,总能得到结果.以上算法的描述正确的有( ).A .1个B .2个C .3个D .4个 【答案】D【变式2】下列哪个不是算法的特征( )A.抽象性B.精确性C.有穷性D.唯一性 【答案】D.类型二:算法的描述例2.写出求解二元一次方程组111222a xb yc a x b y c +=⎧⎨+=⎩的一个算法.【解析】 111222 a x b y c a x b y c +=⎧⎨+=⎩①②因为是二元一次方程组,所以a 1、a 2不能同时为0.第一步,假设a 1≠0(若a 1=0,可将第一个方程与第二个方程互换),21a a ⎛⎫⨯-+ ⎪⎝⎭①②,得到21211211a b a c b y c a a ⎛⎫-=- ⎪⎝⎭.即方程组化为11112211221() a x b y c a b a b y a c a c +=⎧⎨-=-⎩③ 第二步,若a 1b 2-a 2b 1≠0,解③得12211221a c a c y ab a b -=- ④第三步,将④代入①,整理得21121221b c b c x a b a b -=-.第四步,输出结果x 、y .如果a 1b 2-a 2b 1=0,从③可以看出,方程组无解或有无穷多组解.【总结升华】一般化,得到求二元一次方程组1112121222(1)(2)a x a yb a x a y b +=⎧⎨+=⎩的高斯消去算法步骤:第一步:计算11222112D a a a a =-;第二步:若0D =,则原方程组无解或有无穷多组解,否则(0D ≠)122212211121b a b a x Db a b a y D-⎧=⎪⎪⎨-⎪=⎪⎩.第三步:输出计算的结果x 、y 或者无法求解的信息.举一反三:【变式1】试描述求解三元一次方程组12 3316 2 x y z x y z x y z ++=⎧⎪--=⎨⎪--=-⎩①②③的算法步骤.【解析】算法1:第一步,①+③,得x=5. ④第二步,将④分别代入①式和②式可得7 3 1 y z y z +=⎧⎨+=-⎩⑤⑥.第三步,⑥-⑤,得y=-4. ⑦第四步,将⑦代入⑤可得 z=11.第五步,得到方程组的解为5411x y z =⎧⎪=-⎨⎪=⎩.算法2:第一步,①+②,得2x -y=14. ④ 第二步,②-③,得x -y=9. ⑤ 第三步,④-⑤,得x=5. ⑥第四步,将⑥代入⑤式,得y=-4. ⑦第五步,将⑥和⑦代入①式,得z=11.第六步,得到方程组的解为5411x y z =⎧⎪=-⎨⎪=⎩.【变式2】 鸡兔同笼问题:一群小兔一群鸡,两群合到一群里,要数腿48,要数脑袋17,多少小兔多少鸡?【解析】算术算法:小兔的只数:4817272-⨯=;小鸡的只数:17-7=10. 应用解二元一次方程组的方法来求解鸡兔同笼问题的步骤.第一步:设有小鸡x 只,小兔y 只,则有⎩⎨⎧=+=+)2(4842)1(17y x y x第二步:将方程组中的第一个方程两边乘-2加到第二个方程中去,得到⎩⎨⎧⨯-=-=+21748)24(17y y x ,得到y=7; 第三步:将y=7代入(1)得x=10.类型三:算法的设计例3、给出求1+2+3+4+5的一个算法.【解析】本题可以按照逐一相加的程序进行,也可以运用公式123n ++++=L 2)1(+n n 直接计算,还可以用循环方法求和.算法1第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第四步:将第三步中的运算结果10与5相加,得到15. 算法2第一步:取n =5;第二步:计算2)1(+n n ; 第三步:输出运算结果. 算法3第一步:使1S =; 第二步:使2i =; 第三步:使S S i =+; 第四步:使1i i =+;第五步:如果5i ≤,则返回第三步,否则输出S . 【总结升华】①一个问题的算法可能不唯一;②若将本例改为“给出求123100++++L 的一个算法”,则上述算法2和算法3表达较为方便. 举一反三:【变式1】写出求111123100++++L 的一个算法. 【答案】第一步:使1S =,; 第二步:使2i =;第三步:使1n i=;第四步:使S S n =+; 第五步:使1i i =+;第六步:如果100i ≤,则返回第三步,否则输出S .【变式2】求1×3×5×7×9×11的值,写出其算法. 【答案】 算法1:第一步,先求1×3,得到结果3;第二步,将第一步所得结果3再乘以5,得到结果15; 第三步,再将15乘以7,得到结果105; 第四步,再将105乘以9,得到945;第五步,再将945乘以11,得到10395,即是最后结果. 算法2:用P 表示被乘数,i 表示乘数. 第一步,使P=1; 第二步,使i=3; 第三步,使P=P ×i ; 第四步,使i=i+2;第五步,若i ≤11,则返回到第三步继续执行;否则算法结束. 类型四:顺序结构的应用例4.设计算法,求两底半径分别为1和4,且高为4的圆台的表面积及体积,并画出程序框图. 【解析】 先求出斜高,再分别求出两个底面面积和侧面面积,则表面积与体积可得. 【答案】 算法如下:第一步,令r 1=1,r 2=4,h=4; 第二步,计算斜高2221()l r r h =-+;第三步,令211S r π=,222S r π=,312()S r r l π=+;第四步,计算圆台的表面积S=S 1+S 2+S 3,圆台的体积11221()3V S S S S h =++; 第五步,输出S ,V .该算法的程序框图如图所示. 举一反三: 【变式1】半径为r 的圆,面积公式为S=πr 2,当r=10时,写出计算圆面积的算法,画出程序框图.【解析】 算法如下:第一步:输入r=10. 第二步:计算S=πr 2. 第三步:输出S .程序框图如图所示.【总结升华】本题主要考查算法结构中的顺序结构.对套用公式型的问题,关键是明确所给公式中变量的个数及数值,以及输入、输出部分的设计.类型五:条件结构的应用例5.已知函数232 1 (0)1 (01)2 (1)x x y x x x x x -<⎧⎪=+≤<⎨⎪+≥⎩,写出求该函数的函数值的算法,并画出程序框图.【解析】 该函数是分段函数,因此当给出一个自变量x 的值时,需先判断x 的范围,然后确定利用哪一段的解析式求函数值.画程序框图时,必须采用条件分支结构,因为函数解析式分了三段,所以需要两个判断框,即进行两次判断.算法如下:第一步,输入x .第二步,如果x <0,那么使y=2x -1,输出y ;否则,执行第三步. 第三步,如果0≤x <1,那么使y=x 2+1,输出y ;否则,执行第四步.第四步,y=x 2+2x 第五步,输出y .程序框图如下图所示.【总结升华】 凡是必须先根据条件作出判断,然后再决定进行哪一个步骤的问题,在画程序框图时,必须引入判断框,采用条件结构.而像本题求分段函数的函数值的程序框图的画法,如果是分两段的函数,只需引入一个判断框;如果是分三段的函数,需引入两个判断框;分四段的函数需引入三个判断框,依此类推.判断框内的内容是没有固定顺序的. 举一反三:【变式1】已知函数 1 (0)()0 (0)1 (0)x f x x x ->⎧⎪==⎨⎪<⎩, 写出求函数()f x 的任一函数值的一个算法并画出程序框图.【解析】记y=f (x). 算法:第一步:输入x .第二步:如果x >0,那么使y=-1;如果x=0,那么使y=0;如果x <0,那么使y=1. 第三步:输出函数值y . 程序框图如下图所示.【变式2】设计算法判断一元二次方程02=++c bx ax 是否有实数根,并画出相应程序框图.【解析】算法步骤如下:第一步:输入一元二次方程的系数:a ,b ,c ; 第二步:计算Δac b 42-=的值;第三步:判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”.结束算法.相应的程序框图如图.类型六:循环结构的应用例6.设计算法输出1000以内能被3和5整除的所有正整数,画出程序框图.【解析】本题是计数型循环结构,凡被3和5整除的正整数都是15的倍数,而1000=15×66+10,因此1000以内一共有66个这样的正整数,引入变量a 表示输出的数,引入计数变量n ,n 可以从1~66,反复输出a ,就能输出1000以内的所有能被3和5整除的正整数.YN结 束开始输入△≥0输出无实根输出有实根△=b 2-4ac算法如下:S1:n=1;S2:若n≤66,则执行S3,否则执行S6;S3:a=15n;S4:输出a:S5:n=n+1,返回S2;S6:结束.程序框图如下图所示:【总结升华】(1)本题中描述算法的结构中反复执行的第③部分称为循环体.(2)变量n控制循环的开始和结束,称为循环变量.(3)第①部分是赋予循环变量的初始值,预示循环开始.(4)第②部分判断是否继续执行循环体,称为循环终止条件.举一反三:【变式1】画出计算111135999++++L的值的一个程序框图.【解析】所求程序框图如下图所示类型七:三种结构的综合应用例7.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来并画出程序框图.【解析】用条件分支结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量,分别计算高于80分的成绩的总和和人数.程序框图如图所示.【总结升华】 对于此类要求把所给的多个数据逐一检验是否满足条件的问题,可采用条件结构和循环结构相结合的算法.举一反三:【变式1】已知函数2log ,2,2, 2.x x y x x ≥⎧=⎨-<⎩下图表示的是给定x 的值,求其对应的函数值y 的程序框图,①处应填写__________;②处应填写__________.【答案】2x <;2log y x =【解析】分段函数2log ,2,2,2x x y x x ≥⎧=⎨-<⎩中x 的范围对应程序框图中的判断条件,填2x <;解析式对应赋值框的内容,填2log y x =.【变式2】先看一个小材料:1+2+3+…+( )>10000,这个问题的答案不唯一,只要确定出满足条件的最小正整数n0,括号内填写的数字只要大于或等于n0即可.写出寻找满足条件的最小正整数n0的算法,并画出相应的程序框图.【解析】算法:第一步:取n的值等于1.第二步:计算(1)2n nS+ =.第三步:如果S的值大于10000,那么n即为所求;否则,让n的值增加1,然后转到第二步重复操作.根据以上的操作步骤,画出程序框图如下图所示.类型八:利用算法和程序框图解决实际问题例8.北京获得了2008年第29届奥运会主办权.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得主办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.试画出该过程的程序框图.【解析】本题为算法中与现实生活相联系的题目,从选举的方法看,应选择循环结构来描述算法.如图所示:【总结升华】解决与现实相关的问题时首先要理清题意,此循环结构中对用哪一个步骤控制循环,哪一个步骤作为循环体,要有清晰的思路.举一反三:【变式1】儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m,但不超过1.4 m,可买半票;若超过1.4 m,应买全票,请设计一个算法,并画出程序框图.【解析】根据题意,该题的算法中应用条件结构,首先以身高为标准,分成买和免票,在买票中再分出半票和全票.买票的算法步骤如下:第一步:测量儿童身高h.第二步:如果h≤1.1 m,那么免费乘车,否则若h≤1.4 m,则买半票,否则买全票.程序框图如下图所示.【总结升华】本题的程序框图中有两个判断点,一个是以1.1 m为判断点,1.1 m把身高分为两段,在大于1.1 m的一段中,1.4 m又将其分两段,因此1.4 m这个判断是套在1.1 m的判断里的.所以我们用到两个条件结构.。