Имеется программа: program dynamic;
var
x: ^Boolean;
y: Boolean;
begin{А}
new(x); {B}x^ := true; y := not x^;
{C} dispose(x); {D}writeln(y);
end.
ответить на следующие вопросы:
А) Какие переменные существуют в каждой из точек А, В, С и D и каковы их значения в эти моменты?
Б) Почему объекты (переменные), создаваемые процедурой new и уничтожаемые процедурой dispose, называются динамическими? Почему им не дают имена?
В) Можно ли переменной x присвоить ссылку на переменную y? Можно ли с процедуры dispose уничтожить переменные x и y?
k = 3;
p = 3;
var
f: array [1..k, 1..p] of byte;
mini: array [1..2] of byte := (1, 1);
maxi: array [1..2] of byte := (1, 1);
procedure Swap(var a, b: integer);
var
p: integer;
begin
p := a;
a := b;
b := p;
end;
begin
for i: byte := 1 to k do
begin
for j: byte := 1 to p do
begin
f[i, j] := random(10, 100);
write(f[i, j]:3);
if (f[mini[1], mini[2]] > f[i, j]) then
begin
mini[1] := i;
mini[2] := j;
end;
if (f[maxi[1], maxi[2]] < f[i, j]) then
begin
maxi[1] := i;
maxi[2] := j;
end;
end;
writeln();
end;
writeln();
swap(f[1, p], f[maxi[1], maxi[2]]);
swap(f[p, 1], f[mini[1], mini[2]]);
for i: byte := 1 to k do
begin
for j: byte := 1 to p do
write(f[i, j]:3);
writeln();
end;
end.
k = 7;
p = 10;
var
i, j, e, max, min: integer;
F: array[1..k, 1..p] of integer;
begin
Randomize;
writeln('Исходная матрица');
max := -32768;
min := 32767;
for i := 1 to k do
begin
for j := 1 to p do
begin
e := random(100) - 50;
if e > max then max := e
else if e < min then min := e;
write(e:4);
F[i, j] := e
end;
writeln
end;
F[1, p] := max;
F[k, 1] := min;
writeln('Результирующая матрица');
for i := 1 to k do
begin
for j := 1 to p do
write(F[i, j]:4);
writeln
end
end.
Тестовое решение:
Исходная матрица
34 36 41 9 -4 39 29 1 15 -33
13 -9 -29 28 -45 -1 8 38 37 12
-33 45 3 35 -47 -14 -30 49 -29 -6
-50 -49 42 15 46 4 24 -21 -10 23
-14 30 -14 -46 33 -26 24 2 -3 -31
-27 15 47 25 -43 39 -17 -44 6 -40
19 30 -20 -29 -34 12 -2 5 32 0
Результирующая матрица
34 36 41 9 -4 39 29 1 15 49
13 -9 -29 28 -45 -1 8 38 37 12
-33 45 3 35 -47 -14 -30 49 -29 -6
-50 -49 42 15 46 4 24 -21 -10 23
-14 30 -14 -46 33 -26 24 2 -3 -31
-27 15 47 25 -43 39 -17 -44 6 -40
-50 30 -20 -29 -34 12 -2 5 32 0