1.
700*400*32/8/1024=~1093 кбайт
880*600*32/8/1024=~2062 кбайт
1400*800*32/8/1024=~4375 кбайт
2200*1400*32/8/1024=~12031<span> кбайт
2. ((ln(8092)/ln(2))+округлить вбольшую до целого)*1200*1920/8/1024/1024=3.57 мбайт
3. (ln(32768)/ln(2)) / (ln(32)/ln(2)) = 32 бит пикс / 5 бит пикс = 6.4 раз
4. 1200 байт * 8 / (ln(64)/ln(2)) = 1600 точек.
5. 800*600*(ln(16)/ln(2)) бит пикс / 8 / 1024 = 234,375 кбайт будет занимать/весить. Достаточно.
6.
10 см ширина * (300/2.54) = 1181 пикс ширина
15 см высота * (300/2.54) = 1772 пикс высота
1181*1772*32 бит / 8 / 1024 / 1024 = 7.9 мбайт.</span>
У меня получились такие ответы:
1) а
2) с
3) c
Надо расширить квадрат в настройках или на экрана или скачай fraps или bandican
Визуализация информации или доступность(в чём я сомневаюсь)
Инвариантные фрагменты кода
Оптимизация инвариантных фрагментов кода тесно связана с проблемой оптимального программирования циклов. Внутри цикла могут встречаться выражения, фрагменты которых никак не зависят от управляющей переменной цикла. Их называют инвариантными фрагментами кода. Современные компиляторы часто определяют наличие таких фрагментов и выполняют их автоматическую оптимизацию. Такое возможно не всегда, и иногда производительность программы зависит целиком от того, как запрограммирован цикл. В качестве примера рассмотрим следующий фрагмент программы (язык Turbo Pascal):
for i := 1 to n do
begin
...
for k := 1 to p do
for m := 1 to q do
begin
a[k, m] := Sqrt(x * k * m - i) + Abs(u * i - x * m + k);
b[k, m] := Sin(x * k * i) + Abs(u * i * m + k);
end;
...
am := 0;
bm := 0;
for k := 1 to p do
for m := 1 to q do
begin
am := am + a[k, m] / c[k];
bm := bm + b[k, m] / c[k];
end;
end;
Здесь инвариантными фрагментами кода являются слагаемое Sin(x * k * i) в первом цикле по переменной m и операция деления на элемент массива c[k] во втором цикле по m. Значения синуса и элемента массива не изменяются в цикле по переменной m, следовательно, в первом случае можно вычислить значение синуса и присвоить его вспомогательной переменной, которая будет использоваться в выражении, находящемся внутри цикла. Во втором случае можно выполнить деление после завершения цикла по m. Таким образом, можно существенно сократить количество трудоёмких арифметических операций.
<span>[править] Приоритеты оптимизации</span>