绍兴市第十四届少儿信息学竞赛初赛试题♦♦请将正确答案在答卷上填写,在本试题卷上答题无效♦♦一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题2分,共20分)1. 十进制算米表达式3*4+5*6+7*2+9的运算结果,用二进制表示为()A. 1000001B. 1000010C. 1000011D. 10001002. 4KB的内存能存储( )个汉字的机内码A. 1024B. 516C. 2048D. 2183. 一个完整的计算机系统应包括()。
A.系统软件和应用软件B.硬件系统和软件系统C.主机和外部设备D.主机、键盘、显示器和辅助存储器4.计算绍兴市居民年用电费用的方法如下:0.538x (x≤2760)0.588x - 138 (2760<x≤4800)0.838x - 1338 (x>4800)其中x表示年用电量,y表示年用电费用。
算法流程图如下:图中判断框①处应填入的是()。
A. x≤2760B. x>2760C. x≤4800D. x>48005.小明为多个账户设置密码,下列方式相对安全的是()A. 不同账户设置相同的密码,密码均设置为自己的生日B. 不同账户设置不同的密码,密码采用8位数字形式C. 不同账户设置相同的密码,密码均设置为某个英语单词D. 不同账户设置不同的密码,密码釆用足够长度的字母和数字混合形式6.微型计算机内存储器地址是按()编址的。
A.二进制位B.字长C. 字节D.微处理器的型号7. office中"剪贴板"是()。
A.硬盘中的一块区域B.内存中的一块区域C. cache中的一块区域D. cpu中的一块区域8.在解决计算机主机与打印机之间速度不匹配时通常设置一个打印数据缓冲区,主要将要输出打印的数据依次写入该缓冲区,而打印机从该缓冲区中取出数据打印。
该缓冲区应该是一个()结构。
A.堆栈B.数组C.线性表D.队列9. 4个班长依次来图书室分书,方法都是:将自己看到的书平分成4份,多余1本送还书库,拿走1份。
问:最后那个班长至少看到了()本书。
A. 78B. 104C. 105D.510.地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的圆盘,从上到下依次编号为1,2,3…,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。
如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。
那么,在C 柱上,从下到上的编号为( )。
A. 243657B. 241257C. 243176D. 243675二、根据要求回答问题(每小题5分,共15分)1.下图中是一个堆放铅笔的V 形架,如果最上面层放了 50支铅笔,则一共有 支铅笔。
2.已知公式:3(0)()2(1)(1)*(2)(1)x fun x x fun x x fun x x =⎧⎪==⎨⎪-+->⎩则fun (4)的值是: 。
3.有黑白两种棋子共300枚,分成100堆,每堆3枚。
已知其中只有1枚白子的共27堆, 至少有2枚黑子的共42堆,有3枚白子的与3枚黑子的堆数相同。
那么白子共有 枚。
三、写运行结果(每小题6分,共30分)1.program sx201601;var sum,max,i:longint;beginreadln(max);sum:=0;for i:=1 to max doif i mod 2<>0 thensum:=sum+i;writeln(sum);end.输入:200输出:2.program sx201602;var i,j,n:integer;b:array[1..10] of 0..2;beginn:=2016; j:=0;while n>0 dobeginj:=j+1;b[j]:=n mod 3;n:=n div 3;end;for i:=j downto 1 do write(b[i]);writeln;end.输出:3.program sx201603;var a:array[0..8] of longint;ans,i,t,len:longint;s:string;beginreadln(t);a[0]:=1;for i:=1 to 8 doa[i]:=a[i-1]*t;readln(s);len:=length(s);ans:=0;for i:=len downto 1 doif s[i]=’0’then ans:=ans+a[len-i]; writeln(ans);end.输入:510010输出:4.program sx201604;var a:array[1..6] of char;i:integer;procedure s x,y:char);var temp:char;begintemp:=x; x:=y; y:=temp;end;beginfor i:=1 to 6 doa[i]:=chr(i*2+ord('A'));for i:=1 to 3 doswap(a[i],a[7-i]);for i:=1 to 6 do write(a[i]);end.输出:5.program sx201605;var ss:array [1..1000] of integer;i,k: integer;beginfor i:=1 to 20 do ss[i]:=i;ss[1]:=0;i:=2;while i<=20 dobegink:=i;while k+i<=20 dobegink:=k+i;ss[k]:=0;end;i:=i+1;while ss[i]=0 do i:=i+1;end;for i:=1 to 20 do if ss[i]<>0 then write(ss[i],' ');writelnend.输出:四、完善程序(第1题20分,第2题15分,共35分)1.统计子序列数[问题描述]现有一个长度为n、互不相同的正整数序列,请你求出该序列中所有递增和递减子序列的数目。
例如:整数序列(7, 4, 6, 9, 8, 3,5,2,1),可以分为 (7, 4),(4, 6, 9),(9,8, 3),(3, 5), (5, 2,1)这些递增和递减子序列,即:子序列的数目为5。
【程序清单】var n,i,s:integer;d:array[l..100] of integer;beginreadln(n):for i:=1 to n do read( ① );s:= ② ;for i:=2 to ③ doif (d[i]-d[i-1])* ④ >0 then ⑤ ;writeln(s);end.2.合并石子[问题描述]今天课间的时候,小明同学在学校的操场上发现了n堆大小不一的小石子,小明决定将它们合并成一堆,但现在小明思考着这样一个问题:如何消耗最少的体力,把这n堆小石子合并成一堆?现已知合并所消耗的体力等于每次合并两堆小石子的重量之和,每次合并,他会把其中的两堆小右子合并到一起,n堆小石子经过n-ii合并之后就只剩一堆了。
比如,n=3时表示共有3堆每堆重量分别是么2、1、9。
一种合并方案是2和9 合并,新堆重量是11,耗费体力为11;接着11与1合并新堆重量是12,耗费体力为12, 因此总消耗体力是11+12=23。
另一种方案是12,新堆重量是3,耗费体力为3, 接着3和9合并,新堆重量是12,耗费体力为12,因此总消耗体力是3+12=15。
可以证明这样合并就是最少耗费体3的方法。
[程序清单]var i,sum, n: integer;a:array[1..100]of integer;procedure sort(x:integer);var i, j, temp: integer ;beginfor i:= ① to n-1 dofor j:=n downto ② doif ③ thenbegintemp:=a[j] ; a[j] :=a[j-1] ; a[j-1] ;=temp;end ;end;beginreadln(n);for i:=l to n do read (a[i]);sum:=0;sort(1);for i:=1 to n-1 dobegina[i+l]:=a[i]+a[i+1];sum:= ④ ;⑤ ;end ;writeln(sum);end.绍兴市第十四届少儿信息学竞赛初赛试题参考答案一.选择一个正确答案代码(A/B/C/D),填入每题的方格内(每题2分,每题只有一个正确答案,多选无分,共20分)二.问题求解:(5+5+5=15分)1.答: 1275 。
2.答:46 。
3.答:158 。
三.阅读程序并写出运行结果(6+6+6+6+6=30分):1、100002、3、1514、MKIGEC5、2 3 5 7 11 13 17 19四.完善程序(20+15=35分)1、每空4分① d[i]② 1③ n-1④(d[i]-d[i+1])⑤ s:=s+1(或inc(s))2、每空3分① x② i+1③ a[j]<a[j-1]④ sum+a[i+1]⑤ sort(i+1)。