Понятие данных

ПРЕДСТАВЛЕНИЕ ДАННЫХ В КОМПЬЮТЕРЕ

 

Данные- это сведения, характеризующие какой-то объект, процесс или явление, представленные в определенной форме и предназначенные для дальнейшего использования.

Данным приписываются несколько классификационных при­знаков.

1. Тип данных, который определяет:

• набор их допустимых значений;

• правила их обработки (преобразования);

• порядок их размещения в ОЗУ и ВЗУ при хранении;

• порядок доступа к ним (т.е. обращение и извлечение при необ­ходимости с места хранения).

Допустимый набор типов данных и их особенности определя­ются программной системой или языком программирования, на котором система написана. Типизация данных влияет и на компактность са­мой исполняемой программы.

2. Структура данных.Элементарные (одиночные, простые) и структурированные (сложные).

1). Элементарные данные. Символы, числа (целые и вещественные) и логические данные. Общей и обязательной осо­бенностью одиночных данных является то, каждое из них имеет одно значение и собственное имя. Значение - это содержимое тех ячеек памяти, где данное располагается. Имя (его называют также идентификатор) - это обозначение данного в тексте программы. Правила построения идентификаторов элементарных данных определяются языком программирования написанной программы.

2). Элементарные данные являются «кирпичиками», путем объе­динения которых строятся сложные данные. Вариантов объедине­ния существует много - это приводит к появлению множества типов структур данных.

а) Информационный массив,объединяющий данные и связи (отношения)между ними называетсяструктурирован­ными данными.

б) Перечень объединяемых одиночных данных, их характери­стики, а также особенности связей между ними образуют структуру данных.

Примерами структурированных данных является страница из классного журнала с фамилиями учеников, датами занятий и от­метками, телефонный справочник, организационная структура учреждения и т.п.

Сложные данные, как и элементарные, имеют значения и идентификаторы. Правила построения идентификаторов структурированных данных устанавливаются языком программирования или программной сис­темой, а правила формирования имен фай­лов задаются операционной системой.

3. Динамичность данных. Как простые, так и структурированные данные подразделяются на переменные и постоянные (константы). Переменные могут изменять свое значение по ходу исполнения программы, а константы - нет. Хранятся переменные и постоянные данные в ОЗУ одинаково.

4. Этапы обработки. В зависимости от того, на каком этапе обработки данные ис­пользуются, они подразделяются на исходные (входные), проме­жуточные и выходные.

К исходным данным относятся те, которые вводятся в программу в про­цессе работы.

Промежуточные данные формируются в ходе исполнения про­граммы и существуют в ОЗУ или на ВЗУ.

Выходные данные являются результатом работы про­граммы. Форму выходных данных определяет адресат предназначения.

Таким обра­зом, работу программы можно рассматривать как действия по пре­образованию входных данных в выходные через, необходимые для этого, промежуточные. Преобразование данных осуществляется только в соответствии с их типом.

Представление данных при их хранении и обработке требует решения трех основных задач на трех иерархических уровнях:

• на концептуальном уровне - определить способы представления элементарных (простых) данных, т.е. задать общую структуру или модель информационного массива. Модель данных может быть иерархическая, сетевая, реляционная, объектно-ориентированная. Она определяет построение информаци­онной системы и выбор програм­мы обработку данных (манипулирование данными).

• на логическом уровне - определить способы объединения данных в структуры, т.е. определить способы представления элементарных данных, их перечень при объединении в структуру, а также характер связей между ними в рамках выбранной модели данных.

• на физическом уро­вне - установить способы размещения информации на материальном носителе, т.е. определить форматы размещения созданной логической струк­туры данных на внешних носителях информации (магнитных или оп­тических дисках, бумаге, в памяти компьютера).

Различными типами элементарных данных являются символы, целые числа, вещественные числа и логиче­ские данные. Логический и физический уровни их представления определяются конструктивными особенностями ОЗУ компьютера.

1. Для представления значений эле­ментарных данных на логическом уровне используется понятие машинного слова -совокупности двоичных элементов, обрабатываемой в устройствах компьютера как единое целое и хранящейся в одной ячейке памяти запоминающего устройства.

2. Ячейка памятиявляется элементом физического уровня представления данных. Она объединяет запо­минающие элементы хранения одного бита кода. Емкость ячейки памяти кратна целому числу байт. Обращение к ячейке памяти осуществляется по ее номеру, который называется адресом ячейки.

Запоминающие устройства, в которых доступ к данным осуществляется по адресу ячейки, где они хранятся, на­зываются устройствами с произвольным доступом (RAMRandom-Access-Memory). Время поиска нужной ячейки, а также продолжительность опе­раций считывания или записи в ЗУ произвольного доступа одина­ково для всех ячеек независимо от их адреса.

Элементарные данные на физическом уровне представляются машинными словами определенной и единой для данного компьютера длины, поскольку это определяется конструктивными особенностями ОЗУ (на ВЗУ элементар­ные данные в качестве самостоятельных не представляются и доступ к ним отсутствует).

Рассмотрим особенности представления всех типов элементар­ных данных с помощью 16-битного машинного слова.

1.Для представления символов (тип Char) машинное слово делится на два байта. Один байт содержит двоичный код одного символа.

Множество допустимых значений данных этого типа для всех ко­дировок, при однобайтовом представлении, составляет 28 = 256; при двухбайтовой кодировке (Unicode) - 65536 значе­ний.

 

Номера разрядов машинного слова

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Второй байт (код второго символа) Первый байт (код первого символа)

 

2. Представление целых чисел со знаком(тип Integer).

Номера разрядов машинного слова

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0

Знак числа Двоичный код числа

 

Старший бит (15-й) отво­дится под запись знака числа (0 соответствует «+», 1 - «-»), а осталь­ные 15 двоичных разрядов - под запись прямого (для положительного) или обратного (для отрицательного) двоичного кода числа. При этом возможные значения чисел ограничены интервалом (-32768 ¸ 32767).

3. Для представления целых чисел без знака под запись отводятся все 16 двоичных разрядов, и интервал разрешенных значений оказывается (0 ¸ 65535). В PASCALE такой числовой тип называется Word. Помимо математических отношений (>, <, =) над целыми числами определены операции сложения, вычитания и умножения (в тех случаях, когда они не приводят к переполнению разрядной сетки), а также целочисленного деления и нахождения остатка от целочисленного деления.

4. Представление вещественных чисел с плавающей запятой. При записи числа оно переводится в нор­мализованную форму с выделением и отдельным хранением знака мантиссы, знака порядка, порядка и мантиссы. Для представления числа отводится несколько машинных слов. Ситуация, соответст­вующая числовому типу Single в языке PASCAL, когда для пред­ставления числа отводится два машинных слова, проиллюстриро­вана на рис.

31 30 29 28 27 26 25 24 23 5 4 3 2 1 0

….

Знак порядка Порядок Знак числа Мантисса

 

Мантисса записывается в 24разряда двойного машинного кода (занимает все первое машинное слово и 0 ¸ 7 разряды второго машинного слова). Этой формой охватывается диапазон модулей мантиссы 1,5*10**(-45)¸3,4*10**38 (7 десятичных цифр).

Так как модуль мантиссы 0,12 £ ½M2 ½ < 1, всегда значение старшего разряда числа 0 (целых), которое не отобра­жается при записи, а значение следующего разряда всегда 1. В про­цессе выполнения операций может произойти переполнение раз­рядной сетки (на 1 разряд) или, наоборот, ее освобождение (т.е. в первом отображаемом разряде окажется 0). По этой причине после каждой операции производится нормали­зация результата, которая состоит в изменении порядка числа и сдвиге мантиссы, чтобы первой значащей цифрой снова оказалась 1. Изменение порядка в представлении чис­ла на -1 эквивалентно сдвигу кода числа на один разряд влево. Сдвиг на один разряд вправо соответствует изменению порядка числа на +1. Такая форма получила название «с плавающей запятой». Благодаря применению плавающей запятой производится автоматическое масштабирование чисел в ходе вы­числений, что снижает погрешность их обработки. Над веществен­ными числами определены все четыре арифметические операции. Помимо этого имеются операции преобразования вещественного типа к целому (например, round и trunc в PASCAL'e).

5.Логические данные могут принимать одно из двух значений - О или 1 (0 соответствует логическому False, 1 - True, причем, принимается False<True). Для их записи было бы достаточно отвести всего один двоичный разряд. Однако в ОЗУ компьютера отсутствует доступ к отдельному биту, поэтому для представле­ния логических данных выделяется 1 машинное слово, в 0 и 8 раз­ряды которого и помещаются значения логической величины.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Над логическими данными определены опера­ции: логическое умножение (конъюнкция, &), логическое сложе­ние (дизъюнкция, v), логическое отрицание (Ø). Примером логи­ческих данных может служить тип Boolean в PASCAL'e.

Значения элементарных данных формируются в ходе испол­нения программы и имеют физическое представление в ОЗУ. В отличие от них идентификаторы данных существуют только на уровне логического представления- они используются для обозначения данных в тексте программы, однако при трансля­ции программы с языка программирования в машинный код имена заменяются номерами ячеек, в которых данные разме­щаются. При исполнении такой программы обращение к данным производится по адресу ячейки, а не идентификатору. Адреса могут быть абсолютными - в этом случае они не изменяются при загрузке программы в ОЗУ - именно такой способ адреса­ции применяется в исполняемыхпрограммных файлах с расши­рением .соm. Однако в силу некоторых особенностей распреде­ления памяти компьютера размер таких программ не может пре­вышать 64 Кб. В исполняемых файлах с расширением .ехе на этапе трансляции устанавливаются относительные адреса данных, которые конкретизируются при размещении программы в ОЗУ - это несколько замедляет начало исполнения, зато сни­мает указанное выше ограничение на размер программы.