symkifm
?>

Какой объем видеопамяти в Кб нужен для хранения изображения размером 600*350 пикселей, использующего 6-цветную палитру?

Информатика

Ответы

vdnh451

ответ: 76,9

Объяснение:

Для 6 цветов необходимо 3 бита (2^n >= 6).

Всего пикселей: 600*350=210 000

Всего бит: 210 000 * 3 = 630 000

Всего КБ: 630 000 / 8 / 1024 ≈ 76,9 КБ

Ярослав
Создаёшь в папке с программой два текстовых файла с именами "1.txt." и "output.txt". В первый записываешь 8 чисел без пробелов и запятых ("22031991", например).

type  matrix = array [1..8] of integer;var  F, output: text;  i, n, cc, sum: integer;  c: char;  x: matrix;  ma: real;
procedure convert (var c: char; var cc: integer);begin  if c='1' then cc:=1;  if c='2' then cc:=2;  if c='3' then cc:=3;  if c='4' then cc:=4;  if c='5' then cc:=5;  if c='6' then cc:=6;  if c='7' then cc:=7;  if c='8' then cc:=8;  if c='9' then cc:=9;  if c='0' then cc:=0;end;
procedure sorting (n: integer; x: matrix);begin  for n:=1 to 7 do begin    if x[n]>x[n+1] then swap(x[n],x[n+1]);  end;end;
begin  Assign(F, '1.txt');  Reset(F);  for i:=1 to 8 do begin    read(F, c);    convert(c,cc);    x[i]:=cc;  end;  Close(F);
  sorting(n,x);  sum:=x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8];  ma:=sum/8;    Assign(output, 'output.txt');  rewrite(output);  writeln(output, sum); writeln(output, ma);  Close(output);end.
Barabanov Gerasimenko
Прикладываю исходник и скрин в приложении к ответу.

Несколько замечаний:

1. Большое количество комментариев внесено в код исключительно в учебных целях. В реальную программу переносить не рекомендуется - признак нехорошего тона.

2. У вас допущены синтаксические ошибки в двух последних циклах, а точнее - в операторах If, в которых стоит три условия (объединённых and), но нет ключевого слова "then" и последующих инструкций. Исправил.

3. Так же, автор вашей программы построил на мой взгляд нелогичную структуру алгоритма. Переменные min, min2 и min3, как я догадался, должны хранить три минимальных значения массива.
А вот что происходит в вашей конструкции: первый цикл безошибочно находит наименьший элемент и записывает его в min, а последующие два цикла записывают в min2 и min3 первые попавшиеся(начиная с первого) элементы, если они больше min. Таким образом, нет никакой закономерности в том, что попадёт в эти переменные и сложно представить, для какой задачи потребовались бы такие случайности.

Одним из вариантов решения предлагаю изначально записывать в эти три переменные не значение первого элемента массива, а какое-то большое число, которое в массиве нам не встретится (например 100). Тогда цикл будет искать значения меньше 100 и перезаписывать им соответствующую переменную, пока не найдёт самое маленькое значение. В таком случае не очень стабильная переменная j нам так же не нужна, я её вычеркнул.

Вам отсылаю уже с учётом поправок, однако если вам требовалась именно первоначальная версия несмотря на её минусы, просто поправьте синтаксис в последних циклах (41 и 34 строчка на скрине) и пользуйтесь ей.

Объясните как работает эта программа по-шагово program lklkjo; uses crt; const n=10; var a: array[1.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Какой объем видеопамяти в Кб нужен для хранения изображения размером 600*350 пикселей, использующего 6-цветную палитру?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

format-l3364
Titeeva-Vladimirovich283
Vova220
tenvalerij
Kozlovao4
petrova-kate3
Viktor1316
billl24
svo1961
Сумарокова
matoksana
admiralbany
ИП-Сысоев1628
Petrovich
pelagia-kola2658