mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-29 12:00:42 +00:00
Update array.md
This commit is contained in:
parent
3ea0dbaf50
commit
48f54b8b74
1 changed files with 22 additions and 0 deletions
|
|
@ -100,6 +100,7 @@ func process(in1, in2 []int) Result
|
|||
$$
|
||||
F(\text{in1}, \text{in2}; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
*Подразумевается, что `in1`, `in2` — аргументы, `out1`, `out2` — результаты.*
|
||||
|
||||
---
|
||||
|
|
@ -110,6 +111,7 @@ $$
|
|||
$$
|
||||
R(\text{in1}, \text{in2}; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
где $R$ — отношение, связывающее входы с выходами. Если это отношение функционально по входам, то оно фактически задаёт функцию.
|
||||
|
||||
---
|
||||
|
|
@ -120,9 +122,11 @@ $$
|
|||
$$
|
||||
F: A_1 \times A_2 \;\longrightarrow\; B_1 \times B_2
|
||||
$$
|
||||
|
||||
$$
|
||||
F(\text{in1}, \text{in2}) = (\text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
*Точка с запятой может быть добавлена в словесном описании: «где in1, in2 — входные массивы; out1, out2 — выходные».*
|
||||
|
||||
---
|
||||
|
|
@ -133,7 +137,9 @@ $$
|
|||
$$
|
||||
\text{fun}(\text{in1}, \text{in2} \;;\; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
или
|
||||
|
||||
$$
|
||||
\text{fun}(\text{in1}, \text{in2}; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
|
@ -154,7 +160,9 @@ $$
|
|||
Для гарантированного отображения используйте только `$` и `$$`. Например:
|
||||
|
||||
```markdown
|
||||
|
||||
$$ \text{fun}(\text{in1}, \text{in2}; \text{out1}, \text{out2}) $$
|
||||
|
||||
```
|
||||
Это будет выглядеть как одна формула, а точка с запятой будет просто символом разделения. Если нужна более строгая математическая форма, выберите вариант с отношением или со стрелкой.
|
||||
|
||||
|
|
@ -178,15 +186,19 @@ $$ \text{fun}(\text{in1}, \text{in2}; \text{out1}, \text{out2}) $$
|
|||
В предыдущем ответе я привёл два похожих варианта:
|
||||
|
||||
1. **Неформальная функция с разделителем**
|
||||
|
||||
$$
|
||||
\text{fun}(\text{in1}, \text{in2}; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
Это просто **обозначение**, принятое в некоторых инженерных или алгоритмических текстах: точка с запятой визуально отделяет входные переменные от выходных. Математически такая запись не является стандартной сигнатурой функции — это скорее мнемоническое соглашение.
|
||||
|
||||
2. **Отношение**
|
||||
|
||||
$$
|
||||
R(\text{in1}, \text{in2}; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
Здесь $R$ — это **бинарное отношение** между кортежами входов и кортежами выходов. Если для каждого набора входов существует **ровно один** набор выходов, то такое отношение эквивалентно функции. Однако в математике отношение — более общее понятие (может допускать несколько выходов для одних входов). Запись с точкой с запятой в данном случае показывает, что переменные слева — это аргументы, справа — значения.
|
||||
|
||||
**Главное отличие**:
|
||||
|
|
@ -207,9 +219,11 @@ $$ \text{fun}(\text{in1}, \text{in2}; \text{out1}, \text{out2}) $$
|
|||
$$
|
||||
F: A_1 \times A_2 \;\longrightarrow\; B_1 \times B_2
|
||||
$$
|
||||
|
||||
$$
|
||||
F(\text{in1}, \text{in2}) = \bigl( f_1(\text{in1}),\; f_2(\text{in2}) \bigr)
|
||||
$$
|
||||
|
||||
где $f_1: A_1 \to B_1$, $f_2: A_2 \to B_2$.
|
||||
|
||||
Это самый математически строгий вариант. Он чётко показывает, что первый выход зависит только от первого входа, а второй — только от второго.
|
||||
|
|
@ -220,6 +234,7 @@ $$
|
|||
$$
|
||||
F(\text{in1}, \text{in2}) = (\text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
с дополнительным условием:
|
||||
*«Здесь out1 — результат, ассоциированный с in1; out2 — результат, ассоциированный с in2»*.
|
||||
|
||||
|
|
@ -227,10 +242,12 @@ $$
|
|||
|
||||
### Способ В: Использование кортежей и проекций
|
||||
Можно определить функцию через проекции:
|
||||
|
||||
$$
|
||||
\text{out1} = \pi_1\bigl( F(\text{in1}, \text{in2}) \bigr), \quad
|
||||
\text{out2} = \pi_2\bigl( F(\text{in1}, \text{in2}) \bigr)
|
||||
$$
|
||||
|
||||
где $\pi_i$ — проекция на $i$-ю компоненту. Это показывает, что выходы упорядочены.
|
||||
|
||||
---
|
||||
|
|
@ -244,6 +261,7 @@ $$
|
|||
$$
|
||||
\text{process}: \mathbb{R}^n \times \Sigma^* \;\longrightarrow\; \mathbb{R}^n \times \Sigma^*
|
||||
$$
|
||||
|
||||
$$
|
||||
\text{process}(X, S) = \bigl( \text{sort}(X),\; \text{toUpper}(S) \bigr)
|
||||
$$
|
||||
|
|
@ -289,17 +307,21 @@ $$
|
|||
На GitHub используйте дисплейные формулы для наглядности:
|
||||
|
||||
```markdown
|
||||
|
||||
$$
|
||||
F(\text{in1}, \text{in2}) = \bigl( \text{out1}(\text{in1}, \text{in2}),\; \text{out2}(\text{in1}, \text{in2}) \bigr)
|
||||
$$
|
||||
|
||||
```
|
||||
|
||||
Или если требуется именно запись с точкой с запятой:
|
||||
|
||||
```markdown
|
||||
|
||||
$$
|
||||
\text{fun}(\text{in1}, \text{in2}; \text{out1}, \text{out2})
|
||||
$$
|
||||
|
||||
*где out1 — результат, соответствующий in1, out2 — результат, соответствующий in2.*
|
||||
```
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue