文档详情

112程序框图与算法的基本逻辑结构3课时

无***
实名认证
店铺
PPT
799.50KB
约31页
文档ID:153392760
112程序框图与算法的基本逻辑结构3课时_第1页
1/31

“鸡兔同笼鸡兔同笼”是我国隋朝时期的数学著作是我国隋朝时期的数学著作孙子算经孙子算经中的一个题目中的一个题目:“:“今有鸡兔同笼今有鸡兔同笼,上有三十五头上有三十五头,下有九下有九十四足十四足,问鸡兔各几何问鸡兔各几何.”.”请您设计一个这类问题的通用请您设计一个这类问题的通用算法算法.并画出算法的程序框图并画出算法的程序框图.设有设有x x只鸡只鸡,y,y只兔只兔.则则解解:鸡兔同笼鸡兔同笼,设鸡兔总头数为设鸡兔总头数为H,H,总脚数为总脚数为F,F,求鸡兔各有求鸡兔各有多少只多少只.算法分析如下:算法分析如下:,24.xyHxyF 解方程组解方程组,得得(4)/2,(2)/2.xHFyFH 一、知识导入一、知识导入第一步第一步:输入总头输入总头数数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.程序框图程序框图 算法的表现形态不仅有自然语言算法的表现形态不仅有自然语言,还有程序框图与程还有程序框图与程序序.用自然语言描述算法的优点是通俗易懂用自然语言描述算法的优点是通俗易懂,当算法中的操当算法中的操作步骤都是顺序执行时比较容易理解作步骤都是顺序执行时比较容易理解.缺点是如果算法中缺点是如果算法中包含判断和循环包含判断和循环,并且操作步骤较多时并且操作步骤较多时,就不那么直观清晰就不那么直观清晰了了.函数函数 图象图象算法算法 程序框图程序框图又称流程图又称流程图,是一种用程序框、流程线是一种用程序框、流程线及文字说明来表示算法的图形及文字说明来表示算法的图形.程序框程序框图图程序框程序框名称名称功能功能 终端框终端框(起止框)(起止框)表示一个算法的起始和结束表示一个算法的起始和结束输入、输出框输入、输出框表示一个算法输入和表示一个算法输入和 输出的信息输出的信息 处理框处理框(执行框)(执行框)赋值、计算赋值、计算判断框判断框判断某一条件是否成立判断某一条件是否成立,成立成立时在出口处标明时在出口处标明“是是”或或“Y”Y”;不成立时标明不成立时标明“否否”或或“N”.N”.连接点连接点连接程序框图的两部分连接程序框图的两部分流程线流程线连接程序框连接程序框(1)(1)起止框起止框:框内填写开始、结束框内填写开始、结束,任何程序框图任何程序框图中中,起止框是必不可少的;起止框是必不可少的;(2)(2)输入、输出框输入、输出框:框内填写输入、输出的字母、框内填写输入、输出的字母、符号等;符号等;(3)(3)处理框处理框(执行框执行框):):算法中需要的算式、算法中需要的算式、公公式、对变量进行赋值等要用执行框表示式、对变量进行赋值等要用执行框表示.(4)(4)判断框判断框:当算法要求在不同的情况下执行不当算法要求在不同的情况下执行不同的运算时同的运算时,需要判断框需要判断框.框内填写判断条件框内填写判断条件.四种基本框图的用法四种基本框图的用法例例1.“判断整数判断整数n(n2)是否为质数是否为质数”的算法的算法第一步:给定大于第一步:给定大于2的整数的整数n.第二步:令第二步:令i=2第三步:用第三步:用i除除n,得余数得余数r.判断余数判断余数r是否为是否为0,若是若是,则则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是否大于是否大于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是质数是质数否否顺序结构顺序结构循环结构循环结构条件结构条件结构 尽管算法千差万别尽管算法千差万别,但它们都是由三种基本的逻辑结构构成的但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是这三种逻辑结构就是顺序结构、条件结构、循环结构顺序结构、条件结构、循环结构.(1)顺序结构顺序结构 由若干个依次执行的处理步骤组成的结构由若干个依次执行的处理步骤组成的结构.它是任它是任何一个算法都离不开的结构何一个算法都离不开的结构.步骤步骤n n步骤步骤n n1 1画顺序结构程序框图时注意画顺序结构程序框图时注意事项事项(1)在程序框图中在程序框图中,开始框开始框和结束框不可少;和结束框不可少;(2)在算法过程中在算法过程中,第一步第一步输入语句是必不可少的输入语句是必不可少的;(3)顺序结构在程序框图中顺序结构在程序框图中的体现就是用流程线将程的体现就是用流程线将程序框自上而下地连接起来序框自上而下地连接起来,按顺序执行算法步骤按顺序执行算法步骤.算算 法法第二步:计算第二步:计算2abcp 第三步:计算第三步:计算 ()()()Sp papbpc第四步:输出三角形的面积第四步:输出三角形的面积S S框框 图图开始开始1()2abcp()()()Sp papbpc输出输出S S结束结束第一步:输入第一步:输入 的值的值,a b c输入输入 ,a b c例例2.2.已知一个三角形的三边边长分别为已知一个三角形的三边边长分别为 利用海伦利用海伦-秦九韶公式秦九韶公式,(,),(,),设设计一个算法计一个算法,求出它的面积求出它的面积,并画出算法的程序框图并画出算法的程序框图.()()()Sp papbpc2abcp,a b c(2)条件结构条件结构 在一个算法中在一个算法中,经常会遇到一些条件的判断经常会遇到一些条件的判断,算法的流程算法的流程根据条件是否成立有不同的流向根据条件是否成立有不同的流向.符合条件就执行符合条件就执行A,否则执行否则执行B符合条件就执行符合条件就执行A,否则执否则执行条件结构后的步骤行条件结构后的步骤满足条件?满足条件?步骤步骤A步骤步骤B是是否否步骤步骤A满足条件?满足条件?是是否否例例3.3.任意给定任意给定3 3个正实数个正实数,设计一个算法设计一个算法,判断以这判断以这3 3个正个正实数为三条边边长的三角形是否存在实数为三条边边长的三角形是否存在,并画出这个算法的并画出这个算法的程序框图程序框图.算算 法法程序框图程序框图开始开始输入输入,a b cabcbca cab是否同时成立?是否同时成立?存在这样存在这样的三角形的三角形结束结束不存在这样不存在这样的三角形的三角形第一步:输入第一步:输入的值的值,a b c第二步:判断第二步:判断 ,是否同是否同时成立时成立.若是若是,则存在这则存在这样的三角形;否则,不样的三角形;否则,不存在这样的三角形存在这样的三角形.abcbcacab否否是是本题的编制程序让计算机执行时比较困难本题的编制程序让计算机执行时比较困难.开始开始输入输入,a b c结束结束?abc?bca是是存在这样存在这样的三角形的三角形?cab是是是是不存在这样不存在这样的三角形的三角形否否否否否否例例4.设计一个求解一元二次方程设计一个求解一元二次方程 的算法,并画的算法,并画出程序框图表示出程序框图表示.20axbxc0 有两个不相等的实数根有两个不相等的实数根0 有两个相等的实数根有两个相等的实数根0 没有实数根没有实数根242bbacxa 22baa 算算 法法第一步:输入三个系数第一步:输入三个系数,a b c第二步:计算第二步:计算24bac 0 第四步:判断第四步:判断是否成立是否成立.若是,则输出若是,则输出12xxp否则,计算否则,计算12,xpq xpq并输出并输出12,.xx第三步:判断第三步:判断0 是否成立是否成立.若是,则计算若是,则计算,22bpqaa 否则,输出否则,输出“方程没有实数根方程没有实数根”,结束算法,结束算法.程序框图程序框图开始开始输入输入,a b c2qa 0?24bac 0?2xpq12,xx输出输出结束结束2bpa 是是输出输出p是是方程没有实数根方程没有实数根否否1xpq否否开始开始输入输入,a b c24bac 0?0?12bxa 12bxa 输出输出12,xx结束结束输出输出“方程无实数根方程无实数根”2bxa 输出输出x是是是是否否否否(3)循环结构循环结构 有些算法中有些算法中,也经常出现从某处开始也经常出现从某处开始,按照一定条件按照一定条件,反复执行反复执行某些步骤的情况某些步骤的情况.这就是这就是循环结构循环结构.反复执行的步骤称为反复执行的步骤称为循环体循环体.求求1+2+3+100第一步第一步:令令1,0iS第二步第二步:若若 成立成立,则执行第三步;否则则执行第三步;否则,输出输出S,结束算法结束算法.100i 第三步第三步:SSi第四步第四步:1ii ,返回第二步返回第二步.开始开始1i 0S 100?i N输出输出S结束结束1ii SSiY计数变量计数变量:用于记录循环次数用于记录循环次数,同时还用同时还用于判断循环是否终止于判断循环是否终止.累加变量累加变量:用于输出结果用于输出结果,一般与计数变一般与计数变量同步执行量同步执行,累加一次累加一次,计数一次计数一次.循环终止条件循环终止条件循环体循环体循环结构的设计步骤循环结构的设计步骤(1)(1)确定循环结构的循环变量和初始条件确定循环结构的循环变量和初始条件;(2)(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即循环体;即循环体;(3)(3)确定循环的终止条件确定循环的终止条件.循环结构的三要素循环结构的三要素循环变量循环变量,循环体、循环的终止条件循环体、循环的终止条件.循环结构一定包含条件结构循环结构一定包含条件结构,用以控制循环过程用以控制循环过程,避免出现避免出现“死循环死循环”.判断框内写上条件判断框内写上条件,两个出口分别对应终止条件成两个出口分别对应终止条件成立与否立与否,其中一个指向循环体其中一个指向循环体,经过循环体回到判断框的入口处经过循环体回到判断框的入口处.循环结构分为循环结构分为当型循环结构当型循环结构和和直到型循环结构直到型循环结构差异差异:循环终止条件不同循环终止条件不同,检验条件是否成立的先后次序也不同检验条件是否成立的先后次序也不同.当型循环结构当型循环结构:先判断后执行循环体先判断后执行循环体.直到型循环结构直到型循环结构:先执行循环体后判断条件是否成立先执行循环体后判断条件是否成立.循环体循环体满足条件?满足条件?否否是是直到型循环结构直到型循环结构当型循环结构当型循环结构循环体循环体满足条件?满足条件?是是否否 例例5.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革新后预计技术革新后预计以后每年的生产总值比上一年增加以后每年的生产总值比上一年增加5%.设计一个程序框图,输设计一个程序框图,输出预计年生产总值超过出预计年生产总值超过300万元的最早年份万元的最早年份.算法算法第一步:输入第一步:输入2005年的年生产总值年的年生产总值.第二步:计算下一年的年生产总值第二步:计算下一年的年生产总值.第三步:判断所得结果是否大于第三步:判断所得结果是否大于300.若是,输出该年若是,输出该年年份年份;否则,返回第二步否则,返回第二步.循环结构的设计步骤循环结构的设计步骤(1)(1)确定循环结构的确定循环结构的循环变量循环变量和和初始条件初始条件;(2)(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即即循环体循环体;(3)(3)确定循环的确定循环的终止条件终止条件.,a n200,2005an0.051taaatnn 300?a 直到型循环结构直到型循环结构0.05aa 300?a 当型循环结构当型循环结构开始开始2005n 200a 0.05ta aat 1nn300?a 否否结束结束输出输出n是是开始开始2005n 200a 300?a 结束结束输出输出n否否当型循环结构当型循环结构直到型循环结构直到型循环结构0.05ta aat1nn是是第一步:令第一步:令,2)(2 xxf给定精确度给定精确度d第三步:取区间中点第三步:取区间中点2bam .,ba含零点的区间为含零点的区间为.,bm第四步:若第四步:若()()0,f af m则含零点的区间为则含零点的区间为;,ma否则,否则,将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为第二步:确定区间第二步:确定区间满足满足0)()(bfaf,ba第五步:判断第五步:判断,ba的长度是否小于的长度是否小于d或或f(m)是否等于是否等于0若是,则若是,则m是方程的近似值;否则,返回第三步是方程的近似值;否则,返回第三步顺序结构顺序结构条件结构条件结构循环结构循环结构写出用写出用“二分法二分法”求方程求方程 近似解的算法近似解的算法)0(022xx三、随堂演练三、随堂演练第一步:令第一步:令,2)(2 xxf给定精确度给定精确度d第三步:取区间中点第三步:取区间中点2bam 第二步:确定区间第二步:确定区间满足满足0)()(bfaf,ba顺序结构顺序结构2()2f xx输入精确度输入精确度d和初始值和初始值,a b2abm .,ba含零点的区间为含零点的区间为.,bm第四步:若第四步:若()()0,f af m则含零点的区间为则含零点的区间为;,ma否则,否则,将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为条件结构条件结构()()0?f a f m am 否否bm 是是|abd或或()0?f m 第四步第四步第三步第三步否否输出输出m是是2bam 否则,否则,第三步:取区间中点第三步:取区间中点.,ba含零点的区间为含零点的区间为.,bm第四步:若第四步:若()()0,f af m则含零点的区间为则含零点的区间为;,ma将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为第五步:判断第五步:判断,ba的长度是否小于的长度是否小于d或或f(m)是否等于是否等于0若是,则若是,则m是方程的近似值;否则,返回第三步是方程的近似值;否则,返回第三步循环结构循环结构|abd或或()0?f m am 否否bm 是是2abm ()()0?f a f m 否否输入精确度输入精确度d和初始值和初始值,a b2()2f xx开始开始结束结束输出输出m是是四、小结作业四、小结作业 为了使大家彼此之间能够读懂各自画出的框图为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共必须遵守一些共同的规则同的规则.(1)(1)使用标准的框图符号使用标准的框图符号.(2)(2)框图一般按从上到下、从左到右的方向画框图一般按从上到下、从左到右的方向画.(3)(3)流程线是带有方向箭头的线流程线是带有方向箭头的线,用以连接框图用以连接框图,直观地表直观地表示算法的流程示算法的流程.在程序框图中在程序框图中,任意两个程序框之间都存在任意两个程序框之间都存在流程线流程线.(4)(4)在程序框图中在程序框图中,除起止框外除起止框外,任意一个程序框都只有一任意一个程序框都只有一条流程线条流程线“流进流进”,输入输出框、处理框都只有一条流程输入输出框、处理框都只有一条流程线线“流出流出”,但判断框一定是至少有两条流程线但判断框一定是至少有两条流程线“流出流出”.(5)(5)一个完整的程序框图包括以下几部分:表示相应操作一个完整的程序框图包括以下几部分:表示相应操作的程序框、带箭头的流程线、程序框外必要的文字说明的程序框、带箭头的流程线、程序框外必要的文字说明.以以起止框表示开始起止框表示开始,以终止框表示结束以终止框表示结束.1.1.画流程图的规则画流程图的规则2.程序框图的画法程序框图的画法 通过对以上知识点的学习可以看出,画出一个算法的程序通过对以上知识点的学习可以看出,画出一个算法的程序框图很有必要框图很有必要.我们可以借助三种基本逻辑结构来表示这样的算我们可以借助三种基本逻辑结构来表示这样的算法,使得算法清楚、简练,便于阅读和交流法,使得算法清楚、简练,便于阅读和交流.一般地,一个算法的程序框图有以下几个步骤:一般地,一个算法的程序框图有以下几个步骤:第一步:用自然语言表述算法步骤第一步:用自然语言表述算法步骤.第二步:确定每一个算法步骤所包含的逻辑结构,并用相应的第二步:确定每一个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到该步骤的程序框图程序框图表示,得到该步骤的程序框图.第三步:将所有步骤的程序框图用流程线连接起来,并加上第三步:将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图终端框,得到表示整个算法的程序框图.3.作业作业P20 P20 习题习题1.1 A1.1 A组组3 B3 B组组2 2。

下载提示
相关文档
正为您匹配相似的精品文档