第十五届绍兴市少儿信息学竞赛
初赛试题
(小学组PASCAL语言二小时完成)
●●全部试题答案都要求写在答卷纸上,写在试卷上一律无效●●
一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题2分,每题只有一个正确答案,多选无分。共20分)
1、 以下不是微软公司开发的软件是( )。
A.Access B.Frontpage C.Excel D.Acrobat Reader
2、 有一种利用打孔透光原理设计的简易身份识别卡:每张卡在规定位置上有一排预打孔位, 读卡器根据透光检测判断哪些孔位已打孔,哪些未打孔,从而识别出卡的编码。如果要设计一种供300人使用的身份卡,则卡上的预定孔位至少需要( )。 A. 5 个 B. 7 个 C. 9 个 D. 10 个
3、 字母 \的ASCII码值为99,则字母 \的十六进制ASCII码是( )。 A. 66H B. 9CH C. 67H D. 9DH
4、 在IE浏览器中,要査看最近访问过的网址,应单击下列按钮中的( )。
5、 以下不属于无线通信技术的是( )。 A.蓝牙 B.WiFi C.GPRS D.以太网
6、一棵二叉树如图1所示,若采用顺序存储结构,即用 一维数组元素存储该二叉树中的结点(根结点的下标为1, 若某结点的下标为i,则其左孩子位于下标2i处、右孩子 位于下标(2i+1)处,则图中所有结点的最大下标为 ( ). A.27 B.6 C.24 D.26
7、下列做法符合信息安全的是( )。
① 用智能手机随意扫描商家发来的二维码以便获取优惠
② 网上下载共享软件后先査杀病毒再安装使用 ③ 不随意打开陌生邮件中的exe格式的附件 ④ 为方便记忆用自己的出生年月作为网上银行登录密码
⑤ 定期安装操作系统补丁并升级杀毒软件
8、某算法流程图如图2所示:执行该算法,输出S的结果是( )。
A.4/3 B.1/2 C.-2 D.3
9、今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f,g依次进行进栈,进栈,出栈,进 栈,进找,出栈的操作,则此操作完成后,栈S的栈顶元素为( )。
A. f
B. c C. a D. b
10、在有2016个结点的连通图中,其边数最少需要( )。 A. 2017 条 B. 2016 条 C. 2015 条 D. 2014 条 二、根据要求回答问题:(5+5=10分) 1、有M个一模一样的乒乓球,放到N个一样的盒子中,允许有的盒子空着不放,共有多少 种处放法?(用K表示)。
例如:M=7, N=3时,K=8;在这里认为(5,1, 1)和(1, 5, 1)是同一种放法。 问:M=8, N=4 时,K= 。
2、甲、乙、丙、丁四人同时参加一次信息学竞赛,赛后,他们四人预测名次淡话如下: 甲:丙得第一名,我第三名。 乙:我第一,丁第四。 丙:丁第二,我第三。 丁没有说话。
当最后公布结果时,发现甲、乙、丙都只说对了一半,请你说出这次竞赛四人的名次。
三、阅读程序并写出运行结果(8+8+8+8+8=40分): 1. var a,b:integer; 2、var
begin i, n,r, s,x: integer; a:=3; begin b:=7; readln(n);
for i:=1 to n do a:=a-b;
b:=b+a; begin
readln(x); a:=b-a;
writeln(’a=’ ,a); s:=0; writeln(’b=’ ,b); while x<>0 do end. begin
r:=x mod 2; 输出:
if r=1 then s:=s+1; x:=x div 2; end; writeln(s); end; end. 输入: 4 2 100 1000 66 输出:
3、var
s,si:string; i, a, b, k: integer; begin
readln (s);
s1:= ’you’; k:=0; a:=length(s); b:=length(s1); for i:=1 to a-b+1 do
if copy (s, i, b)=s1 then k:=k+1; writeln(k); end.
输入:It’easy. You get off the bus. Then you cross the road. You take the first road on the left. You walk for five minutes. 输出:
4. var x, y, z:integer;
procedure silly(x:integer;var y:integer); begin
x:=7; y:=17; z:=18; writeln(x, ’ ’, y, ’ ’,z); end; begin
x:=1; y:=2; z:=3; silly (x, y);
writeln(x,’ ’,y,’ ’,z); end. 输出:
5. var
n:longint;
procedure change(n:longint); var
i,j:longint; begin
if n=0 then exit; i:=n mod 8; j:=n div 8; change(j); write (i); end; begin
readln(n); change(n); end. 输入:2017 输出:
四、完善程序(根据问题要求和已有程序,在程序空格处填入适当的语句或符号, 使程序完整。本题每3分,共30分 1.某数据压缩方法描述如下:
1) 原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;
2) 原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个位0,第2个为0; 3) 原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复 数的个数,第3个为该数本身;
根据上述压缩方法,对应的解压缩方法示例如图3所示。
小明编写了一个解压缩程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在 数组元素a[l]、a[2]、a[3]……中,压缩数据的个数存储在变量n中,解压缩后的数据依次存储在数组元素b[l]、b[2]、b[3]……中。 输入格式:
输入数据两行,第一行一个数n,代表压缩数据个数;第二行n个数字,代表压缩数据。 输出格式: 输出文件仅有一行,为解压缩后的数据。 输入样例: 6
25 0 0 0 7 78 输出样例:
25 0 78 78 78 78 78 78 78
实现上述功能程序如下,请在划线处填入合适代码。
var a:array[1.. 1000] of integer; b:array[1..1000] of integer;
pa, pb, n, firstdata, count, i:integer; begin
readln(n);
for i:=1 to n do read(a[i]); pa:=1;
① ;
while pa<=n do begin
firstdata:=a[pa];
if firstdata<>0 then begin
b[pb] := ② ; pa:=pa+1; pb:=pb+1 end
else begin
count:=a[pa+1]; if count=0 then begin
b[pb]:=0;
pa:= ③ ; pb:=pb+1 end
else begin
相关推荐: