• 78.46 KB
  • 2022-07-28 发布

山东省普通高中学业水平考试算法与程序设计复习资料

  • 4页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
171239717881161514(4)8578595319183xdimaasintger的作用是(定义一个变凰)老题H1、下列VB程序运行时,在文本框Text1中输入20,在文本框Text2中输入13,单击命令按钮command1后,文本框Text3中显示的内容是(33)PrivateSubcommand1click()a=val(textl.text)b=val(text2.text)Text3.text=a+bendsub2、下列程序段中循环体执行次数是13)_s=0i=0dowhiles<10i=i+ls=s^i*iloopprintiprints实际运行结果:i二3S=14时程序结束,此时循环体执行3次。3、算法描述方法有多种,下列选项中不适合描述算法的是(机器语言)4、写出程序运行结果,运行结果足:⑻dimaasintegerdimbasintegerdimcasintegera=lb=lfori=lto4c=a+ba=bb=cnextiprintc5、分析下面问题,请选择最合适的算法一(C)搬砖问题:100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小儿抬一块,要求一次全搬完,问需男、女、小儿各多少人。As解析法B、递归法C.穷举法D.排序法6、完轸程序:考拉兹猜想乂称3"1猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1八如果它是偶数,则对它除以2;如此循环,最终都能够得到1。如n=6t根据上述规则得出6—3—10—5—16—8—4一2—1。(共有8个步骤)以下是验证考拉兹猪想的主要程序片段,请你补全代码。n=val(inputboxCrn=//))ent=0'统计步骤数dowhi1en>lent二cnt+1ifnmod2=0thenelsen=n*3+lendifloopprintent输出步骤数1、VB事件过程如下privatesubcommandlclick()a=val(textl・text)b=a*a+ltextl.text=bendsub程序运行时,在textl.text里输入29连续两次单击命令按钮command1后,Textl中现实的内容是(26)输入2以后,第一次运行b=M屮1,结果是5,5给a,第二次运行b=d*刎1,结果是26。2、已知海伦公式林林杯,也b,c分别是三角形的三条边长,利用海伦公式求三角形面积的算法属于(解析法)3、写出程序运行结果dimxasintegerdimyasintegery=val(inputbox("y二"))fori=lto3x=val(inputboxC"x=/*))ifx某人的身份证号码S="370102199602190000\如果需要根据此身份证号码求出该人的“出主年月日”,下列表达式不能实现的是_(D)A、Mid(s,7,8)B、Right(Left(s,14),8)CxMid(s,7,4)+Mid(s,11,2)+Mid(s,13,2)0.Left(s>14)-Left(s,6)5.“完数”一个自然数恰好等于它的因子(不包含本身)之和,如6的因子为1,2,3,又6=1+2+36就是完数。如28的因子是L2,4,7,14,而28二1+2+4+7+14.故28就是完数。问题:输入一个正整数N,判断该正整数是否为完数,要判断一个整数N是否否完数,城简单的方法是:求出1到n-1之间n的所有因子和为sum,如果sum的值和n的值相同,则n就为完数代码dimnaslongdimsumaslongn=inputbox("n=")fori=lton-1ifnmodi=0thensum=sum+inextiifn二sumthenprinTTF^完数”elseprintn&^不是完数"endifU如果给出三条线段的长度分别为a,b,c,H.己知a<=bUc,要问这三条线段能否构成三角形,需要下列选项中的那个判定条件即可(a+b>c)2、二分査找乂称折半查找,是一种应用于有序数列的高效査找算法。下列数列屮适合二分査找算法的是(2,4)(1)119915(2)305263(3)2762684、dimnaslongdimsaslongdimxaslongn=val(inputbox("n二"))s=0dowhilen>0x=nmod10s二s+xn=n\10loopprints程序运行时,输入518,运行输出结果是:1415/10二1・5是除,据定义类盘对余数四舍五入:15\10二1是整除,去掉余数:当循环执行到xwmod10时如果此时的n值小于10,n直接赋值给x后参与s二s+x运算,并输出结果°5>输入一个正整数m判断该正整数是否为索数(质数),要判断一个数n是否是素数,最简单的方法是,统计2到n-l之间的所有能整除n的整数个数s,若s大于0.则n不是索数.否则就是索数,完再代码:n=val(inputbox(^n^))s=0fori=2ton-1ifnmodi=0thens二s+1endifnextiifs=0thenprint是素数"\nelseprintn"不是素数廂endifk程序运行题冃Fori=1To10PrintNextjPrintNexti输入的图形是DI2.VB中绘制画的方法是circled,y),r格式说明,其中(x,y)为圆心坐标,r为圆的半径,谥补充算法2,使其实现与算法1的功能,表中算法1是在窗体中绘制以(2000,2000)为圆心,半径依次为100,200800的8个同心圆,算法1circlc(2000,2000),100circle(2000,2000),200circle{2000,2000),300circle(2000,2000),400circle(2000,2000),500circle(2000,2000),600circle(2000,2000),700circle(2000,2000),800算法2dimkasintegerfork=lto8circle(2000,2000),k*100nextk3、求一元二次方程sx2+bx+c=06不等于0)的主要VB程序片段,补全代码a=val(inputboxCra=v))b=val(inputboxC^b^))c=val(inputboxCc二"))d=b“2-4*a*c,求判别式difd>0thenxl=(-b+sqr(d))/(2*a)x2=(-b-sqr(d))/(2*a)print"xl=";xlprint"x2二";x2endififd=0thenprint"x=";-b/(2*d)endififd<0thenprint〃无实数解!"endif4.求1到20偶数的和dimsumasintegerdimkasintegersum=0fork=lto20ifkmod2=0thensum=suni+knextkprintsum程序运行输出的结果是:1105.小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还命一个;第二天接着吃剩下的桃子的一半多一个;以后每天都是如此.到了第七夭要吃桃子的小猴,却发现只剩下一个。问小猴那夭一共摘了多少个桃子?上面问题选择最合适的算法是⑻A解析法B递归法C穷举法I)排序法1、下列VB表达式中,值为字符串类型的是(2),(3),(4)(1)sqr(x)(2)Tcxtl.text(3)Commmandl.Caption(4)"45"+"34"2、表达式Abs(int(2.88)+lnt(-3.14))的值是(2)int(x)函数的功能是返回不人于x的最人整数.abs(x)函数的功能是取绝对值。Abs((2)+(-4))二Abs(-2)二23、DimxasintegerDimyasintegerY=0Fori=lto5x=val(inputbox("请输入"))y=y+xNextiPrinty程序运行后,依次输入:10,20,30,40,50运行输出结果是:150语句中lbri二1I。5限制『数据输入个数,即稈•序运行后数据只能输入5个,然后求和°如果把语句中for2125改为3,即程序运行后数据只能输入3个,再求和。4、补充完幣程序代码(1)计算圆周率公式pi"2/6=l+l/2"2+l/3"2+...+1/J2当n=l00000时,计算出pi=3.14158310432646当11=1000000时,计算出pi=3.14159169866051利用公式计算n=10000000吋的近似值,补全代码dimsasdoubledimpiasdoubles=0fori=lto10000000s=s+l/(i*i)nextipi二sqr(s*6)'填空Print"pi=";pi(2)珠穆朗玛峰髙度是8844.43米,一张白纸厚度人约是0・08毫米,对折一次后厚度为0.16亳米,再对折一次厚度变为0.32亳米……每对折一次.厚度变为前一次的两倍。假设这张纸足够大,可以对折任意次,那么这张纸折凳名少次后,其厚度将超过珠穆朗玛峰的窩度。补全代码Height=8844.43h=0.08ent=0DoWhileh1-2+3-4+…+99-100,写出程序代码。PrivateSubCommand1Click()Dims,iAsIntegers=0Fori=1To100IfiMod2=1Thens=s+iElseEndIfNextiPrintsEndSub5.1+2+3+4+--+99+100,写出程序代码。PrivateSubCommand1_C1ick()Dims,iAsIntegers=0Fori=1To100NextiPrintsEndSub6、1+2/3+3/5+4/7+…+24/47+25/49,写出程序代码及补充下面的数学公式。PrivateSubCommand1Click()Dims,iAssingles=0Fori=1To25s二s+i/(2*i-l)NextiPrintsEndSub7.百钱买百鸡,写出程序代码。假设1只公鸡值5钱,1只母鸡值3钱,3只小鸡值1钱。现用100钱来买100只鸡。问:公鸡.母鸡.小鸡各买多少只?(要求公鸡、母鸡.小鸡,每种每种最少买一只)。x表示公鸡的数量:1WxW20;y表示母鸡的数量:1WyW33;z表示小鸡的数屋:1WzW100oPrivateSubCommandl_Click()Dimx,y,zAsIntegerPrint"公鸡";〃母鸡〃;”小鸡"Forx=1To20Kory=1To33Forz=1To100Ifx+y+z=100And5*x+3*y+^/3二100ThonPrintx:y;zEndIfNextzNextyNextxPrintEndSub8.4位麴8??0I,中间2位破损无法看淸,但次数能同时被23和37整除,求这个4位数,写出程序代码。PrivateSubCommand1_C1ick()DimxAsLongDimyAsLongDimnAsLongForx=0To9Fory=0To9n=8♦1000+x♦100+y♦10IfnMod23=0AndnMod37=0ThenPrintnEndIfNextyNextxEndSub9.12个成绩,去掉一个最大数,去掉一个最小数,求平均数。补充代码。Max=a(l)Min=a(l)s=a(l)Fori=2to12s二s+a(i)1fa(i)>maxthenmax=a(i)Ifa(i)