Решить по pascal. 1. составьте алгоритм, вычисляющий по заданным вещественным числам a,b,c,d величины ac+bd, ad+bc. этот алгоритм может использовать промежуточные величины, операции сложения, вычитания и умножения, причем умножение должно выполняться не более трех раз. 2. даны целые переменные x и y. поменять местами значения переменных tgx и e^y, не использую дополнительные переменные.
2. 10х10=100 точек, каждая по 16 цветов (4 бита) . Следовательно, на каждые 2 точки уходит байт памяти. Итого - 50 байт.
3. 8х32=256 пикселей. Каждый пиксель занимает 1 байт (8 бит = 256 комбинаций) . Итог - 256 байт.
4. 128х128=16,384 пикселя. 2 кБ памяти = 2,048 байт. Делим объем памяти на количество точек. Получаем 2,048/16,384=0.125 байта на точку, или 1 бит (1/8=0.125). Т. е. , только два цвета - черный и белый.
5. 20х20=400 точек. Каждая по 1 байту (256 цветов = 8 бит) . Итого - 400 байт. ДЕРЖИ
const
n=5;
var
a:array[1..n,1..n] of integer;
x:array[1..n] of double;
i,j,k:byte;
begin
Randomize;
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(51)-25;
Write(a[i,j]:4)
end;
Writeln
end;
Writeln('*** Массив x ***');
for j:=1 to n do begin
x[j]:=0; k:=0;
for i:=1 to n do
if a[i,j] mod 2=0 then begin
x[j]:=x[j]+a[i,j]; Inc(k)
end;
if k>0 then x[j]:=x[j]/k;
Write(x[j]:0:5,' ')
end;
Writeln
end.
Тестовое решение:
*** Исходный массив ***
-10 18 -8 -15 5
-21 -18 6 -2 9
-7 22 -4 3 14
21 16 -10 -18 -9
17 3 -14 -18 12
*** Массив x ***
-10.00000 9.50000 -6.00000 -12.66667 13.00000