
- •Предисловие
- •Лекция 1. Информация. Начальные понятия и определения
- •1. Информация и данные
- •2. Адекватность и формы адекватности информации
- •3. Качество информации
- •4. Понятие об информационном процессе
- •5. Формы представления информации
- •6. Преобразование сообщений
- •Лекция 2. Необходимые сведения из теории вероятностей
- •1. Понятие вероятности
- •2. Сложение вероятностей независимых несовместных событий
- •3. Умножение вероятностей независимых совместных событий
- •4. Нахождение среднего для значений случайных независимых величин
- •5. Понятие условной вероятности
- •6. Общая формула для вероятности произведения событий
- •7. Общая формула для вероятности суммы событий
- •Лекция 3. Понятие энтропии
- •1. Энтропия как мера неопределенности
- •2. Свойства энтропии
- •3. Условная энтропия
- •Лекция 4. Энтропия и информация
- •1. Объемный подход к измерению количества информации
- •2. Энтропийный подход к измерению количества информации
- •Лекция 5. Информация и алфавит
- •Лекция 6. Постановка задачи кодирования. Первая теорема Шеннона.
- •Лекция 7. Способы построения двоичных кодов. Алфавитное неравномерное двоичное кодирование сигналами равной длительности. Префиксные коды.
- •1. Постановка задачи оптимизации неравномерного кодирования
- •00100010000111010101110000110
- •2. Неравномерный код с разделителем
- •3. Коды без разделителя. Условие Фано
- •00100010000111010101110000110
- •00100010000111010101110000110
- •4. Префиксный код Шеннона–Фано
- •5. Префиксный код Хаффмана
- •Лекция 8. Способы построения двоичных кодов. Другие варианты
- •1. Равномерное алфавитное двоичное кодирование. Байтовый код
- •2. Международные системы байтового кодирования текстовых данных. Универсальная система кодирования текстовых данных
- •3. Алфавитное кодирование с неравной длительностью элементарных сигналов. Код Морзе
- •4. Блочное двоичное кодирование
- •101010111001100010000000001000000000000001
- •5. Кодирование графических данных
- •6. Кодирование звуковой информации
- •Лекция 9. Системы счисления. Представление чисел в различных системах счисления. Часть 1
- •1. Системы счисления
- •2. Десятичная система счисления
- •3. Двоичная система счисления
- •4. 8- И 16-ричная системы счисления
- •5. Смешанные системы счисления
- •6. Понятие экономичности системы счисления
- •Лекция 10. Системы счисления. Представление чисел в различных системах счисления. Часть 2.
- •1. Задача перевода числа из одной системы счисления в другую
- •2. Перевод q p целых чисел
- •3. Перевод p q целых чисел
- •4. Перевод p q дробных чисел
- •6. Перевод чисел между 2-ичной, 8-ричной и 16-ричной системами счисления
- •Лекция 11. Кодирование чисел в компьютере и действия над ними
- •1. Нормализованные числа
- •2. Преобразование числа из естественной формы в нормализованную
- •3. Преобразование нормализованных чисел
- •4. Кодирование и обработка целых чисел без знака
- •5. Кодирование и обработка целых чисел со знаком
- •6. Кодирование и обработка вещественных чисел
- •Лекция 12. Передача информации в линии связи
- •1. Общая схема передачи информации в линии связи
- •2. Характеристики канала связи
- •3. Влияние шумов на пропускную способность канала
- •Лекция 13. Обеспечение надежности передачи информации.
- •1. Постановка задачи обеспечения надежности передачи
- •2. Коды, обнаруживающие одиночную ошибку
- •3. Коды, исправляющие одиночную ошибку
- •Лекция 14. Способы передачи информации в компьютерных линиях связи
- •1. Параллельная передача данных
- •2. Последовательная передача данных
- •3. Связь компьютеров по телефонным линиям
- •Лекция 15. Классификация данных. Представление данных в памяти компьютера
- •1. Классификация данных
- •2. Представление элементарных данных в озу
- •Лекция 16. Классификация структур данных
- •1. Классификация и примеры структур данных
- •2. Понятие логической записи
- •Лекция 17. Организация структур данных в оперативной памяти и на внешних носителях
- •1. Организация структур данных в озу
- •2. Иерархия структур данных на внешних носителях
- •3. Особенности устройств хранения информации
- •Контрольные вопросы
- •Список литературы
Лекция 15. Классификация данных. Представление данных в памяти компьютера
Классификация данных
Представление элементарных данных в ОЗУ
1. Классификация данных
Как было отмечено ранее, параллельно с термином «информация» при описании информационных процессов часто используется термин «данные». Определим его следующим образом:
Данные – это сведения, характеризующие какую-то систему, явление, процесс или объект, представленные в определенной форме и предназначенные для дальнейшего использования.
К данному определению необходимо сделать следующие замечания, разъясняющие соотношение между понятиями «информация» и «данные»:
Данные – это конкретная форма представления информации(например, информацию о результатах наблюдений за температурой окружающей среды можно представить в виде числового массива (таблицы), но можно и в виде графика, и в виде текстового описания);
В отличие от ненаправленной (неадресной) информации, существующей в природе независимо от нас и наших потребностей в ней, данными называется только такая информация, которая имеет значение для потребителя и, следовательно, предусматривается ее использование для решения каких-либо задач.
При решении практических задач с помощью технических устройств формы представления информации всегда конкретны, в этой информации кто-то заинтересован, и поэтому употребление термина «данные» вполне оправдано.
Содержание понятия «данные» весьма обширно. Оно охватывает как какую-то отдельную величину, например год рождения человека, так и показания какого-либо датчика или производственные сведения фирмы. В компьютерных системах любая информация, представленная в допустимой для компьютера форме – тексты, рисунки, музыка и др. – считается данными. В информатике к данным относятся также тексты программ.
Данные имеют несколько классификационных признаков: данные бывают различных типов, делятся на простые и структурированные, подразделяются на переменные и постоянные, могут являться входными, промежуточными и выходными.
Ниже рассмотрим подробнее каждый из перечисленных классификационных признаков.
Тип данныхопределяет:
Набор их допустимых значений;
Правила их обработки (преобразования);
Порядок их размещения в памяти компьютера при хранении;
Порядок доступа к ним (обращения и извлечения с места хранения);
Допустимый набор типов данных и их особенности определяются программной системой или языком программирования, на котором система написана. При этом возможности различных языков по разнообразию допустимых типов данных, а также по построению новых типов данных различаются весьма сильно. Ясно, что чем более широкой и гибкой оказывается типизация данных в языке программирования, тем больше возможностей предоставляется пользователю при решении задач оптимального представления, хранения и применения данных. Типизация данных влияет и на компактность самой исполняемой программы.
Следующим классификационным признаком является деление даных на элементарные (простые) и структурированные (сложные). К элементарным данным относятся символы, числа (целые и вещественные) и логические данные. Общей и обязательной особенностью одиночных данных является то, что каждое из них имеетодно значениеисобственное имя.Значение – это содержимое тех ячеек памяти, где данное располагается.Имя (его называют также идентификатор) – это обозначение данного в тексте программы. Правила построения идентификаторов элементарных данных определяются языком программирования.
Из элементарных данных строятся структурированные данные.
Структурированные данные – это информационный массив, включающий в себя элементарные данные и связи между ними.
Структура данных – это перечень объединяемых элементарных данных, их характеристики и особенности связей между ними.
Одним из примеров структурированных данных является телефонный справочник.
Перечень допустимых структур данных определяется языком программирования или прикладной программой. Этот перечень может быть фиксированным (нерасширяемым), как в языке BASICили прикладных программах без встроенных возможностей программирования. В развитых языках программирования (PASCAL,Cи др.) и ряде прикладных программ наряду с зарезервированными типами структур данных допускается создание новых типов; при этом элементами структуры могут быть сложные (структурированные) данные.
Сложные (структурированные) данные, как и элементарные, имеют значенияиидентификаторы (имена). Значения размещаются в ячейках памяти по определенным схемам. Правила построения идентификатора устанавливаются языком программирования или прикладной программой. Исключение составляют правила формирования имен файлов – эти правила задаются операционной системой и должны соблюдаться всеми работающими в ней программами и языками программирования. Например, вMS-DOSв качестве имен файлов допустимы комбинации из латинских букв, цифр и некоторых специальных символов общей длиной не более 8 знаков; вWindows-95 (и выше) разрешены имена файлов длиной до 255 знаков.
По возможности изменения значений данных (как простых, так и структурированных) при их обработке данные подразделяют на переменные и постоянные (константы). Из названия очевидно, что переменные могут изменять свое значение в ходе исполнения программы, а константы – нет. На уровне операционной системы различие между переменными и постоянными величинами отсутствует, поэтому у них одинаковый порядок размещения в памяти и доступа к ним. Различие между переменными и константами подчеркивается в языках программирования и в созданных с их помощью прикладных программах.
В зависимости от того, на каком этапе обработки информации данные используются, они подразделяются на входные,промежуточныеивыходные.
Входные данные– это данные, необходимые для исполнения программы и вводимые в компьютер до начала работы или в процессе работы программы. Входные данные могут быть предварительно записаны на некотором носителе и вводиться в компьютер с него, поступать по линиям связи от каких-либо датчиков или с других компьютеров, вводиться пользователем программы.
Промежуточные данные– это данные, формирующиеся в ходе исполнения программы; чаще всего они пользователю недоступны, не отображаются на устройствах вывода, но существуют в памяти компьютера. Идентификаторы промежуточным данным присваивают разработчики программы или задает сама программа по заложенным в нее правилам.
Выходные данные– это данные, являющиеся результатам работы программы, ради них и производится обработка входных данных. Выходные данные, предназначенные для человека, представляются в удобной для него форме (тексты, рисунки, звуки); при хранении выходных данных на носителях или при передаче их по сетям сохраняется двоичный компьютерный формат их представления. Таким образом, работу программы можно рассматривать как действия по преобразованию входных данных в выходные через необходимые для этого промежуточные.
С точки зрения самой программы все эти виды данных – входные , промежуточные, выходные – равноправны, то есть обрабатываются только в соответствии с их типом, а не в соответствии с функциональным назначением.
Представление данных при их хранении и обработке требует решения трех основных задач:
Определить способы представления элементарных данных;
Определить способы объединения данных в структуры;
Установить способы размещения (при хранении) информации на материальном носителе.
Выделяют три уровня представления данных–концептуальный,логическийифизический.
На концептуальном уровнеопределяется общая структура информационного массива; эта структура называетсямоделью данных. Известны и используются несколько моделей данных:иерархическая, сетевая, реляционная, объектно-ориентированная. В соответствии с выбранной моделью данных строится информационная система, в которой данные будут храниться, а также строятся программы, ведущие обработку данных (манипулирование данными).
Логический уровеньопределяет способы представления элементарных данных, их перечень при объединении их в структуру, а также связи между ними в рамках выбранной модели данных.
Физический уровеньопределяет форматы размещения созданной логической структуры данных на материальных носителях информации (бумаге, магнитных или оптиеских дисках, в микросхемах памяти и так далее).