Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен теория 1 семестр.doc
Скачиваний:
4
Добавлен:
31.07.2019
Размер:
55.81 Кб
Скачать

Лекция 6.

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

Типы подразделяются на:

- ПРОСТЫЕ

-- ПОРЯДКОВЫЕ

== ЦЕЛЫЕ (integer, word, byte ...)

== СИМВОЛЬНЫЕ (char)

== ЛОГИЧЕСКИЕ (boolean)

== ПЕРЕЧИСЛЕНИЕ (нет пpедопpеделенного имени типа)

== ДИАПАЗОН (имя типа совпадает с базовым типом, т.е.

с любым из 4-х вышепpиведенных)

-- ДЕЙСТВИТЕЛЬНЫЕ (real, double ...)

- СТРУКТУРИРОВАННЫЕ

-- МАССИВЫ (нет предопределенного имени типа)

-- ЗАПИСИ (нет предопределенного имени типа)

-- СТРОКИ (string)

-- МНОЖЕСТВА (нет предопределенного имени типа)

-- ФАЙЛЫ (нет предопределенного имени типа)

- УКАЗАТЕЛИ (нет предопределенного имени типа)

- ВАРИАНТЫ (только в DELPHI)

Простые типы, понятие мощности типа. Порядковые типы: целые со знаком и без знака, символьные, логические и перечисление. Способ представления порядковых типов. Функция Binary двоичного представления целых типов. Особенности операций над целыми типами. Тип диапазон, что он дает.

Действительные типы, мощность и способ представления. Операции над ними. Особенности приведения простых типов. Способы округления.

Лекция 7.

Процедурные типы – как разновидность указателя на подпрограмму в Паскале (предварительные сведения об указателях как адресах). Практика использования на примере вычисления интегралов от «обобщенной» функции.

Структурированные типы. Структурированные (сложные) типы всегда имеют внутреннюю структуру, т.е. состоят из одного или нескольких (возможно разнотипных) компонентов.

Тип массив. Расположение в памяти. Операция индексации. Три отличительных признака:

- массив представляет собой упорядоченную совокупность элементов (один и более),

- все элементы имеют одно и то же имя и одинаковый тип,

- каждый элемент имеет уникальный порядковый номер (индекс) и доступ к элементу производится по правилу <имя массива>[индекс].

Единственной операцией не требующей указания индекса является присваивание ОДНОТИПНЫХ массивов, все остальные действия проводятся над отдельными элементами с указанием индексов, "поштучно", как правило в циклах FOR.

При работе с массивами, кроме идентификаторов массивов, надо знать их РАЗМЕРНОСТЬ - количество элементов в массиве. Иначе говоря, массив однозначно определяется 2 величинами: именем и размерностью.

Особенности передачи массивов в подпрограммы. Динамические массивы. (отсчет от 0).

Лекция 8.

Строки. Этот тип введен специально для упрощения работы с массивами символов, которыми, по сути дела, и являются строки. Строки единственный из структурных типов, имеющий преопределенное имя типа String. По сравнению с просто массивом символов array[1..255] of char, Тип String имеет специальное внутреннее представление:

стандарт языка статическое распределение памяти String ->array[1..255] of char; Но на самом деле используется и нулевой элемент для хранения текущей длины., допускается указывать строки меньшей длины String[n] ->array[1..n] of char; n<255. При таком описании строк истинная (текущая) длина строки хранится в нулевом байте. Не используемые байты содержат символ #0. Расширение в Delphi т.н. нуль терминальные строки array[0..n] of char, у которых нулевой элемент содержит символ, а в конце строки стоит символ #0. Динамические строки реализованы как тип String.