算法与程序框图汇总
- 格式:docx
- 大小:357.01 KB
- 文档页数:12
算法与程序框图知识整理算法初步、框图第一节算法与程序框图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++++的值,并画出程序框图。
一、知识网络知识点一:算法与程序框图一、算法1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤。
2.算法的描述方式有:自然语言、程序框图、程序语言。
3.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题。
二、程序框图(一)程序框图基本概念程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。
输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
算法初步算法与程序框图算法语句算法案例算法概念框图的逻辑结构输入语句赋值语句循环语句条件语句输出语句顺序结构循环结构条件结构判断框判断某一条件是否成立,成立时在出口处标“是”或“Y ”;不成立时标明“”或“N ”。
画程序框图的规则如下:①、使用标准的图形符号。
②框图一般按从上到下、从左到右的方向画。
③除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
④判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
⑤在图形符号内描述的语言要非常简练清楚。
(三)、程序框图的三种基本逻辑结构是:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构在程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。
如在示意图中,A 框和B框是依次执行的,只有在执行完A 框指定的操作后,才能接着执行B 框所指定的操作。
算法及框图知识点总结一、算法概述算法是一种解决问题的方法或者规则,它可以用来描述问题的解决步骤。
在计算机科学中,算法是一种在计算机程序中实现的特定过程或者方法。
对于每一个问题,都可以有多种算法来解决,而这些算法可以有不同的时间复杂度和空间复杂度。
因此,选择恰当的算法对于提高程序的执行效率和降低资源消耗至关重要。
算法的设计可以分为以下几个阶段:1. 理解问题:对于需要解决的问题进行详细的分析和理解,明确问题的输入和输出,以及问题的约束条件。
2. 设计算法:根据理解的问题,设计一种解决问题的方法或规则。
3. 分析算法:对设计的算法进行分析,评估算法的时间复杂度、空间复杂度和正确性。
4. 实现算法:利用计算机编程语言将算法实现成一个可执行的程序。
5. 测试算法:测试实现的算法对于不同输入数据的处理能力,验证算法的正确性和性能。
算法分为以下几个常见的分类:1. 穷举法:由于问题空间很小,可穷举所有可能解决方案的一种算法。
2. 贪心法:在遇到问题时,总是做出当前看来最优的选择。
3. 分治法:将一个大的问题分成若干个小的问题,然后分别解决这些小问题。
4. 动态规划:将原问题分解为若干子问题,先求解子问题的最优解,然后逐步递推得到原问题的最优解。
5. 回溯法:也称为试探法,它是一种通过递归和剪枝的方法来解决问题的算法。
算法的时间复杂度和空间复杂度是评价算法性能的重要指标。
时间复杂度衡量了算法的执行时间,而空间复杂度则衡量了算法的内存消耗。
通常情况下,我们希望选择具有较低时间复杂度和空间复杂度的算法,以提高程序的执行效率。
二、框图概述框图是一种用来描述系统或者流程的图形化表示方法,它可以帮助人们理解复杂的系统或者流程结构。
在计算机科学中,框图通常用来描述程序的逻辑结构和流程控制。
框图通常包括以下几种类型:1. 流程图:用来表示系统或者程序的逻辑流程,通常包括开始和结束节点、流程节点和判断节点。
2. 数据流程图:用来表示系统的数据流动和处理流程,通常包括数据流、处理过程和数据存储。
、程序框图与算法基本逻辑结构: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 。
这样求n 次多项式f(x)的值就转化为求n 个一次多项式的值•当多项式中有些项不存在时,可将这几项看做° x n ,补齐后再利用秦九韶算法进行计算 •对于一个n 次多项式,只需做n 次乘法和n 次加法运算即可(3) 进位制K 进制数的基数为k , k 进制数是由0~k 1之间的数字构成的•将十进制的数转化为 k 进制数的方法是除 k 取余法.把k 进制数a “a ni L a i a °(0 a . k,0 a . i 丄a i ,a ° k)化为十进制数的方法为a na n 1L a ia°( k)a nka n ikL a ik a° •一、典例精析1 i ii i例i •写岀用循环语句描述求 s iL的值的算法程序•2 3 499 i°0例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排岀的污水量 m 吨收取的污水处理费y 元,运行程序如下所示:m 的函数关系,并求排放污水 i50吨的污水处理费用IF m 50 THEN y i3 m ELSEIF m 100 THEN y 50 15*( m 50) ELSEy 150 25 (m 100) END IF END IF例3 .求三个数72,120,168 的最大公约数变式:试写出求正整数m, n( m n) 的最小公倍数的算法程序解:例4.用秦九韶算法求多项式f (x) x5 2x4 3x3 4x2 5x 6 在x 2 时的值.(8)例5.完成下列进制的转化(1)1020為 ________ (io )(2)101(io )变式训练:下面是把二进制数11111(2)化为十进制数的一个程序框图,判断框内应填入的条件是A. i 5?B. i 4?C. i4? D. i 1 5?二、习题精练(一)基本概念1.下列关于算法的说法正确的是()A.某算法可以无止境地运算下去E. —个问题的算法步骤可以是可逆的 C. 完成一件事情的算法有且只有一种D. 设计算法要本着简单、方便、可操作的原则2 •任何一个算法都离不开的基本结构为()A.逻辑结构 E.选择结构 C.循环结构D.顺序结构3 •下列图形符号表示判断框的是(4•能够使算法的程序和步骤表达更为直观的是()A.自然语言B.流程图C.数学语言D.逻辑语言5•下面的四种叙述不能称为算法的是( )A. 广播的广播操图解B. 歌曲的歌谱C. 做饭用米D. 做米饭需要刷锅、淘米、添水、加热这些步骤A .B.C.6 •在流程图中,算法要处理数据或计算,可分别写在不同的( )A.处理框内 E.判断框内 C.输入、输岀框内D.循环框内(二)顺序结构及其应用1.早上从起床到岀门需要洗脸刷牙 (5 min )、刷水壶(2 min )、烧水(8 min )、泡面(3 min )、吃饭(10 min )、 听广播(8 min )几个步骤.从下列选项中选最好的一种算法( 洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播C. S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶2. 写岀求方程ax b 0 , ( a 0)的算法步骤 3 ________________, 5 __________ , $ __________ .5. “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法/输出上/(三)条件结构及其应用数.④求函数f(x)r x 1. x 0{ X 2. x 0的函数值.其中不需要用条件语句来描述其算法的有()A. 1个B. 2个C. 3个D. 4个1.给岀以下四个问题,①输入一个数x,输岀它的相反数.②求面积为2.图中所示的算法的功能是 ______________ (求两个数中的最大数 )3.将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是( ) D.4.右边流程图表示 ______________ 算法,输出的S6的正方形的周长.③求三个数a,b,c 中的最大结束YN①k 的S = 0尹 1(10?输出max (第一题)^7c. 6 B . 5 输岀②A . 4 D . 7输入a, b输岀a- b 输入b 亠 N "»max>b?3.根据题意,完成流程图填空:输入两个数,输岀这两个数差的绝对值C 开始:结束三、课后作业1. ( 2009浙江卷理) 某程序框图如图所示,该程序运行后输岀的 值是()2、( 2009辽宁卷文)一个月的收(第二题) 某店/_■:瓦卜丿"max=a 开始\amax=b框图计算月总收入S 和月净盈利 V ,那么在图中空白的判断框和处理框中,应分别填入( ) 下列四个选项中的> 0,V = S — T B. A v 0,V = S — TC. A > 0, V = S + Tv 0, V = S+ T4、(2009年广东卷文)某篮球队6名主力队员在最近三场比赛中投进的三分球个 数如下表所示:入和支出总共记录了N 个数据 a i , a ?, a N ,其中收入记为正数,支岀记为负数。