Update array.md

This commit is contained in:
Dmitry 2026-04-01 14:19:35 +03:00 committed by GitHub
parent 3ea0dbaf50
commit 48f54b8b74
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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.*
```