Составители:
Рубрика:
134
то на запрос
?- bagof(D, co6aкa(D), L),
будет получен ответ
L=[реке, голди, фидо, рекс]
в то время как
?-setof(D, co6aкa(D), L).
дает значение
L=[фидо, голди, рекc]
14.7.3 Сложение многочленов
Теперь мы достаточно подготовлены к тому, чтобы использовать
списки для решения задач. Вопрос, которым мы займемся, — представление
и сложение многочленов.
Представление многочленов. Посмотрим, как можно представить
многочлен вида
Р(х)=3+3х-4х^3+2х^9
Q(х)=4х+х^2-3х^3+7х^4+8х^5
Заметим, что каждое подвыражение (такое, как
3х^3, 3х, 3
) имеет
самое большее две переменные компоненты: число, стоящее перед
х
,
называемое коэффициентом, и число, стоящее после
^
- степень.
Следовательно, подвыражение представляется термом
х(Коэффициент, Степень)
Так,
5х^2
записывается как
х(5,2)
,
х^3
представляется как
х(1,3)
, а
поскольку
х^0
равно 1, подвыражению 5 соответствует терм
х(5,0)
.
Теперь запишем многочлен в виде списка. Приведенный выше
многочлен
Р(х)
, например, будет выглядеть следующим образом:
[x(3,0), '+', x(3,l), '-', x(4,3), '+', x(2,9)]
Воспользуемся тем, что многочлен
3+3х-4х^3+2х^9
допускает замену на эквивалентный
3+3х+(-4)х^3+2х^9
Тогда он выражается списком:
[х(3,0), '+', х(3,1), '+', х(-4,3), '+', х(2,9)]
В такой записи между термами всегда стоят знаки
'+'
. Следовательно,
их можно опустить, и многочлен принимает окончательный вид:
[х(3,0), х(3,1), х(-4,3), х(2,9)]
то на запрос
?- bagof(D, co6aкa(D), L),
будет получен ответ
L=[реке, голди, фидо, рекс]
в то время как
?-setof(D, co6aкa(D), L).
дает значение
L=[фидо, голди, рекc]
14.7.3 Сложение многочленов
Теперь мы достаточно подготовлены к тому, чтобы использовать
списки для решения задач. Вопрос, которым мы займемся, — представление
и сложение многочленов.
Представление многочленов. Посмотрим, как можно представить
многочлен вида
Р(х)=3+3х-4х^3+2х^9
Q(х)=4х+х^2-3х^3+7х^4+8х^5
Заметим, что каждое подвыражение (такое, как 3х^3, 3х, 3) имеет
самое большее две переменные компоненты: число, стоящее перед х,
называемое коэффициентом, и число, стоящее после ^ - степень.
Следовательно, подвыражение представляется термом
х(Коэффициент, Степень)
Так, 5х^2 записывается как х(5,2), х^3 представляется как х(1,3), а
поскольку х^0 равно 1, подвыражению 5 соответствует терм х(5,0).
Теперь запишем многочлен в виде списка. Приведенный выше
многочлен Р(х), например, будет выглядеть следующим образом:
[x(3,0), '+', x(3,l), '-', x(4,3), '+', x(2,9)]
Воспользуемся тем, что многочлен
3+3х-4х^3+2х^9
допускает замену на эквивалентный
3+3х+(-4)х^3+2х^9
Тогда он выражается списком:
[х(3,0), '+', х(3,1), '+', х(-4,3), '+', х(2,9)]
В такой записи между термами всегда стоят знаки '+'. Следовательно,
их можно опустить, и многочлен принимает окончательный вид:
[х(3,0), х(3,1), х(-4,3), х(2,9)]
134
Страницы
- « первая
- ‹ предыдущая
- …
- 133
- 134
- 135
- 136
- 137
- …
- следующая ›
- последняя »
