Язык: Pascal.
var
a: array [1..20] of integer; {объявляем целочисленный массив на 20 элементов}
i, min, t, m: integer; {i - счетчик, min - минимум, t, m - временные переменные}
begin
{рандом 20 чисел в диапазоне [-20;12]}
randomize;
for i:=1 to 20 do
a[i]:=random(33)-20;
min:=a[1]; //присваиваем минимуму первый элемент.
{цикл начинается с 2, чтобы не делать лишнюю итерацию}
for i:=2 to 20 do
begin
{если минимум больше текущего значения элемента массива, то минимуму присваивается это значение и запоминаем его индекс, чтобы в дальнейшем поменять минимальный элемент с последним.}
if min > a[i] then
begin
min:=a[i];
m:=i;
end;
end;
{выводим старый массив}
Writeln('Старый массив:');
for i:=1 to 20 do
writeln(a[i]);
{меняем местами последний элемент с минимальным}
t:=a[20];
a[20]:=min;
a[m]:= t;
{выводим новый массив}
Writeln('Новый массив:');
for i:=1 to 20 do
writeln(a[i]);
end.
1) 2304 КБайт
2) 5625 КБайт, видеокарта на 64 МБайт
3) 112,5 МБайт
Объяснение:
Задача 1:
16 777 216 = 2^i, i = 24
I = 1024 * 768 * 24 = 2^10 * 3 * 2^8 * 24 битов =
= 72 * 2^18 битов = 72 * 2^15 байтов = 72 * 2^5 Кбайт = 72*32 КБайт =
= 2304 КБайт
Задача 2:
16 777 216 = 2^i, i = 24
I = 1600 * 1200 * 24 = 100 * 2^4 * 75 * 2^4 * 24 битов =
= 25 * 2^2 * 2^4 * 75 * 2^4 * 3 * 2^3 битов = 25*75*3* 2^13 битов = 5625* 2^10 байтов = 5625* 2^0 Кбайт = 5625 КБайт ≈ 5,5 МБ
Подойдет видеокарта на 64 Мбайт.
Задача 3:
75 Гц, значит в одной секунде 75 кадров.
Объем данных, передаваемых в секунду от видеопамяти к монитору:
75 * 16 * 1024 * 768 = 75 * 2^4 * 2^10 * 3 * 2^8 = 225 * 2^22 битов =
= 225 * 2^19 байт = 225 * 2^9 КБайт = 112,5 * 2^10 КБайт = 112,5 * 2^0 МБайт = 112,5 МБайт