《程序框图与算法的基本逻辑结构(3课时)ppt课件.ppt》由会员分享,可在线阅读,更多相关《程序框图与算法的基本逻辑结构(3课时)ppt课件.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1.2 程序框图与程序框图与 算法的基本逻辑结构算法的基本逻辑结构 “鸡鸡兔兔同同笼笼”是是我我国国隋隋朝朝时时期期的的数数学学著著作作孙孙子子算算经经中中的的一一个个题题目目:“今今有有鸡鸡兔兔同同笼笼,上上有有三三十十五五头头,下下有有九九十十四四足足,问问鸡鸡兔兔各各几几何何.”请请您您设设计计一一个个这这类类问问题题的的通通用用算算法法.并并画出算法的程序框图画出算法的程序框图.设有设有x x只鸡只鸡,y,y只兔只兔.则则解解:鸡兔同笼鸡兔同笼,设鸡兔总头数为设鸡兔总头数为H,H,总脚数为总脚数为F,F,求鸡兔各有求鸡兔各有多少只多少只.算法算法分析分析如下:如下:解方程组解方程组
2、,得得一、知识导入一、知识导入第一步第一步:输入总头输入总头数数H,H,总脚数总脚数F F 第二步第二步:计算鸡的:计算鸡的个数个数x=(4H-F)/2x=(4H-F)/2第三步第三步:计算兔的计算兔的个数个数y=(F-2H)/2 y=(F-2H)/2 第四步第四步:输出输出x,yx,y开始开始输出输出x,yx,y结束结束x=(4H-F)/2x=(4H-F)/2y=(F-2H)/2y=(F-2H)/2输入输入H H和和F F解:算解:算 法法程序框图程序框图二、知识探究二、知识探究1.程序框图程序框图 算法的表现形态不仅有自然语言算法的表现形态不仅有自然语言,还有程序框图与程还有程序框图与程序
3、序.用自然语言描述算法的优点是通俗易懂用自然语言描述算法的优点是通俗易懂,当算法中的当算法中的操作步骤都是顺序执行时比较容易理解操作步骤都是顺序执行时比较容易理解.缺点是如果算法缺点是如果算法中包含判断和循环中包含判断和循环,并且操作步骤较多时并且操作步骤较多时,就不那么直观就不那么直观清晰了清晰了.函数函数 图象图象算法算法 程程序框图序框图又称流程图又称流程图,是一种用程序框、流程是一种用程序框、流程线及文字说明来表示算法的图形线及文字说明来表示算法的图形.程序框图程序框图程序框程序框名称名称功能功能 终端框终端框(起止框)(起止框)表示一个算法的起始和结束表示一个算法的起始和结束输入、输
4、出框输入、输出框表示一个算法输入和表示一个算法输入和 输出的信息输出的信息 处理框处理框(执行框)(执行框)赋值、计算赋值、计算判断框判断框判断某一条件是否成立判断某一条件是否成立,成立成立时在出口处标明时在出口处标明“是是”或或“Y Y”;不成立时标明不成立时标明“否否”或或“N N”.连接点连接点连接程序框图的两部分连接程序框图的两部分流程线流程线连接程序框连接程序框(1)(1)起止框起止框:框内填写开始、结束框内填写开始、结束,任何程序框图任何程序框图中中,起止框是必不可少的;起止框是必不可少的;(2)(2)输入、输出框输入、输出框:框内填写输入、输出的字母、框内填写输入、输出的字母、符
5、号等;符号等;(3)(3)处处理理框框(执执行行框框):):算算法法中中需需要要的的算算式式、公公式式、对变量进行赋值等要用执行框表示对变量进行赋值等要用执行框表示.(4)(4)判判断断框框:当当算算法法要要求求在在不不同同的的情情况况下下执执行行不不同的运算时同的运算时,需要判断框需要判断框.框内填写判断条件框内填写判断条件.四种基本框图的用法四种基本框图的用法例例1.“判断整数判断整数n(n2)是否为质数是否为质数”的算法的算法第一步:给定大于第一步:给定大于2的整数的整数n.第二步:令第二步:令i=2第三步:用第三步:用i除除n,得余数得余数r.判断余数判断余数r是否为是否为0,若是若是
6、,则则n不是质数不是质数,结束算法;否则结束算法;否则,将将i的值增加的值增加1,仍用仍用i表表示这个数示这个数.第四步:判断第四步:判断i是否大于是否大于n-1,若是若是,若是若是,则则n是质数;是质数;否则否则,返回第三步返回第三步.自然语言自然语言(1)(1)给定大于给定大于2 2的整数的整数n.n.(2)令令i=2(3)(3)用用i i除除n,n,得余数得余数r.r.判断余数判断余数r r是否为是否为0,0,若是若是,则则n n不是质数不是质数,结束结束算法;否则算法;否则,将将i i的值增加的值增加1,1,仍用仍用i i表示这个数表示这个数.(4)(4)判断判断i i是否大于是否大于
7、n-1,n-1,若是若是,则则n n是质数;否则是质数;否则,返回第三步返回第三步.开始开始输入输入ni=2求求n除以除以i的余数的余数ri=i+1in-1或或r=0?否否r=0?是是是是n不是质数不是质数结束结束n是质数是质数否否程序框图程序框图2.算法的基本逻辑结构算法的基本逻辑结构开始开始输入输入ni=2求求n除以除以i的余数的余数ri=i+1in-1或或r=0?否否r=0?是是是是n不是质数不是质数结束结束n是质数是质数否否顺序结构顺序结构循环结构循环结构条件结构条件结构 尽尽管管算算法法千千差差万万别别,但但它它们们都都是是由由三三种种基基本本的的逻逻辑辑结结构构构构成成的的,这三种
8、逻辑结构就是这三种逻辑结构就是顺序结构、条件结构、循环结构顺序结构、条件结构、循环结构.(1)顺序结构顺序结构 由若干个依次执行的处理步骤组成的结构由若干个依次执行的处理步骤组成的结构.它是任它是任何一个算法都离不开的结构何一个算法都离不开的结构.步骤步骤n n步骤步骤n n1 1画顺序结构程序框图时注意画顺序结构程序框图时注意事项事项(1)在程序框图中在程序框图中,开始框开始框和结束框不可少;和结束框不可少;(2)在算法过程中在算法过程中,第一步第一步输入语句是必不可少的输入语句是必不可少的;(3)顺序结构在程序框图顺序结构在程序框图中的体现就是用流程线将中的体现就是用流程线将程序框自上而下
9、地连接起程序框自上而下地连接起来来,按顺序执行算法步骤按顺序执行算法步骤.算算 法法第二步:计算第二步:计算第三步:计算第三步:计算 第四步:输出三角形的面积第四步:输出三角形的面积S S框框 图图开始开始输出输出S S结束结束第一步:输入第一步:输入 的值的值输入输入 例例2.2.已知一个三角形的三边边长分别为已知一个三角形的三边边长分别为 利用海伦利用海伦-秦九韶公式秦九韶公式,(,),(,),设设计一个算法计一个算法,求出它的面积求出它的面积,并画出算法的程序框图并画出算法的程序框图.(2)条件结构条件结构 在一个算法中在一个算法中,经常会遇到一些条件的判断经常会遇到一些条件的判断,算法
10、的流算法的流程根据条件是否成立有不同的流向程根据条件是否成立有不同的流向.符合条件就执行符合条件就执行A,否则执行否则执行B符合条件就执行符合条件就执行A,否则执否则执行条件结构后的步骤行条件结构后的步骤满足条件?满足条件?步骤步骤A步骤步骤B是是否否步骤步骤A满足条件?满足条件?是是否否例例3.3.任意给定任意给定3 3个正实数个正实数,设计一个算法设计一个算法,判断以这判断以这3 3个正实个正实数为三条边边长的三角形是否存在数为三条边边长的三角形是否存在,并画出这个算法的程并画出这个算法的程序框图序框图.算算 法法程序框图程序框图开始开始输入输入是否同时成立?是否同时成立?存在这样存在这样
11、的三角形的三角形结束结束不存在这样不存在这样的三角形的三角形第一步:输入第一步:输入的值的值第二步:判断第二步:判断 ,是否同是否同时成立时成立.若是若是,则存在这则存在这样的三角形;否则,不样的三角形;否则,不存在这样的三角形存在这样的三角形.否否是是本题的编制程序让计算机执行时比较困难本题的编制程序让计算机执行时比较困难.开始开始输入输入结束结束是是存在这样存在这样的三角形的三角形是是是是不存在这样不存在这样的三角形的三角形否否否否否否例例4.设计一个求解一元二次方程设计一个求解一元二次方程 的的算法,并画出程序框图表示算法,并画出程序框图表示.有两个不相等的实数根有两个不相等的实数根有两
12、个相等的实数根有两个相等的实数根没有实数根没有实数根算算 法法第一步:输入三个系数第一步:输入三个系数第二步:计算第二步:计算第四步:判断第四步:判断是否成立是否成立.若是,则输出若是,则输出否则,计算否则,计算并输出并输出第三步:判断第三步:判断是否成立是否成立.若是,则计算若是,则计算否则,输出否则,输出“方程没有实数根方程没有实数根”,结束算法,结束算法.程序框图程序框图开始开始输入输入输出输出结束结束是是输出输出是是方程没有实数根方程没有实数根否否否否开始开始输入输入输出输出结束结束输出输出“方程无实数根方程无实数根”输出输出是是是是否否否否(3)循环结构循环结构 有些算法中有些算法中
13、,也经常出现从某处开始也经常出现从某处开始,按照一定条件按照一定条件,反复执反复执行某些步骤的情况行某些步骤的情况.这就是这就是循环结构循环结构.反复执行的步骤称为反复执行的步骤称为循环体循环体.求求1+2+3+100第一步第一步:令令第二步第二步:若若 成立成立,则执行第三步;否则则执行第三步;否则,输出输出S,结结束算法束算法.第三步第三步:第四步第四步:,返回第二步返回第二步.开始开始N输出输出结束结束Y计数变量计数变量:用于记录循环次数用于记录循环次数,同时还用同时还用于判断循环是否终止于判断循环是否终止.累加变量累加变量:用于输出结果用于输出结果,一般与计数一般与计数变量同步执行变量
14、同步执行,累加一次累加一次,计数一次计数一次.循环终止条件循环终止条件循环体循环体循环结构的设计步骤循环结构的设计步骤(1)(1)确定循环结构的循环变量和初始条件确定循环结构的循环变量和初始条件;(2)(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即循环体;即循环体;(3)(3)确定循环的终止条件确定循环的终止条件.循环结构的三要素循环结构的三要素循环变量循环变量,循环体、循环的终止条件循环体、循环的终止条件.循环结构一定包含条件结构循环结构一定包含条件结构,用以控制循环过程用以控制循环过程,避免出避免出现现“死循环死循环”.判断框内写上条件判断框内写上条件,两个出口分别对应
15、终止条两个出口分别对应终止条件成立与否件成立与否,其中一个指向循环体其中一个指向循环体,经过循环体回到判断框的经过循环体回到判断框的入口处入口处.循环结构分为循环结构分为当型循环结构当型循环结构和和直到型循环结构直到型循环结构差异差异:循环终止条件不同循环终止条件不同,检验条件是否成立的先后次序也不同检验条件是否成立的先后次序也不同.当型循环结构当型循环结构:先判断后执行循环体先判断后执行循环体.直到型循环结构直到型循环结构:先执行循环体后判断条件是否成立先执行循环体后判断条件是否成立.循环体循环体满足条件?满足条件?否否是是直到型循环结构直到型循环结构当型循环结构当型循环结构循环体循环体满足
16、条件?满足条件?是是否否 例例5.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革新后预技术革新后预计以后每年的生产总值比上一年增加计以后每年的生产总值比上一年增加5%.设计一个程序框图,设计一个程序框图,输出预计年生产总值超过输出预计年生产总值超过300万元的最早年份万元的最早年份.算法算法第一步:输入第一步:输入2005年的年生产总值年的年生产总值.第二步:计算下一年的年生产总值第二步:计算下一年的年生产总值.第三步:判断所得结果是否大于第三步:判断所得结果是否大于300.若是,输出该年若是,输出该年年份年份;否则,返回第二步否则,返回第二步.循环结构的设计步骤循环结
17、构的设计步骤(1)(1)确定循环结构的确定循环结构的循环变量循环变量和和初始条件初始条件;(2)(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即即循环体循环体;(3)(3)确定循环的确定循环的终止条件终止条件.直到型循环结构直到型循环结构当型循环结构当型循环结构开始开始否否结束结束输出输出是是开始开始结束结束输出输出否否当当型型循循环环结结构构直直到到型型循循环环结结构构是是第一步:令第一步:令给定精确度给定精确度d第三步:取区间中点第三步:取区间中点含零点的区间为含零点的区间为第四步:若第四步:若则含零点的区间为则含零点的区间为否则,否则,将新得到的含零点的区间仍记为将新得
18、到的含零点的区间仍记为第二步:确定区间第二步:确定区间满足满足第五步:判断第五步:判断的长度是否小于的长度是否小于d或或f(m)是否等于是否等于0若是,则若是,则m是方程的近似值;否则,返回第三步是方程的近似值;否则,返回第三步顺序结构顺序结构条件结构条件结构循环结构循环结构写出用写出用“二分法二分法”求方程求方程 近近似解的算法似解的算法三、随堂演练三、随堂演练第一步:令第一步:令给定精确度给定精确度d第三步:取区间中点第三步:取区间中点第二步:确定区间第二步:确定区间满足满足顺序结构顺序结构输入精确度输入精确度d和初始值和初始值含零点的区间为含零点的区间为第四步:若第四步:若则含零点的区间
19、为则含零点的区间为否则,否则,将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为条件结构条件结构否否是是或或第四步第四步第三步第三步否否输出输出是是否则,否则,第三步:取区间中点第三步:取区间中点含零点的区间为含零点的区间为第四步:若第四步:若则含零点的区间为则含零点的区间为将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为第五步:判断第五步:判断的长度是否小于的长度是否小于d或或f(m)是否等于是否等于0若是,则若是,则m是方程的近似值;否则,返回第三步是方程的近似值;否则,返回第三步循环结构循环结构或或否否是是否否输入精确度输入精确度d和初始值和初始值开始开始结束结束输出输出是
20、是四、小结作业四、小结作业 为为了了使使大大家家彼彼此此之之间间能能够够读读懂懂各各自自画画出出的的框框图图,必必须须遵遵守守一一些些共共同的规则同的规则.(1)(1)使用标准的框图符号使用标准的框图符号.(2)(2)框图一般按从上到下、从左到右的方向画框图一般按从上到下、从左到右的方向画.(3)(3)流流程程线线是是带带有有方方向向箭箭头头的的线线,用用以以连连接接框框图图,直直观观地地表表示示算算法法的的流流程程.在在程程序序框框图图中中,任任意意两两个个程程序序框框之之间间都都存存在在流流程线程线.(4)(4)在在程程序序框框图图中中,除除起起止止框框外外,任任意意一一个个程程序序框框都
21、都只只有有一一条条流流程程线线“流流进进”,输输入入输输出出框框、处处理理框框都都只只有有一一条条流流程程线线“流出流出”,但判断框一定是至少有两条流程线但判断框一定是至少有两条流程线“流出流出”.(5)(5)一一个个完完整整的的程程序序框框图图包包括括以以下下几几部部分分:表表示示相相应应操操作作的的程程序序框框、带带箭箭头头的的流流程程线线、程程序序框框外外必必要要的的文文字字说说明明.以以起起止框表示开始止框表示开始,以终止框表示结束以终止框表示结束.1.1.画流程图的规则画流程图的规则2.程序框图的画法程序框图的画法 通过对以上知识点的学习可以看出,画出一个算法的程序通过对以上知识点的
22、学习可以看出,画出一个算法的程序框图很有必要框图很有必要.我们可以借助三种基本逻辑结构来表示这样的算我们可以借助三种基本逻辑结构来表示这样的算法,使得算法清楚、简练,便于阅读和交流法,使得算法清楚、简练,便于阅读和交流.一般地,一个算法的程序框图有以下几个步骤:一般地,一个算法的程序框图有以下几个步骤:第一步:用自然语言表述算法步骤第一步:用自然语言表述算法步骤.第二步:确定每一个算法步骤所包含的逻辑结构,并用相应的第二步:确定每一个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到该步骤的程序框图程序框图表示,得到该步骤的程序框图.第三步:将所有步骤的程序框图用流程线连接起来,并加上第三步:将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图终端框,得到表示整个算法的程序框图.3.作业作业P20 P20 习题习题1.1 A1.1 A组组3 B3 B组组2 2