3.2. КАК ПРОГРАММИРУЕТСЯ ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЙ?
Операции языка QBasic обозначаются специальными символами или зарезервированными словами. В большинстве своем эти операции являются бинарными, то-есть в операции участвуют два операнда, между именами или значениями которых записывается символ операции (стандартная алгебраическая форма):
expressioni operator expression2 (2.1)
Где: expressioni expression2 — первый и второй операнды, operator — операция.
Имеется две унарных операции (унарный минус и логическое отрицание), символы которых записываются перед операндом:
operator expression (2.2)
Эти два вида простейших выражений могут использоваться для записи составных выражений, состоящих из многих операций и операндов. Для этого на место любого из операндов можно записать литерал (значение задаваемое текстом программы), константу, переменную, выражение (возможно, заключенное в скобки) или функцию (аргументами функций также могут быть выражения).
Порядок вычислений при наличии скобок не вызывает сомнений: в первую очередь должно быть вычислено значение той части выражения, которая заключена в скобки. В той части выражения, где скобки отсутствуют, порядок вычислений определяют
ПРИОРИТЕТЫ ОПЕРАЦИЙ В ВЫРАЖЕНИИ.
Унарные операции имеют наивысший приоритет. Правила определения приоритета (старшинства) бинарных операций формулируются следующим образом:
• операнд, стоящий между двумя операциями разных приоритетных групп, относится к операции более приоритетной группы,
• операнд, стоящий между операциями одной и той же группы, относится к операции слева от него.
Математические операции, логические операции и операции отношения делятся по приоритету на следующие группы (перечислены от старших к младшим):
• унарные операции - NOT ,
• возведение в степень А ,
• группа операций умножения * / \ MOD ,
• группа операций сложения + - ,
• группа операций отношения ><>=<==<>,
• группа логических операций AND EQV IMP OR XOR . Перейдем теперь к перечню операций и встроенных функций, используемых в выражениях. В перечень включены и процедуры QBasic. В