《程序框图与算法的基本逻辑结构yy.ppt》由会员分享,可在线阅读,更多相关《程序框图与算法的基本逻辑结构yy.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、上上课课啦啦 程序框图程序框图算法的基本逻辑结构算法的基本逻辑结构 Stick.stick 算法的概念和特点,您算法的概念和特点,您还记得吗?还记得吗?在在数学中,按照一定规则解决某数学中,按照一定规则解决某一类问题的明确和有限的步骤一类问题的明确和有限的步骤称为算称为算法法.算算法是由一系列明确和有限的计算步骤组法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想究使算法表达得更加直观、准确的方法,这个
2、想法可以通过法可以通过程序框图程序框图来实现来实现.知识探究(一):算法的程序框图知识探究(一):算法的程序框图“判断整数判断整数n n(n n2 2)是否为质数)是否为质数”的算法步骤的算法步骤第一步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0”“r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i“i(n-
3、1)”(n-1)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.我们可以将上述算法用下面的图形表示:我们可以将上述算法用下面的图形表示:开始开始r=0?输输出出“n是是质质数数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否 上述表示算法的图形称为算法的上述表示算法的图形称为算法的程程序框图序框图又称又称流程图流程图,其中的多边形叫做,其中的多边形叫做程序框程序框,带方向箭头的线叫做,带方向箭头的线
4、叫做流程线流程线,你能指出程序框图的含义吗?你能指出程序框图的含义吗?用程序框、流程线及文字说明来表用程序框、流程线及文字说明来表示算法的图形示算法的图形.结束结束开始开始输入输入ni=2n除以除以i的余数的余数ri=i+1in-1或或r=0?n不是质数不是质数n是质数是质数否否是是是否否r=0?终端框(起止框),终端框(起止框),表示一个算法的起始表示一个算法的起始和结束和结束结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?输入、输出框输入、输出框表示一个算法输入和表示一个算法输入和输出的信息输出的信息结束结束开始输入ni=2n除以i的余
5、数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?处理框(执行框)处理框(执行框)赋值、计算赋值、计算结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?判断框判断框判断某一条件是否成立,判断某一条件是否成立,成立时在出口处标明成立时在出口处标明“是是”;不成立时标明;不成立时标明“否否”结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?流程线流程线连接点连接点名称名称终端框或起止框终端框或起止框名称名称输入、输出框输入、输出框名称名称处理框或执行框处理框或执行框作用作用作用作
6、用作用作用判断框判断框作用作用表示算法的表示算法的起始和结束起始和结束表示算法的输入表示算法的输入和输出的信息和输出的信息赋值、计算赋值、计算判断某一条件是否成立,判断某一条件是否成立,成立在出口处标明成立在出口处标明“是是”或或“Y”不成立标明不成立标明“否否”或或“N”名称名称程序框图程序框图:又称流程图又称流程图,是一种用规定的图形、指向线及文字说明来准确、是一种用规定的图形、指向线及文字说明来准确、直观的表示算法的图形直观的表示算法的图形图形符号图形符号 名名 称称 功功 能能 终端框终端框 (起止框)(起止框)输入、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流
7、程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入和输出的信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时在判断某一条件是否成立,成立时在出口处标明出口处标明“是是”或或“Y”“Y”;不成立;不成立时标明时标明“否否”或或“N”“N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序 结束结束开始开始输入输入ni=2n除以除以i的余数的余数ri=i+1in-1或或r=0?n不是质数不是质数n是质数是质数否否是是否否r=0?顺序结构顺序结构循环结构循环结构条件结构条件结构 顺序结构及框图表示顺序结构及框图表示1.顺
8、序结构顺序结构:按照步骤按照步骤依次执行依次执行的一个算法的一个算法语句语句A语句语句B2.顺序结构的流程图顺序结构的流程图例例1(1)(1)写出图中程序框图的运行结果:写出图中程序框图的运行结果:开始开始输入输入a,ba2b4Sa/bb/a 输出输出S结束结束图中输出图中输出S ;5/2(2)(2)写出下列算法的功能。写出下列算法的功能。开始开始输入输入a,bda2b2c输出输出c结束结束 左图算法的功能左图算法的功能是是 ;求两数平方和的算术平方根求两数平方和的算术平方根例例2 设计一算法:设计一算法:输入圆的半径输入圆的半径,输出圆的面积,并画出流程图输出圆的面积,并画出流程图算法分析:
9、第一步:输入圆的半径输入圆的半径第二步:利用公式利用公式“圆的面积圆的面积=圆周率圆周率(半径的平方)(半径的平方)”计算圆的面积;计算圆的面积;第三步:输出圆的面积。输出圆的面积。开始结束输入半径R计算S=*R*R输出面积S(1)在程序框图中在程序框图中,开始框和结束框不可少;开始框和结束框不可少;(2)在算法过程中,输出语句是必不可少的在算法过程中,输出语句是必不可少的;例例3 3:若一个三角形的三条边长分别为:若一个三角形的三条边长分别为a a,b b,c c,令,令 ,则三角形的面积,则三角形的面积 .你能利用这个公式你能利用这个公式设计一个计算三角形面积的算法步骤吗?设计一个计算三角
10、形面积的算法步骤吗?第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长a a,b b,c.c.第二步,计算第二步,计算 .第三步,计算第三步,计算 .第四步,输出第四步,输出S.S.上述算法的程序框图如何表示?上述算法的程序框图如何表示?开始开始结束结束输出输出S输入输入a,b,c算法思想算法思想:假设鸡和兔训练有素,吹一声哨,抬起一假设鸡和兔训练有素,吹一声哨,抬起一只脚,只脚,40-15=25。再吹哨,又抬起一只脚,。再吹哨,又抬起一只脚,25-15=10。这时鸡都一屁股坐地上了,兔子还。这时鸡都一屁股坐地上了,兔子还两只脚立着。所以,兔子有两只脚立着。所以,兔子有102=5只,
11、鸡有只,鸡有15-5=10只。只。鸡鸡兔同笼问题兔同笼问题:鸡和兔:鸡和兔15只,共只,共有有40只脚,鸡和兔各几只?只脚,鸡和兔各几只?练习练习:一个笼子里装有鸡和兔共:一个笼子里装有鸡和兔共m m只,且只,且鸡和兔共鸡和兔共n n只脚,设计一个计算鸡和兔各有多只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示少只的算法,并画出程序框图表示.算法分析:算法分析:第一步,输入第一步,输入m,n.第二步,计算鸡的只数第二步,计算鸡的只数 .第三步,计算兔的只数第三步,计算兔的只数y=m-x.第四步,输出第四步,输出x,y.开始开始结束结束输出输出x,y输入输入m,ny=m-x程序框图:
12、程序框图:知识探究(三):算法的条件结构知识探究(三):算法的条件结构 在某些问题的算法中,有些步骤只在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流有在一定条件下才会被执行,算法的流程因条件是否成立而变化程因条件是否成立而变化.在算法的程序在算法的程序框图中,由若干个在一定条件下才会被框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为执行的步骤组成的逻辑结构,称为条件条件结构结构,用程序框图可以表示为下面两种,用程序框图可以表示为下面两种形式:形式:满足条件?满足条件?步骤步骤A步骤步骤B是是否否满足条件?满足条件?步骤步骤A是是否否 你如何理解这两种程序框图的
13、共你如何理解这两种程序框图的共性和个性?性和个性?例例4 4:判断:判断“以任意给定的以任意给定的3 3个正实数为个正实数为三条边边长的三角形是否存在三条边边长的三角形是否存在”的算法的算法步骤如何设计?步骤如何设计?第二步,判断第二步,判断a+bca+bc,b+cab+ca,c+abc+ab是是否同时成立否同时成立.若是,则存在这样的三角若是,则存在这样的三角形;否则,不存在这样的三角形形;否则,不存在这样的三角形.第一步,输入三个正实数第一步,输入三个正实数a a,b b,c.c.您您能画出这个算法的程序框图吗能画出这个算法的程序框图吗?开始开始输入输入a,b,ca+bc,b+ca,c+a
14、b是是否否同时成立?同时成立?是是存在这样的三角形存在这样的三角形结束结束否否不不存存在在这这样样的的三三角角形形程序框图程序框图练习:练习:1.就逻辑结构,说出就逻辑结构,说出其算法功能其算法功能开始结束输入xx3?y=x-2输出yy=4-x否否是是开始i=a输入bib?输出i结束i=b是是否否2.此为某一函数的求值程序图,则满足此为某一函数的求值程序图,则满足该流程图的函数解析式为(该流程图的函数解析式为()(不能)(不能写成分段函数)写成分段函数)答案答案:求两个数中的最大值求两个数中的最大值.答案答案:y=|x-3|+1.算法分析:算法分析:第一步,输入三个系数第一步,输入三个系数a,b,c.第二步,计算第二步,计算=b24ac.程序框图程序框图:开始开始否否是是课堂练习:课堂练习:1.求函数的值的算法流程图第一步,令第一步,令i=1,S=0.第二步,计算第二步,计算S+i,仍用,仍用S表示表示.第三步,计算第三步,计算i+1,仍用,仍用i表示表示.算法分析:算法分析:第二步,计算第二步,计算S=S+i.第三步,计算第三步,计算i=i+1.赋赋值值重复重复循环循环 开始开始i=1i100?是是输出输出S结束结束S=0 i=i+1S=S+i否否开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i+1直直到到型型当当型型区别与联系区别与联系?