第1页一、知识网络知识点一:算法与程序框图一、算法1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤。2.算法的描述方式有:自然语言、程序框图、程序语言。3.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题。二、程序框图(一)程序框图基本概念程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。(二)构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。算法初步算法与程序框图算法语句算法案例算法概念框图的逻辑结构输入语句赋值语句循环语句条件语句输出语句顺序结构循环结构条件结构第2页判断框判断某一条件是否成立,成立时在出口处标“是”或“Y”;不成立时标明“”或“N”。画程序框图的规则如下:①、使用标准的图形符号。②框图一般按从上到下、从左到右的方向画。③除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。④判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。⑤在图形符号内描述的语言要非常简练清楚。(三)、程序框图的三种基本逻辑结构是:顺序结构、条件结构、循环结构。1、顺序结构:顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。2、条件结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。判断条件P是否成立后,必须选择执行A框或B框,不可能同时执行A框和B框,也不可能A框、B框都不执行。一个判断结构可以有多个判断框。3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类:(1)一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不成立为止,此时不再执行A框,离开循环结构。(2)另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P是否成立,如果P仍然不成立,则继续执行A框,直到某一次给定的条件P成立为止,此时不再执行A框,离开循环结构。当型循环结构直到型循环结构知识点二:算法的基本语句1.任何一种程序设计语言都包含五种基本的算法语句:输入语句、输出语句、赋值语句、条件语句、循环语句。2.输入语句的一般格式是:①;INPUT提示内容变量;②INPUT变量3.输出语句的一般格式是①;PRINT提示内容表达式;②PRINT表达式AB第3页4.赋值语句的一般格式是变量表达式;注意:①赋值号左边只能是变量名字,而不能是表达式。如:2=X是错误的。②赋值号左右不能对换。如“A=B”“B=A”的含义运行结果是不同的。③赋值号“=”与数学中的等号意义不同。5.条件语句①IF—THEN语句的一般格式是对应的程序框图是②IF—THEN—ELSE语句的一般格式是对应的程序框图是6.循环语句①WHILE语句(当型循环)WHILE语句的一般格式是对应的程序框图是②UNTIL语句(直到型循环)UNTIL语句的一般格式是对应的程序框图是7、常用符号满足条件?语句是否IF条件THEN语句ENDIFIF条件THEN语句1ELSE语句2ENDIF否是满足条件?语句1语句2WHILE条件循环体WEND满足条件?循环体否是满足条件?循环体是否DO循环体LOOPUNTIL条件第4页运算符号:加_+_,减-_,乘*_,除/_,乘方^,整数取商\,求余数MOD.逻辑符号:且AND,或OR,大于,等于=,小于,大于等于=,小于等于=,不等于.常用函数:绝对值ABS,平方根SQR。知识点三:算法案例1、辗转相除法和更相减损术辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.①辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。②更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假设进行了k次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的2k即为所求两数的最大公约数。2、秦九韶算法秦九韶算法是求多项式值的优秀算法.设1110()nnnnfxaxaxaxa,改写为如下形式:()fx1210(())).nnnaxaxaxaxa设0101,nnvavvxa21232310nnnnvvxavvxavvxa这样求n次多项式()fx的值就转化为求n个一次多项式的值.当多项式中有些项不存在时,可将这几项看做0nx,补齐后再利用秦九韶算法进行计算.对于一个n次多项式,只需做n次乘法和n次加法运算即可.3、进位制K进制数的基数为k,k进制数是由01k之间的数字构成的.将十进制的数转化为k进制数的方法是除k取余法.110110(0,0,,)nnnnkaaaaakaaak把进制数化为十进制数的方法为1110()110nnnnknnaaaaakakaka。例题分析例1在音乐唱片超市里,每张唱片售价为25元,顾客如果购买5张以上(含5张)唱片,则按九折收费,如果购买10张以上(含10张)唱片,则按八折收费,请设计算法步骤并画出程序框图,要求输入张数x,输出实际收费y(元)。第5页分析:先写出y与x之间的函数关系式,有25(5)22.5(510)20(10)xxyxxxx,再利用条件结构画程序框图.解:算法步骤如下:第一步,输入购买的张数x,第二步,判断x是否小于5,若是,计算25yx;否则,判断x是否小于10,若是,计算22.5yx;否则,计算20yx.第三步,输出y.程序框图如下:例2:下面程序运行后输出的结果为_______________新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆答案22,-22针对练习一、选择题1新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆下面对算法描述正确的一项是:()A新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆算法只能用自然语言来描述B新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆算法只能用图形方式来表示C新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆同一问题可以有不同的算法D新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆同一问题的算法不同,结果必然不同2.下列给出的赋值语句中正确的是()27?x否是输出X1ii11?i否520033,xyIFxTHENxyELSEyyENDIFPRINTxyyxEND第6页“n=”,ni=1s=1i=ns=s*ii=i+1PRINTsENDA新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆4MB新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆MMC新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆3BAD新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆0xy3新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆当2x时,下面的程序输出的结果是()A新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆3B新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆7C新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆15D新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆174新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com王新敞特级教师源头学子小屋新疆将两个数8,17ab交换,使17,8ab,下面语句正确一组是()A新疆源头学子小屋特级教师王新敞@126.comwxckt@126.com