课件25张PPT。请试写出一个算法?写出求一个数绝对值的一个算法. 解:第一步:输入要求绝对值的数a. 第二步:②若a=0, 则b=0(b为a的绝对值)。
若a>0,则b=a;
若a<0,则b=-a.
第三步:输出a 的绝对值b。1.1.2 程序框图与算法的基本逻辑结构 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.算法分析:前面我们知道:算法可以用自然语言来描述.第一步,给定大于2的整数n
第二步,令i=2
第三步,用i除n,得到余数r
第四步,判断“r=0”是否成立,若是,则n不 是质数,结束算法;否则令i=i+1
第五步,判断“i>(n-1)”是否成立,若是,则n是质数,结束算法;否则返回第三步开始输入ni=2求n除以i的余数ri的值增加1仍用i表示i>n-1?输出“n不是质数”结束是否是输出“n是质数”否r=0?设n是一个大于2的整数.一般用i=i+1表示. i=i+1也可以用
图形方式
来表示
(框图)思考?通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练,直观,流向清楚. 程序框图又称流程图,是一种用程序框、流程线及文字说明来准确、直观地表示算法的图形.一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.基本的程序框和它们各自表示的功能如下:终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.判断框赋值、计算流程线连接程序框连接点连接程序框图的两部分开始输入ni=2求n除以i的余数ri=i+1i>n-1或r=0?结束是否是否r=0?顺序结构用程序框图来表示算法,有三种不同的基本逻辑结构:条件结构循环结构输出“n不是质数”输出“n是质数” 程序框图的三种基本的逻辑结构顺序结构条件结构循环结构(1)顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构. 例1:已知一个三角形的三边边长分别为a,b,c,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.例1:已知一个三角形的三边边长分别为a,b,c,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.算法分析:第二步:计算p的值.第三步:由海伦-秦九韶公式求出三角形的面积S.第四步:输出S的值.第一步:输入三角形三条边的边长a,b,c画出:已知三角形的三边长a,b,c,求它的面积的程序框图.开始输出S结束输入a,b,c练习1 已知两个单元分别存放了x和y的值。 试交换这两个变量值。
设计算法,并用框图表示(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.算法分析:第一步:输入3个正实数a,b,c;第二步:判断a+b>c,a+c>b,b+c>a是否同时成立,若是,则能组成三角形;若否,则组不成三角形.程序框图:开始输入a,b,ca+b>c,a+c>b,b+c>a是否
同时成立?是存在这样的
三角形不存在这样的
三角形否结束例3:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法,并画出程序框图.解:y与x之间的函数关系为:(当0≤x≤7时)
(当x>7时)解:y与x之间的函数关系为:(当0≤x≤7时)
(当x>7时)算法分析:第一步:输入每月用水量x;
第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9.
第三步:输出应交纳的水费y.开始输入用水量x0 ≤ x≤7?是y=1.2x否y=1.9x-4.9输出y结束程序框图例4.画程序框图,对于输入的x值,输出相应的y值.开始程序框图x<0?是y=0否x<1?是y=1否y=x输出y结束输入x是练习2.设计一个求任意数的绝对值的算法,并画出程序框图.算法分析:第一步:输入数x;
第二步:判断x≥0是否成立?若是,则|x|=x;若否,则|x|=-x.程序框图:开始输入xx≥0?输出x否输出-x结束例5:详见P11-12(3)循环结构---在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.反复执行的步骤称为---循环体注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断。 因此,
循环结构中一定包含条件结构.例5:设计一个计算1+2+3+……+100的值的算法,并画出程序框图.算法分析:第1步:0+1=1;
第2步:1+2=3;
第3步:3+3=6;
第4步:6+4=10
…………
第100步:4950+100=5050.
第(i-1)步的结果+i=第i步的结果各步骤有共同的结构:为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把第i步表示为 S=S+iS的初始值为0,i依次取1,2,…,100,由于i既是累加的数值又同时记录了循环的次数,所以i称为计数变量.程序框图:开始i=1S=0S=S+ii=i+1i>100?是输出S结束否直到型循环结构开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构说明:(1)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.(2)循环结构分为两种------当型和直到型. 当型循环在每次执行循环体前,条件进行判断,当条件满足时,执行循环体,否则终止循环;(当条件满足时反复执行循环体) 直到型循环在执行了一次循环体之后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.(反复执行循环体,直到条件满足终止循环)程序框图:开始i=1S=0S=S+ii=i+1i>100?是输出S结束否直到型循环结构开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构