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

Логический тип

Переменные логического типа Boolean занимают в памяти один байт и могут принимать одно из двух значений False - ложное или True - истинное. Этот тип является порядковым (Ord (False) = 0, Ord (True) = 1) и, следовательно, упорядоченным. Результат любых операций сравнения имеет логический тип и может быть присвоен логической переменной. Для операндов типа boolean определены следующие логические операции: NOT - отрицание (превращает false в true, а true в false), AND - логическое умножение "и", OR – логическое сложение "или", XOR - исключающее или (true, если операнды разные).

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

Логическое умножение дает истинный результат только в том случае, если обе величины истинны. Если хотя бы одна из величин ложна, то результат также будет ложным.

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

Логический тип определяется таким образом, что FALSE< TRUE.

Символьный тип (литерный)

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

Символьный тип Char также называют литерным. Он позволяет работать с символами, которые записываются двумя способами: в одинарных кавычках или по их коду, например 'a', 'B', '*' или, что то же самое, #97, #130, #42. В отличие от текста программы на Паскале, символы, соответствующие строчным и заглавным буквам различаются. Множество значений типа Char представляет собой полный набор ASCII - символов (американская стандартная кодировка). В компьютере хранятся шестнадцатеричные коды символов (1 байт), которые и используются в операциях отношения (сравнения). Функция Ord выдает код соответствующего символа, который может быть от 0 до 255. Обратной функцией, которая по коду выдает соответствующий символ, является функция Chr.

Пользовательские типы данных.

В Турбо Паскале предусмотрен механизм создания новых типов, которые принято называть пользовательскими или конструируемыми. Их можно создавать на основе стандартных и ранее созданных типов. Описание новых типов происходит в разделе TYPE. После этого можно в разделе Var создавать переменные этих типов. Можно сразу описывать новый тип при создании переменной в разделе Var. Рассмотрим следующие пользовательские типы:

  • перечисляемый тип,

  • интервальный тип.

Перечисляемый тип

Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение должно являться идентификатором и располагаться в круглых скобках через запятую. Количество элементов в перечислении не более 65536. Вводить и выводить переменные перечисляемого типа запрещено. Перечислимый тип является порядковым, поэтому к переменным такого типа можно применять функции Ord, Pred, Succ.

Функция Ord возвращает порядковый номер значения, начиная с нуля. Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Первая константа имеет порядковый номер нуль, вторая — 1 и т.д.

Формат :

Type

<имя типа> = (значение1, значение2, . . . , значение n>);

var

<Идентификатор,...>: <имя типа>;

Пример,

type

Gaz = (Ge, С, О, N);

Metall = (Na, K, Li, Cu, Zn);

var

Gl, G2, G3: Gaz;

Metl, Met2: Metall;

Season: (Winter, Spring, Summer, Autumn);

В данном примере приведены два явно описанных типа данных пользователя Gaz и Metall. Определены их значения - обозначения некоторых газов и металлов -периодической таблицы Д.И.Менделеева. Переменные Gl, G2, G3 и Metl, могут принимать только одно из перечисленных значений. Попытка присво­ить любое другое значение вызовет программное прерывание. Третий тип перечисления анонимный (не имеет имени) и задается перечислением значений в разделе vаг. Переменной этого типа является Season и может принимать значения Winter, Spring, Summer и Autumn. Таким образом может быть задан любой тип, но это не приемлемо, так как первый способ более понятен и больше соответствует характеру языка Паскаль. При этом имена внутри круглых скобок являются константами соответствующего типа перечисления и подчиняются обычным правилам констант. Выражения и константы перечисляемого типа допустимы для использования в операторе CASE. Операции отношения и логические операции допустимы для значений перечисления одного и того же типа. Упорядочение осуществляется по номеру элемента в описании типа. Например, будет истинно выражение Winter < Spring, так как Spring имеет больший номер по порядку в описании чем Winter.

В отличие от данных других типов Паскаль не поддерживает операции ввода–вывода значений пользовательского перечисляемого типа. При необходимости про­граммист сам должен организовать ввод-вывод таких данных.

Для работы с данными перечисляемого типа в языке Паскаль предназначены стандартные подпрограммы Succ, Pred, Ord.

Следует отметить, что стандартные типы byte, word, char и boolean также можно считать вариантами перечислимого типа.

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