![]() |
|
Главная Промышленная автоматика. стандартных функций рекомендуется иметь одну, а именно entier (£), которая «преобразует» выражение типа real в выражение типа integer и присваивает ему значение, являющееся наибольшим целым, не превышающим значение Е. t 3.3. Арифметические выражения 3.3.1. Синтаксис (знак операции типа сложения) =+ - (знак операции типа умножения) :: = X i / (первичное выражение):: = (число без знака)(пере- менная)(указатель функции)((арифметическое выражение)) (множитель) : : = (первичное выражение)(множитель)[ (первичное выражение) (терм) : : = (множитель)(терм) (знак операции типа умножения) (множитель) (простое арифметическое выражение) : :== (терм)(знак операции типа сложения) (терм)(простое арифметическое выражение) (знак операции типа сложения) (терм) (условие) : : = if (логическое-выражение) then (арифметическое выражение) : : = (простое арифметическое выражение)((условие) (простое арифметическое выражение) else (арифметическое выражение) 3.3.2. Примеры Первичные выражения: 7.394io -8 • • - sum -- : . . да/ + 2,81 cos{y + zXS) \ . • = .." {a~3/y-[-vu8) ; . • ..... Множители: omega . sum\ cos{g-\-zX3) 7.394io-8t®[/-l-2,8]t(a-3/i/-fwt8) . , Термы: • и . omega X sum \ cos{y-\-zX 3)/7.394io - 8 f w [i+2,8] t (a - З/у -(- г»й t 8) Простое арифметическое выражение: U - Vu-\-omega X sum \ cos{y-\-zX 3)/7.394io - 8 f w[i-\-2,8]Ua-3/y-\-vu\S) Арифметические выражения: wXu - QiS + Cu)\2 if q>0 then 5+3XQM else 2X5+3X If a<0 then U-\-V else if aXb> 17 then U/V else if ky then VjU else 0 a X sin (omega X t) 0.57iol2Xa[AX(A-l)/2, 0] X arctow («/)+Z) t (7 Ч-Q) If 9 then ft-1 else « ifa<0 then AlB else if 6=0 then else z 3.3.3. Семантика Арифметическое выражение является правилом для вычисления числового значения. В случае простых арифметических выражений это значение получается путем выполнения указанных арифметических операций над фактическими числовыми значениями первичных выражений, входящих в данное выражение, как это детально объяснено ниже, в разд. 3.3.4. Что такое фактическое числовое значение первичного выражения, ясно в случае чисел. Для переменных оно является текущим значением (последним по времени присвоенным значением), а для указателей функций оно является значе- нием, полученным по правилам вычислений, определяющих процедуру (см. разд. 5.4.4. Значения указателей функции), примененным к текущим значениям параметров процедуры, заданных в выражении. Наконец, для арифметических выражений, заключенных в скобки, их значение должно выражаться посредством рекурсивного анализа, исходя из значений остальных трех видов первичных выражений. В более общих арифметических выражениях, включающих в себя условия, на основе фактических значений логических выражений (см. разд. 3.4. Логические выражения) выбирается одно из нескольких простых арифметических выражений. Этот выбор производится следующим образом: значения логических выражений, входящих в условия, вычисляются последовательно слева направо до тех пор, пока ие найдется выражение, имеющее значение true. Значением арифметического выражения будет тогда значение первого арифметического выражения, следующего за этим логическим (при этом имеется в виду максимальное арифметическое выражение, обнаруживаемое в этой позиции). Конструкция: else (простое арифметическое выражение) эквивалентна конструкции: else if true then (простое арифметическое выражение) 3.3.4. Операции и типы Составные части простых арифметических выражений (не считая логических выражений, употребляемых в условиях) должны иметь тип real или integer (см. разд. 5.1. Описания типа). Смысл основных операций и типы выражений, к которым они приводят, определяются следующими правилами: 3.3.4.1, Знаки операций +, - и X имеют обычный смысл (сложение, вычитание и умножение). Выражение имеет тип integer, если оба операнта имеют тип integer, в противном случае - real. 3.3.4.2. Операции (терм)/(множительУ и (терм)-ь; (множитель) обозначают деление, понимаемое как умножение терма на обратную величину множителя 0 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0.0019 |