КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |