Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ограничение значений переменных



Диапазон значений переменных или выражений определяется их типом. Для введения ограничений на возможные значения переменных (выражений) используется функция вида

assume( x, prop ).

Здесь х – имя переменной (выражения), prop – задаваемое ограничение (свойство), пара x, prop может быть заменена одним соотношением. Этот оператор может использоваться для определения области допустимых значений переменной x. Введение ограничений изменяет реквизиты переменной и связи между переменными. Например, оператор assume( a>0 ) устанавливает, что значениями переменной а могут быть положительные вещественные числа. Все дальнейшие операции над выражениями (упрощение выражений и т.д.), содержащими эту величину, будут производиться с учетом введенных ограничений. Например, чтобы определить, что a<х<b, можно записать, assume( a<x, x<b ). Кроме того, неявно этот оператор определяет, что a<b.

Когда относительно выражения x используется функция предположения, все предыдущие предположения об объектах в x уничтожены. Например, если вначале стоит оператор assume (x > 0), а затем позже assume (x<0), то второй отменяет ограничения, сделанные в первом.

Переменные, множество значений которых оговорено оператором assume, называют предполагаемыми (по аналогии с высказыванием, используемым в математике: "Пусть a>0 "). При выводе имен таких переменных система может помечать (или не помечать) их тильдой ~ (см. описание меню Option Þ Assumed Variables).

Один оператор assume задаёт одно свойство для одной переменной. Для задания дополнительных свойств используется оператор вида

additionally( x,prop ).

Синтаксис этой функции аналогичен. Эта функция добавляет к уже имеющимся ограничениям или свойствам переменной x новые.

Например, чтобы сообщить системе, что 0<x<1 можно так: assume (x>0); additionally (x<1);.

Предположения, сделанные относительно имен могут быть уничтожены одним из способов, описанных в разделе " Отмена операции присваивания ".

Множество значений предполагаемой переменной х можно посмотреть функцией вида about( x ).

Примеры:

1) x – положительно определенная величина.

> assume( x,positive ); или > assume( x>0 );

> about( x );

Originally x, renamed x~:

is assumed to be: RealRange(Open(0),infinity)

2) Если значения переменной ограничиваются отрезком [-5,5], то это можно записать так:

> assume( a >= -5 ); additionally( a <= 5 ); about( a );

Originally a, renamed a~:

is assumed to be: RealRange(-5,5)

Ограничивая значения параметров уравнений и неравенств, можно получать различные их решения. Например, решение уравнения x2=a зависит от знака правой части. Фрагмент программы, иллюстрирующий этот пример может выглядеть так:

> eq := x^2 = a: assume( a >= 0 ); solve( eq, x );

1/2 1/2

a~, -a~

> a :=evaln( a ): assume( a < 0 ); solve( eq, x );

1/2 1/2

I (-a~), -I (-a~)





Дата публикования: 2014-11-29; Прочитано: 539 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...