дана табличная величина, значения всех элементов которой разные. определить наибольшее и наименьшее значения среди элементов этой табличной величины и поменять их местами.
поскольку необходимо поменять местами наибольшее и наименьшее значения среди значений элементов табличной величины, то следует определить не только сами эти значения, а еще и номер элемента, значение которого наибольшее, и номер элемента, значение которого наименьшее. определим все это, просматривая значения элементов табличной величины только один раз.
сначала будем считать, что значение первого элемента и наибольшее, и наименьшее, а номер наибольшего и наименьшего элементов — 1. после этого последовательно будем просматривать все другие элементы массива. если значение очередного элемента табличной величины больше, чем наибольшее в этот момент, то заменяем наибольшее значение среди уже просмотренных и номер наибольшего элемента. если нет, то может это значение меньше, чем то, которое пока что считаем наименьшим. и если это так, то заменяем наименьшее значение среди уже просмотренных и номер наименьшего элемента.
Информационный объем I = 44100 Гц * 5 * 60 с * 16 бит = 211680000 бит = 26460000 байт = 25839,84375 Кбайт = 25,23422241210938 Мбайт
Задание 2
I = 1,3 Мбайт t = 1 мин Частота дискретизации v = 1,3 * 1024 * 1024 * 8 бит / 60 с / 8 бит = 22719,147 Гц
Задание 3
I = 5.1 Мбайт, t = 2 минуты, v = 22050 Гц Разрядность аудиоадаптера i = 5.1 * 1024 * 1024 * 8 бит / (2 * 60) с / 22050 Гц = 16,1685 бит (округленно 16 бит)
Задание 4
I = 0.01 Гбайт, i = 16 бит, v = 44100 Гц Время t = 0,01 * 1024 * 1024 * 1024 * 8 бит / 16 бит / 44100 Гц = 121 с (округляем до 120 с)
var a:array[ 1 .. 10 ] of shortint;
i:byte;
t:shortint;
begin
randomize;
writeln('Исходный массив: ');
for i := 1 to 10 do
begin
a[ i ] := random(21) - 10;
write(a[ i ]:4)
end;
writeln;
t := a[ 10 ];
for i := 10 downto 2 do
a[ i ] := a[ i - 1 ];
a[ 1 ] := t;
writeln('Результат: ');
for i := 1 to 10 do
write(a[ i ]:4);
readln
end.
2)
program N70231806_2;
var a:array[ 1 .. 12 ] of shortint;
i, j:byte;
t:shortint;
begin
randomize;
writeln('Исходный массив: ');
for i := 1 to 12 do
begin
a[ i ] := random(25) - 10;
write(a[ i ]:4)
end;
writeln;
for j := 1 to 4 do
begin
t := a[ 12 ];
for i := 12 downto 2 do
a[ i ] := a[ i - 1 ];
a[ 1 ] := t
end;
writeln('Результат: ');
for i := 1 to 12 do
write(a[ i ]:4);
readln
end.