您好,欢迎访问三七文档
§1.1.2程序框图主页程序框图与算法的基本逻辑结构§1.1.2程序框图主页狭义而言,算法是专指用计算机解决某一问题的方法和步骤.1.算法的概念复习回顾广义而言,算法就是解决某个问题或处理某件事的方法和步骤.一般地,按照一定规则解决某一类问题的明确和有限的步骤称为算法(algorithm)。§1.1.2程序框图主页一类是数值计算算法,主要是解决一般数学方法难以处理的一些数学问题,如求解超越方程的根、求定积分、解微分方程等;另一类是非数值计算算法,如对非数值信息的排序、查找等.2.计算机算法可以分为两大类:用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.§1.1.2程序框图主页新课引入算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表达它.例如上一节“例1.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定”的算法可以用以下形式来表达.§1.1.2程序框图主页开始输入ni=2i=i+1i≥n或r=0?n不是质数结束r=0?1否是求n除以i的余数r1n是质数是否§1.1.2程序框图主页i=i+1i≥n或r=0?否是求n除以i的余数r输入ni=2n不是质数r=0?n是质数是否尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是顺序结构、条件结构、循环结构.下面分别介绍这三种结构.从上面的程序框图中,不难看出以下三种不同的逻辑结构.§1.1.2程序框图主页程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.讲授新课1.程序框图的概念2.常见的程序框及功能图形符号名称功能流程线连接程序框连结点连接程序框图的两部分一、程序框图§1.1.2程序框图主页图形符号名称功能终端框(起止框)输入、输出框处理框(执行框)判断框表示一个算法的起始和结束表示一个算法输入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.§1.1.2程序框图主页(1)起止框:框内填写开始、结束,任何程序框图中,起止框是必不可少的;(2)输入、输出框:框内填写输入、输出的字母、符号等;(3)处理框(执行框):算法中需要的算式、公式、对变量进行赋值等要用执行框表示.(4)判断框:当算法要求在不同的情况下执行不同的运算时,需要判断框.框内填写判断条件.3.四种基本的及其功能用法:§1.1.2程序框图主页为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则作一简单的介绍.(1)使用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画.(3)除判断框外,大多数程序框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号.(4)一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.4.画流程图的规则§1.1.2程序框图主页(5)在图形符号内描述的语言要非常简练清楚.(7)一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要的文字说明.(6)起始框只允许一条流出线,终止框只允许一条流入线,输入框、输出框、处理框只有一条流入线和一条流出线,判断框有一条流入线和两条流出线,但任何时候只有一条流出线起作用.§1.1.2程序框图主页二、顺序结构及框图表示1.顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.语句A语句B2.顺序结构的流程图顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个处理步骤组成的,这是任何一个算法都离不开的基本结构.§1.1.2程序框图主页3.画顺序结构程序框图时注意事项左图中,语句A和语句B是依次执行的,只有在执行完语句A指定的操作后,才能接着执行语句B所指定的操作.(1)在程序框图中,开始框和结束框不可少;(2)在算法过程中,第一步输入语句是必不可少的;(3)顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.语句A语句B语句A语句B§1.1.2程序框图主页【例1】已知一个三角形的三边边长分别为2,3,4,利用海伦—秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.开始输出S结束2342p()()()Sppapbpc开始框处理框输出框结束框输入a,b,c输入框§1.1.2程序框图主页【1】求两个实数a,b的算术平均值aver.S1:输入两个实数a,b;S2:计算c=a+b;S3:计算aver=c/2;S4:输出aver.输出c开始输入a,bbacaver=c/2结束解:用数学语言§1.1.2程序框图主页【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何.”请你设计一个这类问题的通用算法.并画出算法的程序框图.设有X只鸡,Y只兔.则解:鸡兔同笼,设鸡兔总头数为H,总脚数为F,求鸡兔各有多少只.算法分析如下:,24.XYHXYF解方程组,得(4)/2,(2)/2.XHFYFH§1.1.2程序框图主页第一步:输入总头数H,总脚数F;第二步:计算鸡的个数x=(4H-F)/2;第三步:计算兔的个数y=(F-2H)/2;第四步:输出x,y开始输出X,Y结束X=(4H-F)/2Y=(F-2H)/2输入H和F解:用数学语言程序框图§1.1.2程序框图主页第四步:计算;【3】试描述求点(x0,y0)到直线Ax+By+C=0的距离的算法,并画出算法的程序框图.第一步:输入x0,y0,A,B,C;第二步:计算Z1=Ax0+By0+C;第三步:计算Z2=A2+B2;12||ZdZ第五步:输出d.解:用数学语言§1.1.2程序框图主页开始输入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2输出d结束12||zdz程序框图§1.1.2程序框图主页课堂小结2.现以证明,无论多么复杂的问题,其算法都可表示为这三种基本结构的组合.其结构清晰、易于理解、易于验证其正确性,也易于查错和排错.1.算法的描述(1)文字描述(2)程序框图:由于图形的描述方法既形象,又直观,设计者的思路表达得清楚易懂,便于检查修改,所以得到广泛的应用.§1.1.2程序框图主页1.条件结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.它的一般形式是基本形式1一、条件结构及框图表示讲授新课满足条件?语句否是§1.1.2程序框图主页一、条件结构及框图表示满足条件?语句1语句2是否讲授新课基本形式2基本形式2包含一个判断框,根据给定的条件是否成立而选择执行语句1或语句2,无论条件是否成立,只能执行语句2或语句2之一,不可能执行语句1又执行语句2,也不可能语句1,语句2都不执行.§1.1.2程序框图主页【例1】任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.a+bc,a+cb,b+ca是否同时成立?开始存在这样的三角形结束不存在这样的三角形否是输入a,b,c§1.1.2程序框图主页开始输入xx≥0?否是输出x输出-x结束课堂练习【1】设计一个求任意数的绝对值的算法,并画出程序框图.第一步:输入x;第二步:如果x≥0,则lxl=x;否则,lxl=-x;第三步:输出lxl.§1.1.2程序框图主页开始输入xX3?否是结束y=5+1.2(x-3)输出yy=55,(3)51.2(3).(3)xyxx【2】卫生费:计费方法:3人和3人以下,每户收5元;超过3人的住户,每超过1人加收1.2元,设计一个算法,根据输入的人数,计算应收的卫生费,并画出程序框图.§1.1.2程序框图主页开始输出min结束min=a输入a,b,cbmin?YNmin=b【3】画出一个求3个实数中最小数的程序框图.cmin?min=cNY11§1.1.2程序框图主页输出x,y结束D=0?1221acacyD输出无法求解信息YN【4】画出用公式法解二元一次方程组的算法的程序框图.111222,.axbycaxbyc开始D=a1b2-a2b1输入a1,b1,c1a2,b2,c22112,bcbcxD11§1.1.2程序框图主页开始y=1结束输入xX≤100?否是X≤5000?X≤100000?y=x×1%y=50是是否否【5】观察所给程序框图,说出它所表示的函数.)100000x5000(,50)5000x100(,01.0x)100x(,1y§1.1.2程序框图主页【例2】闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.§1.1.2程序框图主页课堂作业课本P.202预习1.1.2程序框图P8-9随堂练习
本文标题:程序框图1
链接地址:https://www.777doc.com/doc-3384670 .html