16.1 Введение
В процессе анализа варианта подстановок производится построение арифметического
выражения. Выражение строится путем замены некоторой переменной формулой,
которая связана с этой переменной в дереве И-ИЛИ. Например, для определения V
используется формула S/t; далее, вместо S подставляется формула S1 + S2 ;
получим: V = (S1 + S2)/t или, раскрывая скобки, V = S1/t + S2/t.
Далее производится подстановки для
переменных S и t, и процесс продолжается до тех пор, пока не будет достигнуты
листья в варианте подстановок. Таким образом, в процессе анализа варианта
подстановок необходимо производить эквивалентные преобразования арифметических
выражений. В данном решателе предлагается использовать следующие эквивалентные
преобразования:
1. Сложение с нулем <Exp> +0 =
> <Exp>.
2. Умножение на единицу <Exp> *
1 = > <Exp>.
3. Вычитание нуля <Exp> - 0 =
> <Exp>.
4. Умножение на ноль <Exp> * 0
= > 0.
5. Деление на единицу <Exp> /1
= > <Exp>.
6. Раскрытие скобок (<Exp1> +
<Exp2>)= > <Exp1> + <Exp2>.
7. Сокращение подобных членов
<Exp1> + <Exp2> = > 2 * <Exp1>.
8. Вычисление арифметических
выражений, состоящие из констант , <Con1> + <Con2> * <Con3> =
> <Con4> где <Exp> - некоторое арифметическое выражение;
<Con> - некоторая константа.
|