课件20张PPT。算法的基本逻辑结构
——顺序结构新课引入 算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表达它. 例如上一节“例1.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定”的算法可以用以下形式来表达. 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数作出判断。第一步:给定大于2的整数n第二步:第三步:第四步:第五步:开始输入ni=2i=i+1i≥n或r=0?n不是质数结束r=0?1否是求n除以i
的余数r1n是质数是否 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.讲授新课1.程序框图的概念2.常见的程序框图(ANSI,美国国家标准化协会)流程线连接循环框连结点连接循环框图的两部分一、程序框图终端框
(起止框)输入、
输出框处理框
(执行框)判断框表示一个算法的
起始和结束表示一个算法输
入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.(1)起止框:框内填写开始、结束,任何程序框图中,起止框是必不可少的;(2)输入、输出框:框内填写输入、输出的字母、符号等;(3)处理框(执行框):算法中需要的算式、 公式、对变量进行赋值等要用执行框表示.(4)判断框:当算法要求在不同的情况下执行不同的运算时,需要判断框.框内填写判断条件.3.四种基本框图的及其功能用法: 为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则作一简单的介绍.(1)使用标准的框图符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,大多数程序框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号.
(4)一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.4.画流程图的规则(5)在图形符号内描述的语言要非常简练清楚.(7)一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要的文字说明.(6)起始框只允许一条流出线,终止框只允许一条流入线,输入框、输出框、处理框只有一条流入线和一条流出线,判断框有一条流入线和两条流出线,但任何时候只有一条流出线起作用.开始输入ni=2i=i+1i≥n或r=0?n不是质数结束r=0?1否是求n除以i
的余数r1n是质数是否 尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是顺序结构、循环结构、选择结构.下面分别介绍这三种结构. 从上面的程序框图中,不难看出以下三种不同的逻辑结构.二、顺序结构及框图表示1.顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.语句A语句B2.顺序结构的流程图 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个处理步骤组成的,这是任何一个算法都离不开的基本结构.3.画顺序结构程序框图时注意事项左图中,语句A和语句B是依次执行的,只有在执行完语句A指定的操作后,才能接着执行语句B所指定的操作.(1)在程序框图中,开始框和结束框不可少;
(2)在算法过程中,第一步输入语句是必不可少的;
(3)顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.【例1】已知一个三角形的三边边长分别为2,3,4,利用海伦—秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.开始输出S结束开始框处理框输出框结束框输入框输入a,b,c【例2】求两个实数 a,b 的算术平均值 aver. S1: 输入两个实数 a,b ;S2:计算 c=a+b;S3: 计算 aver=c/2;S4: 输出 aver.输出aver开始输入 a,b结 束解:用数学语言【例3】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何.” 请你设计一个这类问题的通用算法.并画出算法的程序框图.设有X 只鸡,Y 只兔.则解: 鸡兔同笼,设鸡兔总头数为H ,总脚数为F,求鸡兔各有多少只.算法分析如下: 解方程组,得第一步:输入总头数H,
总脚数F;
第二步:计算鸡的个数
x=(4H-F)/2;
第三步:计算兔的个数
y=(F-2H)/2;
第四步:输出 x , y开始输出X,Y结束X=(4H-F)/2Y=(F-2H)/2输入H和F解:用数学语言程序框图第四步:计算 ;【例4】试描述求点(x0 , y0)到直线Ax+By+C=0的距离的算法,并画出算法的程序框图.第一步:输入x0,y0,A,B,C;第二步:计算Z1=Ax0+By0+C;第三步:计算Z2=A2+B2;第五步:输出d.解:用数学语言开始输入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2输出d结束程序框图课堂小结2.顺序结构的特点1.程序框图:由于图形的描述方法既形象,又直观,设计者的思路表达得清楚易懂,便于检查修改,所以得到广泛的应用.