
小学四年级信息学奥林匹克竞赛试题.docx
9页小学四年级信息学奥林匹克竞赛试题选择题:(选出每题正确的一个答案代码,填在横线上,每题1分,共20分) 1、下列表达式中,其值为TRUE的是( )A) 150>=150 B) 100>150 C) abs(-200)<>200 D) odd(34)=false 2、运算2005 MOD 4的结果是( )A) 7 B) 3 C) 1 D) 43、 把字符’7’转化为整数7的表达式是( )A) ord(‘7’)-ord(0) B) ord(7)-ord(0) C) ord(‘7’)-48 D) ord(7)-48 4、“A、B不能同时大于C”的PASCAL表达式是( )A) A>C AND B>C B)(A<=C) AND (B<=C) C) A
A)Ctrl+F9 B)Alt+F9 C)Alt+F5 D)Ctrl+F58、在Free Pascal 中,每种类型都有它的数据范围,如果变量a的值为1000*1000,那么a是什么类型的变量( ) A)integer B)real C)string D)longint9、已知X是一个三位数,下列( )式可以求出X的十位数数字 A) TRUNC(X/10)*10-X*10 B) TRUNC(X/10)*10-X/10 C)TRUNC(X/10)-TRUNC(X/100)*10 D)TRUNC(X/10)-TRUNC(X/10)*10010、若程序中有一条输出语句write (6=6 );那么这条语句的输出结果是( )A)6=6 B)0 C)false D)true11、字符串A的值为‘teacher’,则表达式copy(a, 6, 3)的值为( )A)‘er’ B)‘acher’ C)‘tea’ D)‘eacher’12、下列表达式中,不是布尔表达式的是( ) A) (x>0) or (y>0) B)odd(x) C)5 div 3 D)x=y13、for i:=5 to 10 do t:=2;这条循环语句中,t被赋值了多少次( ) A) 1次 B)6次 C)7 次 D)8次14、不能用作FOR语句循环控制变量的是下列哪种类型的变量( )。
A)整型 B) 布尔型 C) 实型 D) 字符型15、“若a 不大于b ,则打印b的值”,用Free Pascal语句表示为( )A)if ab then write(a);C)if a<=b then write(b); D)if a>=b then write(a);16、定义二维数组a:array[1..5,1..5]of integer,则该二维数组可存储( )个数组元素A)10 B)15 C)20 D)2517、6 mod 3=0,因此我们说3是6的一个约数,那么12共有 个约数 ) A)10 B)6 C)12 D)20 18、下列各式中正确的是( )A)pred(100)=101 B)succ(‘100’)=101 C)succ(100)=101 D)pred(‘x’)=’y’19、人们利用计算机解决问题的基本过程一般有如下四个步骤(①调试程序、②分析问题、③设计算法、④编写程序),请按各步骤的先后顺序在下列选项中选择正确的答案( ) A)①②③④ B)②③①④ C)②③④① D)③②④①20、运行下列程序段: var x,y:integer; begin readln(x); if x<10 then y:=2 else if x<20 then y:=3 else if x<30 then y:=4 else y:=5; writeln(y:0:0); end.输入:10,输出的数y=( )A)2 B)3 C)4 D)5二、基础填空题:(将正确的答案填在横线上,第1~2题每小题4分,第3~4题每小题5分,共18分)1、 将一个数做如下运算:乘以4,再加上100,减去20,最后除以4,这时得100,那么这个数是 。
2、从1至20中一共个有 个素数.3、有一组数:1,1,2,4,7,13,24,44,……根据规律,第一个是1,第二个是1,第三个是2,第四个是4……,那么第十项是 4、“校运会”团体操在表演过程中,要求在队伍变换成10行、15行、18行、24行时,队形都能成为长方形这样,参加团体操表演的最少需要有( )人三、写运行结果:(共5题, 每小题6分,共30分)1.program exp1;Var a,b:integer;Begin a:=2345; b:=a mod 10; writeln(b); writeln(a div 10);end.输出:2.program exp2;Var a,b,c:integer;d:real;begin readln(a,b,c); d:=(a+b+c)/3; writeln(d:0:3);end.输入数据: 12 16 22输出:3. program exp3;var s:string; n,len,p:integer;beginreadln(s); readln(n);len:=length(s);p:=n mod len;writeln(copy(s,len-p+1,p),copy(s,1,len-p));end.输入数据:administrator 19输出:4.program exp4;Var p,m:integer; Begin p:=20; m:=2; repeat p:=p-m; m:=m+3; until m>p; Writeln(‘m=’,m,‘ ’, ‘p=’,p); End.输出:5.program exp5;Const maxn=10;var i,j,n:integer;a:array[1..maxn] of integer;begin readln(n); for i:=1 to n dobegina[i]:=1; for j:=i-1 downto 2 do a[j]:=a[j-1]+a[j];end; for i:=1 to n-1 do write(a[i],‘ ’); write(a[i]);end.输入:6输出:四、完善程序(本题有3小题,共8小空,第一题每空2分,其余每空3分,共22分)第一小题[问题描述] 从键盘输入N个正整数,请统计这N个正整数中偶数的个数,并输出N个正整数中偶数的个数。
[输入样例]105 3 4 8 7 6 1 12 11 5[输出样例]4 [程序清单]Var n,a,t,i:integer; BeginReadln(n);t:=0For i:=1 to n do Begin Read(a); If ① then t:=t+1; End; ② ;End.第二小题 [问题描述] 输入一个正整数N(N<=32767),然后与它倒过来的数相加例如:输入328,与它倒过来的数相加后的结果为:328+823=1151[程序清单]Var n,x,y,:integer; sum:longint;begin readln(n); sum:=n; while ① do begin x:=n mod 10; y:=y*10+x; ② ; end; ③ ; Writeln(sum);end.第三小题[问题描述] 求出满足下列条件的二位数:将此二位数的个位数字与十位数字进行交换,可以得到一个新的数,要求新数与原数之和小于100(每行输出6个满足要求的数)[程序清单]Var n,k:integer;Begin k`:=0; for i:= ① to 99 do begin x:=i div 10; y:=y mod 10; j:=y*10+x; if ② then begin k:=k+1; write(i,‘ ’); if ③ then writeln; end; end;End.五、编写程序(根据题目的要求编写程序,本题10分)。
第一小题: 偶数和[问题描述] 输入整数N(N<=32767),请求出1~N之间的偶数之和输入格式:一行,整数N(N<=32767)输出格式:一行,1~N之间的偶数之和[输入样例]:10[输出样例]:30。









![2019版 人教版 高中语文 必修 上册《第一单元》大单元整体教学设计[2020课标]](http://img.jinchutou.com/static_www/Images/s.gif)


