PASCAL试题(1998年)

日期:12-15| http://www.59wj.com |公共课历年真题|人气:485

PASCAL试题(1998年) 一、判断题(每小题2分,共10分)

  1.TYPE
  digits=(one,two,three,four); ( )

  2.VAR n:integer
  ……
  CASE n OF
  1,3,5 : writeln(‘odders’);
  2,4,6 : writeln(‘evener’);
  3,4,7 : writeln(‘other’)
  END; ( )

  3.VAR b:boolean; i,n:integer;
  ……
  b:=true;
  FOR i:=2 TO n/2 DO
  IF n MOD i=0
  THEN b:=false; ( )

  4.FUNCTION f(x:integer):1..100; ( )

  5.VAR a,b:RECORD
  x,y:real
  END;
  ……
  IF a=b
  THEN writeln(‘all value is equal’); ( )

  二、单项选择题(每小题2分,共10分)

  1.VAR ( )
  c:char; b:boolean;
  选出下面正确的赋值:
  A.c:=’1998’;
  B.c:=1
  C.b:=’true’;
  D.c:=’1’;

  2.选出下面正确的表达式。 ( )
  A. 3<>5 and 5-3=2
  B. ‘5’+’3’
  C. chr(ord(‘B’))
  D. ord(‘2’)/2 mod 2

  3.选出下面正确的类型定义。 ( )
  A.TYPE operaters=(+,-,*,/);
  B.TYPE digits=(‘1’,’2’,’3’,’4,’);
  C.TYPE letters=(‘A’,’B’,’C’,’D’);
  D.TYPE mtype=(int,realtype,caracter,bool);

  4.VAR p,q:integer; r,s:real; ( )
  且p,q,r,s都已赋值,选出下面正确的表达式。
  A.p=q
  B.p<>r
  C.p=r
  D.q<>s

  5.VAR S:SET OF 1..5; A:SET OF ‘A’..’E’; ( )
  A和S已赋值,选出正确的表达式。
  A.A<>S
  B . A∩S=[ ]
  C . A<>[ ]
  D . NOT ‘A’ IN S

  三、填空题(每空1分,共10分)

  1.VAR a:ARRAY [1..10,’A’..’E’] OF char;a中有_________个元素,每个元素是_________类型。

  2.VAR tool:(bike,car,motor,bus); pred(car)=__________;succ(car)=______________。

  3.A:=[1,3,5,7,9];B:=[2,4,6,8,10];A+B的值是__________,A*B的值是__________。

  4.VAR p,q:^integer;
  ……
  new(p); q:=NIL;
  表达式p<>q的值是_____________,表达式p=q的值是_____________。

  5.建立文件f(非标准)时,必须先调用标准过程___________ ;第一次从f上读之前,必须先调用标准过程___________。

  四、简答题(每小题5分,共20分)

  1.写一个表达式,若x满中下式
  10-7<|x|<107
  则表达式取值true,否则,取值false.
  写一个程序片段,计算1至100中能被3整除的所有整数之和。
 

  2.已知,VAR s: (knife,rule,pen,rubber); 且s中已有值,试写一程序片段,把s中的值输出到显示器上。
 

  3.VAR a:ARRAY[1..4][1..4] OF real ; 写一程序片段,用赋值语句(即不用read过程),将下面的矩阵赋给a中元素。
  1.1 5.2 9.3 13.4

  2.1 6.2 10.3 14.4

  3.1 7.2 11.3 15.4

  4.1 8.2 12.3 16.4

  五、程序分析题(共28分)指出下列程序的输出。

  PROGRAM t982(input,output);
  VAR
  a,b,c : integer;
  PROCEDURE p (VAR x:integer; y:integer);
  VAR
  temp:integer;
  BEGIN
  temp:=x DIV y+c;
  x:=temp;
  writeln(x:4,y:4,temp:4)
  END;
  BEGIN
  a:=9;b:=2;c:=3;
  p(a,b);
  writeln(a:4,b:4,c:4)
  END.

  PROGRAM t984(inprt, output);
  VAR
  i,j:integer;
  a,b:ARRAY[1..5] OF integer;
  BEGIN
  FOR i:=1 TO 5 DO
  BEGIN
  a[i]:=2*i-1;
  b[i]:=i
  END;
  FOR i:=1 TO 5 DO
  FOR j:=1 TO 5 DO
  IF a[i]=b[j]
  THEN write(a[i]:4)
  END.

  PROGRAM t986(input,output);
  TYPE
  pointer=^node;
  node=RECORD
  n:integer;
  next:pointer
  END.
  VAR
  i:integer;
  head,p,q:pointer;
  PROCEDURE make(VAR head:pointer; key:integer);
  VAR p,q,r: pointer;
  BEGIN
  p:=head;
  WHILE(key>=p^.n) AND (p^.next<>NIL) DO
  BEGIN
  q:=p;
  p:=p^.next
  END;
  new(r); r^.n:=key;
  IF key   THEN BEGIN r^.next:=head; head:=r END
  ELSE IF key   THEN BEGIN r^.next:=p; q^.next:=r END
  ELSE BEGIN p^.next:r; r^.next:=NIL END
  END;
  PROCEDURE wlink(head:pointer);
  VAR p:pointer;
  BEGIN
  p:=head;
  WHILE p<>NIL DO
  BEGIN
  write(p^.n:4);
  p:=p^.next
  END;
  END;
  BEGIN
  head:=NIL; i:=1;
  WHILE i<=5 DO
  BEGIN
  new(p); p^.n:=2*i;
  IF head=NIL THEN head:=p
  ELSE q^.next:=p;
  q:=p; i:=i+1
  END;
  q^.next:=NIL;
  wlink(head);
  make(head,20);
   wlink(head)
  END.

  六、程序填空(共22分)

  1.[程序说明] 程序t988给数组a中count个元素赋值,然后插入一个元素,最后显示出a中的元素。过程P对给定的y,首先找插入位置,然后插入,且插入后a中元素仍是升序。(10分)

  [程序]
  PROGRAM t988(input,output);
  CONST n=50;
  TYPE atype=ARRAY[1..n] OF integer;
  VAR a:atype;
  i,count:integer;
  PROCEDURE P(VAR x:atype; y:integer; VAR m:integer);
  VAR i,k:integer;
  BEGIN
  IF m>=n
  THEN writeln(‘out renge’)
  ELSE BEGIN
  _______________
  WHILE_____________ AND (k   k:=k+1;
  _____________
  x[i+1]:=x[i];
  _____________
  m:=m+1
  END
  END;
  BEGIN
  count:=10;
  FOR i:=1 TO count DO
  a[i]:=2*i;
  _______________
  FOR i:=1 TO count DO
  write(a[i]:4);
  writeln
  END.

  
  2.[程序说明] t989是一个简单的设备管理程序。描述设备的类型cordtype中有编号no,名称name,购买时间btime和价格price。该程序首先从键盘上读入原始数据,然后按价格升序排序,最后显示设备信息。(12分)

  [程序]

  PROGRAM t989(input,output);
  CONST m=5;
  n=50;
  TYPE strings=PACKED ARRAY[1..M] OF char;
  cardtype=RECORD
  no:integer;
  name:strings;
  btime:RECORD
  year,month,day:integer
  END;
  price:real
  END;
  atype=ARRAY[1..n] OF cardtype;
  VAR a:atype; i,c:integer;
  PROCEDURE p1(VAR x:atype; VAR m:integer);
  VAR t:cardtype;
  BEGIN
  m:=1;
  _____________
  WITH .btime DO
  BEGIN
  readln(name,no,price,year,month,day);
  WHILE(no<>0) AND (m   BEGIN
  x[m]:=t;
  ___________
  m:=m+1
  END
  END;
  m:=m+1
  END;
  PROCEDURE p2(VAR x:atype);
  VAR i,j,k:integer;
  temp:cardtype;
  BEGIN
  FOR i:=1 TO c-1 DO
  BEGIN
  FOR j:=j+1 TO c DO

  
  IF___________THEN k:=j;
  temp:=x[i];
  x[i]:=x[k];
  x[k]:=temp
  END
  END;
  BEGIN
  ______________
  p2(a);
  FOR i:=1 TO c DO
  _____________
  writeln(no:6, name:6, btime.year:6, btime.month:4, btime.day:4, price:6:1)
  END.

www.59wj.com 如果觉得《PASCAL试题(1998年)》公共课历年真题,zikao不错,可以推荐给好友哦。
本文Tags: 自学考试 - 历年真题 - 公共课历年真题,zikao,
在百度中搜索相关文章:PASCAL试题(1998年)
在谷歌中搜索相关文章:PASCAL试题(1998年)
在soso中搜索相关文章:PASCAL试题(1998年)
在搜狗中搜索相关文章:PASCAL试题(1998年)
相关分类导航|
热门推荐|