
- •Министерство образования и науки Российской Федерации
- •Цель лекции
- •План лекции
- •1 Происхождение вычислительных машин
- •2 Изучение алгоритмов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Биты и их хранение
- •2 Оперативная память
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Устройства внешней памяти
- •3 Хранение и поиск файлов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Представление числовых значений
- •2 Хранение целых чисел
- •3 Хранение дробей
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Представление текста
- •2 Представление изображений
- •Достоинства пиксельной графики
- •Недостатки пиксельной графики
- •Достоинства векторной графики
- •Недостатки векторной графики
- •3 Представление звука
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Сжатие изображений
- •2 Ошибки передачи данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Архитектура эвм
- •2 Связь процессора с другими устройствами
- •3 Другие архитектуры
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Машинный язык
- •2 Пример машинного языка
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Выполнение программы
- •2 Пример выполнения программы
- •3 Программы и данные
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Логические операции
- •2 Операции сдвига
- •3 Арифметические операции
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эволюция операционных систем
- •2 Архитектура операционных систем
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Понятие процесса
- •2 Управление процессами
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Классификация сетей
- •2 Сетевые протоколы*
- •3 Безопасность сетей
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Понятие алгоритма
- •2 Представление алгоритма
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Теория решения задач
- •2 Общие методы решения задач
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Алгоритм последовательного поиска
- •2 Управление циклами
- •3 Алгоритм сортировки методом вставки
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Алгоритмы поиска и сортировки
- •2 Управление рекурсией
- •3 Разработка рекурсивных процедур
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эффективность алгоритмов
- •2 Верификация программ
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эволюция и классификация языков программирования
- •2 Концепции традиционного программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Процедурные единицы
- •2 Реализация языка программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Объектно-ориентированное программирование
- •2 Декларативное программирование
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Структуры данных
- •Integer Scores (2.9).
- •2 Статические и динамические структуры
- •3 Указатели
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Массивы
- •2 Списки
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Структура и функции стека
- •2 Реализация стека
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Очереди
- •2 Деревья
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Пользовательские типы данных
- •Int Age;
- •2 Классы
- •Int *StackEntries;
- •3 Стандартная библиотека шаблонов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Роль операционной системы
- •2 Последовательные файлы
- •3 Вопросы программирования
- •0000000010000110
- •001100010011001100110100
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Основные положения индексации
- •2 Вопросы программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Основные положения хеширования
- •2 Вопросы программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Общие вопросы
- •2 Система управления базой данных
- •3 Поддержка целостности баз данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Модели баз данных
- •2 Реляционная модель баз данных
- •3 Объектно-ориентированные базы данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Интеллект и машины
- •2 Распознавание образов
- •3 Мышление
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Искусственные нейронные сети
- •2 Генетические алгоритмы
- •Контрольные вопросы
- •Невычислимые функции Цель лекции
- •План лекции
- •1 Основы машины Тьюринга
- •2 Невычислимая функция
- •3 Сложность задач
- •Листинг 1. Процедура MergeLists для объединения двух упорядоченных списков
- •Листинг 2. Алгоритм сортировки слиянием, реализованный в процедуре MergeSort
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Шифрование с открытым ключом
- •2 Модульная арифметика
- •Контрольные вопросы
- •Литература
- •Internet-ресурсы
2 Представление изображений
В современных компьютерных системах хранится не только текстовая и числовая информация. Они также включают в себя графическую, звуковую и видеоинформацию. По сравнению с методами хранения символов и чисел способы представления этих дополнительных данных находятся только в начале своего развития и, следовательно, не настолько стандартизированы.
В соответствии с методами, применяемыми для их представления, все изображения можно разделить на две категории: растровые (bitmap techniques) и векторные (vector techniques). Растровое изображение представляет собой набор точек, элементов изображения, которые называются пикселами (pixels). Самое простое представление имеет вид длинной последовательности битов, каждый из которых равен 0 или 1 в зависимости от того, белого или черного цвета пиксел. Цветные изображения немного сложнее, гак как каждый пиксел должен быть представлен комбинацией битов, обозначающей его цвет.
Многие современные внешние устройства компьютера, такие как факсы, видеокамеры и сканеры, конвертируют изображения в растровый формат. Эти устройства обычно представляют цвет пиксела в виде комбинации трех составляющих: красной, зеленой и синей, соответствующих трем основным цветам. Для представления интенсивности каждого цвета используется один байт, в то время как для представления целого пиксела изображения требуется три байта. Этот подход с использованием трех составляющих цвета используется также в мониторе компьютера, который отображает миллиарды пикселов, каждый из которых состоит из трех компонентов: красного, зеленого и синего, что можно заметить, изучив экран поближе (возможно, вам потребуется увеличительное стекло).
Формат, в котором одному пикселу соответствуют три байта, подразумевает, что для изображения, состоящего из 1024 рядов, содержащих 1024 пиксела каждый, потребуется несколько мегабайтов памяти, что превышает емкость обычного гибкого диска. Позже мы обсудим два распространенных метода (GIF и JPEG), которые используются для сжатия изображений до более приемлемого размера.
Растровый формат представления изображений имеет один недостаток, а именно размер изображения не может быть произвольно изменен. В сущности, единственный способ увеличить изображение — увеличить размер пикселов. Но это приводит к зернистому изображению — явлению, которое часто наблюдается в цифровых фотоаппаратах. Векторный формат представления изображений преодолевает эту проблему. Векторное изображение представляет собой набор линий и дуг. Такое описание заставляет устройство само рисовать изображение, а не воспроизводить комбинацию пикселов. Различные шрифты, доступные в современных принтерах и мониторах, часто закодированы именно таким способом, для того чтобы сделать размер символа более гибким. Такие шрифты называются масштабируемыми шрифтами. Например, шрифт TrueType (разработанный компаниями Microsoft и Apple Computer) представляет собой систему описания того, как следует рисовать символы в тексте. Или шрифт PostScript (разработанный корпорацией Adobe Systems), который предоставляет средства для описания символов как графических данных. Векторный формат также распространен в автоматизированном проектировании. Он позволяет создавать трехмерные объекты и управлять их отображением на мониторе. Однако векторный формат не обеспечивает фотографического качества изображений, которое доступно в растровом формате. Именно поэтому растровый формат используется в современных цифровых камерах.
Каждый из видов графики имеет свои достоинства и недостатки, важно отметить определенную «зеркальность» их достоинств и недостатков.
Достоинств пиксельной графики не так уж много (два принципиальных и одно относительное):
аппаратная реализуемость;
программная независимость;
фотореалистичность изображений.
Затем выявляются недостатки пиксельной графики, на которые стоит обратить особое внимание:
значительный объем файлов;
принципиальные сложности трансформирования пиксельных изображений;
аппаратная зависимость — причина многих погрешностей;
отсутствие объектов.
Достоинства и недостатки векторной графики являются зеркальным отражением достоинств и недостатков пиксельной графики.
Достоинства векторной графики:
минимальный объем файла;
полная свобода трансформаций;
аппаратная независимость;
объектно-ориентированный характер векторной графики.
вместе с тем, неизбежны и недостатки векторной графики (два принципиальных и одно условное):
отсутствие аппаратной реализуемости;
программная зависимость;
жесткость векторной графики.