、程序框图与算法基本逻辑结构:1. 程序框图符号及作用:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形图形符号名称功能C_■)终端框(起止框) 表示一个算法的起始和结束,是任何算法程序框图不可缺少的口输入、输岀框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置处理框(执行框)赋值、计算.算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内O判断框判断某一条件是否成立,成立时岀口处标明“是”或“丫”;不成立时标明“否”或“ N”流程线连接程序框,表示算法进行的前进方向以及先后顺序O连接点如果一个流程图需要分开来画,要在断开处画上连接点,并标岀连接的号码例:解一元二次方程:ax2 bx c 0(a 0)开始2. 画程序框图的规则:为了使大家彼此之间能够读懂各自画岀的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.(1)实用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画(3)—个完整的程序框图必须有终端框,用于表示程序的开始和结束(4)除判断框外,大多数框图符号只有一个进入点和一个退岀点,判断框是具有超过一个退岀点的唯一符号, 另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果.(5)在图形符号内用于描述的语言要非常简练清楚算法与程序框图辅出£3. 算法的三种基本逻辑结构:1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法离不开的基本结构•如图,只有在执行完步骤n后,才能接着执行步骤n+1.例: .已知梯形的上底、下底和高分别为5、8、9,写岀求梯形的面积的算法,画岀流程图[开始)解: 算法如下:丄a^5S1a—5;J J jS2b—8;b—8JS3h—9; h^9S4S—( a+b)x h/2 ;JS5输出S.s J(a+b) x h/2流程图如下:J(2)条件结构一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P时,根据条件P是否成立,选择不同的执行框(步骤A,步骤B),无论条件P是否成立,只能执行步骤A或步骤B之一,不可以两者都执行或都不执行.步骤A和步骤B中可以有一个是空的.例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为S3输出行李的重量和运费c .(3)循环结构步骤n步骤n+10.53 , 50, 、c 其中(单位:50 0.53 (50) 0.85, 50,试给岀计算费用c (单位:元)的一个算法,并画岀流程图.S1输入行李的重量;S2如果50,那么c 0.53 ,否则c 50 0.53 (50) 0.85 ;kg)为行李的重量.输人r—H 釣X R u —WX竹竹十50)X0 S5例:北京成功举办了 2008年第29届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权 归属的吗对筛选出的 5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总 票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的 城市淘汰,然后重复上述过程,直到选岀一个申办城市为止 .怎样用算法结构表述上面的操作过程解:算法为:S1投票;S2统计票数,如果有一个城市得 票超过总票数的一半,那么该城 市就获得举办权,转 S3,否则淘 汰得票数最少的城市,转 S1; S3宣布主办城市.这里,“投票”就是一个循环体 循环结构有两种形式:直到型循环结构(暮4)until 型)和当型循环结构( while 型)(1) 直到型循环结构如图,直到型循环在执行一次循环体 A 之后,对控制循环的条件 P 进行判断,如果条 件P 不成立则返回继续执行循环体 A ,执行后,再判断条件P 是否成立,依次重复操作,直到某一次给定的判断条件 P 成立为止.此时,不再返回来执行循环体A ,离开循环结构,继续执行下面的结构•直到型循环,因其先 执行一次循环体,再 对控制循环的条件进行判断,然后根据判断的结果决定是否继续执行循环体 .当条件不成立.时继续执.行循环体,当条件成立时,跳岀循环结构,所以, 我们也把直到型循环称为“后测试型”循环(2) 当型循环结构如图,每次执行循环体 A 前,先对控制循环的条件 P 进行判断,当条件 P 成立时执行 循环体A ,循环体A 执行完毕后,返回来再判断条件 P 是否成立,如果条件 P 仍然成立,那么再执行循环体 A ,如此反复执行循环体 A ,直到某一次返回来判断条件 P 不成立时为止,此时不再执行循环体A ,离开循环结构,继续执行下面的结构•也正因为当型循环结构先.对条件P 进行判断,当条件P 成立时,执行循环体;当条件不成立时, 跳岀循环结构,我们常常把当型循环结构还称为“前测试型”循环区别:“当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时 终止循环的. 联系:两个循环形式不同但功能和作用相同,一般情况下可以相互转化.100例:写岀计算i 的算法及程序框图(分别用直到型循环和当i 1在一些算法中要求重复执行同一操作的结构称为循环结构 过程.重复执行的处理步骤称为循环体..即从算法某处开始,按照一定条件重复执行某一处理型循环)(全解P15)解:第一步:设i的值为1;第二步:设sum的值为0;第三步:如果i< 100执行第四步,否则转去执行第七步;第四步:计算sum + i并将结果代替sum;第五步:计算i+ 1并将结果代替i;第六步:转去执行第三步;第七步:输岀sum的值并结束算法.循环结构的应用:确定循环变量和初始条件;确定算法中反复执行的部分,即循环体;确定循环的条件;注意不要岀现“死循环”.二、基本算法语句1、输入语句2、输出语句3、赋值语句一4、条件语句IF-THEN IF-THEN-ELSE格式格式5、循环语句(1)WHILE 语句(2)UNTIL 语句三、算法案例1 •任何一种程序设计语言都包含五种基本的算法语句, 它们是输入语句,输出语句,赋值语句,条件语句,循环语句2.输入语句的一般格式是INPUT "提示内容”;变量;输出语句的一般格式是 PRINT "提示内容";表达式;输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序 框图中的条件结构和循环结构 .3•常用符号运算符号:加 _+_,减二_,乘二,除/ ,乘方aS ,整数取商求余数 MOD.逻辑符号:且 AND ,或OR ,大于 >,等于=,小于v ,大于等于 >=,小于等于 <=不等于<>. 常用函数:绝对值 ABS,平方根SQR 取整[NT.4. 算法案例(1)辗转相除法和更相减损术 辗转相除法和更相减损术都是求两个正整数的最大公约数的方法 .(1) 辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为 ____________ 0 ,则将小数和余数构成新的一对 数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数(2) 更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以 2(假设进行了 k 次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法, 反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的 2k 即为所求两数的最大公约数(2)秦九韶算法秦九韶算法是求多项式值的优秀算法 设 f (x) a n x n a n 1x n 1 L 改写为如下形式:设 V oa n , WV o x a n 1变量表达式;条件语句的一般格式是IF 条件 THEN语句体END IF或循环语句的一般格式是DO循环体LOOP UNTIL 条件和IF 条件 THEN语句体1ELSE语句体2END IFWHILE 条件循环体 -WENDf(x)(L (a n X a n 1)x a n 2)xL ai)x a o .赋值语句的一般格式是v 2 wx a n 2v 3 v 2x a n 3L V n V n i X a 。
这样求n 次多项式f(x)的值就转化为求n 个一次多项式的值•当多项式中有些项不存在时,可将这几项看做° x n ,补齐后再利用秦九韶算法进行计算 •对于一个n 次多项式,只需做n 次乘法和n 次加法运算即可(3) 进位制K 进制数的基数为k , k 进制数是由0~k 1之间的数字构成的•将十进制的数转化为 k 进制数的方法是除 k 取余法.把k 进制数a “a ni L a i a °(0 a . k,0 a . i 丄a i ,a ° k)化为十进制数的方法为a na n 1L a ia°( k)a nka n ikL a ik a° •一、典例精析1 i ii i例i •写岀用循环语句描述求 s iL的值的算法程序•2 3 499 i°0例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排岀的污水量 m 吨收取的污水处理费y 元,运行程序如下所示:m 的函数关系,并求排放污水 i50吨的污水处理费用IF m 50 THEN y i3 m ELSEIF m 100 THEN y 50 15*( m 50) ELSEy 150 25 (m 100) END IF END IF例3 .求三个数72,120,168 的最大公约数变式:试写出求正整数m, n( m n) 的最小公倍数的算法程序解:例4.用秦九韶算法求多项式f (x) x5 2x4 3x3 4x2 5x 6 在x 2 时的值.(8)例5.完成下列进制的转化(1)1020為 ________ (io )(2)101(io )变式训练:下面是把二进制数11111(2)化为十进制数的一个程序框图,判断框内应填入的条件是A. i 5?B. i 4?C. i4? D. i 1 5?二、习题精练(一)基本概念1.下列关于算法的说法正确的是()A.某算法可以无止境地运算下去E. —个问题的算法步骤可以是可逆的 C. 完成一件事情的算法有且只有一种D. 设计算法要本着简单、方便、可操作的原则2 •任何一个算法都离不开的基本结构为()A.逻辑结构 E.选择结构 C.循环结构D.顺序结构3 •下列图形符号表示判断框的是(4•能够使算法的程序和步骤表达更为直观的是()A.自然语言B.流程图C.数学语言D.逻辑语言5•下面的四种叙述不能称为算法的是( )A. 广播的广播操图解B. 歌曲的歌谱C. 做饭用米D. 做米饭需要刷锅、淘米、添水、加热这些步骤A .B.C.6 •在流程图中,算法要处理数据或计算,可分别写在不同的( )A.处理框内 E.判断框内 C.输入、输岀框内D.循环框内(二)顺序结构及其应用1.早上从起床到岀门需要洗脸刷牙 (5 min )、刷水壶(2 min )、烧水(8 min )、泡面(3 min )、吃饭(10 min )、 听广播(8 min )几个步骤.从下列选项中选最好的一种算法( 洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播C. S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶2. 写岀求方程ax b 0 , ( a 0)的算法步骤 3 ________________, 5 __________ , $ __________ .5. “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法/输出上/(三)条件结构及其应用数.④求函数f(x)r x 1. x 0{ X 2. x 0的函数值.其中不需要用条件语句来描述其算法的有()A. 1个B. 2个C. 3个D. 4个1.给岀以下四个问题,①输入一个数x,输岀它的相反数.②求面积为2.图中所示的算法的功能是 ______________ (求两个数中的最大数 )3.将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是( ) D.4.右边流程图表示 ______________ 算法,输出的S6的正方形的周长.③求三个数a,b,c 中的最大结束YN①k 的S = 0尹 1(10?输出max (第一题)^7c. 6 B . 5 输岀②A . 4 D . 7输入a, b输岀a- b 输入b 亠 N "»max>b?3.根据题意,完成流程图填空:输入两个数,输岀这两个数差的绝对值C 开始:结束三、课后作业1. ( 2009浙江卷理) 某程序框图如图所示,该程序运行后输岀的 值是()2、( 2009辽宁卷文)一个月的收(第二题) 某店/_■:瓦卜丿"max=a 开始\amax=b框图计算月总收入S 和月净盈利 V ,那么在图中空白的判断框和处理框中,应分别填入( ) 下列四个选项中的> 0,V = S — T B. A v 0,V = S — TC. A > 0, V = S + Tv 0, V = S+ T4、(2009年广东卷文)某篮球队6名主力队员在最近三场比赛中投进的三分球个 数如下表所示:入和支出总共记录了N 个数据 a i , a ?, a N ,其中收入记为正数,支岀记为负数。