Pascal ABC
Код:
var
a: array [1..100] of real;
max, i, min, N: integer; temp: real;
begin
readln(N);
//заполнение массива и его вывод
for i := 1 to N do begin
a[i]:=random()*100;
write(a[i]:0:2, ' ');
end;
writeln;
//поиск максимума и минимума
min := 1; max := 1;
for i := 1 to N do begin
if a[min] > a[i] then min := i;
if a[max] < a[i] then max := i;
end;
//меняем местами
temp := a[max];
a[max] := a[min];
a[min] := temp;
//вывод массива
for i := 1 to N do
write(a[i]:0:2, ' ');
writeln;
end.
Тесты:
Ввод:
5
Вывод:
81.57 14.35 20.60 42.20 21.09
14.35 81.57 20.60 42.20 21.09
Ввод:
6
Вывод:
90.94 46.30 24.40 99.34 12.02 69.05
90.94 46.30 24.40 12.02 99.34 69.05
Ввод:
4
Вывод:
52.21 61.47 17.57 68.80
52.21 61.47 68.80 17.57
Для второй задачи: 178,329 сек.
Для третьей задачи: 300 байт
Объяснение:
Вторая задача:
Переведём 15 мб в байты:
15 * 1024 * 1024 = 15728640 байта
Поделим количество байт на частоту дискретизации:
15728640 / 44100 = 356,658 сек.
Осталось поделить полученное число на 2, так как разрядность звуковой платы 16 (16 / 8 = 2):
356,658 / 2 = 178,329 сек.
Конечное выражение для вычислений:
15 * 1024 * 1024 / 44100 / 2
Третья задача:
Изображение имеет размер 10 * 15 точек, значит всего 150 точек.
Палитра состоит из 65536 цветов, для их кодирования необходимо 16 бит:![log2(65536) = 16](/tpl/images/1150/6580/4d068.png)
Итого: 150 * 16 = 2400 бит.
Переведём в байты: 2400 / 8 = 300 байт.