1. В цветовой модели RGB для кодирования одного пикселя используется 3 байта. Фотографию размером 2048x1536 пикселей сохранили в виде несжатого файла с использованием RGB-кодирования. Определите размер получившегося файла.
Дано: Решение:
х*у=2048*1536 V= x*y*i=2048*1536*3байта= 9437184 байта=9216 Кбайт = 9 Мбайт
i=3 байта
V – ?
2. Для хранения растрового изображения размером 128*128 пикселей отвели 4 килобайта памяти. Каково максимально возможное число цветов в палитре изображения?
Решение: i=V/x*y=4*1024*8/(128*128)=2 N=4
3. Укажите минимальный объем памяти (в килобайтах), достаточный для хранения любого растрового изображения размером 64*64 пикселя, если известно, что в изображении используется палитра из 256 цветов. Саму палитру хранить не нужно.
V= 64*64*8=32768 бит = 4096 байт = 4 Кбайт
ответ: 4 Кбайт
4. Для хранения растрового изображения размером 64*64 пикселя отвели 512 байтов памяти. Каково максимально возможное число цветов в палитре изображения?
Дано: Решение:
х*у= 64*64 V=x*y*i; i=V/(x*y)=512*8 бит/(64*64)= 4096 бит/4096=1бит
V= 512 байтов N=2i =2
Объяснение:
Закраски клеток (команда 5) здесь нет, значит надо просто обеспечить более короткое перемещение в ту же конечную точку.
Для этого посмотрим, что за движения там записаны.
Если во всём алгоритме три раза вверх и три раза вниз- то робот вернётся в ту же точку (по вертикали), и значит все эти команды можно просто удалить.
То же самое- для движений влево и вправо. Они тоже взаимно противоположные.
Другими словами- надо просто сократить все пары движений влево-вправо и вверх-вниз. Всё что останется- это и есть короткий вариант алгоритма, который даст перемещение ту же самую конечную точку.
Запишу подробнее, как сократить алгоритм движения (только для случая без закраски):
а) берём наш алгоритм: 131413324223
б) во всём алгоритме считаем количество команд перемещения для каждого из направлений движения:
1 (вверх)- 3 штуки
2 (вниз)- 3 штуки
3 (влево)- 4 штуки
4 (вправо)- 2 штуки
в) считаем разность количества команд влево и вправо (из большего числа вычитаем меньшее): 4 - 2 = 2
Осталось две команды - влево (т.к. их было больше). Остальные команды влево-вправо сократились (мы их удалили из алгоритма).
г) считаем разность количества команд вверх и вниз (из большего числа вычитаем меньшее, но тут числа равны): 3 - 3 = 0
Не осталось ни одной команды вверх или вниз. Все эти команды сократились (мы их удалили из алгоритма).
д) получаем, что в коротком варианте алгоритма останутся только две команды влево (3).
Запишем весь алгоритм: 33