logo
ЯП / ЯП / ЯП экзамен

Данные. Средства описания данных. Типизация языка.

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

Данные: встроенные и собственные (пользовательские).

Типы данных – множество значений и операций над этими значениями.

Нетипизированные языка – языки, в которых в любые переменные можно записывать любые значения в любом месте программы.

Для хранения данных используются ячейки памяти. 1 ячейка = 8 бит. Для процессора минимальный объем ячейки – машинное слово. Оно зависит от разрядности процессора.

Простые типы данных:

Целочисленные типы данных. Integer. Числа со знаком представляются в виде дополнительного кода (инверсия битов и добавление 1)

Символьный тип – аналог целочисленного типа. 256 символов. Для того, чтобы сопоставить числам символы, нужно использовать таблицу кодировки.

Перечисление – тип данных. Операция выполняется в контексте порядкового номера, соответствующего обозначению в таблице. Многие яп требуют явной типизации значений типа перечислений при таких операциях.

Булевый тип – частный случай перечислений. 0 – «false», остальное трактуется как «true».

Подтипы – типы, значение которых ограничено некоторым диапазоном.

Вещественные числа. Существует 2 подхода кодировки: согласно 2ой арифметике и кодировка целого числа + дополнительная информация о позиции десятичного разряда.

1. Числа с фиксированной точкой. Число содержит не более заданного количества цифр N

и не более некоторого количества знаков M после запятой.

2. Числа с плавающей точкой. X * 10m, где x – мантисса, m – порядок экспоненты.

Составные типы данных:

Массив. Это тип данных, содержащий множество значений одного типа. Отдельные ячейки – элементы, порядковый номер – индекс. В памяти хранится последовательно. Основная операция – получение элемента по индексу. Основная ошибка – выход индекса за диапазон массива. Бывают одномерные и многомерные. Организация: реально двумерный массив (Паскаль) или массив массивов.

Записи. Набор данных, содержащих элементы разных типов. Элементы – поля. Доступ к полям производится путем сдвига адреса.

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

1. Строка с признаком конца строки (транслятор автоматически подставляет «0»).

2. Строка со счетчиком (длина хранится в нулевом байте самой строки, массив имеет фиксированный размер).

3. Строка является указателем на строку символов в памяти.