Задача №1 (найти максимальное количество цветов)
 

Содержание:

Плохо понимаете, как решать задания на кодирование графической информации?

Всем привет! Меня зовут Александр и я профессиональный репетитор по информатике, программированию, математике и базам данных.

Скоро экзамен ЕГЭ по информатике и ИКТ, а у вас не получается правильно решать задания, ориентированные на кодирование графической информации? Не понимаете, как найти максимальное количество цветов в палитре? Если, да, то записывайтесь ко мне на частные занятия, ну, или внимательно читайте данный материал. wink

Мои индивидуальные занятия проходят в различных территориальных форматах, а именно:

Настоятельно рекомендую остановить свой выбор на дистанционной форме обучения. Это удобно, недорого и крайне эффективно.

Условие задачи

Автоматическая камера производит растровые изображения размером $200 × 256$ пикселей. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Объём файла с изображением не может превышать $65$ Кбайт без учёта размера заголовка файла.

Какое максимальное количество цветов можно использовать в палитре?

Решение задачи

В первую очередь нужно выяснить, о каком типе графики идет речь! Напомню, что школьная программа подготовки к ЕГЭ по информатике предполагает знакомство учащихся с $3$-мя видами компьютерной графики:

растровая графика векторная графика фрактальная графика

В условии прямо говорится о растровой графике: "производит растровые изображения". И это замечательно! yes Потому что этот вид компьютерной графики самый простой в анализе и расчетах.

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

Значит, наша первостепенная задача - определить глубину цвета данного растрового изображения, а затем воспользоваться формулой Хартли для получения окончательного ответа.

Из постановки задачи нам известны:

  • габариты растрового изображения, выраженные в пикселях ($200 • 256$);

  • общий информационный вес изображения, выраженный в Кбайт ($65$ Кбайт).

Внимательный читатель обратит внимание на следующий фрагмент текста: "не может превышать $65$ Кбайт". Т е в условии не говорится о том, что размер файла строго равен $65$ Кбайт, а лишь о том, что он не превышает этой величины.

Но, как было замечено ранее, нужно стремиться к тому, чтобы каждый пиксель кодировался как можно большим целым числом бит, следовательно, размер исходного графического файла в последующих расчетах будем принимать наибольшим, т е равным $65$ Кбайт.

$<Память\ на $1$\ пиксель>\ =\ \frac{<Общий\ размер\ памяти>}{<Общее\ количество\ пикселей>}$, [бит]

Для упрощения последующих математических выкладок сделаем следующее:

  1. Разложим все заданные натуральные числа на простые множители (факторизация числа).

  2. Переведем единицы измерения информации из [Кбайт] в [бит].

$200 = 2 · 2 · 2 · 5 · 5 = 2^3 · 5^2$

$256 = 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 = 2^8$

$65\ [Кбайт] = 5 · 13\ [Кбайт] = 5 * 13 * 2^{13}\ [бит]$

Не забывайте, что в $1$-ом Кбайте $8\ 192$ или $2^{13}$ бит.cool Подставляем разложенные величины в формулу:

$I = \frac{5\ ·\ 13\ ·\ 2^{13} [бит]}{2^3\ ·\ 5^2\ ·\ 2^8} = \frac{5\ ·\ 13\ ·\ 2^{13} [бит]}{2^{11}\ ·\ 5^2} = \frac{4\ ·\ 13}{5} = \frac{52}{5} = 10.4$, [бит]

Но, глубина цвета должна выражаться целым числом бит, поэтому округляем "вниз" до ближайшего целого: $10.4 \approx 10$ [бит].

Вывод: на кодирование каждого пикселя заданного растрового изображения отводится ровно $10$ бит информации.

Двигаемся дальше!yes В условии задачи нам сообщили, что "Для кодирования цвета каждого пикселя используется одинаковое количество бит", т е в данном случае для кодирования графической информации применяют равномерный код.

А сейчас пришла пора обратиться к формуле Хартли, т к именно благодаря ей мы сможешь получить различное количество цветов.

В общем виде эта формула имеет вид: $I = K · \log_2 N$, где:

$N$ - мощность алфавита $K$ - длина сообщения $I$ - количество информации в сообщении в битах

Сразу обратимся к вопросу в постановке задачи: "Какое максимальное количество цветов можно использовать в палитре?". Этот вопрос можно переформулировать так: "Какое максимальное количество цветов можно использовать в изображении?"..

А лучше переформулируем еще точнее и понятнее: "Какое максимальное количество цветов может принимать каждый пиксель заданного изображения?". Т к все пиксели растровой картинки структурно идентичны друг другу, т е имеют одинаковую глубину цвета, то нам достаточно разобрать $1$ конкретный пиксель.

Поэтому в формуле Хартли величина $K$ будет равна $1$ и формула примет сокращенную форму: $I = \log_2 N$.

$I$ - глубина цвета, и мы уже ее посчитали ранее: $I$ = 10 [бит].

$N$ - мощность алфавита, но при кодировании графической информации мощностью выступает именно все разнообразие цветов, в которые можно закрасить пиксель, т е по факту, $N$ - та величина, которую нам нужно отыскать.wink

Выражаем из сокращенной формулы Хартли величину $N$, используя свойства логарифма: $N = 2^I = 2^{10} = 1\ 024$, различных цвета.

Именно это значение нам следует выписать в бланк ответов официального экзамена ЕГЭ по информатике. Выписывается только число без указаний каких-либо единиц измерения информации.

Ответ: $1\ 024$.

Выводы

Во-первых, внимательно несколько раз прочитайте условие задачи.wink Во-вторых, определите вид компьютерной графики, т е кодирования какого типа изображения происходит. В $99.99\%$ случаев речь идет о растровых картинках.

В-третьих, в обязательном порядке научитесь пользоваться формулой Хартли. Да, эта формула достаточно скользкая и с $1$-го раза мало, кто понимает, о чем она в принципе. Для этого придется вникать в тему "Измерение количества информации".

В-четвертых, знайте наизусть большинство степеней двоек. Желательно на интервале от $2^0$ до $2^{20}$. В-пятых, умейте варьировать единицы измерения информации, т е заменять [Кбайты] на [байты] или [Мбайты], а [байты] переводить в [биты] и т.п.

Примеры условий реальных задач, встречающихся на ЕГЭ по информатике

чуть позже!

Хотите разбираться в задачах графического содержания? Тогда жду вас на уроке

Если после прочтения данного материала у вас остались какие-либо вопросы, недопонимание, то смело задавайте их в комментариях или пишите мне на электронный адрес.

Также можете кидать условия задач графической тематики в мою группу в вк. Обязательно я их рассмотрю, напишу соответствующее решение, а также отсниму видео на свой Youtube-канал. Кстати, можете подписаться на мой канал прямо сейчас! yes

Ну, и напоследок, познакомьтесь с отзывами клиентов, прошедших подготовку под моим началом. Все они добились поставленных целей и значительно окрепли в информационных технологиях.

На мой экспертный взгляд, задание из ЕГЭ по информатике, ориентированное на кодирование графической информации в общем и на нахождение максимального количества цветов в частности, является проходным. Оценивается оно всего в $1$ первичный балл, и этот балл вы должны в обязательном порядке получить!

Отзывы
моих учеников

Коваленко
Всеволод

 
Хочу отметить дисциплину на уроках, я чувствовал себя как на официальной паре, никаких шуток и панибратств. Очень понравилось серьезное отношение к дисциплине, т к я сам челвоек дисциплинированный. Спасибо вам!

Ермаченков
Александр

 
Был очень сложный экзамен, я безумно счастлив, что получил "хорошо", так как на "отлично" сдало всего 4 человека со всего потока (причем они серьезно изучали программирование еще до поступления в ВУЗ). Я понял, что С++...

Миронов
Сергей

 
Очень рад, что поступил в заветный ВУЗ, так как считаю, что именно в этом ВУЗе можно научиться отлично программировать, а репетитор помог мне очень сильно. Было интересно заниматься и сложно. Особенно я целыми часами...

Сема
Катерина

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

Ланцев
Дмитрий

 
Я был очень круто подготовлен. Александр Георгиевич натаскивал меня по полной программе, мы прорерашли более 200 задач по программированию, научились строить выйгрышные стратегии. Я сам виноват, что не повторил...

Евдокимов
Максим

 
Не думал, что смогу получить 91 балл на ЕГЭ, но у меня получилось, благодаря методикам моего репетитора. Очень понятно объясняет, особенно нюансы, в которых я всегда путался и ленился разбираться.

Воробьев
Станислав

 
Я очень рад, что оказался в учениках у Александра Георгиевича. У меня были огромные пробелы в знаниях, связанных со строками, подпрограммами, рекурсией. Думал, что провалю экзамен и буду отчислен, но сдал экзамен на...

Даниил
Сафонов

 
Чтобы программировать, нужно быть усидчивым и очень умным человеком. Я больше гуманитарий, поэтому мне вся эта техническая мысль дается крайне сложно. Но мне понравилось работать с Александром Георгиевичем. Видно, что...

Каховская
Оксана

 
Хочу всем сказать, что я по своему духу лингвист. Паскаль - это формальный язык написания текстов. Благодаря репетитору я уверенно себя стала чувствовать при написании программ. Мне досконально понятны все базовые...

Иванов
Денис

 
Очень много нового узнал о ДС, Александр Георгиевич показал несколько способов построения бинарного дерева, а также реализацию функций повышенного уровня сложности. Когда шел на экзамен, то абсолютно не волновался, так...

Сычев
Владимир

 
Понравилось заниматься, т к я научился более серьезно понимать программные конструкции, понял наконец-то что такое "указатель" и уже не так сильно боюсь программирования. Главное, больше практиковаться и решать простые...

Волков
Павел

 
Спасибо вам большое. Да, курсовая была непростой, но я сдал ее на 5-ку. Хочу отметить атмосферу проводимых уроков: во-первых, мы занимались в чистой и опрятной комнате, во-вторых, на уроке стоит здоровая учебная...
Смотреть все отзывы
 
 
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?
Занятия по информатике