第2课基本算法语句、流程图与

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2课基本算法语句、流程图与结构图1.BASIC语言包含五种基本的算法语句,它们分别是输入语句、输出语句、赋值语句、条件语句、循环语句。2.输入语句的一般格式是INPUT“提示内容”;输出语句的格式是PRINT“提示内容”;赋值语句的一般格式是变量=表达式,其作用是将表达式的值赋给变量.3.算法的条件结构由条件语句来表达,条件语句有两种,一种是IF—THEN—ELSE语句,其格式是其对应的程序图是另一种是IF—THEN语句,其一般格式是:其对应的程序框图是4.算法中的循环语句结构是由循环语句来实现的,对应于程序框图中的两种循环结构.WHILE语句的一般格式是WHILE条件,循环体,WEND,对应的程序框图是当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE和WEND之间的循环体,若条件不符合,计算机就不再执行循环体,直到跳到WEND语句后执行其他语句.UNTIL语句的一般格式为DO循环体,LOOPUNTIL条件,其对应的程序框图为计算机执行UNTIL语句时,先执行一次循环体,然后对条件的真假进行判断,当条件不满足时执行循环体,直到条件满足时,不再执行循环体,跳出循环,执行LOOPUNTIL语句后的其他语句.5.流程图我们可以使用流程图来表示各种工作程序,只要按照箭头所指的方向,依次完成要求,就能完成相应的工序,其特点是直观、清楚.6.结构图结构图除了可以表示结构设置的层次之外,还可以表示事物的分类.算法案例进位制秦九韶算法求最大公约数更相减损术辗转相除法7.辗转相除法是用于求两个数的最大公约数的一种方法.所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数.若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时的较小的数就是原来两个数的最大公约数.辗转相除法的算法步骤:第一步:用两个数中的较大的数除以较小的数,求商和余数;第二步:用除数和余数中较大的数除以较小的数;第三步:重复上述两步,直到余数为0为止;第四步:得出两数的最大公约数。例如:用辗转相除法求2146与1813的公约数。2146=1813×1+3331831=333×5+148333=148×2+37148=37×4最后的除数37是148和37的最大公约数,也就是2146与1813的公约数。开始输入m,n求m除以n的余数rm=nn=rr=0?输出m结束否是8.更相减损术的算法步骤:第一步:任意给定两个正整数,判断它们是否都是偶数,若是,用2约简,若不是,执行第二步;?第二步:以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.算法步骤:第一步:任意给定两个正整数,判断他们是否都是偶数。若是,用2约简;若不是,执行第二步。第二步:以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(相等的数)或这个数与约简的数的乘积就是所求的最大公约数。例如:用更相减损术求98与63的最大公约数。解:98―63=3563―35=2835―28=728―7=2121―7=1414―7=71、秦九韶算法是一种用于计算一元n次多项式的值的方法。秦九韶算法:把一个n次多项式1110()nnnnfxaxaxaxa改写成如下形式:1110()nnnnfxaxaxaxa121102312101210()(())((()))nnnnnnnnnnnaxaxaxaaxaxaxaxaaxaxaxaxa求多项式的值时,首先计算最内层括号内一次多项式的值,即11nnvaxa然后由内向外逐层计算一次多项式的值,即21232310,,nnnnvvxavvxavvxa这样,求n次多项式()fx的值九转化为求n个一次多项式的值。开始v=an输入的值,,nnaxi=0?i=i-1v=vx+ai输入ai输出v结束是否i=n-1例如:已知5432()423.52.61.70.8fxxxxxx,求(5)f的值。解:根据秦九韶算法知:()((((42)3.5)2.6)1.7)0.8fxxxxxx按照从里到外的顺序,依次计算一次多项式当5x时的值:0123454452222253.5113.5113.552.6564.9564.951.72826.22826.250.814130.2vvvvvv所以,(5)f14130.2。1、进位制是人们为了计算和运算方便而约定的计数系统,“满k进一”就是k进制,k进制的基数是k。例如:3721=3×103+7×102+2×101+1×100;110011(2)=1×25+1×24+0×23+0×22+1×21+1×20;7342(8)=7×83+3×82+4×81+2×80;一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式110()(,0(1,2,3,,),0)nnkiinaaaaaNakina且………………k进制110110nnnnakakakak………………10进制例题:把89化为二进制数。2|89余数2|4412|2202|1102|512|212|10把上式中各步所得的余数从下到上排列,得到89=1011001(2)1.程序:b=b+t*k^(i-1);a=a\10;r=aMOD10;s=6*SQR(3)/4;i=n/2;ABS(a-b)d.输入、输出、赋值语句的应用例1判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?(1)输入语句INPUTa;b;c(2)输出语句A=4(3)赋值语句3=B(4)赋值语句A=B=-2练习已知变量a,b已被赋值,要交换a,b的值,采用的算法是()A.a=b,b=aB.a=c,b=a,c=bC.a=c,b=a,c=aD.c=a,a=b,b=c例2请写出下面运算输出的结果:(1);(2),,;(3),,.练习运行如图所示的程序,若输入6,8,10,则输出的结果是.(练习)条件语句例3编写程序,输出两个不相等的实数a,b的最大值.程序如下:(“IF—THEN—ELSE”语句)INPUT“a,=”;a,bIFabTHENPRINTaELSEPRINTbENDIFEND程序如下:(“IF—THEN”语句)INPUT“a,b=”;a,bIFbaTHENa=bENDIFPRINTaEND练习分析如图所示的程序,当输入的x值为3时,程序的输出结果为.(练习)循环语句例4阅读下面两个算法语句:执行语句1的结果是输出;执行语句2的结果是输出.练习(2012·东北三校模拟)下面程序运行的结果为()(练习)A.4B.5C.6D.7算法在实际生活中的应用例52013年某地森林面积为1000km2,且每年增长5%,到哪一年该地森林面积超过2000km2.请设计一个程序,并画出程序框图.[解答]需要一个累加变量和一个计数变量,将累加变量的初值设为1000,计数变量从0开始取值.程序框图如图1,程序如图2:练习(2013·河南信阳一模改编)高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.[解答]程序框图如图1,程序如图2:

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功