Основы современных компьютерных технологий


Язык спецификации вычислительных задач - часть 2


Числа представляются в ТК Solver в стандартной или экспоненциальной форме, могут иметь до 16 значащих цифр в диапазоне от 1Е-307 до 1Е308 ( абсолютное значение). Примеры записи чисел: 1.09092, 18437560000000000000000, 6.672Е-11. Для записи комплексных чисел используется специальная конструкция, называемая парой.

Символьные значения заключаются в двойные кавычки ", при этом имена переменных, хранящие символьные значения, должны начинаться с апострофа \

Примеры символьных переменных и констант: 'х, 'Bank, 'a_row_1, '_line, 'aj%d4, "lined","a*j/d[4]","K".

Символьные значения, используемые для обращения к спискам или выступающие в качестве аргументов функций для указания объектов ТК Solver (переменные, списки и т.д.), записываются или с апострофом в качестве префикса имени, или заключаются в двойные кавычки. Примеры правильного описания символьных значений: 'Xupper[i], given('ab,'cd,1,0), "Xupper"[i], given("ab","cd",1,0). Примеры неверного описания: "X upper"[i], given("ab,cd",1,0)

Простейшими синтаксическими единицами в ЯСВЗ являются выражения. В ТК Solver применяются следующие выражения: арифметические, логические и символьные выражения.

Арифметические выражения строятся из знаков арифметических операций, имен переменных, обращений к функциям и спискам, числовых констант, круглых скобок. К арифметическим относятся следующие операции: сложение (+), вычитание (-), умножение (*), деление (/) и возведение в степень (^). Примеры арифметических выражений:

  1. a + b/(c*d)
  2. (b>3) + а
  3. (а+b)^ln(х)
  4. exp(cos(x)+sin(y))
  5. -SIN(X)

Логические выражения строятся с использованием знаков операций сравнения, имен переменных, констант, вызовов булевых функций и принимают значения 1 (ИСТИНА) или О (ЛОЖЬ). К операциям сравнения относятся операции:

  • сравнение на равенство ( = );
  • сравнение на неравенство (, =, =>, <>, >

В ТК Solver реализованы следующие булевы функции: