25、若要描述指针r不指向任何数据,可执行语句________________。
三、改错题(本大题共5小题,每小题4分,共20分)指出所给程序中的错误,在错误位置处打上横线标记,并注明其错误原因。
27、程序功能:已知三角形三边长a、b、c的值,判别其是否为等腰三角形。是则输出如下信息:
It is isosceles triangle!
程序:PROGRAM IsosTri(input,output);
VAR a,b,c,s:INTEGER;
BEGIN
readln(a,b,c); s:=round((a+b+c)/2;
IF s<=a OR s<=b OR
s<=c
THEN writeln(‘Nontriangle!');
(*表示不能构成三角形*)
IF a=b OR b=c OR a=c THEN
writeln(‘It
is isosceles triangle!')
END.
28、程序功能:计算X取值从0.0开始,每次增加0.1,到1.0为止的SIN(X)之和。即求:
S=sin(0.0)+sin(0.1)+……+sin(1.0)
并每步输出当前的和及SIN(X)的值。
程序:PROGRAM sumsin(input,output);
VAR sx,sum,x:REAL;
BEGN
FOR x:=0.0 TO 1.0 DO
BEGIN
sum:=0.0
sx:=sin(x);writeln(sx:6:2);
sum:=sum+sx;writeln(sum:8:2);
END
END.
29、程序功能:用自定义的函数计算一个任意整数的随机数,然后再将计算出的随机数与测试数据test运算后输出。整数r的随机数x可用如下公式计算:x=((r*168+2159)MOD32767)/32767
(设机器最大正整数为32767)
程序:PROGRAM calc(input,output)
CONST test=200;
VAR a,b:INTEGER;
FUNCTION rnd(VAR r:INTEGER):REAL;
BEGIN
r:=(r*168+2159)MOD MaxInt;
rnd:=r/MaxInt
END;
BEGIN
a:=rnd(40)*test+test;
b:=rnd(60)*test-test;
writeln(‘a='a,'b=',b);
END
30、程序功能:找出n个大于O的实型数据中的最大者及其序号。
程序:PROGRAM findmaximum(input,output);
VAR n,i,idx,max:INTEGER
num:ARRAY[1..n]OF REAL;
BEGIN
max:=O;readln(n)
FOR i:=1 TO n DO
BEGIN
read(num[i]);
IF num[i]>max THEN
BEGINmax:=num[i];idx:=i END
END;
writeln(‘MAXIMUM
IS',max:4);
writeln(‘THE
INDEX IS',idx:4)
END.
33、program p34(output);
const n=5;
var i:integer;
c:char;
procedure p(n:integer;c:char);
var i:integer;
begin
for i:=1 to n do
write(c);
writeln
end;
begin
for i:=1 to n do
begin
c:=chr(ord(‘a')+i-1);
p(i,c)
end
end.
执行该程序,其输出为:
___________________________________________________________________________
34、阅读下列程序
PROGRAM lstexample(input,output);
TYPE link=^litem;
litem=RECORD
vals:integer;
poit:link
END;
VAR lhead,p0,p1:link;
PROCEDURE lstbuilt(head:link);
VAR next:link;
BEGIN
new(head);lhead:=head;
next:=head:read(next^.vals);
WHILE next^.vals<>-1 DO
BEGIN new(next^.poit);
next:=next^.poit;
read(next^.vals)
END;
next^.poit:=nil
END;
BEGIN
lhead:=nil; lstbuilt(lhead);
p0:=lhead;
WHILE NOT(p0=nil)and(p0^.vals<>-1)DO
BEGIN
p1:=p0^.poit;
IF (p1^.vals
write(p0^.vals:4);
p0:=p1
END
END.
执行该程序,当输入值的顺序为6,8,4,6,4,2,-1时
①画出过程lstbuilt产生的单链表结构
②写出程序打印结果
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
责任编辑:cyth