知识讲解-高考总复习:算法及程序框图_第1页
知识讲解-高考总复习:算法及程序框图_第2页
知识讲解-高考总复习:算法及程序框图_第3页
知识讲解-高考总复习:算法及程序框图_第4页
知识讲解-高考总复习:算法及程序框图_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-PAGE . z高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图1了解算法的含义,了解算法的思想;2理解程序框图的三种根本逻辑构造:顺序、条件、循环。2.根本算法语句理解几种根本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句的含义。【知识网络】【考点梳理】考点一、算法1算法的概念1古代定义:指的是用阿拉伯数字进展算术运算的过程。2现代定义:算法通常是指按照一定规则解决*一类问题的明确和有限的步骤。3应用:算法通常可以编成计算机程序,让计算机执行并解决问题。2算法的特征:指向性:能解决*一个或*一类问题;准确性:每一步操作的容和顺序必须是明确的;算法的每一步都应当做到准

2、确无误,从开场的第一步直到最后一步之间做到环环相扣,分工明确.前一步是后一步的前提,后一步是前一步的继续.有限性:必须在有限步完毕并返回一个结果;算法要有明确的开场和完毕,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步完成任务,不能无限制的持续进展.构造性:一个问题可以构造多个算法,算法有优劣之分。3算法的表示方法:1) 用自然语言表示算法:优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。考点二:程序框图1. 程序框图的概念:

3、程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。2.程序框图常用符号:图形符号名称含义开场/完毕框用于表示算法的开场与完毕输入/输出框用于表示数据的输入或结果的输出处理框描述根本的操作功能,如赋值操作、数学运算等判断框判断*一条件是否成立,成立时在出口处标明是或Y;不成立时标明否或N流程线表示流程的路径和方向连接点用于连接另一页或另一局部的框图注释框框中容是对*局部流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一

4、个进入点和一个退出点。判断框是具有超过一个退出点的唯一符号;(4)一种判断框是是与不是两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;(5)在图形符号描述的语言要非常简练清楚。4.算法的三种根本逻辑构造:1)顺序构造:由假设干个按从上到下的顺序依次进展的处理步骤语句或框组成。这是任何一个算法都离不开的根本构造。2)条件构造:算法流程过对一些条件的判断,根据条件是否成立而取不同的分支流向的构造。它是依据指定条件选择执行不同指令的控制构造。3)循环构造:根据指定条件,决定是否重复执行一条或多条指令的控制构造称为循环构造。考点三:根本算法语句程序设计语言由一些有特定含义的程

5、序语句构成,与算法程序框图的三种根本构造相对应,任何程序设计语言都包含输入输出语句 、赋值语句、条件语句和循环语句。以下均为BASIC语言。1.输入语句这个语句的一般格式是:INPUT 提示容;变量其中,提示容一般是提示用户输入什么样的信息。每次运行程序时,计算机每次都把新输入的值赋给变量*,并按*新获得的值执行下面的语句。INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT 提示容1,提示容2,提示容3,;变量1,变量2,变量3,要点诠释:提示容与变量之间必须用分号;隔开。各提示容之间以及各变量之间必须用逗号,隔开,但最后的变量的后面不需要。2.输出语句 它的一般

6、格式是:PRINT 提示容;表达式同输入语句一样,表达式前也可以有提示容。输出语句的用途:1输出常量,变量的值和系统信息;2输出数值计算的结果。3.赋值语句 用来说明赋给*一个变量一个具体确实定值的语句。它的一般格式是:变量=表达式赋值语句中的=叫做赋值号。赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值。要点诠释:赋值号左边只能是变量名字,而不能是表达式。如:2=*是错误的。赋值号左右不能对换。如A=B与B=A的含义运行结果是不同的。不能利用赋值语句进展代数式的演算。如化简、因式分解、解方程等。赋值号=与数学中的等号意义不同。4.条件

7、语句 算法中的条件构造是由条件语句来表达的,是处理条件分支逻辑构造的算法语句。它的一般格式是:IF-THEN-ELSE格式IF 条件 THEN语句1ELSE语句2END IF当计算机执行上述语句时,首先对IF后的条件进展判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。在*些情况下,也可以只使用IF-THEN语句:即IF-THEN格式IF 条件 THEN语句END IF计算机执行这种形式的条件语句时,也是首先对IF后的条件进展判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接完毕该条件语句,转而执行其他语句。要点诠释:条件语句的作用:在程序执行过程中,根

8、据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进展分析、比拟、判断,并按判断后的不同情况进展不同的处理。5.循环语句算法中的循环构造是由循环语句来实现的。对应于程序框图中的两种循环构造,一般程序设计语言中也有当型WHILE型和直到型UNTIL型两种语句构造,即WHILE语句和UNTIL语句。1WHILE语句的一般格式是:WHILE 条件循环体WEND其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的条件是用于控制计算机执行循环体或跳出循环体的。当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条

9、件,如果条件仍符合,再次执行循环体,这个过程反复进展,直到*一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为前测试型循环。2UNTIL语句的一般格式是:DO循环体LOOP UNTIL 条件要点诠释:当型循环在进展循环前对控制条件进展判断,当条件满足时就反复循环,不满足就停顿;直到型循环在进展一次循环后,对控制条件进展判断,当条件不满足时就反复循环,满足就停顿。1算法与框图是新课标教材中新增的容,但也曾与其它板块知识结合出现在前几年的各类考试中,其思想方法渗透在高中数学课程的其他相关容中。考题应考察算法的思想,根本构造为

10、主,多以选择题、填空题的形式呈现。2根据本章知识的特点,复习中应加强对算法思想的理解,了解算法的根本逻辑构造,掌握算法根本语句的使用。3仔细审题在画流程图时首先要进展构造的选择,套用公式假设求只含有一个关系的解析式的函数的函数值时,只用顺序构造就能够解决;假设是分段函数或执行时需要先判断后才能执行后继步骤的,就必须引入选择构造;如果问题里涉及了许多重复的步骤,且数之间有一样的规律,就可引入变量,应用循环构造当然应用循环构造里边一定要用到顺序构造与选择构造循环构造有两种:直到型和当型,两种都能解决问题【典型例题】类型一:算法的含义【例1】球的外表积是16,要求球的体积,写出解决该问题的一个算法.

11、【思路点拨】先根据外表积算出球的半径,再根据球的体积公式求出球的体积,将上面步骤分解并分别写出即可得到算法。【解析】算法如下:第一步,s16.第二步,计算第三步,计算第四步,输出V.【总结升华】给出一个问题,设计算法应该注意:(1)认真分析问题,联系解决此问题的一般数学方法,此问题涉及到的各种情况;(2)将此问题分成假设干个步骤;(3)用简练的语句将各步表述出来.举一反三:S1I3While ISSIII2End WhilePrint SEnd【变式1】设计一个计算135791113的算法.图中给出程序的一局部,则在横线上不能填入的数是()A.13C.14【解析】当I13成立时,只能运算135

12、7911.应选A.【变式2】写出找出1至1 0007的倍数的一个算法.解答:算法1:S1 令A=0;S2 将A不断增加1,每加一次,就将A除以7,假设余数为0,则找 到了一个7的倍数,将其输出;S3 反复执行第二步,直到A=1 000完毕.算法2:S1 令k=1;S2 输出k7的值;S3 将k的值增加1,假设k7的值小于1 000,则返回S2,否则完毕.算法3:S1 令*=7;S2 输出*的值;S3 将*的值增加7,假设没有超过1 000,则返回S2,否则完毕.类型二:程序框图【例2】写出解方程的相应程序及程序框图。【思路点拨】因为,解方程时需要先对最高次项的系数是否为0进展判断。假设,则方程

13、的解为;假设,则需要再次判断是否为0,假设,则方程的解为全体实数,假设,则方程无实数解。据此可以用条件语句来实现。【解析】程序:INPUTa,b=;a,bIF a=0 THENPRINT原方程的根为;ELSEIF b=0 THENPRINT方程无实数根ELSEPRINT方程的根为全体实数END IFEND IFEND程序框图:【总结升华】在写出算法时,应当对所要解决的问题有深入、全面的了解;条件分支构造的运用与分类讨论的数学思想密切相连;设计算法时,什么地方要进展分类讨论,什么地方就要用条件分支构造。举一反三:【变式1】写出用二分法求函数在区间的零点准确到0.01的程序框图及相应程序。【解析】

14、程序: a=1b=2DOIF THEN E*ITELSE IF THENELSE 输出END IFLOOP UNTIL PRINT 程序框图:开场完毕 【例3】执行如下图的框图,输入N5,则输出的数等于()【思路点拨】根据程序框图(算法流程图)分析出该程序框图的功能进展求解【总结升华】识别运行算法框图和完善算法框图是高考的热点 解答这一类问题, 第一,要明确算法框图的顺序构造、选择构造和循环构造; 第二,要识别运行算法框图,理解框图所解决的实际问题; 第三,按照题目的要求完成解答对算法框图的考察常与数列和函数等知识相结合,进一步强化框图问题的实际背景 类型三:条件构造【例3】函数,写出求该函数

15、的函数值的算法并画出程序框图。【思路解析】分析算法写出算法选择适宜的逻辑构造画出程序框图。【解析】算法如下:第一步:输入;第二步:如果,则使, 否则;第三步:输出。程序框图如下:【总结升华】求分段函数值的算法应用到条件构造,因此在程序框图的画法中需要引入判断框,要根据题目的要求引入判断框的个数,而判断框的条件不同,对应的框图中的容或操作就相应地进展变化.举一反三:【变式1】阅读如图的程序框图,假设输出s的值为7,则判断框可填写()A.i3?B.i4?C.i5?D.i6?【解析】i1,s211;i3,s132;i5,s257.所以选D.【变式2】写出解方程的一个算法,并画出程序框图。【解析】算法

16、步骤:第一步:判断是否等于0如果,则解得;如果,则执行第二步;第二步:计算;第三步:假设,则原方程无实数根;否则,有,;第四步:输出方程无实数根的信息或、。程序框图:开场完毕 是否是否类型四:循环构造【例4】设计算法求的值,并画出程序框图。【思路点拨】1这是一个累加求和问题,共99项相加;2设计一个计数变量,一个累加变量,用循环构造实现这一算法。【解析】算法如下:第一步:令S=0,第二步:假设成立,则执行第三步; 否则,输出S,完毕算法;第三步:第四步:,返回第二步。程序框图:方法一:当型循环程序框图:方法二:直到型循环程序框图:【总结升华】利用循环构造表示算法,一定要先确定是利用当型循环构造

17、,还是直到型循环构造;第二要选择准确的表示累计的变量;第三要注意在哪一步开场循环。举一反三:【变式】设计一个计算10个数的平均数的算法,并画出程序框图.【解析】算法步骤如下:第一步,令S0.第二步,令I1.第三步,输入一个数G.第四步,令SSG.第五步,令II1.第六步,假设I10,转到第七步,假设I10,转到第三步.第七步,令AS/10.第八步,输出A. 据上述算法步骤,程序框图如图.类型五:输入、输出、赋值语句的应用【例5】阅读程序框图(如以下图),假设输入m4,n6,则输出a,i.【解析】a12,i3.【点拨】赋值语句是一种重要的根本语句,也是程序必不可少的重要组成局部,使用赋值语句,要

18、注意其格式要求.【例6】阅读以下程序,并答复以下问题1程序 2程序INPUT A,B,CA=A+BB=BAC=CA*BPRINT C=;CENDINPUT a,bc=abb=a+cbPRINT a,b,cEND1中假设输入1,2,则输出的结果为_;2中假设输入3,2,5,则输出的结果为_【答案】11,2,12C=3【解析】 分别将输入的值代入程序中逐步计算即可,要注意赋值前后变量值的变化1阅读程序,由a=1,b=2,c=ab可得c=1;又根据语句b=a+cb,可得b=2;所以程序运行后的结果为:1,2,12阅读程序,由A=3,B=2,C=5,A=A+B,可得A=5,又根据语句B=BA,可得B=

19、3,又C=CA*B,所以输出结果为C=3 【点评】赋值语句在给变量赋值时,先计算赋值号右边的式子然后赋值给赋值号左边的变量;另外可以给一个变量先后屡次赋不同的值,但变量的取值只与最后一次赋值有关解决此类问题时要时刻把握*个变量在该程序中充当的角色,时刻关注其值的改变情况举一反三:【变式】写出以下语句描述的算法的输出结果a=5b=3c=(a+b)/2d=c*cPRINT d=;dEND 1a=1b=2c=a+bb=a+cbPRINT a=,b=,c=;a,b,cEND 2a=10b=20c=30a=bb=cc=aPRINT a=,b=,c=;a,b,cEND 3【答案】116 2a=1 b=2

20、c=33a=20 b=30 c=20【解析】 1a=5,b=3,d=c2=162a=1,b=2,c=a+b,c=3又将a+cb赋值给b,b=1+32=23由b=20及a=b知a=20,由c=30及b=c知b=30,由a=30及c=a知c=20类型五:循环语句的应用【例6】设计算法求的值.要求画出程序框图,写出用根本语句编写的程序.【解析】这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环构造实现这一算法.程序框图如以下图所示: 程序如下:s0k1DO ss1/(k* (k1) kk1LOOP UNTIL k99PRINT sEND【点拨】(1)在用WHILE语句和UN

21、TIL语句编写程序解决问题时,一定要注意格式和条件的表述方法,WHILE语句是当条件满足时执行循环体,UNTIL语句是当条件不满足时执行循环体.(2)在解决一些需要反复执行的运算任务,如累加求和、累乘求积等问题中应注意考虑利用循环语句来实现.(3)在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套的这些语句,保证语句的完整性,否则就会造成程序无法执行.举一反三:【变式】以下图是输出*个有限数列各项的程序框图,则该框图所输出的最后一个数据是.【解析】由程序框图可知,当N1时,A1;N2时,A;N3时,A,即输出各个A值的分母是以1为首项以2为公差的等差数列,故当N50时,A,即为

22、框图最后输出的一个数据.故填.类型五:求最大公约数【例7】(1)用辗转相除法求840与1 764的最大公约数;(2)用更相减损术求440与556的最大公约数.【解析】(1)用辗转相除法求840与1 764的最大公约数:1 764840284,84084100.所以840与1 764的最大公约数是84.(2)用更相减损术求440与556的最大公约数:556440116,440116324,324116208,20811692, 1169224,922468,682444,442420,24204,20416,16412,1248,844.所以440与556的最大公约数是4.【总结升华】(1)辗转

23、相除法与更相减损术是求两个正整数的最大公约数的方法,辗转相除法用较大的数除以较小的数,直到大数被小数除尽完毕运算,较小的数就是最大公约数;更相减损术是用两数中较大的数减去较小的数,直到所得的差和较小数相等为止,这个较小数就是这两个数的最大公约数.一般情况下,辗转相除法步骤较少,而更相减损术步骤较多,但运算简易,解题时要灵活运用.(2)两个以上的数求最大公约数,先求其中两个数的最大公约数,再用所得的公约数与其他各数求最大公约数即可.举一反三:【变1】求147,343,133的最大公约数.【解析】先求147与343的最大公约数.343147196,19614749, 1474998,984949,

24、所以147与343的最大公约数为49.再求49与133的最大公约数.1334984, 844935, 493514, 351421, 21147,1477. 所以147,343,133的最大公约数为7.类型六:九韶算法【例8】用九韶算法写出求多项式f(*)1*0.5*20.016 67*30.041 67*40.008 33*5在*0.2时的值的过程.【思路点拨】九韶算法是我国南宋的数学家九韶首先提出来的1特点:它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n次多项式的求值问题,归结为重复计算n个一次式即2具体方法如下:一个一元n次多项式0当*=*0,我们可按顺序一项一项地计算,然后相加,求得【解析】先把函数整理成f(*)(0.008 33*0.041 67)*0.166 67)*0.5)*1)*1,按照从向外的顺序依次进展.*0.2,a50.008 33, v0a50.008 33; a40.041 67, v1v0*a40.04;a30.016 67, v2v1*a30.008 67;a20.5, v3v2*a20.498 27;a11, v4v3*a10.900

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论