2013年NOC考试试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、基础知识填空题(30分)

1、已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,

J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。试问:A[5,8]的起始地址为__________

2、为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为前缀{运

算符在前,如X/Y写为/XY}和后缀{运算符在后,如X/Y写为XY/}的表达式。在这样的表示中,可以不用括号即可确定求值的顺序,如:

(A+B)*(C—D)→ *+AB—CD(前缀)或→ AB+CD一*(后缀)

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

(a)P+Q*R/S __________________________________________

(b)P-R*S+Q^E __________________________________________

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

+△P*Q△R {前缀式中△表示一元运算符取负号,如△A表示(—A)} _______________________________________________________

3、有2×n的一个长方形方格,用一个1×2的骨牌铺满方格。例如n=3时,为

2×3方格。此时用一个1×2的骨牌铺满方格,共有3种铺法:试对给出的任意一个n(n〉0),铺法总数表达式为___________。

4、7个不同的球装到3个相同的盒子里,每个盒子都不为空,有 _____种方法

二、程序填空,完成以下每个程序中的空白部分。

1、将16进制数字换成十进制(10分)

var

i,k:Integer;

Str:String; {表示16进制的字符串}

S:LongInt;{表示十进制的数字}

Begin

Readln(Str); S:=0;

For i:=1 to _________ Do

Begin

If Str[i] in ['0'..'9'] Then k:=Ord(Str[i])-Ord('0')

Else ___________;

S:=_______;

End;

Writeln(s);

End.

2、计算50!(20分)

var

a:array[0..100] of integer;

i,j,k:integer;

begin

for i:=1 to 100 do a[i]:=0;a[0]:=1;{赋初值,最后一位是1}

for i:=2 to 50 do

begin

for j:=0 to 100 do _________; {先计算乘积}

for j:=0 to 100 do {处理进位}

begin

_________;

__________;

___________;

end;

end;

j:=100;______________; {记录前面不必要的0}

writeln;write('50!=');

for i:=j downto 0 do write(a[i]);

end.

3、计算0.12345678910111213141516………………的第N位数字是几。(20分)var

n,i,j,k,o:integer;

begin

readln(n);

if _______ then o:=n

else if _______ then

begin

i:=__________;j:=(n-____) mod 2;

if j=1 then o:=((i+10) div 10) else o:=(i+9) mod 10;

end

else begin

i:=_________;j:=(n-_____) mod 3;

if j=0 then o:=______________;

if j=1 then o:=_______________;

if j=2 then o:=_______________;

end;

write(o,' ');

end;

end.

三、编写程序求100!末尾有多少个连续的零,最右边的非零数字是几。

相关文档
最新文档