КАТЕГОРИИ: Архитектура-(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) |
Выражения
ТИП ДАТА-ВРЕМЯ Стандартный тип дата-время (TDateTime), определенный в модуле System, совпадает с типом Double. Например, если определена константа типа дата-время 35065.75, то это число означает 1 января 1996 г., 18.00. Способ преобразования этого числа в дату-время встроен в тип. Целая часть числа типа TDateTime задает число дней, прошедшее с 30 декабря 1899 года, а Дробная часть - прошедшую долю текущих суток. Символьное представление типа дата-время определяется установками Windows. Различные функции преобразования находятся в модуле SysUtils. Многие операторы содержат в своем составе конструкции, называемые выражениями. Выражение - это синтаксическая единица языка, опреде-
ляющая способ вычисления некоторого значения. В выражении выполняются некоторые действия над параметрами. Рассмотрим множество операций и параметров, используемых в выражениях. КОНСТАНТЫ Константами называют параметры, значения которых не могут изменяться в процессе выполнения программы. В выражениях возможно двоякое использование констант: • непосредственное использование значения константы; • использование имени константы. В качестве констант могут использоваться значения различных типов. Возможно не только десятичное представление числовых констант, но и ше-стнадцатеричное, например SF5, где первый символ указывает, что далее следует шестнадцатеричная константа. Для задания имени константы используется следующее объявление: const <имя> = <значекие>; - например, const a = 5; s = ' Pascal';. В описании const можно использовать константные выражения (например, const Ъ = Pi/4;). Все вычисления константных выражений выполняются на стадии компиляции. Код программы не увеличивается при использовании поименованных констант. ТИПИЗИРОВАННЫЕ КОНСТАНТЫ Данное название не совсем удачное, так как типизированная константа представляет собой фактически переменную. Название это появилось потому, что типизированная константа определяется ключевым словом Const, например Const Maximum: integer = 100;. Не будет ошибки, если вместо данной строки записать: Var Maximum: integer = 100;. Таким образом, типизированные константы используются для задания начального значения переменных. Использование типизированных констант зависит от директивы компилятора {$J}. Если она выключена {$J-}, типизированные константы становятся просто константами, если она включена {SJ+} (установлено по умолчанию) - типизированная константа представляет собой инициализированную переменную. ПЕРЕМЕННЫЕ Переменными называют параметры, значения которых могут изменяться в процессе выполнения программы. Запишем следующие примеры объявления переменных:
Var а: integer; х,у: single; operat:(plus, minus, mult, divide);. В данном случае объявлены четыре переменных: а - целого типа, х, у -вещественного типа, operat - типа перечень. ОПЕРАЦИИ Можно выделить следующие операции: • арифметические; • логические; • операции над битами; • операции отношения; • операции со строками; • операции с множествами; • операции над объектами; • адресная операция @. Арифметические операции для вещественных чисел определяются с помощью символов: +, -, *, /. Для целых чисел определены пять операций: +, -, *, div (деление нацело), mod (остаток от деления), например, a div в; {если А=7, ав = 3, то результат равен 2}, с mod 3; {если с = 10, то результат равен 1}. Логические операции применяются к операндам логического типа, как, например, приведено в табл. 7 для унарной операции отрицания not.
Результат вычисления логической операции получается также логического типа. Определяются эти операции специальными таблицами. Рассмотрим три бинарные логические операции: and - логическое И (конъюнкция); or - логическое ИЛИ (дизъюнкция); хог - ИСКЛЮЧАЮЩЕЕ ИЛИ (табл. 8). Таблица 8
Существуют 2 варианта вычисления логических выражений, задаваемые Директивой {$В}: полное {$В+} и укороченное {$В-}. Полное вычисление означает, что выполняются все запрограммированные действия, даже если на промежуточном этапе становится известным значение всего выражения. При укороченном вычислении все расчеты прекращаются, как только становится известным значение заданного выражения. Например, если в выражении (A and в) or (х xor Y) значение (A and в) равно true (когда операция or дает true, см. табл. 8), то при укороченной форме вычисления прекращаются без расчета второй части (х xor Y) исходного выражения, так как полученное значение true уже не изменится. Операции над битами выполняются над целыми числами. Существуют следующие битовые операции: • not X - инверсия всех битов числа X; • X and Y - побитовое логическое умножение чисел X и V; • X or Y - побитовое логическое ИЛИ над X и Y; • X xor Y - побитовое исключающее ИЛИ над X и Y; • X shr J - сдвиг содержимого числа X на J бит вправо; • X shlJ - сдвиг числа X на J бит влево. Операции сдвига часто используются для умножения и деления целых чисел на 2, 22, 23 и т. д. Например, пусть X = 3 (в двоичной формг 0011). Выполним X shl 1 -ООП сдвигаем влево на 1 разряд, получим 0110. Двоичное число 0110 равно 6 в десятичной системе, т. е. выполнено умножение на 2. Операции отношения предназначены для сравнения двух величин. Величины должны быть сравнимых типов. Результат сравнения имеет логический тип. Существуют шесть операций: = - равно, < - меньше, <= - меньше или равно, <> - не равно, > - больше, >= - больше или равно. Адресная операция @ позволяет определить адрес расположения переменной, типизированной константы, подпрограммы и некоторых других программных элементов в памяти. Остальные операции будут рассмотрены далее. ФУНКЦИИ Функция представляет собой специальную подпрограмму, предназначенную для вычисления какого-либо параметра, исходя из значений ее аргументов. Имеется большое количество встроенных стандартных функций. Возможно создание собственных функций, которые используются наряду со стандартными. Любая функция задается своим именем с указанием после него в круглых скобках перечня аргументов, например sin(X). ПОРЯДОК ВЫЧИСЛЕНИЯ ВЫРАЖЕНИЙ Выражения вычисляются в определенном порядке в соответствии с приоритетами (табл. 9) выполняемых операций.
Таблица 9
Для того чтобы изменить приоритет выполняемых действий, используются круглые скобки. Действия выполняются чаще всего слева направо. Компилятор в целях оптимизации может нарушить этот порядок. ВИДЫ ОПЕРАТОРОВ С помощью операторов осуществляется контроль за потоком вычислений и проводятся различные манипуляции с данными. Операторами описываются выполняемые программой алгоритмические действия, которые необходимы для решения задачи. Все операторы условно можно разделить на две группы: простые и структурированные. Простыми называют операторы, которые не содержат внутри себя других операторов. Структурированными являются такие операторы, которые состоят из других операторов. К ним относятся: • составной оператор; • операторы условного перехода; • операторы цикла; • оператор над записями; • операторы обработки исключительных ситуаций. Иногда объявления программных элементов называют операторами объявления, которые, в отличие от "настоящих" операторов, являются неисполнимыми. ПРОСТЫЕ ОПЕРАТОРЫ Таких операторов четыре: оператор присваивания, обращение к процедуре, оператор безусловного перехода и пустой оператор. Оператор присваивания является средством изменения содержимого памяти. Синтаксически с помощью этого оператора переменной присваивается значение какого-либо выражения. Записывается этот оператор следующим образом: Y:= <выражение>;, где Y - переменная,:= - знак присваивания. Например, Х:= 5; Y:= sin (X); С: = 'А';. Выражение вычисляется независимо от типа переменной. Однако чтобы присваивание было корректным, необходимо, чтобы тип переменной был совместим с типом выражения. Например, переменной вещественного типа можно присваивать выражения целого типа, но переменной целого типа нельзя присваивать значения выражений вещественного типа. Обращение к процедуре позволяет выполнить вычисления, задаваемые подпрограммой вида "процедура". Как и функция, процедура имеет имя и может иметь список аргументов. При вызове вычислений из процедуры записывается имя нужной процедуры, а затем справа от имени в круглых скобках записывается список параметров-аргументов. Например, ProcName{x, У);. Существует большое количество встроенных стандартных процедур, например Dec(X) и Inc(Х) (см. табл. 1). Программист может составлять собственные процедуры. Оператор безусловного перехода записывается в следуюшем виде: goto <метка>;. Этот оператор позволяет изменить последовательный порядок выполнения операторов и перейти к выполнению программы, начиная с заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Метки бывают двух видов: или какое-либо число 1...9999 или обычный идентификатор: А, В25, Point. Все метки должны быть описаны в объявлении Label: 56, А, В25, Point;. Одной меткой можно пометить только один оператор: Point: y:= 2*х,-. Использование оператора GOTO считается плохим стилем программирования. Пустой оператор не выполняет никаких действий и никак не отображается в программе, разве только точкой с запятой.
Дата добавления: 2014-12-29; Просмотров: 435; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |