算法与程序框图_第1页
算法与程序框图_第2页
算法与程序框图_第3页
算法与程序框图_第4页
算法与程序框图_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、算法与程序框图【学习目标】1. 初步建立算法的概念;2. 让学生通过丰富的实例体会算法的思想;3. 让学生通过对具体问题的探究,初步了解算法的含义;4. 掌握程序框图的概念;5. 会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;6. 掌握画程序框图的基本规则,能正确画出程序框图.【要点梳理】【高清课堂:算法与程序框图397425 知识讲解1】要点一、算法的概念1 、算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和

2、有效的,而且能够在有限步之内完成.2、算法的特征:( 1 )确定性:算法的每一步都应当做到准确无误、 “不重不漏”. “不重”是指不是可有可无的、甚至无用的步骤, “不漏”是指缺少哪一步都无法完成任务 .( 2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确, “前一步”是“后一步”的前提, “后一步”是“前一步”的继续 .( 3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.( 4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法3、设计算法的要求(

3、1 )写出的算法,必须能解决一类问题(如:判断一个整数35 是否为质数;求任意一个方程的近似解),并且能够重复使用.( 2)要使算法尽量简单、步骤尽量少(3)要保证算法正确.且计算机能够执行,如:让计算机计算1X2X3X4X5是可以做到的.4、算法的描述:( 1 )自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等. 用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解. 缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.( 2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构清晰、条理分明

4、、通俗易懂、便于检查修改及交流等特点.( 3)程序语言:算法最终可以通过程序的形式编写出来,并在计算机上执行.要点诠释:算法的特点: 思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成,而这些恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作,正因为这些,现代算法的作用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一.事实上,算法中出现的程序只是用基本的语句把程序的主要结构描述出来,与真正的程序还有差距,所以算法描述的许多程序并不能直接运行,要运行程序,还要把程序按照某种语言的严格要求重新改写才行.【高清课堂:算法与程序框图397425 知识讲解

5、2】要点二、程序框图1、程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形2、构成程序框的图形符号及其作用程序框名称功能k/起止框表示一个算法的起始和结束,是任何算法程 序框图不口J缺少的./ /输入、输出框表示一个算法输入和输出的信息,可用在算 法中任何需要输入、输出的位置 .处理框赋值、计算.算法中处理数据需要的算式、 公式等,它们分别写在/、同的用以处理数 据的处理框内.O判断框判断某一条件是否成立,成立时在出口处标 明“是”或“ Y”;不成立时在出口处则标 明“否”或“ N” .*流程线算法进行的前进方向以及先后顺序O连结点连接另一页或

6、另一部分的框图3、程序框图的构成一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字.4、算法的三种基本逻辑结构(1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构见示意图和实例:1L-强fl顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作.(2)条件结构如下面图示中虚线框内是一个条件结构,此结构中

7、含有一个判断框,算法执行到此判断给定的条件P是否成立,选择不同的执行框 (A框、B框).无论P条件是否成立,只能执行 A框或B框之一,不可能既执 行A框又执行B框,也不可能 A框、B框都不执行.A框或B框中可以有一个是空的,即不执行任何操作.见示意图要点诠释:条件结构中的条件要准确,不能含混不清,要清楚在什么情况下需要作怎样的判断,用什么条件来区分.(3)循环结构在一些算法中要求重复执行同一操作的结构称为循环结构 某一处理过程.重复执行的处理步骤称为循环体 .循环结构有两种形式:当型循环结构和直到型循环结构当型循环结构,如左下图所示,它的功能是当给定的条件 回来再判断条件 P是否成立,如果仍然

8、成立,返回来再执行.即从算法某处开始,按照一定条件重复执行P成立时,执行A框,A框执行完毕后,返A框,如此反复执行 A框,直到某一次返回来判断条件P不成立时为止,此时不再执行 A框,离开循环结构,继续执行下面的框图直到型循环结构,如右下图所示,它的功能是先执行重复执行的 A框,然后判断给定的条件 P是否成 立,如果P仍然不成立,则返回来继续执行 A框,再判断条件 P是否成立,依次重复操作,直到某一次给 定的判断条件 P成立为止,此时不再返回来执行A框,离开循环结构,继续执行下面的框图 .见示意图要点诠释:要清楚满足某个条件的变量的次数与循环次数的循环结构中使用什么样的条件控制循环的开始和结束,

9、 联系与区别误区提醒1 、框图中的流程线不能出现交叉的现象. 若有交叉,则程序语句无法写出;2、各种框图有其固定的格式和作用,不要乱用. 如条件结构中不要忘了“是”与“否”,流程线不要忘记画箭头;3、条件分支结构的方向要准确;4、循环结构中,计数变量要赋初值,计数变量的自加不要忘记,自加多少不能弄错. 另外计数变量一般只负责计数任务;5、循环结构中循环的次数要严格把握,区分与“w”等.循环变量的取值与循环结构 (当型与直到型)有关,需区分清楚. 另外,同一问题用两种不同的结构解决时,其判断条件恰是相反的;6、程序框图不要出现死循环(无限步的循环).【典型例题】类型一:算法的概念例 1 ( 1)

10、下列描述不能看作算法的是() A.做米饭需要刷锅,淘米,添水,加热这些步骤B.洗衣机的使用说明书C.解方程 2x2+x1=0D.利用公式S=Ttr2,计算半径为4的圆的面积,就是计算兀X 42( 2)下列关于算法的说法:求解某一类问题的算法是唯一的;算法必须在有限步操作之后停止;算法的每一步操作必须是 明确的,不能有歧义或模糊;算法执行后一定产生明确的结果.其中正确的有() A 1 个B 2个C 3个D 4个【答案】 ( 1) C ( 2) C【解析】( 1) A、 B、 D 都描述了解决问题的过程,可以看作算法而C 只描述了一个事实,没说明怎么解决问题,不是算法( 2)根据算法的特征可以知道

11、,算法要有明确的开始与结束,每一步操作都必须是明确而有效的,必须在有限步内得到明确的结果,所以正确.而解决某一类问题的算法不一定是唯一的,故错误.【总结升华】算法一般是机械的,有时需要进行大量的重复计算,只要按部就班去做,总能算出结果.通常把算法过程称为“数学机械化”,数学机械化的最大优点是它可以借助计算机来完成. 实际上处理任何问题都需要算法,如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续举一反三:【变式 1 】 我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方

12、程组的解,二分法求出函数的零点等,对算法的描述有:对一类问题都有效;算法可执行的步骤必须是有限的;算法可以一步一步地进行,每一步都有确切的含义;是一种通法,只要按部就班地做,总能得到结果以上算法的描述正确的有() A 1 个 B 2 个C 3个 D 4个【答案】D类型二:算法的描述3x 2y 14 例 2写出求方程组x y的解的算法xy 2【解析】可利用消元法或代入法求解算法一:第一步:X 2+,彳#到5x=14-4.第二步,解方程,可得 x=2.第三步,将代入,可得 2+y= 2.第四步,解得y=-4.x2第五步,得到方程组的解为y4算法二:第一步,由式移项可以得到x=-2-y.第二步,把代

13、入,得 y=-4.第三步,把代入,得 x=2.x2第四步,得到方程组的解为y4【总结升华】通过求解二元一次方程组可知,求解某个问题的算法不一定唯一对于具体的实例可以选择合适的算法,尽量做到“省时省力”,使所用的算法是最优算法举一反三:x y z 12【变式1】试描述求解三元一次方程组3x 3y z 16 的算法步骤xyz2【解析】算法1:第一步,+,得x=5.yz7 第二步,将分别代入式和式可得.3y z 1 第三步,得 y=-4.第四步,将代入可得z=11 .x5第五步,得到方程组的解为y 4z 11算法2:第一步,+,得2x-y=14.第二步,得 x-y=9.第三步,得 x=5.第四步,将

14、代入式,得 y=-4.第五步,将和代入式,得 z=11.x5第六步,得到方程组的解为y4类型三:算法的设计【高清课堂:算法与程序框图z 11397425 算法中的例1 】例 3设计一个算法,从3 个互不相等的数中选出最小的一个数,并用数学语言表达3 个数中第一个是“最小值 ”;第二步:将第二个数与 最小值”比较,如果它小于此 最小值”,那么就用这个数取代最小值”;最小值”,那么就用这个数取代最第三步:再重复第二步,将第三个数与最小值比较,如果它小于此 小值”;第四步:此时的 最小值”就是三个数中的最小值,输出最小值.所谓的算法,就是解决该类问题的一般步骤.举一反三:【变式1】任意给定一个正整数

15、 n,设计出判断n是否为质数的一个算法.【解析】第一步,当 n=1时,n既不是质数,也不是合数;第二步,当n=2时,n是质数;第三步,当n>3时,从2到n1依次判断是否存在 n的因数(因数1除外),若存在,则n是合数; 若不存在,则n是质数.类型四:顺序结构的应用【高清课堂:算法与程序框图397425程序框图中的例1】2.例4.对于一个一次函数 y ax bx c,求出顶点坐标.【解析】算法步骤:S1用户输入二次函数的系数 a,b,c ; b 4ac b2S2计算顶点坐标 x , y (赋值);2a 4a【变式1】已知x=40, y=3 .画出计算z=15x+8y的值的程序框图.【答案】

16、程序框图如下图所示.类型五:条件结构的应用2x例5.已知函数y x23x2x(x(0(x0)x 1),写出求该函数的函数值的算法,并画出程序框图.1)【解析】该函数是分段函数,因此当给出一个自变量x的值时,需先判断 x的范围,然后确定利用哪第一步,输入 第二步,如果 第三步,如果法1一段的解析式求函数值.画程序框图时,必须采用条件分支结构,因为函数解析式分了三段,所以需要两 个判断框,即进行两次判断.算法如下:x.x< 0,那么使y=2x - 1,输出y;否则,执行第三步.0Wxv1,那么使y=x2+1,输出y;否则,执行第四步.第四步,y=x2+2x第五步,输出y.程序框图如下图所示.

17、【总结升华】凡是必须先根据条件作出判断,然后再决定进行哪一个步骤的问题,在画程序框图时, 必须引入判断框,采用条件结构.而像本题求分段函数的函数值的程序框图的画法,如果是分两段的函数, 只需引入一个判断框;如果是分三段的函数,需引入两个判断框;分四段的函数需引入三个判断框,依此 类推.判断框内的内容是没有固定顺序的.【变式1】已知函数f (x)01(x (x (x举一反三:0)0),写出求函数f(x)的任一函数值的一个算法并画出程序0)框图.【解析】记y=f (x).算法:第一步:输入X.第二步:如果x>0,那么使y=1;如果x=0,那么使y=0;如果xv0,那么使y=1第三步:输出函数

18、值 y.程序框图如下图所示.【变式2】如果学生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”这一算法过程.【答案】用程序框图表示类型六:循环结构的应用结束例6.设计一个计算1+3+5+7+999的值的算法,并画出程序框图.【解析】算法一:当型循环:第一步,令 S=0, i=1.第二步,若iw 999成立,则执行第三步;否则输出S,结束算法.第三步,S=S+i.第四步,i=i+2 ,返回第二步,程序框图如图(1).算法二:直到型循环:第一步,令 S=0, i=1 .第二步,S=S+i.第三步,i=i+2 .第四步,若i不大于999,转第二步;否则,输出S,结束算法.程序框图如图 1-

19、1-8 (2).【总结升华】注意直到型循环和当型循环的区别.直到型循环先执行i=i+2 ,再判断i>999是否成立,若成立才输出 S;而当型循环先判断iw 999是否成立,若成立,则执行 i=i+2 ,直到条件iW999不成立才 结束循环,输出S.举一反三:【变式1】给出30个数:1,2,4,7,11,,要计算这30个数的和,现已给出了该问题的程序框图如图所 示,那么框图中判断框处和执行框处应分别填入()A. i<30? ; p=p+i1B. i<31? ; p=p+i+1C. i<31? ; p=p+iD. i<30? ; p=p+i【答案】D【解析】由于要计算

20、 30个数的和,故循环要执行30次,由于循环变量的初值为1,步长为1,故终值应为30即中应填写但30;又由第1个数是1;第2个数比第1个数大1 ,即1+1=2;第3个数比第2个数大1,即2+2=4;第4个数比第3个数大1 ,即4+3=7;故中应填写p=p+i【变式2】(2016春 河南周口期中)设计求 1+3+5+7+ +31的算法,并画出相应的程序框图.【解析】第一步:S=0;第二步:i=1;第三步:S=S+i;第四步:i=i+2;第五步:若i不大于31,返回执行第三步,否则执行第六步;第六步:输出S值.程序框图如图:C7严I*%运Iiri=i<-2有 /MTiH s/ "1./类型七:利

温馨提示

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

评论

0/150

提交评论