Программа:
Pascal:
№2)
var
m: array[1..10] of integer;
begin
m[1]:=4; m[2]:=8; m[3]:=7; m[4]:=2; m[5]:=1; m[6]:=8; m[7]:=1; m[8]:=5; m[9]:=6; m[10]:=8;
for var i := 1 to 10 do
if m[i] = m.max then m[i]:= 0;
writeln(m);
end.
№3)
const n = 10;
a: array[1..n] of integer;
i, k, tmp: integer;
for i := 1 to n do a[i] := random(0, 1);
writeln('Массив: ', a);
for i := 1 to n - 1 do
for k := 1 to n - i do
if a[k] > a[k + 1] then begin
tmp := a[k];
a[k] := a[k + 1];
a[k + 1] := tmp;
end;
writeln(a);
№5)
a1, a2: array[1..n div 2] of integer;
for i := 1 to n do a[i] := random(-10, 10);
writeln('Исходный массив: ',a);
for i := 1 to n div 2 do a1[i] := a[i];
for i := (n div 2 + 1) to n do a2[i - n div 2] := a[i];
for i := 1 to n div 2 - 1 do
for k := 1 to n div 2 - i do
if a1[k] > a1[k + 1] then begin
tmp := a1[k];
a1[k] := a1[k + 1];
a1[k + 1] := tmp;
if a2[k] < a2[k + 1] then begin
tmp := a2[k];
a2[k] := a2[k + 1];
a2[k + 1] := tmp;
for i := 1 to n do
if i <= 5 then a[i] := a1[i]
else a[i] := a2[i - n div 2];
writeln('Выходной массив: ', a);
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.
Программа:
Pascal:
№2)
var
m: array[1..10] of integer;
begin
m[1]:=4; m[2]:=8; m[3]:=7; m[4]:=2; m[5]:=1; m[6]:=8; m[7]:=1; m[8]:=5; m[9]:=6; m[10]:=8;
for var i := 1 to 10 do
if m[i] = m.max then m[i]:= 0;
writeln(m);
end.
№3)
const n = 10;
var
a: array[1..n] of integer;
i, k, tmp: integer;
begin
for i := 1 to n do a[i] := random(0, 1);
writeln('Массив: ', a);
for i := 1 to n - 1 do
for k := 1 to n - i do
if a[k] > a[k + 1] then begin
tmp := a[k];
a[k] := a[k + 1];
a[k + 1] := tmp;
end;
writeln(a);
end.
№5)
const n = 10;
var
a: array[1..n] of integer;
a1, a2: array[1..n div 2] of integer;
i, k, tmp: integer;
begin
for i := 1 to n do a[i] := random(-10, 10);
writeln('Исходный массив: ',a);
for i := 1 to n div 2 do a1[i] := a[i];
for i := (n div 2 + 1) to n do a2[i - n div 2] := a[i];
for i := 1 to n div 2 - 1 do
for k := 1 to n div 2 - i do
if a1[k] > a1[k + 1] then begin
tmp := a1[k];
a1[k] := a1[k + 1];
a1[k + 1] := tmp;
end;
for i := 1 to n div 2 - 1 do
for k := 1 to n div 2 - i do
if a2[k] < a2[k + 1] then begin
tmp := a2[k];
a2[k] := a2[k + 1];
a2[k + 1] := tmp;
end;
for i := 1 to n do
if i <= 5 then a[i] := a1[i]
else a[i] := a2[i - n div 2];
writeln('Выходной массив: ', a);
end.
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
(1)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
(1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.