Мегаобучалка Главная | О нас | Обратная связь


Арифметические операторы



2016-01-26 559 Обсуждений (0)
Арифметические операторы 0.00 из 5.00 0 оценок




К данным операторам относятся:

унарный ’-’– смена знака операнда;

унарный ’+’– пустая операция;

’+’– сложение; если один из операндов - строка, то другой операнд также преобразуется в строку, затем производится конкатенация строк;

’-’– вычитание;

’*’– умножение (только для числовых значений);

’/’– деление;

’%’или mod– взятие остатка (деление по модулю);

** –возведение в степень.

Побитовые операторы

В данную группу входят следующие операторы:

’&’– побитовое "И";

’|’– побитовое "ИЛИ";

’^’или xor –побитовое "исключающее ИЛИ".

унарная ’∼’– поразрядная инверсия;

’<<’или shl –сдвиг влево на указанное число разрядов (только для целочисленных значений);

’>>’или shr –сдвиг вправо на указанное число разрядов (без сохранения знака) (только для целочисленных значений);

rol –циклический сдвиг влево на указанное число разрядов (только для целочисленных значений);

ror –циклический сдвиг вправо на указанное число разрядов (без сохранения знака) (только для целочисленных значений).

Операторы сравнения

Все операторы сравнения возвращают true,если условие выполняется, иначе – false:.

’==’– проверка на равенство;

’!=’или ’<>’– проверка на неравенство;

’<’– меньше;

’>’– больше;

’<=’– меньше или равно;

’>=’– больше или равно.

Логические операторы

К данным операторам относятся:

&&или and– возвращает true,если оба операнда не равны нулю, иначе - false. Если первый операнд ложен, второй операнд не вычисляется;

||или or– возвращает true,если любой из операндов не равен нулю, иначе - false.Если первый операнд истинен, второй операнд не вычисляется.

унарный !или not– возвращает true,если операнд ложен, иначе - false.

Операторы присваивания

Синтаксис:

{операнд} = {выражение}

или

{операнд} := {выражение}

В качестве операнда может выступать:

имя переменной;

имя переменной-элемента массива (индексированная переменная);

уточненное имя переменной объекта.

Приоритет символьных операторов Техно ST

В приведенном ниже списке символьные операторы расположены в порядке убывания приоритета:

**

!, not, ∼, унарный ’-’, унарный ’+’

<<, >>, shl, shr, rol, ror

&, |, ^, xor

*, /, %, mod

+, -

==, !=, <>, <, <=, >, >=

&&, and

||, or

=, :=

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

Операторы Техно ST

Определены следующие операторы, образующие предложения Техно ST:

Return

if

Case

While

Repeat

For

Break

Exit

Continue

операторы определения переменных;

оператор индексирования элементов массива;

Goto

Оператор return

Определены 2 варианта задания данного оператора:

return {выражение}

Действие: выход из функции Техно ST. Значением функции является значение {выражения};

Return

Действие: выход из функции-блока Техно ST.

Пример

RETURN (2 + ARG_000 ** 2);

Оператор if-then-else

Данный оператор начинается с ключевого слова ifи заканчивается ключевым словом end_if. Определены 3 варианта задания данного оператора:

Вариант 1

if {выражение} then {последовательность предложений} end_if

Действие: если {выражение} истинно, выполняется {последовательность предложений}, иначе никаких действий не производится.

Вариант 2

if {выражение} then {последовательность предложений1}

else {последовательность предложений2} end_if

Действие: если {выражение1} истинно, выполняется {последовательность предложений1}, иначе выполняется {последовательность предложений2}.

Вариант 3

if {выражение1} then {последовательность предложений1}

elsif {выражение2} then {последовательность предложений2}

elsif {выражениеN} then {последовательность предложенийN}

else {последовательность предложений} end_if

Действие: выполняется первая по порядку {последовательность предложений}, для которой соответствующее {выражение} истинно. Если все {выражения} ложны, выполняется {последовательность предложений}, следующая за ключевым словом else.

Количество блоков "elsif{выражение} then{последовательность предложений}" не ограничено.

Пример

В результате выполнения следующего кода переменной VAR_000 присваивается значение 200. Выполняется только одно (первое по порядку) действие, для которого условие истинно, поэтому действие, следующее за конструкцией ELSIF...THEN, выполнено не будет, несмотря на то, что условие VAR_002 < 1 истинно:

VAR VAR_000 : INT; END_VAR

VAR VAR_002 : REAL := 0.5; END_VAR

IF VAR_002 < 2 THEN

VAR_000 = 200;

ELSIF VAR_002 < 1 THEN

VAR_000 = 500;

ELSE

VAR_000 = 300;

END_IF;

Оператор case

Определены 2 варианта задания данного оператора.

Вариант 1

case {выражение} of

{список значений}: {последовательность предложений}

...

{список значений}: {последовательность предложений}

End_case

Вариант 2

case {выражение} of

{список значений}: {последовательность предложений}

...

{список значений}: {последовательность предложений}

else {последовательность предложений}

End_case

Список значений представляет собой набор целых чисел или набор диапазонов целых чисел, разделенных запятой. Диапазон задается в виде

{нижняя граница} .. {верхняя граница}

Действие: если результат вычисления {выражения} принадлежит множествам, заданным {списками значений}, выполняется соответствующая {последовательность предложений}. Если результат вычисления {выражения} не принадлежит ни одному из заданных множеств, выполняется {последовательность предложений}, следующая за ключевым словом else.

Пример

В результате выполнения следующего кода VAR_001=500:

VAR VAR_000 : INT; END_VAR

VAR VAR_001 : INT; END_VAR

CASE VAR_000 + 4 OF

0 .. 2 : VAR_001 = 200;

3, 4, 5 : VAR_001 = 500;

END_CASE;

Оператор while

Синтаксис:

while {выражение} do {последовательность предложений} end_while

Действие: пока {выражение} истинно, выполняется {последовательность предложений}.

Пример

После выполнения следующего кода VAR_001=16:

VAR VAR_000 : INT := 7; END_VAR

VAR VAR_001 : INT; END_VAR

WHILE VAR_000 > 2 DO VAR_000 = VAR_000 - 1;

VAR_001 = VAR_001 + 2;

END_WHILE;

Оператор repeat

Синтаксис:

repeat {последовательность предложений} until {выражение} end_repeat

Действие: пока {выражение} истинно, выполняется {последовательность предложений}. Если {выражение} ложно, {последовательность предложений} выполняется 1 раз.

Пример

После выполнения следующего кода VAR_001=20:

VAR VAR_000 : INT :=7; END_VAR

VAR VAR_001 : INT; END_VAR

REPEAT VAR_001 = VAR_001 + 2; VAR_000 = VAR_000 + 1; UNTIL VAR_000 < 20 END_REPEAT;

Оператор for

Синтаксис:

for {инициализация переменной цикла} to {выражение1} by {выражение2} do {последовательность предложений}

End_for

Инициализация переменной цикла имеет вид:

{имя переменной}:={выражение}

Действие: пока значение переменной цикла меньше или равно значению {выражения1} выполняется {последовательность предложений}. По завершении каждого цикла к переменной цикла прибавляется значение {выражения2}; если оно не задано, прибавляется 1.

С помощью оператора forнельзя построить цикл с убывающим счетчиком. Для создания таких циклов нужно использовать операторы whileи repeat.

Пример

После выполнения следующего кода VAR_001=22:

VAR VAR_000 : INT :=7; END_VAR

VAR VAR_001 : INT; END_VAR

FOR VAR_000 = 7 TO 20 DO VAR_001 = VAR_001 + 2; END_FOR;



2016-01-26 559 Обсуждений (0)
Арифметические операторы 0.00 из 5.00 0 оценок









Обсуждение в статье: Арифметические операторы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (559)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)