资源描述
第一章1.1算法与程序边框图1.算法的概念(1)算法概念的理解算法是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成算法与一般意义上具体问题的解法既有联系,又有区别,它们之间是一般和特殊的关系,也是抽象与具体的关系算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决算法一方面具有具体化、程序化、机械化的特点,同时又有高度的抽象性、概括性、精确性,所以算法在解决问题中更具有条理性、逻辑性的特点(2)算法的四个特征:概括性、逻辑性、有穷性、不唯一性概括性:写出的算法必须能解决某一类问题,并且能够重复使用逻辑性:算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,而且每一步都是正确无误的,从而组成了一个有着很强逻辑性的步骤序列有穷性:算法有一个清晰的起始步,终止步是表示问题得到解答或指出问题没有解答,所有序列必须在有限个步骤之内完成,不能无停止地执行下去不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法,当然这些算法有简繁之分、优劣之别(3)常见的算法类型数值性计算问题如:解方程(或方程组)、解不等式(或不等式组)、利用公式求值、累加或累乘等问题,可通过相应的数学模型借助一般的数学计算方法,分解成清晰的步骤,使之条理化非数值性计算问题如:判断、排序、变量变换等需先建立过程模型,再通过模型进行算法设计与描述注意:()注意算法与解法的区别:算法是解决一类问题所需要的程序或步骤的统称;而解法是解决某一个具体问题的过程或步骤,是具体的解题过程()设计算法时要尽量选取简捷、快速、高效的解决问题的算法对一个具体的问题,我们要对解决问题的途径进行透彻的研究,找出最优算法,做到“先思考后处理”2程序框图(1)程序框图又称为流程图,是一种用程序框、流程线及文字说明来准确、直观地表示算法的图形(2)用程序框图表示算法,具有直观、形象的特点,能更清楚地展现算法的逻辑结构(3)程序框图主要由程序框和流程线组成基本的程序框有终端框、输入框、输出框、处理框、判断框,其中终端框是任何流程图不可缺少的,而输入、输出可以用在算法中任何需要输入、输出的位置(4)画程序框图的规则使用标准的框图符号;框图一般按从上到下、从左到右的方向画;终端框(起止框)是任何程序框图必不可缺少的,表示程序的开始和结束;除判断框外,大多数程序框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;程序框图符号框内的文字要简洁精炼注意:()每一种程序框图的图形符号都有特定的含义,在画程序框图时不能混用,并且所用图形符号一定要标准规范,起始框只有一条流出线(没有流入线),终止框只有一条流入线(没有流出线),输入、输出框只有一条流入线和一条流出线,判断框有一条流入线和两条流出线()如果一个程序框图由于纸面等原因需要分开画,要在断开处画上连接点,并标出连接的号码()判断框是“是”与“否”两分支的判断,有且仅有两个结果()一般地,画程序框图时,先用自然语言编写算法,然后再画程序框图3算法的三种基本结构(1)1 / 14顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的基本结构,其基本结构形式如图所示,其中A、B两框所指定的操作是依次执行的顺序结构中所表达的逻辑关系是自然串行、上下连贯、线性排列的(2)条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构条件结构用于进行逻辑判断,并根据判断的结果进行不同的处理条件结构必含判断框条件结构的结构形式如图2所示,此结构中包含一个判断框,算法执行到此判断框给定的条件P时,根据条件P是否成立选择不同的执行框(A框或B框)注意:无论P是否成立,下一步只能执行A框或B框之一,不能A框和B框同时执行,也不能A、B两框都不执行,但A框和B框中可以有一个是空的,如图3.(3)循环结构:根据条件是否成立,以决定是否重复执行某些操作,在算法中要求重复执行同一操作的结构称为循环结构,重复执行的处理步骤称为循环体根据执行情况及循环结束条件的不同可以分为当型循环(WHILE型)和直到型循环(UNTIL型)当型循环的特点是“先判断,后执行”,即先判断条件,当条件满足时,反复执行循环体,当条件不满足时退出循环(也就是说直到条件不满足时退出循环)如图4.直到型循环的特点是先执行一次循环体,再判断条件,当条件不满足时执行循环体,当条件满足时退出循环(即直到条件满足时退出循环),即“先执行,后判断”如图5.当型循环可能一次也不执行循环体,而直到型循环至少要执行一次循环体当型循环与直到型循环可以相互转化,条件互补循环结构中常用的变量有计数变量、累加变量及累乘变量计数变量用来记录某个事件发生的次数(即执行循环体的次数),累加变量用来计算数据之和,累乘变量用来计算数据之积对于这些变量,开始一般要先赋初值,一般地,计数变量初值可设为0或1,累加变量初值设为0,累乘变量初值设为1.注意:()正确理解顺序结构的特点及适用条件是作出顺序结构图的关键()画条件结构的程序框图要用到判断框,判断框有两个出口,根据不同的条件输出不同的信息,这些不同的信息必须全部写出()只有有规律的,能重复进行的算法过程才能用循环结构题型一算法设计写出能找出a、b、c三个数中最小值的一个算法解第一步:输入a、b、c.并且假定mina;第二步:若bmin成立,则用b的值替换min;否则直接执行下一步;第三步:若c0,那么使y1,如果x0,那么使y0,如果x10 000,这个问题的答案不唯一,我们只要确定出满足条件的最小正整数n0,括号内填写的数只要大于或等于n0即可试写出满足条件的最小正整数n0的算法并画出相应的程序框图解算法如下:第一步:p0;第二步:i0;第三步:ii1;第四步:ppi;第五步:如果p10 000,则输出i,算法结束否则,执行第六步;第六步:回到第三步,重新执行第三步、第四步和第五步. 该算法的程序框图如图所示点评本题属于累加问题,代表了一类相邻两数的差为常数的求和问题的解法,需引入计数变量和累加变量,应用循环结构解决问题在设计算法时前后两个加数相差1,则ii1,若相差2,则ii2,要灵活改变算法中的相应部分另外需注意判断框内的条件的正确写出,直到型和当型循环条件不同,本题解法用的是直到型循环,用当型循环结构时判断框内条件应为p10 000.如图所示. 特别提醒两种结构中,若交换ppi与ii1的顺序,输出结果应为i1.题型四程序框图在生活中的应用以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来画出程序框图解用条件分支结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量,分别计算高于80分的成绩的总和和人数程序框图如图所示点评对于此类要求把所给多个数据逐一检验是否满足条件的问题,可采用条件分支结构和循环结构相结合的算法【例1】如图所示是某一算法的程序框图,根据该框图指出这一算法的功能错解求S的值错解辨析本题忽略了计数变量与循环次数,没有明确循环体在循环结构中的作用,以及循环终止条件决定是否继续执行循环体正解在该程序框图中,S与n为两个累加变量,k为计数变量,所以该算法的功能是求的值【例2】试设计一个求1234n的值的程序框图错解程序框图如图所示错解辨析本题程序框图看似当型循环结构,我们应当注意的是,当型循环结构是当条件满足时执行循环体,而本题显然是误解了当型循环结构条件正解程序框图如图所示点评这是一个累乘问题,重复进行了(n1)次乘法,可以用循环结构描述,需引入累乘变量t和计数变量i,这里t与i每一次循环,它们的值都在改变1.(海南、宁夏高考)如果执行下面的程序框图,那么输出的S为()A2 450 B2 500 C2 550 D2 652答案C解析当k1,S021;当k2,S02122;当k3,S0212223;当k50,S02122232502 550.2(济宁模拟)在如图的程序框图中,输出结果是()A5 B6C13 D10答案D解析a5时,S156;a4时,S6410;a3时,终止循环,输出S10.3(广东高考)阅读下图的程序框图若输入m4,n6,则输出a_,i_.答案123解析输入m4,n6,则i1时,ami4,n不能整除4;i2时,ami8,n不能整除8;i3时,ami12,6能整除12.a12,i3.一、选择题1一个完整的程序框图至少包含()A终端框和输入、输出框B终端框和处理框C终端框和判断框D终端框、处理框和输入、输出框答案A解析一个完整的程序框图至少需包括终端框和输入、输出框2下列关于条件结构的说法中正确的是()A条件结构的程序框图有一个入口和两个出口B无论条件结构中的条件是否满足,都只能执行两条路径之一C条件结构中的两条路径可以同时执行D对于一个算法来说,判断框中的条件是惟一的答案B解析由条件结构可知:根据所给条件是否成立,只能执行两条途径之一3下列问题的算法适宜用条件结构表示的是()A求点P(1,3)到直线l:3x2y10的距离B由直角三角形的两条直角边求斜边C解不等式axb0 (a0)D计算100个数的平均数答案C解析条件结构是处理逻辑判断并根据判断进行不同处理的结构只有C中含有判断a的符号,其余选项都不含逻辑判断4下列程序框图表示的算法是()A输出c,b,a B输出最大值C输出最小值 D比较a,b,c的大小答案B解析根据流程图可知,此图应表示求三个数中的最大数5用二分法求方程的近似根,精确度为,用直到型循环结构的终止条件是()A|x1x2| B|x1x2|Cx1x2 Dx1x2答案B解析直到型循环结构是先执行、再判断、再循环,是当条件满足时循环停止,因此用二分法求方程近似根时,用直到型循环结构的终止条件为|x1x2|.二、填空题6下边的程序框图(如下图所示),能判断任意输入的整数x是奇数或是偶数其中判断框内的条件是_答案m0?解析根据程序框图中的处理框和输出的结果,寻找判断框内的条件由于当判断框是正确时输出的是“x是偶数”,而判断框前面的处理框是x除以2的余数,因此判断框应填“m0?”7下图是计算1的程序框图,判断框应填的内容是_,处理框应填的内容是_答案i99?ii2解析由题意知,该算法从i1开始到99结束,循环变量依次加2.8完成下面求12310的值的算法:第一步,S1.第二步,i2.第三步,SSi.第四步,ii1.第五步,_.第六步,输出S.答案如果i11,执行第六步;否则执行第三步解析本题是用自然语言来描述的算法,实际上第五步是一个判断条件,根据题意,是循环是否终止的条件,因此应该为如果i11,执行第六步;否则执行第三步三、解答题9画出求的值的程序框图解这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法程序框图如下图所示:10写出解方程axb0 (a、b为常数)的算法,并画出程序框图解算法如下:第一步,判断a是否等于零,若a0,执行第二步,若a0,执行第三步;第二步,计算,输出“方程的解为”;第三步,判断b是否等于零,若b0,输出“有无数个解”的信息,若b0,输出“方程无解”的信息程序框图如图所示:探 究 驿 站11画出求(共6个2)的值的程序框图分析本题看上去非常烦琐,尤其是对于2的位置处理,容易让人产生错觉本题只要把含有2的式子分离开来,用A代替,即令A,则不难分析出分母可化为的形式,且此结构重复出现解方法一当型循环结构程序框图如图所示方法二直到型循环结构程序框图如图所示12给出以下10个数:5,9,80,43,95,73,28,17,60,36,要求把大于40的数找出来并输出试画出该问题的程序框图解程序框图如下图:趣 味 一 题13相传,古印度的舍罕王打算重赏国际象棋的发明者宰相西萨班达依尔于是,这位宰相跪在国王面前说:“陛下,请您在这张棋盘的第一个小格内,赏给我一粒麦子;在第二个小格内给两粒,第三格内给四粒,照这样下去,每一小格都比前一小格加一倍陛下啊,把这样摆满棋盘上所有64格的麦粒,都赏给您的仆人罢!”国王慷慨地答应了宰相的要求,他下令将一袋麦子拿到宝座前计数麦粒的工作开始了第一格内放一粒,第二格两粒,第三格四粒还没到第二十格,袋子已经空了一袋又一袋的麦子被扛到国王面前来,但是,麦粒数一格接一格地增长得那么迅速,很快就可以看出,即使拿来全印度的小麦,国王也无法兑现他对宰相许下的诺言!请你画出一个程序框图来求需要的麦粒数分析由题意,我们可以看出第一格内放一粒,第二格两粒,第三格四粒,就是往后每一格是前一格的2倍,这样一共需要的麦粒数就是1222262263.从而可以得出这是一个累加求和问题,可以利用循环结构来设计算法,计数变量i从1到64循环64次,每个求和的数可用一个累乘变量表示解程序框图: -温馨提示:如不慎侵犯了您的权益,可联系文库删除处理,感谢您的关注!
展开阅读全文