《PASCAL语言.pdf》由会员分享,可在线阅读,更多相关《PASCAL语言.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三届绍兴市少儿信息学竞赛试题主办:绍兴市科协、绍兴市教育局承办:绍兴科技馆、绍兴市电教馆(2005 年 12 月)-1-第三届绍兴市少儿信息学竞赛试题(小学组PASCAL 语言二小时完成)全部试题答案都要求写在答卷纸上,写在试卷上一律无效一选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题2 分,每题只有一个正确答案,多选或错选都无分。共30 分)1)我们一般会根据计算机主要的元器件组成来划分它所属的阶段,那么1946 年制造的ENIAC 属于()计算机。A)第二代B)第三代C)第四代D)第一代2)下列计算机设备中,是存储设备的是()A)键盘B)RAM C)显示器D)CPU 3)
2、我们一般把能播放VCD、CD 光盘来看电影、听音乐的电脑称为“多媒体电脑”,下列硬件设备中,是多媒体电脑必须具备的是()。A)CD-ROM光驱B)网卡C)扫描仪D)打印机4)计算机有计算功能,那么这个“计算”是在下列哪个硬件设备中完成的()?A)CPU B)ROM C)内存D)显示卡5)下面是计算机操作系统的是()A)Pascal B)Photoshop C)Word D)LINUX6)十进制数11 对应的二进制数是()A)1011 B)1100 C)0011 D)1010 7)pascal 程序设计中,用integer 类型来保存整数,下列整数中能用integer 类型变量正确保存的是()A
3、)32650 B)40000 C)60000 D)50000 8)通过因特网,我们可以利用()和远方的朋友实时聊天。A)E-MAIL B)腾讯 QQ C)BBS D)FTP 9)我们可以按照网络覆盖的区域大小来对网络分类,下列网络类别不是按照网络覆盖区域大小分类的是()A)广域网B)城域网C)以太网D)局域网10)下列关于计算机病毒的描述中,正确的是()A)如果一个人有感冒病毒,那么他使用的计算机就有可能感染这个人身上的病毒,并最第三届绍兴市少儿信息学竞赛试题主办:绍兴市科协、绍兴市教育局承办:绍兴科技馆、绍兴市电教馆(2005 年 12 月)-2-终发展为计算机病毒B)如果一台计算机在生产厂
4、家组装时周围环境不好(有灰尘等),这台计算机就会有计算机病毒C)计算机病毒实质上是一段计算机程序D)计算机病毒只能通过计算机网络传播11)在 PASCAL 程序设计中,表达式“32 DIV 5”的计算结果是()A)2 B)7 C)6.4 D)6 12)在 pascal 程序设计中,我们可以利用()语句来中途退出循环。A)repeat B)end C)break D)continue 13)pascal 源程序可以通过编译生成能直接在操作系统下执行的可执行程序,这些可执行程序的扩展名是()。A).doc B).exe C).txt D).pas 14)下列关于二叉树的描述中,正确的是()A)某个
5、结点可以没有子结点、或有1 个子结点、或有2 个子结点。B)根结点可以有3 个子结点C)根结点可以有4 个子结点D)任何结点最多都可以有4 个子结点15)已知一个队列中有若干个数(如下图所示),则最后出队的元素是()A)12 B)5 C)9 D)32 三阅读程序并写出运行结果(7 7 8 8 30 分。):1program test01;var x,y,s,p:integer;begin readln(x,y);s:=x+y;p:=x-y;if xy then p:=y-x;12 21 6 9 5 8 43 32 队首指针队尾指针第三届绍兴市少儿信息学竞赛试题主办:绍兴市科协、绍兴市教育局承办
6、:绍兴科技馆、绍兴市电教馆(2005 年 12 月)-3-s:=s-p;writeln(s);end.输入:13 31 输出:2program test02;var i,j,k,t:integer;a:array1.7 of integer;begin for i:=1 to 7 do ai:=0;for i:=1 to 4 do ai:=i;t:=a7;for i:=7 downto 2 do ai:=ai-1;a1:=t;for i:=1 to 7 do write(ai);end.输出:3.program test03;var n,c,i,j,t,temp:integer;a:array
7、1.50 of integer;begin readln(n);for i:=1 to n do read(ai);for i:=1 to n-1 do begin c:=ai;t:=i;for j:=i+1 to n do if caj then begin t:=j;c:=aj;end;if ti then begin temp:=ai;ai:=at;at:=temp;end;end;第三届绍兴市少儿信息学竞赛试题主办:绍兴市科协、绍兴市教育局承办:绍兴科技馆、绍兴市电教馆(2005 年 12 月)-4-for i:=1 to n do write(ai,);end.输入:18 90 12
8、 33 44 77 29 8 3 4 6 2 1 21 24 23 54 53 25 输出:4 program test04;var i,j,s,h,v,n:integer;a:array1.20,1.20 of integer;begin readln(n,h,v);for i:=1 to n do begin for j:=1 to n do read(ai,j);readln;end;s:=0;for i:=1 to n do if i=h then for j:=1 to n do s:=s+ai,j;for j:=1 to n do if j=v then for i:=1 to n
9、 do s:=s+ai,j;if hai then min:=;tot:=n;while min=s do begin tot:=;s:=s-min;end;writeln();end.2【跳棋数】(33 3333 18 分)跳棋是大家都熟悉的棋类活动,就是一颗棋子可以通过相邻的另一颗棋子笔直地跳到另一颗棋子相邻的空位上去。在一串很长的由数字组成的字符串中,如果某个位数为k 的数值和间隔k 个位置后面的位数为k 的数值相等,就称为跳棋数。第三届绍兴市少儿信息学竞赛试题主办:绍兴市科协、绍兴市教育局承办:绍兴科技馆、绍兴市电教馆(2005 年 12 月)-6-比如对于字符串131313,如果规定
10、k 为 1,则三个 1 构成了跳棋数,从第一个1 开始开始跳,最多可以跳2 步;从第二个位数为k 的数值 3 开始,也构成了跳棋数,最多也可以跳 2 步。又如,1223122312341223,如果规定k 为 2,则从字符串的第一个k 位数值“12”开始,组成的跳棋数的最多可以跳的步数是3(每步到达的目的地如上面下划线“_”所示),而第二个k 位数值“23”开始的跳棋数最多可以跳的步数是1(每步到达的目的地如上面下划线“”所示)。也就是说,如果规定了k,则作为“棋子”的数值就是k 位,而每次“跳棋”时必须跳过右面相邻的k 个位置。下列程序先从键盘输入k 的值,然后会输入一个由数字组成的字符串(
11、只包含0、1、9 这些数字),而且规定,这个字符串的长度肯定是2*k 的倍数。通过处理,程序最后能输出二个整数,分别表示字符串中第一个位数为k 的数值开始的跳棋数最多能跳的步数和第二个位数为k 的数值开始的跳棋数最多能跳的步数。请完善程序。【知识链接】1.t:string 定义了一个字符串类型变量,s 可以存储一串字符,每个字符分别存入对应的下表变量s1、s2、中,最多可以保存255 个字符。2.t1:=copy(s,i,k)中 copy()是一个系统函数,作用是把保存在字符串变量s 中的字符串从第i 个位置开始复制k 个,然后返回复制所得的字符串(本语句中是赋值给变量t1。3.val(t1,
12、ai1,e)中 val()是一个系统过程,它能把保存在t1 中的由数字组成的字符串转换成对应的数值(产生的数值可以进行四则运算),然后把数值保存到下标变量ai1中。比如,如果t1 的值是字符串“2”,则调用val()后 ai1的值就是数值2。4.length(s)是一个系统函数,作用是计算并返回保存在字符串变量s 中的字符串的长度(字符个数)。【样例输入】3 123234123234123235123234【样例输出】3 1 program test06;const maxn=200;var x1,x2,i,j,k,n:integer;第三届绍兴市少儿信息学竞赛试题主办:绍兴市科协、绍兴市教育
13、局承办:绍兴科技馆、绍兴市电教馆(2005 年 12 月)-7-a:array1.100 of integer;b:array1.100 of integer;s:string;procedure check(k:integer);var i,j,i1,j1,e:integer;t1,t2:string;begin i:=1;i1:=;j1:=0;x1:=;x2:=0;while i+2*k-1=n do begin t1:=copy(s,i,k);i1:=i1+1;val(t1,ai1,e);i:=i+k;t2:=copy(s,i,k);j1:=j1+1;val(t2,bj1,e);i:=i+k;end;i:=1;while()and(ii1)do begin x1:=;i:=i+1;end;j:=1;while()and(jj1)do begin x2:=;j:=j+1;end;end;begin main readln(k);readln(s);n:=length(s);check(k);writeln(x1,x2);end.