Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lec_20_02_13.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
64 Кб
Скачать

2.3. Особенности трансляторов.

Независимо от специфики языка любой транслятор можно считать функциональным преобразователем F, обеспечивающим однозначное отображение X в Y, где X – программа на исходном языке, Y – программа на выходном языке, поэтому сам процесс трансляции формально можно представить:

Y = F(X)

Формально каждая правильная программа X – это цепочка символов из некоторого алфавита A, преобразуемая в соответствующую ей цепочку Y, составленную из символов алфавита B.

III. Структуры, организация, хранение и поиск данных

1. Структуры данных

Уровню языков программирования соответствуют абстрактные типы и структуры данных.

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

Простые переменные представляют собой данные базовых типов.

Переменные сложных типов отличаются от простых переменных тем, что имеют более одного компонента.

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

1.1. Статические структуры данных.

Фундаментальная (статическая) структура данных – это набор элементов базового представления данных, из которых строятся более сложные структуры; является совокупностью фиксированного количества данных постоянной размерности с неизменным характером связей между ними.

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

К статическим структурам данных в PASCAL относятся массивы, записи, множества, являющиеся базовыми, т.к. из них можно образовывать более сложные структуры.

Массив как статическая структура данных

Примером агрегации переменных является массив, который представляет собой упорядоченный набор (последовательность) данных одинакового типа, имеющий общее имя; доступ к элементам массива осуществляется при помощи индексов, которые могут быть любого порядкового типа и которые являются порядковыми номерами элементов в последовательности.

Массив как статическая структура обладает следующими свойствами:

  • имеет описание, и обращение осуществляется по имени;

  • память выделяется на этапе компиляции;

  • объем памяти фиксирован и не меняется в процессе выполнения программы.

Массивы могут быть одномерными и многомерными.

Одномерный массив – это массив, для получения доступа к элементам которого достаточно одной индексной переменной; математическим представлением является вектор.

Многомерный массив – это массив, для получения доступа к элементам которого требуется более одной индексной переменной; математическим представлением является матрица.

Частный случай многомерного массива – двумерный массив, математическое представление которого – это двумерная матрица.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]