Пусть переменные p и q имеют значения, показанные на рисунке. Ответить на следующие вопросы:
a)Что является значением переменной p: ссылка на объект (переменную) целого типа или сам этот объект?
b)Что обозначает переменная p^: ссылку на объект целого типа, сам этот объект или число 5?
c)Каковы типы переменных p и p^?
d)Что будет выведено на печать в результате выполнения следующих операторов?
p^:=q^;
if p=q then p:=nil else if p^=q^ then q:=p;
if p=q then q^:=4;
WriteLn(p^,q^);
2)type D = record
a: boolean;
b,c: ^real;
end;
var r: ^D;
Пусть переменная r имеет значение, показанное на рисунке Нарисовать структуру значения переменной r после выполнения следующих операторов:
if r^.b<>nil then r^.c:=r^.b;
r^.b^:=r^.c^-1.4;
r^.a:=r^.b=r^.c;
3)var p,q: ^integer;
r: ^char;
Какие из следующих операторов неправильные и почему?
a)p:=q;
b)q:=p^;
c)if r<>nil then r^:=nil^;
d)q:=r;
e)p^:=nil;
f)if q>nil then q^:=p^;
g)p:=nil;
h)r^:=p^;
i)if q=p then write(q);
j)r:=nil;
k)q^:=ord(r^);
l)if q<>r then read(r^);
4)type A = ^char;
B = record
f1: char;
f2 : A;
end;
var p: ^B;
q: A;
Нарисовать структуру значений переменных p и q после выполнения следующих операторов:
new(q); q^:='7';
new(p); p^.f1:=succ(q^); p^.f2:=q;
5)type chain = ^elem;
elem = record
data : integer;
link : chain;
end;
var p, q: chain;
Нарисовать структуру значений переменной p после выполнения операторов:
a)new(p); p^.data:=4; p^.link:=nil;
b)new(p); p^.data:=7; p^.link:=p;
c)new(q); q^.data:=2; q^.link:=nil;
new(p); p^.data:=1; p^.link:=q;
d)new(p); p^.data:=6; new(p^.link); p^.link^:=p^;
6)Описать переменную p (и, если надо, вспомогательные переменные) и выписать операторы, присваивающие ей указанные значения
a)
b)
7)Выписать операторы, которые преобразуют значение переменной p следующим образом.
Исходное состояние:
a)
b)
c)
8)type ref = ^real;
vector = array[1..10] of ref;
Напишите процедуру Input(x), считывающую числа с устройства Con и помещающую их в кучу (адреса будут хранится в элементах вектора x). Напишите процедуру Output(x), выводящую на устройство Con числа, которые расположены по адресам, хранящимся в элементах вектора x.