Какую структуру имеют выражения Delphi? В состав выражений в языке программирования Delphi входят операнды и операторы. Операторы, заключенные между операндами, подразумевают действия, выполняющиеся над операндами. Операндами выражения могут выступать константы, переменные, функции или другие выражения. Представим основные алгебраические операторы Delphi (табл. ниже).
Когда программист записывает какое-либо выражение между операндами и операторами, то пробел можно опустить во всех случаях, кроме операторов DIV и MOD.
Примеры выражений Delphi
Пример 1.
b:=a+c;
b:=a-c;
b:=a*c;
b:=a/c;
b:=a DIV c;
b:=a MOD c;
Не будем останавливаться на операторах +, -, * и /, поскольку результат их применения вполне очевиден. При использовании оператора DIV получают целую часть результирующего числа b, полученного от деления числа a на число c. К примеру, результатом выражения 13 DIV 10 равно 1. При использовании оператора MOD в результате получается остаток b от деления числа a на число b. Например, результатом соотношения 13 MOD 10 является число 3. Самый простой вид выражения Delphi представляется константой или же переменной.
Пример 2.
a:=455.29*i+54;
n:=m-(sum*(c1+c2+c3)/(4*sred DIV 50));
В процессе вычисления значений выражения Delphi необходимо помнить, что операторы обладают разным приоритетом. К примеру, операторы *, /, DIV, MOD выполняются вначале, и лишь потом действуют операторы +, -. То есть, от приоритета операторов непосредственно зависит, в каком порядке они будут выполняться. Чем выше приоритет оператора, тем раньше других операторов он выполняется. В случае, когда операторы обладают одним и тем же приоритетом, то вначале выполняется оператор, находящийся левее других операторов с одинаковым приоритетом. Чтобы задать нужный порядок выполнения операций в необходимом выражении, обычно используют круглые скобки.
Пример 3.
Выражение в скобках выступает в качестве одного операнда, а это значит, что операции над операндами, находящимися внутри скобок, будут выполняться в привычном порядке раньше, чем те же операции, производящимися над операндами, но за скобками. В процессе составления выражений, которые содержат скобки, необходимо учитывать парность скобок, другими словами, соблюдать следующее правило: число открывающихся и закрывающихся скобок должно быть одинаково. При нарушении этого правила возникает синтаксическая ошибка, поэтому будьте предельно внимательны! Тип выражения соответствую типу операндов, составляющих выражения, но в то же время, тип выражения зависит и от операций, которые выполняются над операндами.
Пример 4.
c:=15; b:=a+c;
В приведенном примере оба операнда a и c являются целыми числами. Тогда результат b тоже будет целого типа. Если один из операндов представляет собой дробное число, а другой операнд, например является числом целого типа, то результат представится все же дробным числом. Это выполняется и в том случае, когда дробная часть числа или конечного значения выражения приравнена нулю.
Заметка. Необходимо обладать навыками определения типа любого выражения. Определяя тип выражения Delphi, имейте в виду, что вид константы определяет ее тип, в то время как, тип переменной программист задает в разделе var. Например, целым типом integer обладают константы вида: 1, 54, -683. Тогда как константы 2.0, 0.65 и5.4Е-07 имеют вещественный тип real. Для наглядности и запоминания в таблице ниже представлены правила, по которым Вы сможете определить тип выражения, руководствуясь типом операндов и видом оператора: