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

下载本文档

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

文档简介

1、算法与程序框图,1.1算法与程序框图,算法与程序框图,1.1.1 算法的概念,学习目标: 通过分析具体问题过程与步骤,体会算法的思想,了解算法的含义,能用自然语言描述解决具体问题的算法. 学习重点(难点): 通过实例体会算法思想,初步理解算法的含义.,算法与程序框图,第一步:-2得: 5y=3 ,第二步: 解得:,第三步: 将 代入,解得 .,对于一般的二元一次方程组 其中 也可以按照上述步骤求解.,算法与程序框图,这些步骤就构成了解二元一次方程组的算法,我们可以根据这一算法编制计算机程序,让计算机来解二元一次方程组.,算法的概念与特征,算法(algorithm)这个词出现于12世纪,指的是用

2、阿拉伯数字进行算术运算的过程.,在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.,算法与程序框图,说明: (1)事实上算法并没有精确化的定义. (2)算法虽然没有一个明确的定义,但其特点是鲜明的,不仅要注意算法的程序性、有限性、构造性、精确性的特点,还应该充分理解算法问题的指向性,即算法往往指向解决某一类问题,泛泛地谈算法是没有意义的。,算法与程序框图,算法学的发展,随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法,排序算法,加密算法,蚁群算法等,与生物学,计

3、算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用. 很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位.,算法与程序框图,科学家王小云主导破解两大密码算法获百万大奖 杨振宁教授为获得“求是杰出科学家奖”的山东大学特聘教授王小云颁发了获奖证书和奖金100万元人民币,表彰其密码学领域的杰出成就。,算法与程序框图,算法与程序框图,例1:任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.,分析:请回顾这个问题的解题过程.,算法分析:,第一步:判断n是否等于2.,若n=2,则n是质数;,若n2,则执行第二步.,第二步:依次检验2(

4、n-1)这些整数是不是n的因素,即是不是整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数.,说明:用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情.,算法与程序框图,若是,则m 为所求;,例2:用二分法设计一个求方程x2-2=0的近似根的算法.,算法分析:,设所求近似根与精确解的差的绝对值不超过=0.005.,第一步:令f(x)=x2-2.,因为f(1)0,所以设a=1,b=2.,第二步:令,判断f(m)是否为0.,第四步:判断|a-b|是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步.,算法与程序框图,点评: (1)上述算法也是求

5、 的近似值的算法.,(2)与一般的解决问题的过程比较,算法有以下特征: 设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的. 算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.,算法与程序框图,计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.,算法与程序框图,练习一:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.,算法分析:,第一步:输入

6、任意一个正实数r; 第二步:计算以r为半径的圆的面积S=r2; 第三步:输出圆的面积.,算法与程序框图,练习二:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.,算法分析:,第一步:依次从2(n-1)为除数去除n,判断余数是否为0,若是,则是n的因数;若不是,则不是n的因数. 第二步:在n的因数中加入1和n; 第三步:输出n的所有因数.,算法与程序框图,练习三:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居

7、民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法.,解:y与x之间的函数关系为:,(当0 x7时) (当x7时),算法与程序框图,解:y与x之间的函数关系为:,(当0 x7时) (当x7时),求该函数值的算法分析:,第一步:输入每月用水量x; 第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9. 第三步:输出应交纳的水费y.,算法与程序框图,作业: 课本P6页T2 (只需用自然语言写出算法步骤),算法与程序框图,1.1.2 程序框图,学习目标:(1)在具体问题的解决过程中,掌握基本的程序框图的画法,理解程序框图的三种基本逻辑结

8、构-顺序结构、条件结构、循环结构。 (2)通过模仿、操作、探索,经历通过设计程序框图表达解决问题的算法的过程。 学习重点:通过模仿、操作、探索,经历通过设计程序框图表达求解问题的过程,在具体问题解决过程中,理解程序框图的三种基本逻辑结构. 学习难点:用程序框图清晰表达含有循环结构的算法.,算法与程序框图,从上节课我们知道:算法可以用自然语言来描述.如例1,为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.,算法与程序框图,设n是一个大于2的整数.,一般用i=i+1表示.,i=i+1,说明:i表示从2(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这

9、个变量,算法才能依次执行.逐步考察从2(n-1)的所有正整数中是否有n的因数存在.,算法与程序框图,思考?通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点?,用程序框图表示的算法更加简练,直观,流向清楚.,程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.,通常,程序框图由程序框和流程线组成.,一个或几个程序框的组合表示算法中的一个步骤;,流程线是方向箭头,按照算法进行的顺序将程序 框连接起来.,算法与程序框图,基本的程序框和它们各自表示的功能如下:,终端框(起止框),表示一个算法的起始和结束,输入、输出框,表示一个算法输入和输出的

10、信息,处理框(执行框),判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.,判断框,赋值、计算,流程线,连接程序框,连接点,连接程序框图的两部分,算法与程序框图,顺序结构,用程序框图来表示算法,有三种不同的基本逻辑结构:,条件结构,循环结构,算法与程序框图,程序框图的三种基本的逻辑结构,顺序结构,条件结构,循环结构,算法与程序框图,(1)顺序结构-是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.,例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.,算法分析:,第一步:计

11、算p的值.,第二步:由海伦-秦九韶公式求出三角形的面积S.,第三步:输出S的值.,算法与程序框图,(1)顺序结构-是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.,例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.,算法分析:,第一步:计算p的值.,第二步:由海伦-秦九韶公式求出三角形的面积S.,第三步:输出S的值.,算法与程序框图,程序框图:,开始,输出S,结束,算法与程序框图,画出:已知三角形的三边长a,b,c,求它的面积的程序框图.,开始,输出S,结束,输入a,b,c,返回,算法与程序框图,已知三角

12、形三边长分别为a,b,c,则三角形的面积为 其中 这个公式被称为海伦秦九韶公式.,返回,算法与程序框图,(2)条件结构-在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.,例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.,算法分析:,第一步:输入3个正实数a,b,c;,第二步:判断a+bc,a+cb,b+ca是否同时成立,若是,则能组成三角形;若否,则组不成三角形.,算法与程序框图,程序框图:,开始,输入a,b,c,a+bc,a+cb,b+ca是否 同时成立?,是,存在这

13、样的 三角形,不存在这样的 三角形,否,结束,算法与程序框图,例3:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法,并画出程序框图.,解:y与x之间的函数关系为:,(当0 x7时) (当x7时),算法与程序框图,解:y与x之间的函数关系为:,(当0 x7时) (当x7时),算法分析:,第一步:输入每月用水量x; 第二步:判断x是否不

14、超过7.若是,则y=1.2x;若否,则y=1.9x-4.9. 第三步:输出应交纳的水费y.,开始,输入x,0 x7?,是,y=1.2x,否,y=1.9x-4.9,输出y,结束,程序框图,算法与程序框图,例4.画程序框图,对于输入的x值,输出相应的y值.,开始,程序框图,x0?,是,y=0,否,0 x1?,是,y=1,否,y=x,输出y,结束,输入x,算法与程序框图,是,例5.设计一个求任意数的绝对值的算法,并画出程序框图.,算法分析:,第一步:输入数x; 第二步:判断x0是否成立?若是,则|x|=x;若否,则|x|=-x.,程序框图:,开始,输入x,x0?,输出x,否,输出-x,结束,返回,算

15、法与程序框图,作业: 课本P20页练习, P21页A组T1; (画出程序框图),算法与程序框图,(3)循环结构-在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.,反复执行的步骤称为循环体.,注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.,算法与程序框图,例3:设计一个计算1+2+3+100的值的算法,并画出程序框图.,算法分析:,第1步:0+1=1; 第2步:1+2=3; 第3步:3+3=6; 第4步:6+4=10 第100步:4950+100=5050.,第(i-

16、1)步的结果+i=第i步的结果,各步骤有共同的结构:,为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把第i步表示为 S=S+i,S的初始值为0,i依次取1,2,100,由于i同时记录了循环的次数,所以i称为计数变量.,算法与程序框图,程序框图:,开始,i=1,S=0,S=S+i,i=i+1,i100?,是,输出S,结束,否,直到型循环结构,开始,i=1,S=0,i100?,是,S=S+i,i=i+1,否,输出S,结束,当型循环结构,算法与程序框图,说明:(1)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终

17、止,累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.,(2)循环结构分为两种-当型和直到型.,当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体),直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足),算法与程序框图,程序框图:,开始,i=1,S=0,S=S+i,i=i+1,i100?,是,输出S,结束,否,直到型循环结构,开始,i=1,S=0,i100?,是,S=S+i,i=i+1,否,输出S,结束,当型循环结构,算法与程序框

18、图,顺序结构,用程序框图来表示算法,有三种不同的基本逻辑结构:,条件结构,循环结构,直到型循环结构,算法与程序框图,若是,则m 为所求;,探究:画出用二分法求方程x2-2=0的近似根(精确度为0.005)的程序框图.,算法分析:,第一步:令f(x)=x2-2.,因为f(1)0,所以设a=1,b=2.,第二步:令,判断f(m)是否为0.,第四步:判断|a-b|是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步.,算法与程序框图,否,是,是,否,程序框图,开始,f(x)=x2-2,输入误差 和初值a,b,f(m)=0?,a=m,否,b=m,|a-b|?,1,2,2,输出a和b,结束,输

19、出m,3,1,3,是,算法与程序框图,是,是,否,程序框图,开始,f(x)=x2-2,输入误差 和初值a,b,a=m,否,b=m,|a-b|或f(m)=0?,输出m,结束,算法与程序框图,课堂小结,本节主要讲述了程序框图的基本知识:包括常用的图形符号、算法的基本逻辑结构. 算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构. 其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达,算法与程序框图,作业: 课本P12页A组T2; P40页A组T4.,算法与程

20、序框图,习题练习,算法与程序框图,是,1.(P12页A组T3),程序框图:,开始,输入x,x3?,否,结束,输入y,y=5,y=1.2x+1.4,算法与程序框图,是,2.(P40页A组T3),程序框图:,开始,输入t,0t3?,否,结束,输入y,y=0.3,y=0.1t,算法与程序框图,3.(P40页A组T1(1),开始,程序框图,x0?,是,y=0,否,0 x1?,是,y=1,否,y=x,输出y,结束,输入x,算法与程序框图,4.(P40页A组T1(2),开始,程序框图,x0?,是,y=(x+2)2,否,x=0?,是,y=4,否,输出y,结束,输入x,y=(x-2)2,算法与程序框图,开始,

21、i=1,S=0,S=S+i2,i=i+1,i100?,是,输出S,结束,否,直到型循环结构,开始,i=1,S=0,i100?,是,S=S+i2,i=i+1,否,输出S,结束,当型循环结构,5.P12页A组T2.,算法与程序框图,开始,i=1,S=0,S=S+,i=i+1,in?,是,输出S,结束,否,直到型循环结构,开始,i=1,S=0,in?,是,S=S+,i=i+1,否,输出S,结束,当型循环结构,6.P40页A组T4.,输入n,输入n,算法与程序框图,7(P12BT1).某高中男子体育小组的50m跑成绩(单位:s)为: 6.4, 6.5, 7.0, 6.8, 7.1, 7.3, 6.9, 7.4, 7.5. 设计一个算法,从这些成绩中搜出小于6.8s的成绩.,算法分析:,第一步:把计数变量n的初值设为1. 第

温馨提示

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

评论

0/150

提交评论