noip普及组初赛模拟试卷1(附答案)
- 格式:pdf
- 大小:223.67 KB
- 文档页数:12
1.计算机中的数有浮点数与定点数两种,其中浮点数表示的数,通常由(C)这两部分组成:A.指数与基数B.尾数与小数C.阶码与尾数D.整数与小数2.在衡量存储器容量时,计量单位由小到大的顺序是(A)A.KB GB TBB.TB KB GBC.TB GB KBD.KB TB GB3.下列(D)不属于计算机病毒的预防措施A.拥有计算机病毒检测扫描器B.拥有实时监控程序C.对未知计算机病毒进行检测D.对已知的计算机病毒进行杀毒4.文件夹组织是一个有层次的树状结构,其中最顶层的是(C)A.我的电脑B.网上邻居C.桌面D.资源管理器5.(D)是用来在计算机之间进行文件传输。
利用该服务不仅可以从远程计算机上获取文件,而且还可以将文件从本地机器传送到远程计算机上。
A.DNSB.NFSC.WWWD.FTP6.下列4个不同数制表示的数中,最大的一个数是(C)A.十进制数220.1B.二进制数11011011.1C.八进制数334.1D.十六进制数DC.17.若采用32*32点阵的汉字字模,存放1600个汉字信息需要的存储容量是(B)KB。
A.25B.200C.800D.16008.十进制数-103的补码是(A)A.10011001B.11100111C.10110011D.000110019.下列软件依次对应于图像浏览、屏幕撷取、文件压缩、杀毒软件的排列顺序是(D)。
①HyperCam②WinRAR③NortonAntiVirus④ACDSeeA.①②④③B.②①③④C.③④②①D.④①②③10.在微型计算机中,常用(A)码实现十进制数与二进制数之间的自动转换。
A.BCD码B.ASCII码C.海明码D.机内码11.插入排序是一种简单实用的工具,在对数组排序时,我们可能用二分查找,对要插入的元素快速找到在已经排好元素序列中的位置。
下面的描述中正确的是(C)。
A.二分查找的时间复杂度为O(lgN),因此排序的时间复杂度为O(N*lgN)B.二分查找的时间复杂度为O(N),因此排序的时间复杂度为O(N*lgN)C.二分查找的时间复杂度为O(lgN),排序的时间复杂度不变,为O(N*N)D.二分查找的时间复杂度为O(N),排序的时间复杂度不变,为O(N*N)12.微型计算机在工作中电源突然中断,则计算机中(C)全部丢失,再次通电后也不能恢复。
A.ROM和RAM中的信息B.ROM中的信息C.RAM中的信息D.硬盘中的信息13.如下的叙述中哪一个是类型的正确描述(D)A.是一组值的集合B.不包含子结构的信息C.一条信息或是其值属于某个类型的一条记录D.指一组值的集合以及定义在该集合上的一组操作14.Google是万维网上最大的搜索引擎,使用户能够访问一个包含超过80亿个网址的索引。
Google坚持不懈地对其搜索功能进行革新,始终保持着自己在搜索领域的领先地位。
Google的创始人是(A)A、Sergey Brin、Larry PageB、陈天桥C、Bill GatesD、Alan M.Turing答案:A(塞奇·布林、拉里·佩奇)15.下列说法中不正确的是(D)A、在同一台PC机上可以安装多个操作系统B、在同一台PC机上可以安装多个网卡C、在PC机的一个网卡上可以同时绑定多个IP地址D、一个IP地址可以同时绑定到多个网卡上16.数组A[0..5,0..6]的每个元素占5个单元,将其按列优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为(A)A.1175B.1180C.1205D.1210分析:1、搞清楚列优先的含义2、A[5,5]前面有0,1,2,3,4共5列,每列有0..5共6个元素,第5列前面有0..4五个元素,共有5*6+5=353、地址:(5*6+5)*5+1000=117517.在下列各软件中,不属于NOIP竞赛(复赛)推荐使用的语言环境有(B)。
A.gcc/g++B.Turbo PascalC.RHIDED.free pascal18.将5个数的序列排序,不论原先的顺序如何,最少都可以通过(B)次比较,完成从小到大的排序。
A.6B.7C.8D.9分析1、既然是追求最少比较次数,必定不会用n^2的算法排序。
2、排序本质可说是循环查找各个位置上数(1)用二分查找(2)总次数=3+2+2=719.高度为n的均衡的二叉树是指:如果去掉叶结点及相应的树枝,它应该是高度为n-1的满二叉树。
在这里,树高等于叶结点的最大深度,根结点的深度为0,如果某个均衡的二叉树共有2381个结点,则该树的树高为(B)。
A.10B.11C.12D.13分析1、满二叉树指的是:对于第i层,节点数必定是2^i。
2、有i层的满二叉树的节点总数为2^(i+1)-13、假定均衡树的层数为x,那么该均衡树对应的满二叉树(比均衡树小1层)节点数为2^x-1,则必定有:2^x-1<2381<2^(x+1)-1X=11。
20.八进制数25.63转换成二进制数为(B)A.10101.11011B.10101.110011C.10101.0110011D.10101.111011问题求解10名划船运动员中,3人只会划左舷,2人只会划右舷,5人左右舷都会划,从中选6人,平均分在左、右舷,共有多少种不同的选法?采用穷举划左舷的所有情况进行分析1、会划左舷的全划左舷。
左舷一共只有1种,右舷为7选3,方法共有:C(3,3)*C(7,3)=352、派一个全能的划左舷,共有方法:C(5,1)*C(3,2)*C(6,3)=5*3*20=3003、派二个全能的划左舷,共有方法:C(5,2)*C(3,1)*C(5,3)=10*3*10=3004、派三个全能的划左舷,共有方法:C(5,3)*C(3,3)*C(4,3)=10*1*4=40因此,方法数共有:35+300+300+40=6752.一位银矿勘探员无力预付3月份的房租。
他有一根长31英寸的纯银条,因此他和女房东达成如下协议。
他说,他将把银条切成小段。
3月份的第一天,他给女房东1英寸长的一段,然后每天给她增加1英寸,以此作为抵押。
勘探员预期到3月份的最后一天,他能全数付清租金,而届时女房东将把银条小段全部还给他。
3月份有31天,一种办法是把银条切成31段,每段长1英寸。
可是这处花很多功夫。
勘探员希望既履行协议,又能使银条的分段数目尽量减少。
例如,他可以第一天给女房东1英寸的一段,第二天再给1英寸的一段,第三开他取回这两段1英寸的而给她3英寸的一段。
假设银条的各段是按照这种方式来回倒换的话,勘探员至少需要把他的银条切成______段?31/2=15.5即只要用最少的数组成1至15的所有组合就行了,因为16至31都可以通过前面的数与16来组成,得到必有数值1616/2=8同理,只要用最少的数组成1至8的所有组合就可以了,因为9-15都可以通过前面的数与8来组成,得到必有数值8同理可得,8/2=44/2=2又因为1也是必有数值,所以银条最少的组合为5,分别是:1,2,4,8,16写运行结果1.VAR A,B:INTEGER;PROCEDURE P(VAR X:INTEGER;Y:INTEGER);VAR M,N:INTEGER;BEGINM:=X*Y;X:=X+5;Y:=Y+5;N:=X*Y;WRITELN(M:4,N:4)END;BEGINA:=5;B:=3;P(A,B);P(A,B)END运行结果为:1580301202.function fun(x:integer):integer;beginif(x=1)or(x=2)then fun:=3else fun:=x-fun(x-2)end;beginwriteln(fun(19));readln;end.输出83.var m,n,i,p,k:integer;r:array[1..200]of integer;b:boolean;beginm:=6;n:=2;for i:=1to m-1do r[i]:=i+1;r[m]:=1;i:=0;p:=1;b:=true;while b dobegini:=i+1;k:=p;p:=r[p];if k=p then begin writeln(p);b:=false endelse if i=n+1thenbeginwrite(p,'');i:=0;p:=r[p];r[k]:=p;endendend.输出4213654.constmaxn=10000;vari,j,k,n,r,p,g:longint;a:array[1..maxn]of longint;function gcd(m,n:longint):longint;var r:longint;beginwhile n<>0dobeginr:=m mod n;m:=n;n:=rend;gcd:=mend;beginn:=1000;r:=202;for i:=1to n-r do a[i]:=n-i+1;for i:=2to r dobegink:=i;for j:=1to n-r doif gcd(k,a[j])>1thenbeging:=gcd(k,a[j]);k:=k div g;a[j]:=a[j]div g;if k =1then breakendend;p:=1;g:=0;for i:=1to n-r dobeginp:=p*a[i];while p mod 5=0dobeginp:=p div 5;g:=g+1;end;p:=p mod 5;end;writeln(g)end.输出151完善程序求元素之和最大的子方阵:在m ×n (m ,n ≤20)的正整数数字方阵中,找出一个p ×q 的子阵(1≤p ≤m ,1≤q ≤n )使其元素之和最大。
例如,下面5×4的数字阵中,元素之和最大的一个2×3子阵。
5×4数字阵元素之和最大的2×3子阵为var a:array[1..20,1..20]of integer;m,n,p,q,i,j,max,p1,q1,s,i1,j1:integer;begin 384221117952162103892712352161038for i:=1to20dofor j:=1to20doa[i,j]:=0;readln(m,n);for i:=1to m dobeginfor j:=1to n do read(a[i,j]);readlnend;readln(p,q);max:=0;for i:=1to m-p+1dofor j:=1to n-q+1dobegin①;for i1:=i to p+i-1dofor j1:=j to q+j-1do②;if s>max then begin③;p1:=i;q1:=jend;end;for i:=p1to④dobeginfor j:=q1to⑤dowrite(a[i,j]:3);writelnend;readlnend.将一个含有运算符为:(、)、+、-、*、/、^(乘幂运算)、~(求负运算)的中缀表达式,如:((1+2)*5)^2-(3+5)/2转化为后缀表达式,如:12+5*2^35+2/-.[解题思路]将中缀表达式转化为后缀表达式,首先规定运算符的优先数如下:┌───┬───┬───┬─────┬──────┬───┬───┐│运算符│(│)│+,-│*,/│~│~│├───┼───┼───┼─────┼──────┼───┼───┤│优先数│0│1│2│3│4│5│└───┴───┴───┴─────┴──────┴───┴───┘1.若输入是运算量,则将该运算量输出;2.若是左括号“(”,则将该符号的优先数压入设置的运算符堆栈e[p]中去;3.输入运算符优先数是2,3,4,5时,如果栈空,则将运算符的优先数进栈。