算法与程序框图知识讲解

合集下载

算法与程序框图知识详解

算法与程序框图知识详解

一、算法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算法与程序边框图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---算法与程序框图

高考数学一轮复习考点知识专题讲解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. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ++++=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++++的一个算法”,则上述算法2和算法3表达较为方便. 举一反三:【变式1】写出求111123100++++的一个算法. 【答案】第一步:使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++++的值的一个程序框图.【解析】所求程序框图如下图所示类型七:三种结构的综合应用例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的判断里的.所以我们用到两个条件结构.。

相关文档
最新文档