>>
<<
Ркв
Ввд
JfC
LJ
Фрз
Слв
Изм
Рзг
!:
Помощь
Словарь
14. Разбиения
Функция sum=: +/ обрабатывает свой правый аргумент целиком
и полностью. Для вычисления частичных сумм или под-сумм
ее необходимо применить к каждому префиксу аргумента. Например:
sum=: +/
a=: 1 2 3 4 5 6
(sum a) ; (sum\ a)
+--+--------------+
|21|1 3 6 10 15 21|
+--+--------------+
Символ \ обозначает наречие префиксно,
применяющее свой аргумент (в данном случае sum)
к каждому префиксу аргумента результирующего глагола.
Наречие \. применяет глаголы подобным
образом, но к суффиксам:
sum\. a
21 20 18 15 11 6
Поскольку монада < просто упаковывает свои аргументы,
глаголы <\ и <\. ясно
показывают осуществляемые разбиения. Например:
<1 2 3
+-----+
|1 2 3|
+-----+
(<1),(<1 2),(<1 2 3)
+-+---+-----+
|1|1 2|1 2 3|
+-+---+-----+
<\ a
+-+---+-----+-------+---------+-----------+
|1|1 2|1 2 3|1 2 3 4|1 2 3 4 5|1 2 3 4 5 6|
+-+---+-----+-------+---------+-----------+
<\. a
+-----------+---------+-------+-----+---+-+
|1 2 3 4 5 6|2 3 4 5 6|3 4 5 6|4 5 6|5 6|6|
+-----------+---------+-------+-----+---+-+
Наречие диагонально /. разбивает таблицу
на диагонали. Тоесть:
</. t=: 1 2 1 */ 1 3 3 1
+-+---+-----+-----+---+-+
|1|3 2|3 6 1|1 6 3|2 3|1|
+-+---+-----+-----+---+-+
t ; (sum/. t) ; (10 #. sum/. t) ; (121*1331)
+-------+-------------+------+------+
|1 3 3 1|1 5 10 10 5 1|161051|161051|
|2 6 6 2| | | |
|1 3 3 1| | | |
+-------+-------------+------+------+
Упражнения
14.1 |
Подобно sum=:+/\ , определите программы, вычисляющие
частичные произведения, частичные максимумы и частичные минимумы.
|
14.1 |
Поработайте со следующими программами и комментариями, как в
Разделе 12 (тоесть используйте их для упражнений в чтении и письме).
Поэкспериментируйте с
выражениями c pol x , c pp d и (c pp d) pol x , используя c=:1 3 3 1 , d=:1 2 1 и x=:i.5 .
См. словарь или Раздел 20
относительно использовании ранга:
pol=: +/@([*]^i.@#@[)"1 0 | Многочлен |
pp=: +//.@(*/) | Произведение многочленов |
pp11=: 1 1&pp | Произведение многочлена на 1 1 |
pp11 d |
pp11^:5 (1) |
ps=: +/@,: | Сумма многочленов |
|
>>
<<
Ркв
Ввд
JfC
LJ
Фрз
Слв
Изм
Рзг
!:
Помощь
Словарь