算法与程序框图56584知识荟萃

上传人:cn****1 文档编号:569831372 上传时间:2024-07-31 格式:PPT 页数:61 大小:1.76MB
返回 下载 相关 举报
算法与程序框图56584知识荟萃_第1页
第1页 / 共61页
算法与程序框图56584知识荟萃_第2页
第2页 / 共61页
算法与程序框图56584知识荟萃_第3页
第3页 / 共61页
算法与程序框图56584知识荟萃_第4页
第4页 / 共61页
算法与程序框图56584知识荟萃_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《算法与程序框图56584知识荟萃》由会员分享,可在线阅读,更多相关《算法与程序框图56584知识荟萃(61页珍藏版)》请在金锄头文库上搜索。

1、1借鉴内容1.1.1 算法的概念算法的概念学习目标学习目标:通过分析具体问题过程与步骤通过分析具体问题过程与步骤,体会算法体会算法的思想的思想,了解算法的含义了解算法的含义,能用自然语言描述解能用自然语言描述解决具体问题的算法决具体问题的算法.学习重点学习重点(难点难点):通过实例体会算法思想通过实例体会算法思想,初步理解算法的初步理解算法的含义含义. 2借鉴内容问题问题1请你写出解二元一次方程组的详细求解请你写出解二元一次方程组的详细求解过程过程. 第一步第一步:-2得得: 5y=3 第二步第二步: 解解得得:第三步第三步: 将将 代入代入,解得解得 .对于一般的二元一次方程组对于一般的二元

2、一次方程组其中其中 也可以按照上述步骤求解也可以按照上述步骤求解.3借鉴内容这些步骤就构成了解二元一次方程组的这些步骤就构成了解二元一次方程组的算法算法,我们可以根据这一算法编制计算机程序我们可以根据这一算法编制计算机程序,让计算机来解二元一次方程组让计算机来解二元一次方程组.算法的概念与特征算法的概念与特征算法算法(algorithm)这个词出现于这个词出现于12世纪世纪,指的是用阿拉伯数字进行算术运算的过程指的是用阿拉伯数字进行算术运算的过程.在数学上在数学上,现代意义上的现代意义上的“算法算法”通常是指可通常是指可以用计算机来解决的某一类问题的以用计算机来解决的某一类问题的程序或步程序或

3、步骤骤,这些程序或步骤必须是明确和有效的这些程序或步骤必须是明确和有效的,而而且能够在有限步之内完成且能够在有限步之内完成.4借鉴内容说明说明:(1)事实上算法并没有精确化的定义事实上算法并没有精确化的定义.(2)算法虽然没有一个明确的定义算法虽然没有一个明确的定义,但其特点但其特点是鲜明的是鲜明的,不仅要注意不仅要注意算法的程序性、有限算法的程序性、有限性、构造性、精确性的特点,还应该充分性、构造性、精确性的特点,还应该充分理解算法问题的指向性,即算法往往指向理解算法问题的指向性,即算法往往指向解决某一类问题,泛泛地谈算法是没有意解决某一类问题,泛泛地谈算法是没有意义的。义的。5借鉴内容算法

4、学的发展 随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法遗传算法,排序算法排序算法,加密算法加密算法,蚁群蚁群算法算法等,与生物学,计算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用. 很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位.6借鉴内容科学家王小云主导破解两大密码算法获百万大奖杨振宁教授为获得“求是杰出科学家奖”的山东大学特聘教授王小云颁发了获奖证书和奖金100万元人民币,表彰其密码学领域的杰出成就。 7借鉴内容8借鉴内容例例1:任意给定一个大于任意给定一个大于1的整数的整数n,试设计一

5、个程试设计一个程序或步骤对序或步骤对n是否为质数做出判定是否为质数做出判定.分析分析:请回顾这个问题的解题过程请回顾这个问题的解题过程.算法分析算法分析:第一步第一步:判断判断n是否等于是否等于2. 若若n=2,则则n是质数是质数;若若n2,则执行第二步则执行第二步. 第二步第二步:依次检验依次检验2(n-1)这些整数是不是这些整数是不是n的的因素因素,即是不是整除即是不是整除n的数的数.若有这样的数若有这样的数,则则n不是不是质数质数;若没有这样的数若没有这样的数,则则n是质数是质数.说明说明:用语言描述一个算法用语言描述一个算法,最便捷的方式就是按最便捷的方式就是按解决问题的步骤进行描述解

6、决问题的步骤进行描述.每一步做一件事情每一步做一件事情.9借鉴内容 若是若是,则则m为所求为所求; 例例2:用二分法设计一个求方程用二分法设计一个求方程x2-2=0的近似根的近似根的算法的算法.算法分析算法分析:设所求近似根与精确解的差的绝对设所求近似根与精确解的差的绝对值不超过值不超过=0.005.第一步第一步:令令f(x)=x2-2.因为因为f(1)0,所以设所以设a=1,b=2.第二步第二步:令令判断判断f(m)是否为是否为0.若否若否,则继续判断则继续判断f(a) (m)大于大于0还是小于还是小于0.第三步第三步:若若f(a) (m)0,则令则令a=m;否则否则,令令b=m. 第四步第

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

8、握基本的程序框图的画法程序框图的画法,理解程序框图的三种基本逻辑结理解程序框图的三种基本逻辑结构构-顺序结构、条件结构、循环结构。顺序结构、条件结构、循环结构。(2)通过模仿、操作、探索,经历通过设计程序框通过模仿、操作、探索,经历通过设计程序框图表达解决问题的算法的过程。图表达解决问题的算法的过程。学习重点学习重点:通过模仿、操作、探索,经历通过设计通过模仿、操作、探索,经历通过设计程序框图表达求解问题的过程,在具体问题解决程序框图表达求解问题的过程,在具体问题解决过程中,理解程序框图的三种基本逻辑结构过程中,理解程序框图的三种基本逻辑结构.学习难点学习难点:用程序框图清晰表达含有循环结构的

9、算法用程序框图清晰表达含有循环结构的算法. 18借鉴内容例例1:任意给定一个大于任意给定一个大于1的整数的整数n,试设计一个程试设计一个程序或步骤对序或步骤对n是否为质数做出判定是否为质数做出判定.算法分析算法分析:第一步第一步:判断判断n是否等于是否等于2.若若n=2,则则n是质数是质数;若若n2,则执行第二步则执行第二步. 第二步第二步:依次检验依次检验2(n-1)这些整数是不是这些整数是不是n的的因素因素,即是不是整除即是不是整除n的数的数.若有这样的数若有这样的数,则则n不是不是质数质数;若没有这样的数若没有这样的数,则则n是质数是质数.从上节课我们知道从上节课我们知道:算法可以用自然

10、语言来算法可以用自然语言来描述描述.如例如例1 为了使算法的程序或步骤表达得更为直观为了使算法的程序或步骤表达得更为直观,我我们更经常地用图形方式来表示它们更经常地用图形方式来表示它.19借鉴内容开始开始输入输入ni=2求求n除以除以i的余数的余数ri的值增加的值增加1仍用仍用i表示表示in或或r=0?n不是质数不是质数结束结束是是否否是是n是质数是质数否否r=0?设设n是一个大是一个大于于2的整数的整数.一般用一般用i=i+1表示表示. i=i+1说明说明:i表示从表示从2(n-1)的所有正整数的所有正整数,用以用以判断例判断例1步骤步骤2是否终是否终止止,i是一个计数变量是一个计数变量,有

11、了这个变量有了这个变量,算法算法才能依次执行才能依次执行.逐步逐步考察从考察从2(n-1)的所的所有正整数中是否有有正整数中是否有n的因数存在的因数存在.20借鉴内容思考思考?通过上述算法的两种不同表达方式的比较通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直观,流向清楚流向清楚.程序框图程序框图又称又称流程图流程图,是一种用规定的图形、是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的指向线及文字说明来准确、直观地表示算法的图形图形.通常通常,程序框图由程

12、序框和流程线组成程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头流程线是方向箭头,按照算法进行的顺序将程序按照算法进行的顺序将程序框连接起来框连接起来.21借鉴内容基本的程序框和它们各自表示的功能如下基本的程序框和它们各自表示的功能如下:图形符号图形符号名称名称功能功能终端框终端框(起止框起止框)表示一个算法的起始表示一个算法的起始和结束和结束输入、输输入、输出框出框表示一个算法输入和表示一个算法输入和输出的信息输出的信息处理框处理框(执行框执行框)判断某一条件是否成立判断某一条件是否成立,成立成立时在出口处标

13、明时在出口处标明“是是”或或“Y”;不;不”成立时标明成立时标明“否否”或或“N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分22借鉴内容开始开始输入输入ni=2求求n除以除以i的余数的余数ri=i+1in或或r=0?n不是质数不是质数结束结束是是否否是是n是质数是质数否否r=0?顺序结构顺序结构用程序框图来表示算法,有用程序框图来表示算法,有三种不同的基本逻辑结构:三种不同的基本逻辑结构:条件结构条件结构循环结构循环结构23借鉴内容程序框图的三种基本的逻辑结构程序框图的三种基本的逻辑结构顺序结构顺序结构条件结构条件结构

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

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

16、:已知三角形的三已知三角形的三边长边长a,b,c,求它的面积求它的面积的程序框图的程序框图.开始开始输出输出S结束结束输入输入a,b,c返回返回28借鉴内容已知三角形三边长分别为已知三角形三边长分别为a,b,c,则三角则三角形的面积为形的面积为其中其中 这个公式被称为海伦这个公式被称为海伦秦九韶公式秦九韶公式.返回返回29借鉴内容(2)条件结构条件结构-在一个算法中在一个算法中,经常会遇到一经常会遇到一些条件的判断些条件的判断,算法的流向根据条件是否成算法的流向根据条件是否成立有不同的流向立有不同的流向.条件结构就是处理这种过条件结构就是处理这种过程的结构程的结构.例例2:任意给定任意给定3个

17、正实数个正实数,设计一个算法设计一个算法,判断分判断分别以这别以这3个数为三边边长的三角形是否存在个数为三边边长的三角形是否存在.画画出这个算法的程序框图出这个算法的程序框图.算法分析算法分析:第一步第一步:输入输入3个正实数个正实数a,b,c;第二步第二步:判断判断a+bc,a+cb,b+ca是否同时成立是否同时成立,若是若是,则能组成三角形则能组成三角形;若否若否,则组不成三角形则组不成三角形.30借鉴内容程序框图程序框图:开始开始输入输入a,b,ca+bc,a+cb,b+ca是否是否同时成立同时成立?是是存在这样的存在这样的三角形三角形不存在这样的不存在这样的三角形三角形否否结束结束31

18、借鉴内容例例3:为了加强居民的节水意识为了加强居民的节水意识,某市制订了以某市制订了以下生活用水收费标准下生活用水收费标准:每户每月用水未超过每户每月用水未超过7m3时时,每立方米收费每立方米收费1.0元元,并加收并加收0.2元的城元的城市污水处理费市污水处理费;超过超过7m3的部分的部分,每立方米收费每立方米收费1.5元元,并加收并加收0.4元的城市污水处理费元的城市污水处理费,请你写请你写出某户居民每月应交纳的水费出某户居民每月应交纳的水费y(元元)与用水量与用水量x(m3)之间的函数关系之间的函数关系,然后设计一个求该函数然后设计一个求该函数值的算法值的算法,并画出程序框图并画出程序框图

19、.解解:y与与x之间的函数关系为之间的函数关系为:(当当0x7时时)(当当x7时时)32借鉴内容解解:y与与x之间的函数关系为之间的函数关系为:(当当0x7时时)(当当x7时时)算法分析算法分析:第一步第一步:输入每月用水量输入每月用水量x;第二步第二步:判断判断x是否不超是否不超过过7.若是若是,则则y=1.2x;若若否否,则则y=1.9x-4.9.第三步第三步:输出应交纳的水输出应交纳的水费费y.开始开始输入输入x0x7?是是y=1.2x否否y=1.9x-4.9输出输出y结束结束程序框图程序框图33借鉴内容例例4.画程序框图画程序框图,对于输入的对于输入的x值值,输出相应的输出相应的y值值

20、.开始开始程序框图程序框图x0?是是y=0否否0x100?是是输出输出S结束结束否否直到直到型循型循环结环结构构开始开始i=1S=0i100?是是S=S+ii=i+1否否输出输出S结束结束当型循环当型循环结构结构39借鉴内容说明说明:(1)一般地一般地,循环结构中都有一个计数变量和循环结构中都有一个计数变量和累加变量累加变量.计数变量用于记录循环次数计数变量用于记录循环次数,同时它的同时它的取值还用于判断循环是否终止取值还用于判断循环是否终止,累加变量用于输累加变量用于输出结果出结果.累加变量和计数变量一般是同步执行的累加变量和计数变量一般是同步执行的,累加一次累加一次,记数一次记数一次.(2

21、)循环结构分为两种循环结构分为两种-当型和直到型当型和直到型.当型循环当型循环在每次执行循环体前对循环条件在每次执行循环体前对循环条件进行判断进行判断,当条件满足时执行循环体当条件满足时执行循环体,不满足则不满足则停止停止;(当条件满足时反复执行循环体当条件满足时反复执行循环体)直到型循环直到型循环在执行了一次循环体之后在执行了一次循环体之后,对对控制循环条件进行判断控制循环条件进行判断,当条件不满足时执行循当条件不满足时执行循环体环体,满足则停止满足则停止.(反复执行循环体反复执行循环体,直到条件满直到条件满足足)40借鉴内容程序框图程序框图:开始开始i=1S=0S=S+ii=i+1i100

22、?是是输出输出S结束结束否否直到直到型循型循环结环结构构开始开始i=1S=0i100?是是S=S+ii=i+1否否输出输出S结束结束当型循环当型循环结构结构41借鉴内容开始开始输入输入ni=2求求n除以除以i的余数的余数ri=i+1in或或r=0?n不是质数不是质数结束结束是是否否是是n是质数是质数否否r=0?顺序结构顺序结构用程序框图来表示算法,有用程序框图来表示算法,有三种不同的基本逻辑结构:三种不同的基本逻辑结构:条件结构条件结构循环结构循环结构直到型循直到型循环结构环结构42借鉴内容 若是若是,则则m为所求为所求; 探究探究:画出用二分法求方程画出用二分法求方程x2-2=0的近似根的近

23、似根(精确精确度为度为0.005)的程序框图的程序框图.算法分析算法分析:第一步第一步:令令f(x)=x2-2.因为因为f(1)0,所以设所以设a=1,b=2.第二步第二步:令令判断判断f(m)是否为是否为0.若否若否,则继续判断则继续判断f(a) (m)大于大于0还是小于还是小于0.第三步第三步:若若f(a) (m)0,则令则令a=m;否则否则,令令b=m. 第四步第四步:判断判断|a-b|0?程序框图程序框图开始开始f(x)=x2-2输入误差输入误差和初值和初值a,bf(m)=0?a=m否否b=m|a-b|0?程序框图程序框图开始开始f(x)=x2-2输入误差输入误差和初值和初值a,ba=

24、m否否b=m|a-b|3?否否结束结束输入输入yy=5y=1.2x+1.449借鉴内容是是2.(P40页页A组组T3)程序框图程序框图:开始开始输入输入t0t3?否否结束结束输入输入yy=0.3y=0.1t50借鉴内容3.(P40页页A组组T1(1)开始开始程序框图程序框图x0?是是y=0否否0x1?是是y=1否否y=x输出输出y结束结束输入输入x51借鉴内容4.(P40页页A组组T1(2)开始开始程序框图程序框图x100?是是输出输出S结束结束否否直到直到型循型循环结环结构构开始开始i=1S=0i100?是是S=S+i2i=i+1否否输出输出S结束结束当型循环当型循环结构结构5.P12页页A

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

26、量n的初值设为的初值设为1.第二步第二步:输入一个成绩输入一个成绩r,判断判断r与与6.8的大小的大小.若若r6.8,则执行下一步则执行下一步;若若r9,则结束则结束.55借鉴内容开始开始n=1程序框图程序框图输入输入rr6.8?是是n=n+1n9?是是否否输出输出r否否结束结束直到型循直到型循环结构环结构56借鉴内容8(P12BT2)设计一个求解二元一次方程组设计一个求解二元一次方程组其中其中 的算法的算法,并画出程序框图并画出程序框图.算法分析算法分析:第一步第一步:判断判断a1是否等于是否等于0. 如果如果a10,由由+u,得得 (b2+b1u)y=c2+c1u;如果如果a1=0,执行第

27、三步执行第三步.第二步第二步:解解,得得输出输出y.第三步第三步:将将y值代入值代入,得得输出输出x.57借鉴内容开始开始程序框图程序框图输入输入a1,b1,c1,a2,b2,c2a10?是是u=-a2/a1b=b2+b1uc=c2+c1uy=c/bx=(c2-b2y)/a2否否y=c1/b1输出输出x,y结束结束58借鉴内容9(P41页页B组组T3)设计一个算法设计一个算法,判断一个正的判断一个正的n(n2)位数是不是回文数位数是不是回文数,用自然语言描述算法步骤用自然语言描述算法步骤.算法步骤算法步骤:第一步第一步:输入一个正整数输入一个正整数x和它的位数和它的位数.第二步第二步:判断判断

28、n是不是偶数是不是偶数,如果是偶数如果是偶数,令令m=n/2;如果是奇数如果是奇数,令令m=(n-1)/2.第三步第三步:当当i从从1取到取到m值时值时,依次判断依次判断x的第的第i位位与第与第(n+1-i)位上的数字是不是相等位上的数字是不是相等,如果都如果都相等相等,则则x是回文数是回文数;否则否则,x不是回文数不是回文数.59借鉴内容开始开始程序框图程序框图输入正整数输入正整数x和它的位数和它的位数nn是偶数?是偶数?是是m=n/2否否m=(n-1)/2第第i位与第位与第(n+1-i)(i=1,2,m)位上的数字相等位上的数字相等?是是x是回文数是回文数否否x不是回文数不是回文数结束结束60借鉴内容回文数是指从左到右读与从回文数是指从左到右读与从右到左读都是一样的正整数右到左读都是一样的正整数,如如121,676,94249,234432等。等。返回返回61借鉴内容

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号