算法与程序框图汇总
算法与程序框图知识详解
一、算法1.算法的概念在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.注意:(1)算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.(2)通俗地讲,算法就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是实施某种算法,前者是推理实现的算法,后者是操作实现的算法.(3)描述算法可以有不同的方式.可以用自然语言和数学语言加以叙述,也可以用算法语言给出精确的说明,或用框图直观的显示等.2.算法的特点(1)确定性:算法中的每一步应该是确定的并且能有效的执行且得到确定的结果,而不应当是模棱两可或者有歧义.(2)可行性:算法对于某一类问题的解决都必须是有效的,切实可行的,并且能重复使用.(3)有效性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不是无限的.二、程序框图1.画程序框图的规则①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画;③除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一的符号;④一种判断是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;⑤在图形符号内描述的语言要非常简练、清楚.2.算法的基本逻辑结构及框图表示任何一种算法都可由顺序结构、条件结构和循环结构这三种基本逻辑结构组成.学习这部分时应注意:①循环结构中一定包含条件结构;②在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中;③根据对条件的不同处理,循环结构又分为当型(WHILE型)和直到型(UNTIL型)两种.当型循环在每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的条件进行判断,当条件不满足时执行循环体,满足则停止.3.三种基本逻辑结构的共同特点(1)只有一个入口.(2)只有一个出口,请注意一个菱形判断框有两个出口,而一个条件结构只有一个出口,不要将菱形框的出口和条件结构的出口混淆了.(3)结构内的每一部分都有机会被执行到.也就是说对每一个框来说,都应当有一条从入口到出口的路径通过它.(4)结构内不存在死循环,即无终止的循环.在程序设计中是不允许有死循环出现的.以上这些共同特点,也是检查一个程序框图或算法是否正确,合理的有效方法.。
算法与程序框图知识整理
算法与程序框图知识整理算法初步、框图第一节算法与程序框图1.算法的概念(1)算法的定义:广义的算法是指完成某项工作的方法和步骤在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
(2)算法的描述:自然语言、程序框图、程序语言。
2.程序框图(1)程序框图又称流程图,是一种用程序框,流程线,文字说明表示算法的图形;(2)构成程序框的图形符号3.几种重要的结构(1)顺序结构(2)条件结构(3)循环结构典例分析:例1.下列说法正确的是()A .算法就是某个问题的解题过程;B .算法执行后可以产生不同的结果;C .解决某一个具体问题算法不同结果不同;D .算法执行步骤的次数不可以为很大,否则无法实施。
例2.设计算法,求0=+b ax 的解,并画出流程图。
解析:对于方程0=+b ax 来讲,应该分情况讨论方程的解。
我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下:(1)当a ≠0时,方程有唯一的实数解是ab -;(2)当a=0,b=0时,全体实数都是方程的解;(3)当a=0,b ≠0时,方程无解。
第一步:判断a 是否不为零。
若成立,输出结果“解为ab -”;第二步:判断a=0,b=0是否同时成立。
若成立,输出结果“解集为R ”;第三步:判断a=0,b ≠0是否同时成立。
若成立,输出结果“方程无解”,结束。
例3.设计算法,找出输入的三个不相等实数a 、b 、c 中的最大值,并画出流程图。
第一步:输入a ,b ,c 的值;第二步:判断a >b 是否成立,若成立,则执行第三步;否则执行第四步;第三步:判断a >c 是否成立,若成立,则输出a ,并结束;否则输出c ,并结束;第四步:判断b >c 是否成立,若成立,则输出b ,并结束;否则输出c ,并结束。
例4.设计一个算法,求123..........99++++的值,并画出程序框图。
算法与程序框图(算法流程图)
程序框图的发展趋势
可视化编程
随着可视化技术的发展,程序框 图成为一种直观的编程方式。通 过图形化的方式描述程序逻辑, 降低了编程难度,提高了开发效 率。
交互式编程
交互式编程让用户在编程过程中 能够实时查看程序运行结果,及 时调整代码。这种编程方式提高 了开发效率和程序质量。
智能生成与自动优
化
基于机器学习和人工智能技术, 程序框图可以自动生成和优化程 序代码。这大大减少了编程工作 量,提高了开发效率。
算法的复杂度分析
随着计算机科学的发展,算法的复杂度分析越来越受到重 视。人们不断探索更高效的算法,以提高计算效率和准确 性。
机器学习与人工智能算法
随着人工智能的兴起,机器学习与人工智能算法成为研究 热点。这些算法能够从大量数据中自动提取有用的信息, 为决策提供支持。
并行计算与分布式算法
为了处理大规模数据和复杂问题,并行计算和分布式算法 成为研究重点。这些算法能够充分利用多核处理器和分布 式系统的优势,提高计算性能。
算法的表示方法
01
自然语言描述
用简洁明了的文字描述算法的步骤。
流程图
用图形符号表示算法的步骤和流程。
03
02
伪代码
用类似于编程语言的简化和结构化 形式描述算法。
程序代码
用编程语言实现算法的具体代码。
04
算法的复杂度分析
时间复杂度
评估算法执行时间随输入规 模增长的情况,表示为 O(f(n))。
空间复杂度
选择结构是根据条件判断选择不同的执行路径的程序框图 结构。它使用判断框来表示条件判断,根据条件的结果选 择不同的执行路径。选择结构可以有效地处理具有多个分 支的情况,提高程序的灵活性和适应性。
第12章 算法与程序框图
第一步 投票 第二步 统计票数,如果有一座城市的得票数 超过总票数的一半,那么该城市就获得举办权; 否则将得票数最少的城市淘汰,并转而执行第一步
第三步 输出举办城市
算法步骤 第一步:投票 第二步 统计票数 第三步 输出举办城市
开始 投票
有一座城市的得票数 超过总票数的一半
是
输出该城市为举办城市
P42例5
新课引入
算法是由一系列明确和有限的步骤组成,我们可以用自然语言表示一 个算法,但往往过程复杂,缺乏简洁性,因此必须引入一种使算法表达 的更直观,更准确的方法,这就是今天我们要学习的程序框图。
程序框图基本概念:
程序框图又称流程图,是一种用规定的框、带箭头的线(也称为流程 线或指向线)及文字说明来准确、直观地表示算法的图形。
(2)确切性 算法中的每一个步骤都是确切的,能有效的执行且能得到确定的结果,不能模 棱两可,不存在歧义 (3)可行性(或有效性) 算法的每一个步骤都是可执行的操作,即每一步都可以在有限的时间内完成。 (4)有0个、1个、或多个输入,用于刻画运算对象的初始情况。 (5)有1个或多个输出,用以反映对输入数据加工后的结果,没有输出的算法 是毫无意义的。
结束
将得票数最少 的城市淘汰 否
二、算法的三种基本逻辑结构:
开始 输入n
i=2
①顺序结构 求n除以i的余数r i的值增加1,仍用i表示
③循环结构
i>n-1或r=0?
否
是
是
r=0?
否否
N不是质数
N是质数
②条件结构
结束
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
i的值增加1,仍用i表示
算法与程序框图汇总
、程序框图与算法基本逻辑结构:1. 程序框图符号及作用:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形图形符号名称功能C_■)终端框(起止框) 表示一个算法的起始和结束,是任何算法程序框图不可缺少的口输入、输岀框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置处理框(执行框)赋值、计算.算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内O判断框判断某一条件是否成立,成立时岀口处标明“是”或“丫”;不成立时标明“否”或“ N”流程线连接程序框,表示算法进行的前进方向以及先后顺序O连接点如果一个流程图需要分开来画,要在断开处画上连接点,并标岀连接的号码例:解一元二次方程:ax2 bx c 0(a 0)开始2. 画程序框图的规则:为了使大家彼此之间能够读懂各自画岀的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.(1)实用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画(3)—个完整的程序框图必须有终端框,用于表示程序的开始和结束(4)除判断框外,大多数框图符号只有一个进入点和一个退岀点,判断框是具有超过一个退岀点的唯一符号, 另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果.(5)在图形符号内用于描述的语言要非常简练清楚算法与程序框图辅出£3. 算法的三种基本逻辑结构:1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法离不开的基本结构•如图,只有在执行完步骤n后,才能接着执行步骤n+1.例: .已知梯形的上底、下底和高分别为5、8、9,写岀求梯形的面积的算法,画岀流程图[开始)解: 算法如下:丄a^5S1a—5;J J jS2b—8;b—8JS3h—9; h^9S4S—( a+b)x h/2 ;JS5输出S.s J(a+b) x h/2流程图如下:J(2)条件结构一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P时,根据条件P是否成立,选择不同的执行框(步骤A,步骤B),无论条件P是否成立,只能执行步骤A或步骤B之一,不可以两者都执行或都不执行.步骤A和步骤B中可以有一个是空的.例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为S3输出行李的重量和运费c .(3)循环结构步骤n步骤n+10.53 , 50, 、c 其中(单位:50 0.53 (50) 0.85, 50,试给岀计算费用c (单位:元)的一个算法,并画岀流程图.S1输入行李的重量;S2如果50,那么c 0.53 ,否则c 50 0.53 (50) 0.85 ;kg)为行李的重量.输人r—H 釣X R u —WX竹竹十50)X0 S5例:北京成功举办了 2008年第29届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权 归属的吗对筛选出的 5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总 票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的 城市淘汰,然后重复上述过程,直到选岀一个申办城市为止 .怎样用算法结构表述上面的操作过程解:算法为:S1投票;S2统计票数,如果有一个城市得 票超过总票数的一半,那么该城 市就获得举办权,转 S3,否则淘 汰得票数最少的城市,转 S1; S3宣布主办城市.这里,“投票”就是一个循环体 循环结构有两种形式:直到型循环结构(暮4)until 型)和当型循环结构( while 型)(1) 直到型循环结构如图,直到型循环在执行一次循环体 A 之后,对控制循环的条件 P 进行判断,如果条 件P 不成立则返回继续执行循环体 A ,执行后,再判断条件P 是否成立,依次重复操作,直到某一次给定的判断条件 P 成立为止.此时,不再返回来执行循环体A ,离开循环结构,继续执行下面的结构•直到型循环,因其先 执行一次循环体,再 对控制循环的条件进行判断,然后根据判断的结果决定是否继续执行循环体 .当条件不成立.时继续执.行循环体,当条件成立时,跳岀循环结构,所以, 我们也把直到型循环称为“后测试型”循环(2) 当型循环结构如图,每次执行循环体 A 前,先对控制循环的条件 P 进行判断,当条件 P 成立时执行 循环体A ,循环体A 执行完毕后,返回来再判断条件 P 是否成立,如果条件 P 仍然成立,那么再执行循环体 A ,如此反复执行循环体 A ,直到某一次返回来判断条件 P 不成立时为止,此时不再执行循环体A ,离开循环结构,继续执行下面的结构•也正因为当型循环结构先.对条件P 进行判断,当条件P 成立时,执行循环体;当条件不成立时, 跳岀循环结构,我们常常把当型循环结构还称为“前测试型”循环区别:“当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时 终止循环的. 联系:两个循环形式不同但功能和作用相同,一般情况下可以相互转化.100例:写岀计算i 的算法及程序框图(分别用直到型循环和当i 1在一些算法中要求重复执行同一操作的结构称为循环结构 过程.重复执行的处理步骤称为循环体..即从算法某处开始,按照一定条件重复执行某一处理型循环)(全解P15)解:第一步:设i的值为1;第二步:设sum的值为0;第三步:如果i< 100执行第四步,否则转去执行第七步;第四步:计算sum + i并将结果代替sum;第五步:计算i+ 1并将结果代替i;第六步:转去执行第三步;第七步:输岀sum的值并结束算法.循环结构的应用:确定循环变量和初始条件;确定算法中反复执行的部分,即循环体;确定循环的条件;注意不要岀现“死循环”.二、基本算法语句1、输入语句2、输出语句3、赋值语句一4、条件语句IF-THEN IF-THEN-ELSE格式格式5、循环语句(1)WHILE 语句(2)UNTIL 语句三、算法案例1 •任何一种程序设计语言都包含五种基本的算法语句, 它们是输入语句,输出语句,赋值语句,条件语句,循环语句2.输入语句的一般格式是INPUT "提示内容”;变量;输出语句的一般格式是 PRINT "提示内容";表达式;输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序 框图中的条件结构和循环结构 .3•常用符号运算符号:加 _+_,减二_,乘二,除/ ,乘方aS ,整数取商求余数 MOD.逻辑符号:且 AND ,或OR ,大于 >,等于=,小于v ,大于等于 >=,小于等于 <=不等于<>. 常用函数:绝对值 ABS,平方根SQR 取整[NT.4. 算法案例(1)辗转相除法和更相减损术 辗转相除法和更相减损术都是求两个正整数的最大公约数的方法 .(1) 辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为 ____________ 0 ,则将小数和余数构成新的一对 数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数(2) 更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以 2(假设进行了 k 次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法, 反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的 2k 即为所求两数的最大公约数(2)秦九韶算法秦九韶算法是求多项式值的优秀算法 设 f (x) a n x n a n 1x n 1 L 改写为如下形式:设 V oa n , WV o x a n 1变量表达式;条件语句的一般格式是IF 条件 THEN语句体END IF或循环语句的一般格式是DO循环体LOOP UNTIL 条件和IF 条件 THEN语句体1ELSE语句体2END IFWHILE 条件循环体 -WENDf(x)(L (a n X a n 1)x a n 2)xL ai)x a o .赋值语句的一般格式是v 2 wx a n 2v 3 v 2x a n 3L V n V n i X a 。
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表示
循环结构一定包含条件结构,用以控制循环过程 避免出现 循环结构一定包含条件结构 用以控制循环过程,避免出现 用以控制循环过程 死循环” 判断框内写上条件 判断框内写上条件,两个出口分别对应终止条件成 “死循环”.判断框内写上条件 两个出口分别对应终止条件成 立与否,其中一个指向循环体 经过循环体回到判断框的入口处. 其中一个指向循环体,经过循环体回到判断框的入口处 立与否 其中一个指向循环体 经过循环体回到判断框的入口处
算法与程序框图(精品)
满足条件?
否
是
语句
基本形式1
讲授新课 一、条件结构及框图表示 基本形式2包含一个 判断框,根据给定的条件 是否成立而选择执行语 句1或语句2,无论条件是 否成立,只能执行语句1 或语句2之一,不可能执 行语句1又执行语句2,也 不可能语句1,语句2都不 执行.
满足条件?
否
是 语句1
语句2
基本形式2
i=i+1
否
i=2
n不是质数 n是质数
i≥n或r=0? 是
顺序结构
条件结构
循环结构
尽管不同的算法千差万别,但它们都是由 三种基本的逻辑结构构成的。
二、顺序结构及框图表示 1.顺序结构:按照步骤依次执行的一个算法,称 为具有“顺序结构”的算法,或者称为算法的 顺序结构. 顺序结构是最简单的算 2.顺序结构的流程图
开始
n=1
输入r
r≥6.8?
是 n=n+1
否
输出r
是
n≤9? 否
结束
例2.画出
1 2 2 2 2 1 1 1 1 1 2 2
的值的程序框图.
解法2.
开始
a4
1
1 2 a3
a1 1 2
a2 1 2 a1
1 2 a2
a5
1 2 a4
1 2 a5
a6
a3
是
i≤100?
否
输出sum
结束
例1.设计 一个计算 1+2+3+… +100的程 序框图.
开始
i=1 Sum=0
Sum=sum+i
i=i+1
是 否
i >100?
第3讲 算法与程序框图
第3讲算法与程序框图【考点解读】1. 了解算法的含义,了解算法的思想.2.理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.【知识扫描】1.算法算法是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是和的,而且能够在有限步之内完成.2.程序框图程序框图又称,是一种用、来准确、直观地表示算法的图形.3.三种基本逻辑结构【考计点拨】牛刀小试:1.(2011高考北京卷)执行如图所示的程序框图,输出的s 值为 (A )3- (B )12- (C )13(D )2答案:D 2.(2011高考山东卷)执行右图所示的程序框图,输入l=2,m=3,n=5,则输出的y 的值是 . 【答案】68【解析】由输入l=2,m=3,n=5,计算得出y=278, 第一次得新的y=173;第二次得新的y=68<105,输出y.3.阅读下面的程序框图,则输出的S =()A .14B .20C .30D .55解析:选C.∵S 1=0,i 1=1;S 2=1,i 2=2;S 3=5,i 3=3;S 4=14,i 4=4;S 5=30,i =5>4退出循环,∴输出结果为30.4. (2011高考辽宁卷)执行右面的程序框图,如果输入的n 是4,则输出的P 是(A) 8(B) 5 (C) 3 (D) 25.(2011高考陕西卷)右图中,1x ,2x ,3x 为某次考试三个评阅人对同一道题的独立评分,P 为该题的最终得分。
当1x =6,2x =9,p=8.5时,3x等于 ( )(A)11 (B)10 (C)8 (D)7答案:C典题分析:考点:1.算法的含义,程序框图(1) 了解算法的含义和算法的思想.(2) 理解程序框图的三种基本逻辑结构:顺序,条件分支,循环. 2.基本语句理解几种基本算法语句——输入语句,输出语句,赋值语句,条件语句,循环语句的含义. 题型一算法的顺序结构 考点一 算法的循环结构例1.(2011高考湖南卷) 若执行如图3所示的框图,输入1231,2,3,2x x x x ====,则输出的数等于____________.答案:23考点二:算法的条件分支结构【例2】 函数y =,写出求该函数值的算法及程序框图. 解:算法如下: 第一步:输入x .第二步:如果x >0,则y =-2;如果x =0,则y =0;如果x <0,则y =2. 第三步:输出函数值y . 相应的程序框图如右图:变式2:“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:()()()()⎩⎨⎧>⨯-+⨯≤=5085.05053.0505053.0ϖϖϖϖϖf解:算法如下:S1输入ω;S2如果ω≤50,那么f=0.53ω;否则f=50×0.53+(ω-50)×0.85;S3输出f.程序框图为:【例3】画出计算12-22+32-42+…+992-1002的值的程序框图.思维点拨:可以用循环结构来实现累加,设计一个累加变量,用S表示,设计一个计数变量,用I表示,另外还要对I进行奇偶数的判断,以决定是加还是减,因此还需要用到条件分支结构.解:程序框图如下图:变式3:画出求的值的程序框图.解:方法一:当型循环程序框图:方法二:直到型循环程序框图:规律总结:从近两年的高考试题来看,当型与直到型循环结构、条件分支结构是考查的热点,题型以选择题、填空题为主,分值5分左右,属容易题,主要考查算法基本结构以及读图、识图、利用框图解决简单算法问题的能力.预测2012年高考,循环结构与条件分支结构仍是考查的重点,但应同时注意算法的应。
原创2:13.4 算法与程序框图
解析:(1)程序反映出的算法过程为 i=11⇒S=11×1,i=10; i=10⇒S=11×10,i=9; i=9⇒S=11×10×9,i=8; i=8<9 退出循环,执行“PRINT S”. 故 S=990. (2)由程序可知,m 为 a,b 中的较大值,故最后输出的 m 值 为 3.
交汇创新——算法与不等式的交汇 (2014·高考四川卷)执行如图所示的程序框图,如果输 入的 x,y∈R,那么输出的 S 的最大值为( C ) A.0 B.1 C.2 D.3
[规律方法] 利用循环结构表示算法的步骤: 利用循环结构表示算法,第一要先确定是利用当型循环结构, 还是利用直到型循环结构;第二要选择准确的表示累计的变 量;第三要注意在哪一步开始循环,满足什么条件不再执行 循环体.
2.(1)(2015·山西省四校联考)如图所示的程序框图的 输出结果为( C )
(3)程序框图中图形符号的含义:
图形符号
名称
功能
终端框(起止框) 表示一个算法的起始和结束
_输__入__、__输__出__框__ 表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断某一条件是否成立,成立时在 ___判__断__框___ 出口处标明“是”或“Y”;不成
立时标明“否”或“N”
流程线
功能是输出使 1×2×4×…×n≥2 015 成立的最小整数 n+2.
考点三 基本算法语句
(1)(2013·高考陕西卷)根据下列算法语句,当输入 x
为 60 时,输出 y 的值为( C )
输入 x;
If x≤50 Then
y=0.5*x
Else
y=25+0.6*(x-50)
End If
输出 y.
算法及框图知识点总结
算法及框图知识点总结一、算法概述算法是一种解决问题的方法或者规则,它可以用来描述问题的解决步骤。
在计算机科学中,算法是一种在计算机程序中实现的特定过程或者方法。
对于每一个问题,都可以有多种算法来解决,而这些算法可以有不同的时间复杂度和空间复杂度。
因此,选择恰当的算法对于提高程序的执行效率和降低资源消耗至关重要。
算法的设计可以分为以下几个阶段: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.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.(2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题.2.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.3.三种基本逻辑结构(1)顺序结构定义由若干个依次执行的步骤组成程序框图(2)条件结构定义算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构程序框图(3)循环结构定义从算法某处开始,按照一定的条件反复执行某些步骤,反复执行的步骤称为循环体程序框图直到型循环结构先循环,后判断,条件满足时终止循环.当型循环结构先判断,后循环,条件满足时执行循环.三种基本逻辑结构的适用情境(1)顺序结构:要解决的问题不需要分类讨论. (2)条件结构:要解决的问题需要分类讨论.(3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一 顺序结构和条件结构[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( )A .-3B .-3或9C .3或-9D .-3或-9[解析] 当x ≤0时,y =⎝⎛⎭⎫12x-8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B.[答案] B[例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( )A .f (x )=cos x x ⎝⎛⎭⎫-π2<x <π2,且x ≠0 B .f (x )=2x -12x +1C .f (x )=|x |xD .f (x )=x 2ln(x 2+1)[解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B.[答案] B[解题技法] 顺序结构和条件结构的运算方法(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可.(2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断.(3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.[题组训练]1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( )解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D.2.运行如图所示的程序框图,可输出B=______,C=______.解析:若直线x+By+C=0与直线x+3y-2=0平行,则B=3,且C≠-2,=1,解得C=±2,若直线x+3y+C=0与圆x2+y2=1相切,则|C|12+(3)2又C≠-2,所以C=2.答案:32考点二循环结构考法(一)由程序框图求输出(输入)结果[例1](2018·天津高考)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为()A.1B.2C.3 D.4[解析] 输入N 的值为20, 第一次执行条件语句,N =20, i =2,Ni =10是整数,∴T =0+1=1,i =3<5;第二次执行条件语句,N =20,i =3,N i =203不是整数,∴i =4<5;第三次执行条件语句,N =20,i =4,Ni =5是整数,∴T =1+1=2,i =5,此时i ≥5成立,∴输出T =2. [答案] B[例2] (2019·安徽知名示范高中联考)执行如图所示的程序框图,如果输出的n =2,那么输入的 a 的值可以为( )A .4B .5C .6D .7[解析] 执行程序框图,输入a ,P =0,Q =1,n =0,此时P ≤Q 成立,P =1,Q =3,n =1,此时P ≤Q 成立,P =1+a ,Q =7,n =2.因为输出的n 的值为2,所以应该退出循环,即P >Q ,所以1+a >7,结合选项,可知a 的值可以为7,故选D.[答案] D[解题技法] 循环结构的一般思维分析过程 (1)分析进入或退出循环体的条件,确定循环次数.(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)辨析循环结构的功能. 考法(二) 完善程序框图[例1] (2018·武昌调研考试)执行如图所示的程序框图,如果输入的a 依次为2,2,5时,输出的s 为17,那么在判断框中可以填入( )A .k <n?B .k >n?C .k ≥n?D .k ≤n?[解析] 执行程序框图,输入的a =2,s =0×2+2=2,k =1;输入的a =2,s =2×2+2=6,k =2;输入的a =5,s =2×6+5=17,k =3,此时结束循环,又n =2,所以判断框中可以填“k >n ?”,故选B.[答案] B[例2] (2018·全国卷Ⅱ)为计算S =1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入( )A .i =i +1B .i =i +2C .i =i +3D .i =i +4[解析] 由题意可将S 变形为S =⎝⎛⎭⎫1+13+…+199-⎝⎛⎭⎫12+14+…+1100,则由S =N -T ,得N =1+13+…+199,T =12+14+…+1100.据此,结合N =N +1i ,T =T +1i +1易知在空白框中应填入i =i +2.故选B.[答案] B[解题技法] 程序框图完善问题的求解方法 (1)先假设参数的判断条件满足或不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止; (3)根据此时各个变量的值,补全程序框图.[题组训练]1.(2018·凉山质检)执行如图所示的程序框图,设输出的数据构成的集合为A ,从集合A 中任取一个元素a ,则函数y =x a ,x ∈[0,+∞)是增函数的概率为( )A.47B.45C.35D.34解析:选C 执行程序框图,x =-3,y =3;x =-2,y =0;x =-1,y =-1;x =0,y =0;x =1,y =3;x =2,y =8;x =3,y =15;x =4,退出循环.则集合A 中的元素有-1,0,3,8,15,共5个,若函数y =x a ,x ∈[0,+∞)为增函数,则a >0,所以所求的概率为35.2.(2019·珠海三校联考)执行如图所示的程序框图,若输出的n 的值为4,则p 的取值范围是( )A.⎝⎛⎦⎤34,78B.⎝⎛⎭⎫516,+∞C.⎣⎡⎭⎫516,78D.⎝⎛⎦⎤516,78解析:选A S =0,n =1;S =12,n =2;S =12+122=34,n =3;满足条件,所以p >34,继续执行循环体;S =34+123=78,n =4;不满足条件,所以p ≤78.输出的n 的值为4,所以34<p ≤78,故选A.3.(2019·贵阳适应性考试)某程序框图如图所示,若该程序运行后输出的值是137,则整数a 的值为( )A .6B .7C .8D .9解析:选A 先不管a 的取值,直接运行程序.首先给变量S ,k 赋值,S =1,k =1,执行S =S +1k (k +1),得S =1+11×2,k =2;执行S =1+11×2+12×3,k =3;……继续执行,得S =1+11×2+12×3+…+1k (k +1)=1+⎝⎛⎭⎫1-12+⎝⎛⎭⎫12-13+…+⎝ ⎛⎭⎪⎫1k -1k +1=2-1k +1,由2-1k +1=137得k =6,所以整数a =6,故选A.考点三 基本算法语句[典例] 执行如图程序语句,输入a =2cos 2 019π3,b =2tan 2 019π4,则输出y 的值是( )A .3B .4C .6D .-1[解析] 根据条件语句可知程序运行后是计算y =⎩⎪⎨⎪⎧a (a +b ),a <b ,a 2-b ,a ≥b ,且a =2cos 2 019π3=2cos π=-2,b =2tan 2 019π4=2tan 3π4=-2.因为a ≥b ,所以y =a 2-b =(-2)2-(-2)=6, 即输出y 的值是6. [答案] C[变透练清]1. 执行如图所示的程序,输出的结果是________.i =11S =1DOS =S*ii =i -1LOOP UNTIL i<9PRINT S END解析:程序反映出的算法过程为 i =11⇒S =11×1,i =10; i =10⇒S =11×10,i =9; i =9⇒S =11×10×9,i =8;i =8<9退出循环,执行“PRINT S ”. 故S =990. 答案:9902.阅读如图所示的程序.的值是________. 解析:由题意可得程序的功能是计算并输出a =⎩⎪⎨⎪⎧2+a ,a >2,a ×a ,a ≤2的值, 当a >2时,由2+a =9得a =7; 当a ≤2时,由a 2=9得a =-3, 综上知,a =7或a =-3. 答案:-3或7[课时跟踪检测]1.(2019·湖北八校联考)对任意非零实数a ,b ,定义a *b 的运算原理如图所示,则(log 222)*⎝⎛⎭⎫18-23=( )。
程序框图与算法.知识框架
算法 初步要求层次重难点算法及其程序框图算法的含义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、程序框图基本概念:(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、使用标准的图形符号。
2、框图一般按从上到下、从左到右的方向画。
3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
5、在图形符号内描述的语言要非常简练清楚。
(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的',它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。
如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。
2、条件结构:条件结构是指在算法中通过对条件的判断根据条件是否成立而选择不同流向的算法结构。
条件P是否成立而选择执行A框或B框。
无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。
一个判断结构可以有多个判断框。
3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。
循环结构又称重复结构,循环结构可细分为两类:(1)、一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P 不成立为止,此时不再执行A框,离开循环结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法与程序框图一、程序框图与算法基本逻辑结构: 1.程序框图符号及作用:例:解一元二次方程:20(0)ax bx c a ++=≠2.画程序框图的规则:为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.(1)实用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画.(3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束.(4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果.(5)在图形符号内用于描述的语言要非常简练清楚.3.算法的三种基本逻辑结构: (1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤n 后,才能接着执行步骤n+1.例:.已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图.解:算法如下: S1 a ←5;S2 b ←8;S3 h ←9; S4 S ←(a +b )×h /2;S5 输出S .流程图如下:(2)条件结构一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件P 是否成立,选择不同的执行框(步骤A ,步骤B ),无论条件P 是否成立,只能执行步骤A 或步骤B 之一,不可以两者都执行或都不执行.步骤A 和步骤B 中可以有一个是空的.例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为 0.53,50,500.53(50)0.85,50,c ωωωω⨯≤⎧=⎨⨯+-⨯>⎩其中ω(单位:kg )为行李的重量.试给出计算费用c (单位:元)的一个算法,并画出流程图. 1S 输入行李的重量ω;2S 如果50ω≤,那么0.53c ω=⨯,否则500.53(50)0.85c ω=⨯+-⨯;3S 输出行李的重量ω和运费c .步骤n 步骤n+1 ↓ ↓↓ 开始结束b h a 589S (+)×/2a b h 输出S满足条件?步骤A 步骤B 是否满足条件?步骤A 是否(3)循环结构在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.例:北京成功举办了2008年第29届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对筛选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.怎样用算法结构表述上面的操作过程?解:算法为: 1S 投票;2S 统计票数,如果有一个城市得票超过总票数的一半,那么该城 市就获得举办权,转3S ,否则淘 汰得票数最少的城市,转1S ; 3S 宣布主办城市.这里,“投票”就是一个循环体循环结构有两种形式:直到型循环结构(until 型)和当型循环结构(while 型)(1)直到型循环结构如图,直到型循环在执行一次循环体A 之后,对控制循环的条件P 进行判断,如果条件P 不成立则返回继续执行循环体A ,执行后,再判断条件P 是否成立,依次重复操作,直到某一次给定的判断条件P 成立为止.此时,不再返回来执行循环体A ,离开循环结构,继续执行下面的结构.直到型循环,因其先.执行一次循环体,再.对控制循环的条件进行判断,然后根据判断的结果决定是否继续执行循环体.当条件不成立...时继续执行循环体.....,当条件成立时,跳出循环结构,所以, 我们也把直到型循环称为“后测试型”循环.(2)当型循环结构如图,每次执行循环体A 前,先对控制循环的条件P 进行判断,当条件P 成立时执行循环体A ,循环体A 执行完毕后,返回来再判断条件P 是否成立,如果条件P 仍然成立,那么再执行循环体A ,如此反复执行循环体A ,直到某一次返回来判断条件P 不成立时为止,此时不再执行循环体A ,离开循环结构,继续执行下面的结构.也正因为当型循环结构先.对条件P 进行判断,当条件P 成立时...,执行..循环体...;当条件不成立时,跳出循环结构,我们常常把当型循环结构还称为“前测试型”循环.区别:“当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时终止循环的. 联系:两个循环形式不同但功能和作用相同,一般情况下可以相互转化.满足条件?是否循环体A满足条件?否是循环体A例:写出计算1001i i=∑的算法及程序框图(分别用直到型循环和当型循环)(全解P15)解:第一步:设i的值为1;第二步:设sum的值为0;第三步:如果i≤100执行第四步,否则转去执行第七步;第四步:计算sum+i并将结果代替sum;第五步:计算i+1并将结果代替i;第六步:转去执行第三步;第七步:输出sum的值并结束算法.循环结构的应用:(1)确定循环变量和初始条件;(2)确定算法中反复执行的部分,即循环体;(3)确定循环的条件;(4)注意不要出现“死循环”.二、基本算法语句1、输入语句2、输出语句3、赋值语句4、条件语句IF-THEN-ELSE格式IF-THEN格式AB5、循环语句(1)WHILE 语句 (2)UNTIL 语句三、算法案例1.任何一种程序设计语言都包含五种基本的算法语句,它们是输入语句 , 输出语句, 赋值语句,条件语句,循环语句 2.输入语句的一般格式是"";INPUT 提示内容变量; 输出语句的一般格式是"";PRINT 提示内容表达式;赋值语句的一般格式是 变量表达式;条件语句的一般格式是IF THENEND IF条件语句体 或IF THENEND IF条件语句体1ELSE语句体2;循环语句的一般格式是DOLOOP UNTIL 循环体条件和WHILEWEND条件循环体.输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序框图中的条件结构和循环结构. 3.常用符号运算符号:加_+_,减-__,乘*__,除/__,乘方a^b ,整数取商\,求余数MOD.逻辑符号:且AND ,或OR ,大于>,等于=,小于<,大于等于>=,小于等于<=,不等于<>. 常用函数:绝对值ABS ,平方根SQR ,取整INT . 4.算法案例(1)辗转相除法和更相减损术辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.(1)辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数.(2)更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假设进行了k 次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的2k 即为所求两数的最大公约数. (2)秦九韶算法秦九韶算法是求多项式值的优秀算法.设1110()n n n n f x a x a x a x a --=++++,改写为如下形式:()f x =1210(())).n n n a x a x a xa x a --++++设0101,n n v a v v x a -==+21232310n n n n v v x a v v x a v v x a ---=+=+=+这样求n 次多项式()f x 的值就转化为求n 个一次多项式的值.当多项式中有些项不存在时,可将这几项看做0nx ⨯,补齐后再利用秦九韶算法进行计算.对于一个n 次多项式,只需做n 次乘法和n 次加法运算即可.(3)进位制K 进制数的基数为k ,k 进制数是由0~1k -之间的数字构成的. 将十进制的数转化为k 进制数的方法是除k 取余法.110110(0,0,,)n n n n k a a a a a k a a a k --<<≤<把进制数化为十进制数的方法为1110()110n n n n k n n a a a a a k a k a k a ---=++++.一、典例精析例1.写出用循环语句描述求11111123499100S =-+-++-的值的算法程序.例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排出的污水量m 吨收取的污水处理费y 元,运行程序如下所示:请写出y 与m 的函数关系,并求排放污水150吨的污水处理费用.例3. 求三个数72,120,168的最大公约数.变式:试写出求正整数,()m n m n >的最小公倍数的算法程序. 解:1005015*(501315025(100)50)IF m THEN INPUT mIF m THEN y m ELSEELSEy m END IF E y ND IF EN m D<==+-<==*=+*-例4.用秦九韶算法求多项式5432()23456f x x x x x x =+++++在2x =时的值.例5.完成下列进制的转化变式训练:下面是把二进制数(2)11111化为十进制数的一个程序框图,判断框内应填入的条件是 ( ).5?.4?.4?.5?A i B i C i D i >≤>≤二、习题精练 (一)基本概念1.下列关于算法的说法正确的是( ) A.某算法可以无止境地运算下去 B.一个问题的算法步骤可以是可逆的(3)(10)(10)__________(8)(1)10202____(2)101==C.完成一件事情的算法有且只有一种D.设计算法要本着简单、方便、可操作的原则 2.任何一个算法都离不开的基本结构为( ) A.逻辑结构 B.选择结构 C.循环结构 D.顺序结构3.下列图形符号表示判断框的是( )4.能够使算法的程序和步骤表达更为直观的是( ) A.自然语言 B.流程图 C.数学语言 D.逻辑语言5.下面的四种叙述不能称为算法的是( ) A.广播的广播操图解 B.歌曲的歌谱 C.做饭用米D.做米饭需要刷锅、淘米、添水、加热这些步骤6.在流程图中,算法要处理数据或计算,可分别写在不同的( ) A.处理框内 B.判断框内 C.输入、输出框内 D.循环框内(二)顺序结构及其应用1.早上从起床到出门需要洗脸刷牙(5 min )、刷水壶(2 min )、烧水(8 min )、泡面(3 min )、吃饭(10 min )、听广播(8 min )几个步骤.从下列选项中选最好的一种算法( ) A.S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 B.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播 C. S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播 D.S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶2. 写出求方程0ax b +=,(0a ≠)的算法步骤1S ,2S ,3S .3. 将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是 ( ) A. B. C. D.4.右边流程图表示 算法,输出的s = .A .C .D . B. a=b b=a c=b b=a a=c b=a a=b a=cc=b b=a5. “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.(三)条件结构及其应用1.给出以下四个问题,①输入一个数x,输出它的相反数.②求面积为6的正方形的周长.③求三个数a,b,c中的最大数.④求函数.1.2{)(≥-<+= xx xxxf的函数值. 其中不需要用条件语句来描述其算法的有 ( )A. 1个B. 2个C. 3个D. 4个2.图中所示的算法的功能是_______________(求两个数中的最大数)3.根据题意,完成流程图填空:输入两个数,输出这两个数差的绝对值.三、课后作业1.(2009浙江卷理)某程序框图如图所示,该程序运行后输出的k 的值是 ( )A .4B .5C .6D .7(第一题) (第二题)2、(2009辽宁卷文)某店一个月的收入和支出总共记录了 N 个数据 1a ,2a ,。