资源描述:
《高考数学专题复习(精选精讲)练习8-算法习题精选精讲.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、23631.计算12222,写出算法的程序.解:s=1n=2i=1WHILEi<=63s=s+n∧ii=i+1WENDPRINT“1+2+2∧2+2∧3+…+2∧63=”;sEND1(x0),2.写出已知函数y0(x0),输入x的值,求y的值程序.1(x0).i=1解:INPUT“请输入x的值:”;xS=1IFx>0THENn=0y=1ELSEDOS<=500IFx=0THENS=S+iy=0ELSEi=i+1y=-1n=n+1ENDIFENDIFWENDPRINT“y的值为:”;yPRINTn+1ENDEND3.新课标B版数学必修3教材41页第7题:用100
2、元钱买100只鸡,公鸡每只5元,母鸡每只3元,小鸡3只一元,问能买多少公鸡,母鸡和小鸡?程序如下:forx=1:20fory=1:33z=100-x-y;if5*x+3*y+z/3<>100elsexyzendendend4.(本小题满分14分)根据下面的要求,求满足1+2+3+…+n>500的最小的自然数n。(1)画出执行该问题的程序框图;(2)以下是解决该问题的一个程序,但有几处错误,请找出错误并予以更正。解:(1)程序框图如图所示:或者:开始开始S=0S=0i=1i=1i=i+1S=S+ii=i+1S=S+i否是S<=500S>500否是输出i-1输出i-18分结束结束(2)①DO应改
3、为WHILE;10分②PRINTn+1应改为PRINTn;12分③S=1应改为S=014分5.儿童乘坐火车时,若身高不超过1.1m,则不需买票;若身高超过1.1m但不超过1.4m,则需买半票;若身高超过1.4m,则需买全票.试设计一个买票的算法,并画出相应的程序框图及程序。解:程序是:INPUT“请输入身高h(米):”;hIFh<=1.1THENPRINT“免票”ELSEIFh<=1.4THENPRINT“买半票”ELSEPRINT“买全票”ENDIFENDIFEND6.意大利数学家菲波拉契,在1202年出版的一书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以
4、后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子?试画出解决此问题的程序框图,并编写相应的程序.解:分析:根据题意可知,第一个月有1对小兔,第二个月有1对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和,设第N个月有两F对兔子,第N-1个月有S对兔子,第N-2个月有Q对兔子,则有F=S+Q,一个月后,即第N+1个月时,式中变量S的新值应变第N个月兔子的对数(F的旧值),变量Q的新值应变为第N-1个月兔子的对数(S的旧值),这样,用S+Q求出变量F的新值就是N+1个月兔子的数
5、,依此类推,可以得到一个数序列,数序列的第12项就是年底应有兔子对数,我们可以先确定前两个月的兔子对数均为1,以此为基准,构造一个循环程序,让表示“第×个月的I从3逐次增加1,一直变化到12,最后一次循环得到的F”就是开始S=1Q=1S=1Q=1I=3I=3WHILEI<=12F=S+QQ=SNI≤12S=FI=I+1YWENDPRINTFF=S+QEND输出FQ=SS=F结束I=I+111117.设计算法求的值。要求画出程序框图,写出用基本语句编写的程序。12133499100解:这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法
6、。程序框图如图所示:S0k1DOSS1/(k(k1))kk1LOOPUNTILk99PRINTSEND开始S0k1是k99?否1输出SSSk(k1)程序如下:kk1结束8.求100以内的所有勾股数。fori=1:100forj=1:100fork=2:100ifi*i+j*j<>k*kelseijkendendendend23639.计算12222,写出算法的程序.解:s=1n=2i=1WHILEi<=63s=s+n∧ii=i+1WENDPRINT“1+2+2∧2+2∧3+…+2∧63=”;sEND1(x0),10.写出已知函数y0(x
7、0),输入x的值,求y的值程序.1(x0).解:INPUT“请输入x的值:”;xIFx>0THENy=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFPRINT“y的值为:”;yEND11.2000年我国人口为13亿,如果人口每年的自然增长率为7‰,那么多少年后我国人口将达到15亿?设计一个算法的程序.解:A=13R=0.007i=1DOA=A*(1+R)i=i+1LOOPUN