求历届NOIP初赛(提高组)试题

rt

第1个回答  2007-10-17
  我是普及组的
  先告诉你网站
  http://www.zsqz.com/jsbase/

  第三届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题(高中组)

  (PASCAL语言 竞赛用时:2小时)

  一、基础部分

  (1)WPS是属于________类的软件;FOXBASE是属于_______类的软件。用FOXBASE的命令:.CREAT GZB,在磁盘中生成的是_______文件。

  (2)在MS DOS的根目录中,有如下文件: TIME.EXE TIME.COM TIME.BAT

  试问:c:\> TIME<回车> 执行的是什么命令?

  (3)已知ASCII码表中的大写字母后有6个其他字符,接着便是小写字母。现已知:A字母的ASCII码为(41)16{表示16进制数41},试写出如下字母用十进制表示的ASCII码:

  G → ( )10 b → ( )10 t → ( )10

  (4)设数组A[10..100,20..100]以行优先的方式顺序存贮,每个元素占4个字节,且已知A[10,20]的地址为1000,则A[50,90]的地址是_____________。

  (5)一个汉字的机内码目前常用二个字节来表示:第一字节是区位码的区号加(160)10;第二个字节是区位码的位码加(160)10

  已知:汉字“却”的区位码是4020,试写出机内码两个字节的二进制的代码:

  (6)下图中用点表示城市,点与点之间的联线表示城市间的道路:

  试问:①能否找出一条从A城市出发,经过图中所有道路一次后又回到出发点的通路来?

  ②能否从A出发,找出去每个城市且只去一次的通路来?若能,则写出通路;否则说明理由。

  (7)为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为前缀{运算符在前,如X/Y写为/XY}和后缀{运算符在后,如X/Y写为XY/}的表达式。

  在这样的表示中可以不用括号即可确定求值的顺序,如:

  (P+Q)*(R-S) →*+PQ-RS或 → PQ+RS-*

  ①试将下面的表达式改写成前缀与后缀的表示形式:

  (a) A+B*C/D (b) A-C*D+B^E

  ②试将下面的前缀表示还原成中缀的表示形式,同时写出后缀表示:

  +△A*B△C {前缀式中△表示一元运算符取负号,如△A表示(-A)}

  (8)一个将角编了号的正三角形可以进行如下二种运动:

  (a)沿过顶点1的高h翻转180°,我们将这个运动用字母a来表示:

  (b)沿过三角形的外心,垂直于三角形所在平面的有向轴L(注意:三角形翻转时L轴也随着翻转的),按右手法则旋转120°(右手法则是指用右手大拇指指向L轴的方向,由其余四指决定旋转方向的法则),我们将这样的运动用字母b来表示:

  如果将a,b作为运算对象,并将两个运动连续进行看作是一种运算(这里不妨也称为乘法),则对图一的三角形而言,bb的结果便成为:

  若将运动前后的三角形状态简称为元素,那么三角形状态就可与运动的表达式关联起来。据此,请回答如下问题:

  ①从图一的三角形的原始状态出发,可以运动出多少种不同的状态的三角形,试写出最简单的运算表达式(借助于a,b与乘法运算):

  ②这样定义的乘法运算是否符合交换律与结合律?

  ③如果将从三角形的某种状态运动回到原始状态称之为该元素的逆元素,例如:

  ∴ bb的逆元素为b,可表示为(bb)-1=b

  试求:(1)a-1= (2)(ab)-1=

  (3)((aa)a)-1= (4)b-1=

  二、根据题意,将以下程序补充完整

  1. [问题描述]:一个正整数(非素数)可以表示成它的因子(1与其本身除外)的乘积。

  例如:12有因子2,2,3,4,6,所以可表示为:

  12=2*2*3=4*3=2*6

  给出任一个整数N,求出它所有的因子乘积表达式(交换律得出的不同式子算同一种)。

  [算法说明]:读入一个整数N,首先求出它的所有的因子以及每个因子可能的次数。

  例如:整数48:

  因子:2 3 4 6 8 12 16 24

  次数:4 1 2 1 1 1 1 1

  将上面的结果存入数组A:ARRAY[0..20,1..2]中,其中:

  A[i,1]表示因子;A[i,2]表示次数。

  然后用简单回朔的方法求出所有可能的表示:

  数组B[0..20]记录取数情况;c:ARRAY[0..20]工作单元。

  [程序清单]:program exp4(input,output);

  var a :array[0..20,1..2] of integer;

  c,b :array[0..20] of integer;

  n,m,i,j,s,k,l : integer;

  Begin

  readln(n); for i:=I to 20 do a[i,1]:=0;

  ① a[0,2]:=1; j:=0;

  for i:=2 to n-1 do

  begin

  s:=0; m:=n;

  while(m<>0) and (m mod i=0) do

  begin m:=m div i; ② ; end;

  if ③ then begin

  j:=j+1; ④ ; a[j,2]:= ⑤ ;

  end

  end;

  for i:=0 to j do b[i]:=0;

  while ⑥ do

  begin

  k:=j;

  while b[k]=a[k,2] do k:=k-1;

  b[k]:=b[k]+1;

  for L:= ⑦ do b[L]:=0;

  s:=1;

  for i:=1 to j do

  if b[i]<>0 then for L:=1 to b[i] do ⑧

  if s=n then begin

  for i:=1 to j do c[i]:=b[i];

  WRITE('('); M:=1;

  for i:=1 to j do

  While (c[i]>0) AND (M<>N) do

  begin

  M:=M*A[I,1];

  IF M=N THEN write(a[i,1])

  ELSE BEGIN

  WRITE(A[I,1],'*');

  c[i]:=c[i]-1;

  END;

  end;

  WRITELN(')');

  end

  end

  End.

  2. [问题描述]:给出一个凸多边形,可以取得若干个内接三角形,同时约定内接三角形必须有一条边(仅能有一条边)与凸多边形的边相重合,例如:下面的5边形中,可能有的内接三角形有5种:

  问题:当依次给出凸多边形的每个顶点的2个坐标之后,找出一个面积最大的内接三角形,输出该三角形的面积与三个顶点的坐标。

  [算法说明]:凸多边形的每个顶点用一对坐标(x,y)表示;

  用数组p:ARRAY[1..2*n] of point; 存贮输入的顶点坐标;

  同时编制一个由三角形的三个顶点计算其面积的函数SEA。

  [程序清单]:program exp5(input,output);

  const n=6;

  type point=record x,y:real end;

  var p :array[1..2*n] of point;

  i,j :integer;

  q1,q2,q3 :point;

  smax :real;

  Function Sea(p1,p2,p3:point):real;

  var s1,s2,s3,p4:real;

  begin

  s1:=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));

  s2:=sqrt((p1.x-p3.x)*(p1.x-p3.x)+(p1.y-p3.y)*(p1.y-p3.y));

  s3:=sqrt((p2.x-p3.x)*(p2.x-p3.x)+(p2.y-p3.y)*(p2.y-p3.y));

  p4:= ① ; Sea:=sqrt(p4*(p4-s1)*(p4-s2)*(p4-s3));

  end;

  Begin

  for i:=1 to n do readln(p[i].x,p[i].y); smax:=0;

  for i:=1 to n-1 do ②

  for i:=1 to n do

  for j:= ③ do

  if ④ then

  begin

  smax:=Sea(p[i],p[i+1],p[j]);

  q1:=p[i]; q2:= ⑤ ; q3:=p[j]

  end;

  writeln(smax,q1.x,q1.y,q2.x,q2.y,q3.x,q3.y)

  End.

  3. [问题描述]:拼图形:边长为1的正方形面积为1,从边长为1的正方形出发可以用2个边长为1的正方形拼成面积为2的长方形:

  同时约定:

  1.边长对应相等的长方形被认为是相同的;(所以下边的两个面积为2的长方形只看作一个长方形);

  2.长度相等的边才能拼接,且两个边必须重合。从面积为2的长方形出发,用2个面积为2的长方形可拼出面积为4的长方形(包括正方形),拼法如下:

  同样再从面积为4的长方形(包括正方形)出发,可以拼成面积为8的长方形,拼法如下:

  可以按上面的方法继续拼下去。

  问题:输入一个数N,输出面积不超过N的所有可能拼法。例如:当N=20时,输出:(1,1),(2,1),(4,2),(8,2),(16,3)即面积为1的拼法1种,面积为2的拼法1种,面积为4的拼法2种,面积为8的拼法2种,面积为16的拼法3种。

  [算法说明]:矩形可以用三个数x,y,s来表示,其中x,y表示边长,s表示面积,并用数组G[1..100,1..3]表示图形。

  当给出n之后,可能拼接的次数为r满足:2r<=N<2r+1(不包括面积为1的拼法);

  用数组b[1..100]记录各种面积可能出现的拼法。

  [程序清单]:program exp8(input,output);

  type g=record x,y,z:integer end;

  var g1 :array[1..100] of g;

  i,j,n,s1,jj,j1,j2,i1 :integer;

  b :array[1..100] of integer;

  gw :g;

  Function eq(gk:g):boolean;

  var jeq:integer; p:boolean;

  begin

  p:=true; jeq:=1;

  while (p and (jeq<=j)) do

  if ((gk.x=g1[jeq].x) and (gk.y=g1[jeq].y))

  or ((gk.x=g1[jeq].y) and (gk.y=g1[jeq].x))

  then p:=false else jeq:=jeq+1;

  eq:=p

  end;

  Begin

  readln(n); n:=n+1; s1:=1; jj:=1;

  while ① do

  begin ② ; jj:=jj+1 end;

  ③ ; j1:=1; j:=1;

  g1[j].x:=1; g1[j].y:=1; g1[j].z:=1;

  for i:=2 to jj do

  begin

  j2:=j;

  for i1:=j1 to j2 do

  begin

  gw.x:=g1[i1].x*2; gw.y:=g1[i1].y; gw.z:=g1[i1].z*2;

  if ④ then begin

  j:=j+1; g1[j]:=gw

  end;

  gw.x:=g1[i1].x; ⑤

  if eq(gw) then begin

  j:=j+1; ⑥

  end;

  end;

  j1:=j2+1

  end;

  for i:=1 to n do b[i]:=0;

  for i:=1 to j do ⑦

  for i:=1 to n do if ⑧ then write('(',i,',',b[i],')');

  End.
  图片可能没有,还是去网站吧(有很多,慢慢找)。
  祝你也祝我顺利!!!本回答被提问者采纳

Noip提高组pascal题目
第九届分区联赛提高组初赛试题(提高组 PASCAL 语言 二小时完成)●● 全部答案均要写在答案卷子上,写在试卷纸上一律无效 ●●一.单项选择题 (共10题,每题1.5分,共计15分。每题有且仅有一个正确答案.)。1. 图灵 (Alan Turing) 是( )。 A) 美国人 B) 英国人 C) 德国人 D) 匈牙利人 E) 法国人2....

noip提高组的C语言历届复赛试题
NOIP2007 初赛试题(提高组C) ? 中国计算机学会2007 1 第十三届全国青少年信息学奥林匹克联赛初赛试题 ( 提高组C 语言二小时完成) ●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一、单项选择题(共10 题,每题1.5 分,共计15 分。每题有且仅有一个正确答案)。 1. 在以下各项中,( )不是...

求NOIP1995提高组复赛解题报告
回答:1.奖学金 (scholar.pas\/c\/cpp) 【问题描述】 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那...

信息学奥赛初赛近几年的题(pascal)
NOIP2010(Pascal提高组)一、单项选择题1.与16进制数 A1.2等值的10进制数是 ()A.101.2 B.111.4 C.161.125 D.177.252.一个字节(byte)由( )个二进制组成。A.8 B.16 C.32 D.以上都有可能3.以下逻辑表达式的值恒为真的是( )。A.P∨(┓P∧Q)∨(┓P∧┓Q) B.Q∨(┓P∧Q)∨(P∧┓Q)C.P∨Q...

第十四届全国青少年信息学联赛(提高组)初赛试题及答案
end. NOIP2008年提高组(Pascal语言)参考答案与评分标准 一、单项选择题:(每题1.5分) 1. C 2. A 3. B 4. C 5. B 6. D 7. D 8. E 9. B 10. C 二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。 11. ABD 12. AC 13. BC ...

第十五届全国青少年信息学奥林匹克联赛初赛试题(提高组)
第一题:图灵机,第二题:BIDOS,第三题十六进制转化,第四题:二进制转化,第七题:Huffman编码,第八题:快速排序,第九题:加权无向图。第十题:考竞赛官方网址!! 不定项:1cpu 2内存 3操作系统 4网络协议 5HTML 6无权图 7非空循环单链表 8散列表 9排序算法 ...

第17届信息学奥赛
第十七届全国青少年信息学奥林匹克联赛初赛试题( 提高组 C++语言 两小时完成 )●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●● 一、单项选择题 (共10题,每题1.5分,共计15分。每题有且仅有一个正确选项。)1.在二进制下,1011001 + ( )= 1100110。 A.1011 B .1101 C.1010 D.11112.字...

07NOIP提高组问题求解
289人 把N写成2的K次方加X的形式 则J[N]=2X+1 400=2的8次方加144 所以是第2*144+1=289个人

求历届NOIP初赛(提高组)试题
我是普及组的 先告诉你网站 http:\/\/www.zsqz.com\/jsbase\/ 第三届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题(高中组) (PASCAL语言 竞赛用时:2小时) 一、基础部分 (1)WPS是属于___类的软件;FOXBASE是属于___类的软件。用FOXBASE的命令:.CREAT GZB,在磁盘中生成的是___文件。 (2)在MS DOS的根目...

noip2010初赛试题 一定要问题配答案!
CCF NOIP2010提高组(Pascal语言)参考答案与评分标准 一、单项选择题(共10题,每题1.5分,共计15分)1 2 3 4 5 6 7 8 9 10 C A A D B D C B C B 二、不定项选择题(共10题,每题1.5分,共计15分,多选或少选均不得...

相似回答
大家正在搜