Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЯВУ лекции.doc
Скачиваний:
18
Добавлен:
27.10.2018
Размер:
592.38 Кб
Скачать

Логический тип данных

Логический тип данных определяет данные, которые могут принимать логические значения TRUE и FALSE (истина и ложь).

ObjectPascal содержит логический тип Boolean, который требует один байт памяти.

Логические типы в ObjectPascal:

Тип

Требуемая память, байт

Boolean

1

ByteBool

1

WordBool

2

LongBool

4

Основным логическим типом является тип Boolean, остальные типы предназначены для совместимости с другими языками программирования и библиотеками ОС.

Для логических типов определены следующие выражения:

Boolean

ByteBool, WordBool, LongBool

False < True

False <> True

Ord(False) = 0

Ord(False) = 0

Ord(True) = 1

Ord(True) <> 0

Succ(False) = True

Succ(False) = True

Pred(True) = False

Pred(False) = True

К логическим операндам применимы следующие логические операции:

not and or xor.

К операндам логического типа можно применять все операции отношения, при этом результат операции вычисляется согласно таблице приведенной выше.

Символьный тип данных

Символьный тип данных определяет упорядоченную совокупность символов, допустимых в ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора.

В ObjectPascal существуют символьные типы данных AnsiChar и WideChar, а также Char, который эквивалентен типу AnsiChar.

Тип AnsiChar требует 1 байт памяти и определяет набор символов ASCII.

Тип WideChar требует 2 байта памяти и определяет набор символов Unicode. Первые 256 кодов Unicode соответствуют кодам ASCII.

Символьная константа может записываться в тексте программы следующими способами:

- как один символ, заключенный в апострофы, например:

'A' 'a' 'Ю' 'ю';

- с помощью конструкции вида #K, где K - код соответствущего символа;

К величинам символьного типа применимы все операции отношения.

Для величин символьного типа определены две функции преобразования:

Ord(C) Chr(K).

Первая функция возвращает порядковый номер символа С в наборе символов, вторая возвращает по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип.

К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:

Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .

Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит символ C в верхний регистр 'A'..'Z'.

Структура программы

Программа на языке Object Pascal состоит из заголовка, разделов описаний и раздела операторов.

Заголовок программы содержит имя программы. Структура:

Program <имя_программы>;

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

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

Структура:

Uses <имя_модуля> [in ‘<путь>’][,…];

<путь> указывает директорию и имя модуля и используется, когда модуль расположен в неизвестной для компилятора директории.

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

Структура:

Label <имя_метки>[,…];

Описание констант, переменных, процедур и функций будет рассмотрено ниже. Отдельные разделы описаний могут отсутствовать, но следует помнить, что в языке Object Pascal должны быть обязательно описаны все элементы программы.

Раздел операторов представляет собой составной оператор, который содержит между служебными словами begin.......end последовательность операторов. Операторы отделяются друг от друга символом ;. Текст программы заканчивается символом точка.