Есть ответ 👍

Type ref = ^integer; var p, q: ref; пусть p^=5 и q=p. что будет выдано на печать в результате выполнения следующих операторов? q^: =p^+1; if p< > q then p: =nil else q^: =10; if q^=10 then begin p: =q; q^: =20; end; writeln(p^);

169
325
Посмотреть ответы 2

Ответы на вопрос:


Если q=p, то оба указателя ссылаются  на одно и то же место в памяти, т.е. значения p^ и q^ всегда будут одинаковы. после p^=5 оба указателя будут ссылаться на 5. q^: =p^+1 к тому, что cсылка будет на 6, поэтому в первом if условие ложно и выполняется ветка else и оба указателя будут ссылаться на 10.во втором if условие истинно, поэтому выполняется ветка then. в ней присваивание p: =q ничего не меняет, поскольку оба указателя и так уже указывают на одно и то же место в памяти. а после q^: =20 в это место будет записана константа 20, поэтому при выводе p^ мы получаем значение 20.ответ: 20

1) Карим, Гузаль, Анвар

2) Карим, Анвар, Гузаль

3)Анвар, Гузаль, Карим

4) Анвар, Карим, Гузаль

5) Гузаль Анвар Карим

6) Гузаль Карим Анвар

Популярно: Информатика