Арифметические операторы
К данным операторам относятся: унарный ’-’– смена знака операнда; унарный ’+’– пустая операция; ’+’– сложение; если один из операндов - строка, то другой операнд также преобразуется в строку, затем производится конкатенация строк; ’-’– вычитание; ’*’– умножение (только для числовых значений); ’/’– деление; ’%’или 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: 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;
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (559)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |