Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выражения




Type

Type

Типы данных

4.1.1. Классификация типов

Тип является одним из фундаментальных понятий языка Free Pascal. Введение типа дало возможность автоматического поиска ошибок при компиляции, что в итоге приводит к созданию надёжных (корректных) программ.

Типы могут быть стандартными и определяемыми пользователем. Стандартные типы известны компилятору, а потому не нуждаются в объявлении. Напротив, типы, определяемые пользователем, должны быть объявлены в разделе объявлений. Соответствующий подраздел этого раздела начинается со служебного слова type и имеет следующий формат:

<имя типа 1> = <определение типа 1>;

.................................

<имя типа N> = <определение типа N>;

В языке Free Pascal используется 5 групп типов данных – простые, структурированные, процедурные типы, указатели и объекты. Их содержание показано на рис. 6, где затененные блоки соответствуют нестандартным типам. Для первого знакомства с языком достаточно ограничиться наиболее часто используемыми типами.

 


 

 

Рис. 6. Классификация типов данных.

4.1.2. Простые типы.

Целый тип обозначает множество целых чисел. В зависимости от диапазона их значений имеется несколько типов целых чисел. Над целыми значениями допустимы 4 арифметические операции – сложение, вычитание, умножение, деление нацело (дробная часть отбрасывается) и взятие остатка от деления.

Логический тип определяет множество данных, каждое из которых может принимать лишь два значения: истина (идентификатор true) или ложь (идентификатор false). Для всех логических типов значению false соответст-вует число 0, а значению true - 1. Логический тип имеет идентификатор Boolean. Над значениями логического типа допустимы операции сравнения, а также операции логического сложения (идентификатор or), умножения (идентификатор and), исключающее ИЛИ (идентификатор xor) и отрицания (идентификатор not).

Символьный тип определяет множество символов, состоящее из 256 различных символов. Каждый символ имеет свой порядковый номер (код), который присваивается ему в соответствии с системой ASCII (американский стандартный код для обмена информацией). Этот номер (код) и является значением символа.

Над значениями символьного типа возможны операции сравнения – >, <, = и т.д. Символьный тип имеет идентификатор Char.

Значения символьного типа, имеющие физическое изображение (т.е. которые можно вывести на печать - символы алфавита и т.п.) заключаются в апострофы. Например, 'x', '+', '>'. Для символов, не имеющих физического изображения (управляющие символы), используется их код с символом # перед ним. Например, #13 (код клавиши <Enter>).

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

Формат записи нового перечисляемого типа:

<имя типа> = (<идентификатор 1,..., идентификатор N>);

Здесь важен порядок перечисления идентификаторов, т.к. первому идентификатору присваивается порядковый номер 0, второму - 1 и т.д. Кроме того, один и тот же идентификатор можно использовать в определении только одного перечисляемого типа. Например, перечисляемый тип Operat = (Plus, Minus, Divide); образован из строкового типа (смотри ниже). Он говорит о том, что над значениями его типа возможны только три операции: сложение, вычитание и деление.

Тип-диапазон получается в результате сужения допустимого диапазона значений некоторого стандартного типа. Это сужение определяется заданием минимального и максимального значений диапазона.

Формат записи нового типа-диапазона:

<имя типа> = <минимальное значение>..

<максимальное значение>;

Имя типа вводится программистом произвольно, но не из числа зарезервированных слов языка. Например, тип Dozen = 1..12; образован из целого типа, а тип Book = 'a'..'s'; - из символьного типа.

Вещественный тип обозначает множество вещественных чисел, т.е. чисел, имеющих целую и дробную части. Вещественные значения могут изображаться в форме с фиксированной точкой или в форме с плавающей точкой. В первом случае целая и дробная части вещественного числа отделяются друг от друга точкой. Например, 0.5. Во втором случае число записывается в виде АеР, где А называется мантиссой числа, е изображает число 10 - основание десятичной системы счисления и имеет смысл "умножить на 10 в степени Р", а Р называется порядком. Количественно порядок равен числу позиций, на которое смещается десятичная точка в изображении числа. При этом если смещение направлено влево, то порядок положителен, а если вправо - отрицателен. В зависимости от диапазона значений в Free Pascal имеется 5 типов вещественных чисел. Над значениями вещественных чисел допустимы только 4 арифметические операции – сложение, умножение, вычитание и деление.

4.1.3. Структурированные типы.

Структура объединяет группу разных данных под одним названием. В языках программирования массив является дополнением к структурам. Массив – сложный тип данных, доступ к элементам которого происходит по их положению, по номеру или индексу. При описании массива указывается его размер (число элементов) или верхняя и нижняя границы – диапазон, в рамках которого можно обращаться к элементам массива. Формат объявления массива:

array [<нижняя граница.. верхняя граница>] of <тип>;

Например, массив из пяти элементов типа real объявляется следующим образом:

Ar = array [1..5] of real;

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

Matrix = array [1..4,1..4] of real;

Строковый тип определяет множество строк символов. Имеет идентификатор String[n]. Если для String не указан размер, то предполагается длина строки 255. Значения строкового типа заключаются в апострофы. Например, 'язык', 'pro'. Над объектами строкового типа допустима операция конкатенации (сцепления строк) и операция сравнения (какая строка длиннее).

4.1.4. Идентичность и совместимость типов.

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

Типы Т1 и Т2 считаются идентичными, если:

- они имеют один и тот же идентификатор типа;

- один объявлен эквивалентным другому (один из них может быть автоматически преобразован к другому).

Например:

T1 = Boolean;

T2 = T1;

Этот уровень соответствия типов должен соблюдаться между параметрами и аргументами процедур и функций.

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

Типы Т1 и Т2 совместимы, если выполняется хотя бы одно из следующих условий:

- Т1 и Т2 идентичны;

- оба типа являются либо целыми, либо вещественными;

- один тип представляет собой тип - диапазон другого;

- оба типа являются типами - диапазонами какого-то одного типа;

- один тип строка, другой символ;

- T1 и T2 - процедурные типы с одинаковым количеством попарно эквивалентных параметров и с эквивалентными типами результатов (для функций).

Для оператора присваивания имеется специальное понятие – совместимость по присваиванию. Оператор присваивания считается корректным, если тип переменной в левой части совместим по присваиванию с типом выражения из правой части.

4.2.1. Выражения, константы и переменные.

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

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

Формат описания переменных:

var //зарезервированное слово

< имя одной или нескольких переменных, перечисленныхчерез запятую >: <тип переменной >;

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

Например:




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 493; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.