02算法与框图总结

资源下载
  1. 二一教育资源

02算法与框图总结

资源简介

算法与框图
1.算法的概念 指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
2.算法的五个重要特征 (1)有穷性:一个算法必须保证执行有限步后结束; (2)确切性:算法的每一步必须有确切的定义; (3)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次 即可完成; 输入:一个算法有0个或多个输入,以刻划运算对象的初始条件。 所谓0个输入是指算法本身定出了初始条件。 输出:一个算法有1个或多个输出,以反映对输入数据加工后的结 果。没有输出的算法是毫无意义的。例1、下列语句是算法的个数为(  ) ①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎; ②统筹法中“烧水泡茶”的故事; ③测量某棵树的高度,判断其是否为大树; ④已知三角形的两边及夹角,利用三角形的面积公式求出该三角形的面积.A.1    B.2    C.3    D.4 解:①中勾画了从济南到巴黎的行程安排,完成了 (?http:?/??/?www.21cnjy.com?)任务;②中节约时间,烧水泡茶完成了任务;③中对“树的大小”没有明确的标准,无法完成任务,不是有效的算法构造;④是纯数学问题,利用三角形的面积公式求出三角形的面积.故选C.例2、“韩信点兵”问题.韩信是汉高祖刘邦手下的大将,为了保守军事机密,他在点兵时采用下述方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就知道了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.解:在本题中,士兵从1~3报数,最后一个士兵报2,说明士兵的总人数是除以3余2,其他两种情况依此类推. (算法一)步骤如下: 第一步:先确定最小的满足除以7余4的数是4; 第二步:依次加7就得到所有满足除以7余4的数:4,11,18,25,32,39,46,53,60,…; 第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:18; 第四步:依次加上35,得18,53,88,…; 第五步:在第四步得到的一列数中,找到最小的满足除以3余2的正整数:53,这就是我们要求的数. (算法二)步骤如下: 第一步:先确定最小的满足除以3余2的数是2; 第二步:依次加3就得到所有 (?http:?/??/?www.21cnjy.com?)满足除以3余2的数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…; 第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:8; 第四步:然后依次加15就得8,23,38,53,…,不难看出,这些数既满足除以3余2,又满足除以5余3; 第五步:在第四步所得的一列数中找到满足除以7余4的最小数是53,这就是我们要求的数. 点拨: 给出一个问题,设计算法时 (?http:?/??/?www.21cnjy.com?)要注意:(1)认真分析问题,研究解决此问题的一般方法;(2)将解决问题的过程分解成若干步骤;(3)用简练的语言将各步骤表示出来;(4)把解题过程条理清楚地表达出来,就得到一个明确的算法.对于同一问题,可以设计不同的算法,其最终的结果是一样的,但解决问题的繁简程度不同,我们要寻找最优算法.
3.程序框图及结构 程序框 名称 功能 起止框 表示一个算法的起始和结束,是任何流程图不可少的。 输入、输出框 表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。 处理框 赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。 判断框 判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。
4.算法的三种基本逻辑结构 顺序结构、条件结构、循环结构。
(1)条件结构 条件结构分支结构的一般形式 两种结构的共性:①一个入口,一个出口。特别注意:一个判断框可以有两个出口,但一个条件分支结构只有一个出口。②结构中每个部分都有可能被执行,即对每一个框都有从入口进、出口出的路径。 以上两点是用来检查流程图是否合理的基本方法(当然,学习循环结构后,循环结构也有此特点)提醒:解决分段函数的求值等问题,一般可采用条件结构来设计算法.例:如图所示程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=(  ) A.0 B.2 C.4 D.14 解:执行该程序,输入a,b的值依次为a= (?http:?/??/?www.21cnjy.com?)14,b=18;a=14,b=4;a=10,b=4;a=6,b=4;a=2,b=4;a=b=2,此时退出循环,输出的a=2.故选B.
(2)顺序结构 顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的例:已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图.解:算法如下:第一步:输入x0,y0及直线方程的系数A,B,C. 第二步:计算z1=Ax0+By0+C. 第三步:计算z2=A2+B2. 第四步:计算d=. 第五步:输出d. 流程图如图所示. .
(3)循环结构 如图所示,它的功能是当给定的条件P1成立时,执行A框,A框执行完毕后,再判断条件P1???是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P1?不成立为止,此时不再执行A框,从b离开循环结构。 例:根据下边的框图,当输入x为2006时,输出的y=(  ) A.28 B.10 C.4 D.2 解:初始条件:x=2006.第 (?http:?/??/?www.21cnjy.com?)1次运行:x=2004;第2次运行:x=2002;第3次运行:x=2000;…;第1003次运行:x=0;第1004次运行:x=-2,不满足条件,跳出循环,所以输出的y=32+1=10,故选B. (2)如下图所示,它的功能是先执行,然后判断给定的条件P2是否成立,如果P2?仍然不成立,则继续执行A框,直到某一次给定的条件P2成立为止,此时不再执行A框,从b点离开循环结构。 例:执行如图所示的程序框图,若输出k的值为6,则判断框内可填入的条件是(  )s> B.s> C.s> D.s> 解:当输出k的值为6时,s=1×××=,结合各选项知,C符合要求.故选C.
5.算法的三种语句 赋值语句,条件语句,循环语句。
(1)赋值语句 在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量的一个具体的确定值的语句叫做赋值语句. 赋值语句的一般格式:变量名=表达式 ①“=”的意义和作用:赋值语句中的“=”号,称作赋值号. ②赋值语句的作用:先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.
关于赋值语句,需要注意几点: ①赋值号左边只能是变量名,而不是表达式.例如都是错误的. ②赋值号左右不能对换.赋值语句是将赋值号右边的表达式赋值给赋值号左边的变量.例如:,表示用的值替代变量原先的取值,不能改写成,因为后者表示用Y的值替代变量X的值. ③不能利用赋值语句进行代数式(或符号)的演算.在赋值语句中的赋值符号右边的表达式中的每一个变量都必须事先赋值给确定的值,不能用赋值语句进行如化简,因式分解等演算,如是不能实现的.在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”. ④赋值号和数学中的等号的意义不同.赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值.例如等;如果原来已经有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.例如:在数学中是不成立的,但在赋值语句中,意思是将的原值加1再赋给,即的值增加1.
(2)条件语句 例:某程序如下:INPUT “x=”;x IF x<=10 THEN p=x*0.35 ELSE p=10*0.35+(x-10)*0.7 END IF PRINT p END (1)输入x=6,则p=____________;(2)输入x=20,则p=____________. 解:(1)x=6满足x≤10,∴p=6×0.35=2.1; (2)x=20时不满足x≤10,∴p=10×0.35+(20-10)×0.7=10.5. 故填2.1;10.5.
(3)循环语句 例:计算12+22+32+…+1002的值,分别用WHILE型语句和UNTIL型语句编写程序.解:FOR型:    UNTIL型: i=1 S=0 DO S=S+i^2 i=i+1 LOOP UNTIL i>100 PRINT S END i=1 S=0FOR i=1 TO 100S=S+i^2 i=i+1NEXTPRINT S END
6.几个常用的函数 绝对值ABS( );算术平方根SQRT( );取商a\b;取余aMODb
7.算法案例 辗转相除、更相减损术、秦九韶算法、冒泡法排序及直接插入法排序、进位制
8.秦九韶算法 通过一次式的反复计算逐步得出高次多项式的值,对于一个n次多项式,只要作n次乘法和n次加法即可。表达式如下:




满足条件?



语句1

语句2





IF 条件 THEN
语句1
ELSE
语句2
END IF

IF 条件 THEN
语句1
END IF

DO
循环体
LOOP WHILE 条件为真

FOR 条件
循环体
NEXT






展开更多......

收起↑

资源预览