Алгоритм сортировки строки массива по возрастанию методом прямого выбора может быть представлен так: 1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального. 2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального. 3. И так далее до предпоследнего элемента.
Решение:
//Pascal const n = 7;
var a: array[1..n, 1..n] of integer; i, j, min, ind: integer;
//Заполнение массива сл. числами и вывод на экран begin for i := 1 to n do begin for j := 1 to n do begin a[i, j] := random(100); write(a[i, j]:4); end; writeln; end;
//Сортировка строки матрицы прямым выбором
for i := 1 to n - 1 do begin min := a[4, i]; ind := i; for j := i + 1 to n do if a[4, j] < min then begin min := a[4, j]; ind := j; end; a[4, ind] := a[4, i]; a[4, i] := min; end; writeln;
//вывод отсортированной строки for j := 1 to n do begin write(a[4, j]:4); end; end.
1) Для кодирования одного из 16 символов необходимо log(2)16 = 4 бита (2^4=16); для кодирования одного из 32 символов необходимо log(2)32 = 5 бит (2^5=32). Объем 1-го письма = 4*120 бит = 480 бит; объем второго - 5*96 = 480 бит. Таким образом, объемы равны.
3) Для кодирования одного из 64 символов необходимо log(2)64 = 6 бит. Количество символов в тексте = 3*40*60. Информационный объем текста = 3*40*60*6 бит = 3*40*60*6/8 байт = 5400 байт.
4) Количество символов в указанном диапазоне = 311-55 = 256. Количество информации в сообщении об одном числе диапазона = log(2)256 = 8 бит = 1 байт (2^8=256).
1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.
Решение:
//Pascal
const
n = 7;
var
a: array[1..n, 1..n] of integer;
i, j, min, ind: integer;
//Заполнение массива сл. числами и вывод на экран
begin
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := random(100);
write(a[i, j]:4);
end;
writeln;
end;
//Сортировка строки матрицы прямым выбором
for i := 1 to n - 1 do
begin
min := a[4, i];
ind := i;
for j := i + 1 to n do
if a[4, j] < min then
begin
min := a[4, j];
ind := j;
end;
a[4, ind] := a[4, i];
a[4, i] := min;
end;
writeln;
//вывод отсортированной строки
for j := 1 to n do
begin
write(a[4, j]:4);
end;
end.
1) Для кодирования одного из 16 символов необходимо log(2)16 = 4 бита (2^4=16); для кодирования одного из 32 символов необходимо log(2)32 = 5 бит (2^5=32). Объем 1-го письма = 4*120 бит = 480 бит; объем второго - 5*96 = 480 бит. Таким образом, объемы равны.
2) 375 байт = 375*8 бит = 3000 бит. Объем одного символа = 3000/500 = 6 бит. Мощность алфавита = 2^6 = 64 символа.
3) Для кодирования одного из 64 символов необходимо log(2)64 = 6 бит. Количество символов в тексте = 3*40*60. Информационный объем текста = 3*40*60*6 бит = 3*40*60*6/8 байт = 5400 байт.
4) Количество символов в указанном диапазоне = 311-55 = 256. Количество информации в сообщении об одном числе диапазона = log(2)256 = 8 бит = 1 байт (2^8=256).