Программирование на языке Object Pascal

Страница 3

Помимо форматов с плавающей точкой, в Object Pascal определены два вещественных формата с фиксированной точкой: Comp и Currency.

Структурные типы

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

В Object Pascal определены следующие структурные типы:

строки, массивы, множества, записи, файлы, классы.

Строковые типы

В Object Pascal определены три типа для представления текстовых строк.

ShortString. Данный тип аналогичен типу String ранних версий языка Pascal. Его переменные могут содержать строку длиной до 255 символов с фиксированным размером 256 байт. Фактически, тип ShortString представляет собой массив символов, индексированный от 0 до 255. Под хранение символов строки выделяются байты с 1-го по 255-й. Байт с нулевым номером используется для хранения длины строки.

AnsiString. Переменные этого типа могут хранить строку практически неограниченной длины. Максимальное количество символов в такой строке ограничено только адресным пространством компьютера (например, на компьютерах IBM PC число символов в строке может достигать величины 232). Переменные данного типа занимают в памяти 4 байта и представляют собой адрес первого символа строки.

WideString. Этот тип аналогичен типу AnsiString, но, в отличие от последнего, символы строки WideChar представляются в кодировке UNICODE, то есть занимают два байта.

Массивы

В языке Object Pascal, используемом в системе Delphi, определены два типа массивов – статические и динамические.

Статические массивы идентичны обычным массивам, которые использовались еще в классическом языке Pascal.

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

Хотя переменная динамического массива фактически является указателем, работа с динамическим массивом почти идентична работе со статическим массивом. Отличие наблюдается только при выполнении операции присваивания переменных. Например, если объявлены два динамических массива А1 и А2, то после выполнения операции присваивания А1 := А2 обе переменных будут ссылаться на один и тот же фрагмент памяти, то есть фактически будут являться одним массивом. Изменение элементов массива А1 будет приводить к такому же изменению тех же элементов массива А2.

Нумерация элементов динамических массивов всегда начинается с нуля.

Множества

Множество представляет собой набор значений какого-либо порядкового типа. Для объявления переменной типа множества используется ключевое слово set.

Минимальный и максимальный порядковые номера типа, на основе которого создается множество, должны лежать в пределах от 0 до 255.

Записи

Записи представляют собой структурный тип, объединяющий элементы различных типов.

Элементы записи называются полями. Для обращения к отдельному полю используется идентификатор переменной записи и через точку указывается идентификатор поля: RecVar1.field1. Кроме того, существует специальный оператор with .do, предназначенный для работы с записями.

Файлы

Файловый тип данных используется для организации операций файлового ввода-вывода данных. Файловые переменные подразделяются на типизированные и нетипизированные.

Объявление переменной файлового типа подобно объявлению массива, только без указания числа элементов. При этом вместо слова array используется ключевое слово file. Для типизированных файлов после слова file через of указывается тип элементов файла. Этот тип может быть любым, кроме file и class. Объявление нетипизированной файловой переменной отличается только тем, что тип элементов файла не указывается. Для работы с текстовыми файлами используется специальный тип Text или TextFile (приложение 20).

Классы

Классы являются структурным типом, похожим на тип record. Однако они позволяют объединять в одной структуре не только данные, но и методы их обработки – процедуры и функции. Более подробно классы обсуждаются в первой главе.

Кроме перечисленных типов в Object Pascal существуют еще указательные и вариантные типы. Но здесь о них речь не пойдёт, т.к. для усвоения основ объектно-ориентированного программирования учащимся с лихвой хватит описанных выше типов.

3. Операторы языка Object Pascal

Операторы предназначены для контроля за порядком вычисления выражений и количеством вычислений. Операторы, используемые в языке Object Pascal, условно можно разделить на две группы: простые операторы и структурные операторы. К простым операторам следует отнести операторы присваивания и безусловного перехода. Группу структурных операторов составляют условные операторы, операторы циклов и составной оператор. В работе не приводятся теоретические данные об операторах языка Object Pascal, т.к. они полностью дублируют операторы языка Pascal, а курс рассчитан на учащихся, уже освоивших язык Pascal.

Страницы: 1 2 3 4


Другое о педагогике:

Анализ учебно-методической и специальной литературы по выбранной теме
Учебное пособие для студентов высших педагогических учебных заведений "Педагогика" под редакцией Виталия Александровича Сластенина изданное в 2002 году стало для всех студентов эталоном фундаментального подхода к изучению проблемы воспитательных и образовательных процессов в современной ш ...

Исследование устной речи у детей с нарушением интеллекта
В исследовании устной речи у детей с нарушением интеллекта использовалась специальная методика. В ней использованы речевые пробы, предложенные Р.И. Лалаевой (Нарушения речи и система в их коррекции в процессе логопедической работы во вспомогательной школе) и Е. В. Мальцевой (Недостатки речи у детей ...

Анализ некоторых учебников для старших классов гуманитарного профиля
Как было указано выше, содержание курса математики для классов гуманитарного профиля, несмотря на присутствие традиционных для программы разделов, сокращено. Кроме того, выделенные нами методические особенности говорят о необходимости смещения акцентов при рассмотрении тех или иных вопросов математ ...

Меню

Copyright © 2026 - All Rights Reserved - www.normaleducation.ru