- •Предисловие
- •Лекция 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. Особенности устройств хранения информации
- •Контрольные вопросы
- •Список литературы
2. Понятие логической записи
Логическая запись – это поименованная совокупность элементарных данных, имеющая смысловую завершенность.
Примером записи может служить строка из списка студентов:
Фамилия |
Год рождения |
Год поступления в ВУЗ |
Курс |
Номер зачетной книжки |
Логическая запись объединяет не разрозненные по смыслу данные, а только те, что характеризуют некоторую систему или объект – именно в этом смысле следует понимать слова «смысловая завершенность» в определении. Запись отражает совокупность свойств (атрибутов) системы или объекта.
Логическая запись имеет многоуровневую структуру. Элементами самого нижнего уровня являются элементарные данные. Элементарные данные хранятся и считываются целиком, доступ к их частям невозможен.
Совокупности элементарных данных, имеющих определенный смысл, но не обладающих смысловой завершенностью, образуют поля, каждое из которых соответствует одному атрибуту системы (объекта). Каждое поле характеризуется типом элементарных данных, из которых оно строится, а также информационным размером (количеством байт, которое отводится для представления этого поля в записи). Поля записи связаны между собой. Связи между ними могут носитьфункциональный характер, когда значение одного поля посредством некоторого преобразования (правила) определяет значение друго поля; кроме того, связи между полями могут бытьпричинно-следственными.
Логические записи сами могут быть объединены в структуры, которые определяются моделью данных. Например, совокупность записей из приведенного выше примера может образовать массив данных, который будет называться базой данных. Возможны и более высокие структурные объединения, например,объединения баз данных– структуры, элементами которых будут являться базы данных. Программные системы, позволяющие создавать и использовать базы данных, называются системами управления базами данных (СУБД). Логическая запись имеет собственный идентификатор, по которому можно обратиться к записи в целом. Поля также имеют свои идентификаторы, по которым поля становятся доступными для просмотра или изменения значения. Идентификатор поля строится из идентификатора базы данных, идентификатора в нее входящей записи и собственно поля, входящего в эту запись. Таким образом, существует иерархическая многоуровненвая структура данных (рис. 19).
Рис. 19. Иллюстрация многоуровневой иерархической структуры данных.
Каждый выше расположенный уровень содержит низлежащие в качестве составных элементов. В этой иерархии запись является первым элементом структуры, обладающим смысловой завершенностью.
Лекция 17. Организация структур данных в оперативной памяти и на внешних носителях
Организация структур данных в ОЗУ
Иерархия структур данных на внешних носителях
Особенности устройств хранения информации
1. Организация структур данных в озу
Структура информационного массива определяется один раз на этапе его создания и в процессе использования уже не изменяется. В языках программирования это достигается описанием структуры в блоке описаний программы, в СУБД (системах управления базами данных) – установлением перечня и последовательности полей записи на начальном этапе создания базы данных. Всякое изменение структуры данных (например, введение дополнительного поля записи или удаление имеющегося поля) эквивалентно созданию новой структуры.
Что же касается количества записей в структурированном информационном массиве, то при представлении его в ОЗУ компьютера возможны две ситуации:
Под это количество записей выделяется область ОЗУ фиксированного размера. В этом случае в начале работы программы происходит резервирование областей ОЗУ для хранения информационных массивов. С этой целью в тексте программы указывается, какого типа и размера информационные массивы будут в дальнейшем использованы. В процессе выполнения программы могут меняться лишь значенияэлементов информационного массива, но не его размер. По этой причине в случае, когда размер (число элементов) массива не известен заранее, приходится осуществлять избыточное резервирование памяти, что, безусловно, приводит к нерациональному использованию памяти компьютера. Именно таким образом происходит резервирование памяти при описании массивов и других структурных данных, например, в языке программированияPASCAL. Отсутствие возможностей динамического изменения массивов (введения новых массивов или изменения размеров имеющихся в процессе выполенения програмы) считается одним из существенных недостатков языка программирования.
Размер соответствующей области ОЗУ может меняться. Информационные массивы, допускающие изменение размера (но не структуры!) называются динамическими. В этом случае данные могут иметьпоследовательноеилисвязноепредставление в ОЗУ.
В случае последовательногопредставления данные (отдельные записи) размещаются в соседних последовательно расположенных ячейках памяти. На размещение одной записи может потребоваться несколько ячеек (машинных слов), но их количествоодинаководля каждой записи (нарис. 20на запись приходится две ячейки); идентификатор записи однозначно связывается с номером ячейки, начиная с которой запись начинается.
№ записи |
№ ячейки |
Содержание записи |
1 |
4000 |
Запись А |
4001 | ||
2 |
4002 |
Запись В |
4003 | ||
3 |
4004 |
Запись С |
4005 |
а)
№ записи |
№ ячейки |
Содержание записи |
1 |
4000 |
Запись А |
4001 | ||
2 |
4002 |
Запись R |
4003 | ||
3 |
4004 |
Запись В |
4005 | ||
4 |
4006 |
Запись С |
4007 |
б)
№ записи |
№ ячейки |
Содержание записи |
1 |
4000 |
Запись А |
4001 | ||
2 |
4002 |
Запись R |
4003 | ||
3 |
4004 |
Запись С |
4005 |
в)
Рис. 20. Последовательное динамическое размещение данных в ОЗУ: а – начальное размещение; б – после добавления новой записи; в – после удаления записи.
Физический порядок следования записей полностью соответствует логическому. Такая совокупность записей называется последовательным списком. Для его хранения в ОЗУ выделяется блок ячеек фиксированного размера. Когда от обрабатывающей программы поступает команда «Добавить запись», происходит увеличение размера массива, при необходимости происходит перезапись массива в ОЗУ (возможно, с изменением адресов данных). При изъятии каких-то записей по команде «Удалить запись» соответствующие ячейки очищаются и после перезаписи все содержимое следующих ячеек сдвигается в направлении удаленной записи на количество ячеек, приходящихся на одну запись.
Связноепредставление данных основано на том, что в записи присутствует дополнительное поле, в котором размещается особое данное –указатель адреса, то есть ссылка на то место в ОЗУ, где располагается следующая запись. При этом физический порядок размещения записей может не соответствовать логическому – записи располагаются в любых свободных ячейках ОЗУ, причем не обязательно подряд (то есть непосредственно другом за другом). Такие структуры данных называютсясвязными списками. Их удобство состоит в гибкости структуры – без перезаписи остальных элементов данных в другие (соседние) ячейки можно легко добавлять новые или исключать имеющиеся записи. Для этого достаточно лишь изменить состояние поля указателя адреса (рис. 21).
а)
б)
в)
Рис. 21. Связное динамическое размещение данных в ОЗУ: а – начальное размещение; б – после добавления новой записи; в – после удаления записи.
Недостаток этого способа представления информационного массива в ОЗУ состоит в том, что в нем невозможно напрямую обратиться к нужной записи – поиск ее осуществляется по цепочке переходов, что увеличивает время доступа к данным.