1.
а)
а = а - 4 = 7 - 4 = 3
b = -a = -3
c = -a + 2 * b = -3 + 2 * (-3) = -3 - 6 = -9
б)
b = a + 4 = 2 + 4 = 6
b = 1 - b = 1 - 6 = -5
c = -b + 3 * a = -5 + 3 * 2 = -5 + 6 = 1
2.
a)
b = 5? (Нет, 0)b: = b + 1 = 0 + 1 = 1
a: = a * 3 = 1 * 3 = 3
b = 5? (Нет, 1)b: = b + 1 = 1 + 1 = 2
a: = a * 3 = 3 * 3 = 9
b = 5? (Нет, 2)b: = b + 1 = 2 + 1 = 3
a: = a * 3 = 9 * 3 = 27
b = 5? (Нет, 3)b: = b + 1 = 3 + 1 = 4
a: = a * 3 = 27 * 3 = 81
b = 5? (Нет, 4)b: = b + 1 = 4 + 1 = 5
a: = a * 3 = 81 * 3 = 243
б)
b = 0? (Нет, 3)b: = b - 1 = 3 - 1 = 2
a: = a * 4 = 1 * 4 = 4
b = 0? (Нет, 2)b: = b - 1 = 2 - 1 = 1
a: = a * 4 = 4 * 4 = 16
b = 0? (Нет, 1)b: = b - 1 = 1 - 1 = 0
a: = a * 4 = 16 * 4 = 64
Проблема нет вот код:
Program raketa;
uses graph;
var gd,gm:integer;
begin
detectgraph (gd,gm);
initgraph (gd,gm,'C:\tp7 ');
line (300,60,240,120);
line (240,120,240,360);
line (360,120,360,360);
line (240,360,360,360);
line (300,60,360,120);
line (240,210,210,240);
line (210,240,240,240);
line (360,210,390,240);
line (390,240,360,240);
circle (300,150,15);
circle (300,210,15);
circle (300,270,15);
Bar (270,300,240,360);
line (240,360,180,450);
line (180,450,420,450);
line (420,450,360,360);
line (330,450,330,370);
line (300,450,300,365);
line (270,450,270,370);
line (240,330,180,330);
line (180,330,90,450);
line (172,330,80,445);
line (300,60,300,30);
readln
end.
Объяснение:
результат
Только такая другой нет
const
mn = 16;
var
p: Boolean;
procedure Swap(var a, b: Integer);
var
T: Integer;
begin
T := a; a := b; b := T
end;
procedure CreateMagic(n: Integer);
var
i, j, k, s, b, r, m: Integer;
a: Array[1.. mn, 1.. mn] Of Integer;
begin
p := True;
if Odd(n) Then
begin
i := 1; j := Succ(n div 2);
for k := 1 To Sqr(n) do
begin
a[i, j] := k;
if k mod n = 0 Then Inc(i)
Else
begin
Dec(i); Inc(j);
if i = 0 Then i := n;
if j > n Then j := 1
end
end;
end
Else
if n mod 4 = 0 Then
begin
k := 1;
for i := 1 To n Do
for j := 1 To n Do
begin
a[i, j] := k; Inc(k)
end;
j := 2; m := n div 2;
for i := 1 To m Do
for k := 1 To m Div 2 Do
begin
if j = Succ(m) Then j := 2
Else
if j = (m + 2) Then j := 1;
s := Succ(n - i); b := Succ(n - j);
Swap(a[i, j], a[s, b]);
Swap(a[i, b], a[s, j]);
Inc(j, 2)
end
end
Else
if n <> 2 Then
begin
k := 1;
for i := 1 To n Do
for j := 1 To n Do
begin
a[i, j] := k; Inc(k)
end;
r := Pred(n div 2) div 2; m := n div 2;
for i := 1 To m Do
begin
j := i;
for k := 1 To r Do
begin
if j > m Then j := 1;
s := Succ(n - i); b := Succ(n - j);
Swap(a[i, j], a[s, b]);
Swap(a[i, b], a[s, j]);
Inc(j)
end
end;
i := 1;
for k := 1 To m Do
begin
if j > m Then j := 1;
s := Succ(n - i);
Swap(a[i, j], a[s, j]);
Inc(i); Inc(j)
end;
i := 1; j := r + 2;
for k := 1 To m Do
begin
if j > m Then j := 1;
b := Succ(n - j);
Swap(a[i, j], a[i, b]);
Inc(i); Inc(j)
end
end
Else p := False;
if p Then
begin
for i := 1 To n Do
begin
for j := 1 To n Do
Write(a[i, j]: 4);
WriteLn
end
end
Else
WriteLn( 'do not exists' )
end;
var
n: Integer;
begin
WriteLn('n = '); ReadLn(n);
CreateMagic(n);
end.