学案2基本算法语句与算法案例返回目录一、1.输入语句(1)输入语句的一般格式是:.(2)输入语句可以给多个变量赋值.其格式:INPUT“提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,….特别注意的是各提示信息之间以及各变量之间必须用逗号“,”隔开.INPUT“提示内容”;变量考点分析返回目录2.输出语句(1)输出语句的一般格式是:.(2)输出语句中“提示内容”与表达式之间也必须用分号(“;”)隔开,当然它也可以省略不写,即格式为PRINT表达式.3.赋值语句(1)赋值语句的一般格式是:.(2)赋值语句的作用是将一个表达式的值赋给一个变量.它实质上是先将赋值号“=”右边表达式的值计算出来,然后把该值赋给“=”左边的变量,使该变量的值等于表达式的值.PRINT“提示内容”;表达式变量=表达式返回目录4.条件语句(1)包含一个“分支”的条件结构——IF—THEN语句①IF—THEN语句的一般格式是:IF条件THEN语句体ENDIF②程序框图如图所示:返回目录(2)包含两个“分支”的条件结构——IF—THEN—ELSE语句①IF—THEN—ELSE语句的一般格式为:IF条件THEN语句体1ELSE语句体2ENDIF②程序框图如图11-2-2所示:11-2-25.循环语句程序设计语言中,循环语句主要有两种类型:和,即WHILE语句和UNTIL语句.(1)WHILE语句①WHILE语句的一般格式是:WHILE条件循环体WEND直到型(UNTIL)当型(WHILE)返回目录返回目录②程序框图如图11-2-3所示:(1)UNTIL语句①UNTIL语句的一般格式是:DO循环体LOOPUNTIL条件②程序框图如图11-2-4所示:11-2-311-2-4二、1.用两数中较大的数减去较小的数,再用和构成新的一对数,再用大数减小数,以同样的操作一直做下支,直到产生,这个数就是最大公约数.2.古希腊求两个正整数的最大公约数的方法是:用较大的数除以较小的数所得的和构成新的一对数,继续做上面的除法,直到大数被小数除尽,这个较小的数就是最大公约数.(3)当型循环与直到型循环的区别:①当型循环先判断后执行;直到型循环先执行后判断.②当型循环用WHILE语句,直到型循环用UNTIL语句.返回目录差数较小的数一对相等的数辗转相除法余数较小的数4.把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:f(x)=anxn+an-1xn-1+…+a1x+a0==……=3.割圆术是我国魏晋时期的数学家在注《九章算术》中采用的一种方法.刘徽正多边形面积逐渐逼近圆面积的算法计算圆周率π返回目录a)xaxax(a012-n-1n-1nn++…++0123-n-1n2-nna)xa)xaxax((a+++…++012-n-1nna)xa)xa)xax((a(++…+++…v2=,v3=,…vn=,求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=.然后由内向外逐层计算一次多项式的值,即返回目录anx+an-1v1x+an-2v2x+an-3vn-1x+a0这样,求n次多项式f(x)的值就转化为.上述方法称为秦九韶算法.观察上述秦九韶算法中的n个一次式,可见vk的计算要用到vk-1的值.若令v0=an,我们可以得到公式:.这是一个在秦九韶算法中反复执行的步骤,因此可用来实现.循环结构求n个一次多项式的值v0=anvk=vk-1x+an-k(k=1,2,…,n){返回目录返回目录考点一利用输入、输出、赋值语句编写程序用长度为l的细铁丝分别围成一个正方形和一个圆,设计一个算法,要求输入l的值,输出正方形和圆的面积(π取3.14),请画出程序框图,并写出程序.题型分析返回目录【分析】设围成的正方形的边长为a,依题意4a=l,a=,所以正方形的面积为S1=()2=.同理若设围成的圆的半径为R,则2πR=l,R=,所以圆的面积为S2=πR2=()2=.因此可以用顺序结构实现这一算法,采用INPUT语句输入l的值,利用赋值语句得到面积,最后输出两个面积.4l4l162lπl2πl2πl42返回目录【解析】程序框图如图11-2-6:图11-2-6程序如下:INPUT“l=”;lS1:(l*l)/16;S2:(l*l)/(4*%Pi);PRINT“正方形的面积为”;S1PRINT“圆的面积为”;S2END【评析】(1)编写程序的关键点在于搞清问题的算法,特别是算法结构,然后确定采用哪一种形式,本题要用相关的平面几何知识,寻求正方形和圆的面积计算公式,利用顺序结构实施算法.(2)在写程序时,注意运算符号的书写,如:程序中的“乘以”用“*”表示,而不用“×”表示,也不能省略等,这一点往往被忽略.返回目录*对应演练*写出已知直角三角形的两直角边a,b,求斜边c的值的程序.INPUT“输入两直角边a,b”;a,bc=SQR(a^2+b^2)PRINT“c=”;cEND返回目录返回目录考点二应用条件语句设计程序编写程序,输入两点的坐标,输出这两点连线的斜率,画出程序框图.【分析】我们知道,对于平面上给定的两点A(x1,y1)和B(x2,y2),若x1=x2,则直线AB的斜率不存在;若x1≠x2,则直线AB的斜率k=.因此在输入两点的坐标后,应先判断x1=x2是否成立.若成立,应输出斜率不存在的信息;若不成立,可将的值赋给变量k输出.故可利用条件语句实现这一算法.1212x-xy-y1212x-xy-y返回目录【解析】程序框图如图11-2-7:图11-2-7程序如下:INPUTx1,y1,x2,y2IFx1=x2THENPRINT“斜率不存在”ELSEk=(y2-y1)/(x2-x1)PRINT“k=”;kENDIFEND返回目录【评析】由于x1=x2和x1≠x2,直线的斜率是不同的,故输入x1,y1,x2,y2后,应先进行条件的判断,用条件语句设计算法.返回目录*对应演练*-x+1(x0)0(x=0)x+1(x0),编写程序,输入自变量x的值,输出其相应的函数值,画出程序框图.{已知分段函数y=返回目录程序框图如下:INPUTxIFx0THENy=-x+1ELSEIFx=0THENy=0ELSEy=x+1ENDIFENDIFPRINTyEND程序如下:返回目录返回目录考点三循环语句写出计算12+32+52+…+9992的程序,并画出相应的程序框图.【分析】由题意知各项指数相同,底数相差2,可借助于循环设计算法,选择当型循环或直到型循环.返回目录【解析】方法一:当型循环程序框图如图所示:图11-2-8程序如下:S=0i=1WHILEi=999S=S+i^2i=i+2WENDPRINTSEND方法二:直到型循环程序框图如图所示:图11-2-9程序:S=0i=1DOS=S+i^2i=i+2LOOPUNTILi999PRINTSEND返回目录【评析】本题的算法设计比较灵活,采用计算变量i,具有通用性,如计算13+23+…+9993,只需将S=S+i2变为S=S+i3即可,很多题目可以仿照此题写出.另外,当型与直到型循环还可以相互转化.返回目录返回目录*对应演练*编写程序,求12+22+32+…+1002的值.返回目录下面用WHILE型和UNTIL型语句编程如下:i=1sum=0DOsum=sum+i^2i=i+1LOOPUNTILi100PRINTsumENDi=1sum=0WHILEi=100sum=sum+i^2i=i+1WENDPRINTsumEND返回目录考点四求最大公约数用更相减损之术求98和63的最大公约数.【分析】由于63不是偶数,把98和63以大数减小数,并辗转相减.【解析】98-63=35,63-35=28,35-28=7,28-7=21,21-7=14,14-7=7.所以98和63的最大公约数为7.【评析】等值算法是当大数减去小数的差等于小数时停止减法,较小的数就是所求的最大公约数.*对应演练*用等值算法求三个数175,100,75的最大公约数.求三个数的最大公约数时,可以先求出其中两个数的最大公约数,用这个最大公约数再与第三个数求最大公约数,所得结果就是这三个数的最大公约数.先求175与100的最大公约数:175-100=75,100-75=25,75-25=50,50-25=25.所以175与100的最大公约数是25.以下再求25与75的最大公数.75-25=50,50-25=25.故25也是25和75的最大公约数,这样25就是175,100,75三个数的最大公约数.返回目录考点五秦九韶算法已知一个5次多项式为:f(x)=5x4+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.【解析】f(x)=((((5x+2)x+3.5)x-2.6)x+1.7x)-0.8,当x=5时,v0=5;v1=5×5+2=27;v2=27×5+3.5=138.5;【分析】考查秦九韶算法计算多项式的值.返回目录【评析】利用秦九韶算法计算多项式的值关键是能正确地将所给多项式改写,然后由内向外逐次计算,由于后项计算需用到前项的结果,故应认真、细心,确保中间结果的准确性.v3=138.5×5-2.6=689.9;v4=689.9×5+1.7=3451.2;v5=3451.2×5-0.8=17255.2.所以当x=5时,多项式的值为17255.2返回目录求多项式f(x)=x5+5x4+10x3+10x2+5x+1当x=-2时的值.对应演练先改写多项式,再由内向外计算.f(x)=x5+5x4+10x3+10x2+5x+1=((((x+5)x+10)x+10)x+5)x+1.当x=-2时,v0=1;v1=v0x+a4=1×(-2)+5=3;v2=v1x+a3=3×(-2)+10=4;v3=v2x+a2=4×(-2)+10=2;v4=v3x+a1=2×(-2)+5=1;v5=v4x+a0=1×(-2)+1=-1.*对应演练*返回目录返回目录1.编写程序的一般步骤:(1)算法分析:根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法;(2)画出程序框图:依据算法分析,画出对应的程序框图;(3)写出程序:根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来.2.注意理解循环语句的两种类型及其程序执行过程,对判断框里的条件要弄清楚.在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体,二者是有区别的,在解决问题中,用两种循环语句编写程序时,应注意条件的不同表述方法,它们恰好是相对的.3.循环语句用来实现算法中的循环结构,在处理一些反复执行的任务时,如:累加求和、累乘求积等问题常用循环语句编写程序.返回目录