Задача №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$ первичный балл, и этот балл вы должны в обязательном порядке получить!

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

Ахматова
Юлия

 
В нашем вузе я должна была сдавать экзамену по C#. Билеты были очень сложные. Один вопрос теоретический, практическая задача в консоли и лабораторная, связанная с базами данных. Знания у меня были тусклые в этих...

Орлов
Максим

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

Уфимцев
Сергей

 
Хочется подчеркнуть высокую дисциплину на протяжении всех уроков, понятность объяснения и помощь даже во внеурочное время. Спасибо большое! Буду рекомендовать вас своим знакомым и друзьям))

Некрасов
Алексей

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

Крылов
Антон

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

Агаров
Ярослав

 
Вы мой любимый репетитор) Я с вами занимаюсь программированием уже на протяжении двух лет и дальше планирую, т к у нас дальше начинается объектный Паскаль, т е Дельфи. Спасибо вам большое, на ваших частных уроках всегда...

Белкин
Юрий

 
Круто, что я сдал на 5 свой экзамен, было оооооочень сложно, но у меня получилось. Кстати, Александр Георгиевич кроме языка СИ еще приводил сравнения с языком С++, очень круто на самом деле. Заниматься понравилось и...

Якименко
Александр

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

Юзов
Артур

 
Я благодарен Александру Георгиевичу за его работу со мной. Теперь чувствую себя уверенно при программирование на языке Паскаль. Если у меня в процессе последующего обучения возникнут какие-то проблемы, я обязательно...

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

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

Мельник
Игорь

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

Богдан
Игнатьев

 
Теперь я чувствую себя уверенно при программировании графических примитивов. Я еще раз убедился, что хороший учитель очень важен для хорошего обучения. В следующем учебном году у нас будет дисциплина "Мультипликация и...
Смотреть все отзывы
 
 
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?
Занятия по информатике