Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 25.05.22 23:04
Оценка: -1
У нас всё подряд определяют через теорию множеств,
а вот с матрицами как-то провал.

Мол массив — это вектор-строка. Ну ок, а
в каком учебнике этот вектор-строка определяется через теорию множеств,
а не через "повседневное использование людьми"?
матрицы массив определения
Re: Что такое "массивы"?
От: SomeOne_TT  
Дата: 26.05.22 05:48
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>У нас всё подряд определяют через теорию множеств,

ЭФ>а вот с матрицами как-то провал.

ЭФ>Мол массив — это вектор-строка. Ну ок, а

ЭФ>в каком учебнике этот вектор-строка определяется через теорию множеств,
ЭФ>а не через "повседневное использование людьми"?

Курс высшей алгебры, Курош.
Re[2]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 26.05.22 06:03
Оценка:
SO_>Курс высшей алгебры, Курош.

Скачал книжку (9-е издание, 1968 год), прочитал оглавление,
нет идей, в каком разделе смотреть.

Вы уверены, что понимаете суть вопроса топика?
Отредактировано 26.05.2022 6:04 Эйнсток Файр . Предыдущая версия .
Re: Что такое "массивы"?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 26.05.22 06:15
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>в каком учебнике этот вектор-строка определяется через теорию множеств,

ЭФ>а не через "повседневное использование людьми"?

Теория множеств даёт аксиоматику, а дальше уже идёт алгебра, остроенная на этой аксиоматике. Зачем тащить теорию множеств выше?
Re[2]: Что такое "массивы"?
От: Vzhyk2  
Дата: 26.05.22 06:44
Оценка: +5
N>Теория множеств даёт аксиоматику, а дальше уже идёт алгебра, остроенная на этой аксиоматике. Зачем тащить теорию множеств выше?
ТСу объяснение в виде комиксов на 1-2 странички нужно.
Ему предложили выше учебник по алгебре, он дальше оглавления продвинуться не смог.
Re[3]: Что такое "массивы"?
От: LaptevVV Россия  
Дата: 26.05.22 07:25
Оценка:
SO_>>Курс высшей алгебры, Курош.
ЭФ>Скачал книжку (9-е издание, 1968 год), прочитал оглавление,
ЭФ>нет идей, в каком разделе смотреть.
Ну, хотя бы линейные векторные пространства...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Что такое "массивы"?
От: · Великобритания  
Дата: 26.05.22 09:49
Оценка: 1 (1) +4
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ> У нас всё подряд определяют через теорию множеств,

ЭФ> а вот с матрицами как-то провал.
Массив — функция из множества {0, 1, ..., n} в множество неких значений E, элементов массива.
Или конечное подмножество ℕ × E. Т.е. {(0, "elem1"), (1, "elem2"), ...}

В общем, не очень ясно с какой целью ты интересуешься и что с этим определением потом делать.
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Что такое "массивы"?
От: Слава  
Дата: 26.05.22 10:36
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>У нас всё подряд определяют через теорию множеств,


И многие математики от этого плюются
Re: Что такое "массивы"?
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.05.22 10:57
Оценка: +1 -1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Мол массив — это вектор-строка. Ну ок, а

ЭФ>в каком учебнике этот вектор-строка определяется через теорию множеств,
ЭФ>а не через "повседневное использование людьми"?

Массив — это не множество, а последовательность. Порядок элементов имеет значение.
Re[2]: Что такое "массивы"?
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.05.22 10:58
Оценка: -1
Здравствуйте, ·, Вы писали:

·>Массив — функция из множества {0, 1, ..., n} в множество неких значений E, элементов массива.

·>Или конечное подмножество ℕ × E. Т.е. {(0, "elem1"), (1, "elem2"), ...}

А что дает это вумствование по сравнению с использованием понятия "конечная последовательность"?
Re[3]: Что такое "массивы"?
От: · Великобритания  
Дата: 26.05.22 11:18
Оценка: 5 (1)
Здравствуйте, Pzz, Вы писали:

Pzz>·>Массив — функция из множества {0, 1, ..., n} в множество неких значений E, элементов массива.

Pzz>·>Или конечное подмножество ℕ × E. Т.е. {(0, "elem1"), (1, "elem2"), ...}
Pzz>А что дает это вумствование по сравнению с использованием понятия "конечная последовательность"?
То что формально выражается из базовых аксиом теории множеств. Что это даёт на практике — не очень ясно... Ну, например, как выразить массивы в реляционной алгебре, ванильном SQL.
Или поразмыслить в сторону cats и там всякие монады, функторы и zipWithIndex как результат.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: Что такое "массивы"?
От: SomeOne_TT  
Дата: 26.05.22 14:28
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

SO_>>Курс высшей алгебры, Курош.


ЭФ>Скачал книжку (9-е издание, 1968 год), прочитал оглавление,

ЭФ>нет идей, в каком разделе смотреть.

ЭФ>Вы уверены, что понимаете суть вопроса топика?


Ага, понятно. Тогда рекомендую читать прямо сначала. Чтение увлекательное, время зря не будет потрачено.
Re[2]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 27.05.22 03:06
Оценка:
N> Теория множеств даёт аксиоматику, а дальше уже идёт алгебра, остроенная на этой аксиоматике. Зачем тащить теорию множеств выше?

Зачем нужна алгебра при определении понятия массива?

1) определяем понятие множества

2) определяем понятие "упорядоченной пары"
Если задана пара { a , b }, то
множество { { a } , { a , b } } называется упорядоченной парой и обозначается ( a , b ).
При этом элемент a называется первым элементом, а элемент b — вторым элементом пары

3) даём определении функции

Фу́нкция в математике — соответствие между элементами двух множеств —
правило, по которому каждому элементу первого соответствует один и только один элемент второго множества.

Функцию на конечном множестве можно задать
таблицей значений — непосредственным указанием её значений для каждого из элементов области определения.

4) область определения пытаемся описать как конечную последовательность смежных натуральных чисел:
Ряд из натуральных чисел — числовой ряд, члены которого являются последовательными натуральными числами: 1, 2, 3, 4, …

уверен, что такая простая фигня в матлогике как-нибудь через множества описывается, лень искать

5) и вот дальше у меня затык:
что такое "таблица значений" ?
Отредактировано 27.05.2022 3:12 Эйнсток Файр . Предыдущая версия .
Re[3]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.05.22 06:23
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Зачем нужна алгебра при определении понятия массива?
Для того, чтобы дать семантику операциям над массивами. Ваш К.О.

ЭФ>5) и вот дальше у меня затык:

Посмотрите в любом учебнике алгебры, как определяется вектор.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 28.05.22 06:57
Оценка:
S>Для того, чтобы дать семантику операциям над массивами. Ваш К.О.

Я просил для начала дать определение массива. То есть хотя бы список операций.
Заметьте, не определение вектора. А определение массива.

Высокий уровень образования, которое даёт Московский университет, в первую очередь обеспечивается высоким уровнем написанных выдающимися учёными и педагогами учебников и учебных пособий, в которых сочетается как глубина, так и доступность излагаемого материала.


То есть, если надо рассказать про массивы, то должна быть глава конкретно про массивы, с выписыванием всего, что для них нужно.

Если надо с картинками, значит должно быть с картинками.

Для того, чтобы разобраться, что такое массив, Вы мне порекомендовали изучить следующее:

Понятия (Объекты)ОперацииРаздел математики
МножестваВложение множествТеория множеств
Упорядоченные парыАльтернативная записьТеория множеств
ЕдиницаАлгебраические операцииАлгебра
ПоследовательностьИндукцияАлгебра
Векторное пространствоОпределение векторовЛинейная алгебра
МассивыПолучение длины, Получение элементаПрограммирование
Всё это как-то должно быть связано с лямбда-исчислением, если собрались придавать семантику.

Я веб-макака. Я хочу открыть готовый туториал и изучить тему.
Почему книжка про "Соль" есть (с) Латынина, а про массивы — нет?
Базовое же понятие программирования.
Re[5]: Что такое "массивы"?
От: pagid Россия  
Дата: 28.05.22 07:11
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Я просил для начала дать определение массива. То есть хотя бы список операций.

В математике есть понятия вектора и матрицы.
Твои хотелки похожи на желание изучать марки стали в курсе термеха, да фиг с ним, пусть даже сопромата.
Re[3]: Что такое "массивы"?
От: maxkar  
Дата: 28.05.22 10:28
Оценка: 4 (1) +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Фу́нкция в математике — соответствие между элементами двух множеств —

ЭФ>правило, по которому каждому элементу первого соответствует один и только один элемент второго множества.
ЭФ>5) и вот дальше у меня затык:

Ну правильно, у вас какое-то школьное определение функции. Суровые математики умеют определять функции через теорию множеств. Функция — частный случай отношений. Отношением R между двумя множествами M и N называется подмножество их декартова произведения R ⊆ M×N. Отношение F ⊆ M×N называется фукнцией, если выполняются следующие условия:

Re[5]: Что такое "массивы"?
От: maxkar  
Дата: 28.05.22 10:56
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>То есть, если надо рассказать про массивы, то должна быть глава конкретно про массивы, с выписыванием всего, что для них нужно.

Не факт. Это может быть частью какой-то более широкой главы, а массив может определяться одной строкой в тексте. И искать их нужно не в оглавлении, а в алфавитном указателе в конце книги.

ЭФ>Для того, чтобы разобраться, что такое массив

Массив где? В языке программирования? Смотрите конкретный учебник или спецификацию по вашему языку. Например, целая глава со ссылками на другие базовые определения и части.

А если нужен "массив вообще", это обобщение всех этих "конкретных" массивов в языках программирования. И в разных статьях "массив" может иметь различие в деталях. Хорошие книги по IT обычно имеют первую главу, в которой повторяют базовые определения в том виде, в котором дальше используются в книге.

Кроме того, массивы встречаются еще в геологии (массивы горных пород) и в культуре ("районы, кварталы, жилые массивы"). И там у них свое определение.

ЭФ>Всё это как-то должно быть связано с лямбда-исчислением, если собрались придавать семантику.

Зачем? Они могут определяться формализмом вроде Машины Тьюринга. Или каким-либо другим формализмом. Да, можно свести к лямбда-исчислению. Но это не значит, что нужно сводить к лямбда-исчислению.

ЭФ>Я веб-макака. Я хочу открыть готовый туториал и изучить тему.

Вот открывайте туториал по языку и читайте там. Там будет разжевано. А академическая теория будет многоуровневая. В ней нужно достаточно свободно обращатсья с предыдущим уровнем, чтобы понимать следующий уровень теории. И стандартный учебник предполагает, что читается подряд. Если возможно читать не все, во введении обычно описываются зависимости между частями. Т.е. что нужно читать/понимать перед переходом к следующей части. Вот эта вот многоуровневость моделей как раз является одним из преимуществ классического образования для программистов — она очень хорошо натаскивает на возможность работы на разных уровнях асбтракции. Разработчики, прошедшие через это, могут при необходимости свообдно переключаться с бизнес-задачи на уровень языка/библиотек или вообще среды выполнения.

Ну и вообще, если вы веб-макака, вам теория множеств и все остальное не нужно. Для вас как раз есть описания на уровне повседневного использования.

ЭФ>Почему книжка про "Соль" есть (с) Латынина, а про массивы — нет?

ЭФ>Базовое же понятие программирования.
Нет. Не фундаментальное. Это особенности конкретных языков и моделей. По историческим причинам — важное понятие. Когда-то давно язык задавался через модель аппаратного уровня (процессор, память и т.д.). Массив — это непрерывный участок памяти. А в современных языках массив — это просто еще один тип. Некоторые языки имеют специальный синтаксис. В других (Scala, Lisp) массивы на уровне языка ничем не отличимы от прочих типов. В третьих (Python) их вообще нет, вместо них используются списки (list).
Re[5]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 29.05.22 01:52
Оценка:
Арифметика изучает действия с цифрами и числами.
Алгебра изучает действия с величинами (в этом разница).
Математическая логика описывает и изучает арифметику и алгебру (и другие части математики).
Машина Поста (я глубоко возмущён тем, что в ней биты, а не триты) наиболее близка к компьютерам, эквивалентна машине Тьюринга, которое эквивалентно лямбда-исчислению.

Предмет — информатика. Изучает действия с переменными (чем переменные из информатики отличаются от величин из алгебры?)
Если информатика частями относится к математике, то тоже должна быть изучаема в математической логике.

Массивы определяются в учебнике Кушниренко "Основы информатики и вычислительной техники"
на страницах 108 и 109 (в .pdf-файле это 55-ая страница) следующим образом:

Для записи алгоритмов, работающих с большими объемами информации, в алгоритмическом языке существуют специальные табличные величины (или просто таблицы).
Табличные величины состоят из других величин, как правило целых или вещественных, называемых элементами.
Элементы в таблице могут быть расположены по-разному, но наиболее часто встречаются линейные таблицы.
Как и любая величина, таблица занимает место в памяти ЭВМ, имеет имя и значение.
...
Элементы таблицы отдельных имён не имеют.
Для обозначения i-го элемента таблицы k используется запись k[i].
k[3]=k[2]+k[4]
При выполнении этой команды ЭВМ подставит вместо k[2] и k[4] значения второго и четвёртого элементов таблицы k, ...
сложит их и присвоит полученное значение 3-му элементу.


Это определение не вполне корректно. Какие объёмы информации уже большие, а какие ещё не очень? Нет чёткой границы. Значит дело не в количестве информации, а в чём-то другом (единообразии обработки?), и надо переформулировать и уточнить ("раскрыть", одним словом, тему).

Если в школьном учебнике нет попытки изучения информатики (и массивов) про помощи матлогики, то
должен быть ВУЗ-овский учебник, где такие описание и изучение должны быть.
Мой вопрос был (и остаётся) — какой конкретно учебник искать.

Видели ли Вы, к примеру, опеределение массивов через инструкции машины Поста?
Отредактировано 29.05.2022 4:00 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 29.05.2022 4:00 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 3:59 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 3:58 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 3:04 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 3:04 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:46 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:46 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:16 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:05 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:03 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:03 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:01 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 2:00 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 1:58 Эйнсток Файр . Предыдущая версия .
Отредактировано 29.05.2022 1:54 Эйнсток Файр . Предыдущая версия .
Re[6]: Что такое "массивы"?
От: maxkar  
Дата: 29.05.22 11:20
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Если информатика частями относится к математике, то тоже должна быть изучаема в математической логике.

Только части информатики относятся к математике. Но также к информатике относится и взаимодействие человека с компьютером. А это психология (в первую очередь — когнитивная), которая к математике гораздо хуже сводится. А если рассматртивать процесс разработки, то будет актуальна, например, психология (динамика социальных групп). Процессы разработки и взаимодействие между разработчиками влияет на конечный результат.

ЭФ>Значит дело не в количестве информации, а в чём-то другом (единообразии обработки?), и надо переформулировать и уточнить ("раскрыть", одним словом, тему).

А описание-то хорошее! Массив — это множество (набор) переменных, именуемых специальным образом.

ЭФ>Если в школьном учебнике нет попытки изучения информатики (и массивов) про помощи матлогики, то

ЭФ>должен быть ВУЗ-овский учебник, где такие описание и изучение должны быть.
ЭФ>Мой вопрос был (и остаётся) — какой конкретно учебник искать.
Нет, не должно быть учебника. Ведь нет же учебника, описывающего "левое переднее колесо жигулей" в терминах математической логики. Это, наверное, можно. Но долго, скучно и польза этого упражнения сомнительна. Подробнее — дальше.

ЭФ>Видели ли Вы, к примеру, опеределение массивов через инструкции машины Поста?

Не видел. Более того, такое описание не существует. Машина Поста слишком низкоуровневая. Ее можно использовать для изучения вычислимости алгоритмов. А массивы — это совсем из другой оперы. Если брать за основу вышеприведенный "набор переменных, именуемый специальным образом", нам потребуются понятия переменной и именования. Т.е. в качестве базы нужно брать грамматику G (т.е. набор текстов) и ее операционную семантику O (какая-то другая модель, описывающая "выполнение" текстов программ). Кстати, что у нас там с ассоциативными массивами? Они тоже массивами считаются? Или нет? Если нет, то нам потребуется еще типизация. Типизация — это денотационная семантика D. В динамически типизированных языках будет скорее частью операционной семантики. В языках со статической типизацией эта семантика будет тоже на верхнем уровне. Теперь можно определить массив как морфизм (их там много, я не в курсе, какой именно) между некоторыми частами нашего языка (G, O, D) и "эталонной модели массивов" (т.е. модели с переменными, "специальным синтаксисом" доступа и соответствующей семантикой). Все до морфизма изучают в Computer Sciences (там много веток: языки, системы типов, теория компиляторов). А вот морфизмами занимаются математики. Наверное, в алгебре. Может быть, еще в топологии.

Все то, что выше, можно формализовать. Можно даже формализовать так, чтобы и C-массивы с их синтаксисом "5[array]" включались, и Javascript-массивы отличались от объектов и ассоциативных массивов. Но какой в этом практический смысл? Придется строить очень специальную и сложную модель. В чем выгода? И это при том, что есть множество гораздо более интересных, простых и полезных моделей для изучения. Например, есть много общего между массивами и Promise в Javascript. И вот эту общую часть можно использовать для построения очень мощных абстракций программирования.
Re[5]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.05.22 14:29
Оценка: +2 -1
Здравствуйте, Эйнсток Файр, Вы писали:

S>>Для того, чтобы дать семантику операциям над массивами. Ваш К.О.


ЭФ>Я просил для начала дать определение массива. То есть хотя бы список операций.

Вы просили математические основы через теорию множеств. Занафига это лично вам — мы можем только гадать.

ЭФ>То есть, если надо рассказать про массивы, то должна быть глава конкретно про массивы, с выписыванием всего, что для них нужно.

Смотря под каким углом вы собираетесь их рассматривать. К примеру, если вы хотите доказывать корректность программ, то всё, что нужно для массивов — это аксиоматическая семантика операций.
В которой массив — это такая функция, отображающая целые числа в значения типа элемента массива.

ЭФ>Если надо с картинками, значит должно быть с картинками.

ЭФ>Всё это как-то должно быть связано с лямбда-исчислением, если собрались придавать семантику.
ЭФ>Я веб-макака. Я хочу открыть готовый туториал и изучить тему.
Туториалов по массивам — пруд пруди. Но вы же захотели теорию множеств. Зачем она веб-макаке?
ЭФ>Почему книжка про "Соль" есть (с) Латынина, а про массивы — нет?
Потому что вся семантика массивов — это шесть строчек, ради них никто целую книгу писать не будет.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 29.05.22 22:50
Оценка: :)
S> вся семантика массивов — это шесть строчек

Если бы всё было так просто, то это было бы распространённым знанием. Семён, выйди к доске и напиши
математическое определение массива в шесть строчек.
На текущий момент в этом топике написано гораздо, гораздо больше строчек, однако никто не взял и не написал определение. Это говорит о том, что такого определения нет в книгах. Садись, Семён, двойка.
Отредактировано 29.05.2022 23:01 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 29.05.2022 23:01 Эйнсток Файр . Предыдущая версия .
Re[7]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.05.22 01:56
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

S>> вся семантика массивов — это шесть строчек


ЭФ>Если бы всё было так просто, то это было бы распространённым знанием. Семён, выйди к доске и напиши

ЭФ>математическое определение массива в шесть строчек.
ЭФ>На текущий момент в этом топике написано гораздо, гораздо больше строчек, однако никто не взял и не написал определение. Это говорит о том, что такого определения нет в книгах. Садись, Семён, двойка.
Вы сначала определитесь, что именно вам надо. А то начинаете с того, что хотите определения через теорию множеств.
Когда вас тычут носом в учебник, требуете туториал с картинками.

Одно из определений я вам написал — массив это частичная функция, отображающая натуральные числа в тип T.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Что такое "массивы"?
От: pagid Россия  
Дата: 30.05.22 03:51
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Если бы всё было так просто, то это было бы распространённым знанием. Семён, выйди к доске и напиши

ЭФ>математическое определение массива в шесть строчек.
Математическое определение массива никому нафиг не усралость.
Повторюсь, это тоже самое, что обучая вождению предлагать записывать траектории автомобилей в аналитическом виде с использованием сплайнов.
Re[8]: Что такое "массивы"?
От: Vzhyk2  
Дата: 30.05.22 06:03
Оценка:
P>Повторюсь, это тоже самое, что обучая вождению предлагать записывать траектории автомобилей в аналитическом виде с использованием сплайнов.
В аналитическом виде они прекрасно записываются дифурами.
Re[9]: Что такое "массивы"?
От: pagid Россия  
Дата: 30.05.22 06:39
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>В аналитическом виде они прекрасно записываются дифурами.

Да и бог с ними.
Re: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 02:31
Оценка:
Книги бывают для людей (их ещё называют монографиями), а бывают для системы образования.
Вторые отличаются от первых тем, что там всё разбито на такие мелкие кусочки,
что формируется "клиповое мышление".

Например, есть книга
2003, Альфред В. Ахо (и другие), Структуры данных и алгоритмы

О чём в ней говорится? О списках, стеках и очередях.
А где массивы, спрашивается?

Мне тут предлагали
Автор: maxkar
Дата: 28.05.22
смотреть предметный указатель:

искать их нужно не в оглавлении, а в алфавитном указателе в конце книги.

м
Матрица
    кратчайших путей, 188
    смежности, 176; 202
Медиана, 250
Метод
    альфа-бета отсечения, 287
    близнецов, 351; 360
    близнецов k-ro порядка, 352
    близнецов с числами Фибоначчи, 352
    близнецов экспоненциального типа, 351
    ветвей и границ, 288
    декомпозиции, 268; 271
    линейный нахождения порядковых статистик, 251
    поиска в глубину, 188; 209
    поиска в ширину, 210
    последовательного сдвига регистра, 119
    сжатия путей, 165
    чередующихся цепей, 215
Методы
    анализа алгоритмов, 257
    разработки алгоритмов, 268
Минимальный эквивалентный орграф, 199
Многоканальное слияние, 309
Множества
    объединение, 96
    пересечение, 96
    разность, 96
    слияние, 97
Множество, 95
    атом, 95
    линейно упорядоченное, 95
    определение, 95
    представление посредством 2-3 дерева, 157
    представление посредством сбалансированного дерева, 150
    пустое, 96
    реализации, 101
    реализация посредством двоичного вектора, 101
    реализация посредством связанных списков, 102
    с операторами MERGE и FIND, 159
    универсальное, 101
    •шаблон, 96
    элемент, 95
Мода, 255
Морриса алгоритм, 357
Мультисписки, 131


Если уж в книге про структуры данных нет описания массивов, то где тогда?
Отредактировано 02.06.2022 2:55 Эйнсток Файр . Предыдущая версия .
Re[8]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 02:34
Оценка:
S> массив это частичная функция, отображающая натуральные числа в тип T.

Недостатком вашего текста является его куцесть.
Рандомная веб-макака типа меня его не поймёт.

Что такое "частичная функция", что такое "натуральные числа", и зачем тут вообще типы? (относятся ли они к вопросу организации массивов прямо или опосредованно).

Если же вы начнёте расписывать и объяснять, меньше 2-х 3-х страничек с картинками не получится.
Отредактировано 02.06.2022 2:41 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 02.06.2022 2:34 Эйнсток Файр . Предыдущая версия .
Re[2]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 02:38
Оценка: :))) :)
ЭФ>Книги бывают для людей (их ещё называют монографиями), а бывают для системы образования.
ЭФ>Вторые отличаются от первых тем, что там всё разбито на такие мелкие кусочки,
ЭФ>что формируется "клиповое мышление".

Вот типичный пример методички по массивам:
http://window.edu.ru/resource/965/23965/files/index.html

Столяр С.Е. Массивы. 1-5
// Российская интернет-школа информатики и программирования. Глава Е:
Учебное пособие. — СПб.: Издательство ЦПО "Информатизация образования", 2002. — 39 с.

Пособие подготовлено на факультете Информационных технологий и программирования
СПбГУ ИТМО в рамках проекта Российская интернет-школа информатики и программирования.




Содержание
Урок 1. Размещение массивов и доступ к элементам
Урок 2. Последовательный просмотр вектора
Урок 3. Дихотомия и другие эффективные алгоритмы
Урок 4. Циклические перестановки и кольцевой буфер
Урок 5. Простые обменные сортировки вектора

Видим ли мы тут математическую часть?
Нет!!!
Отредактировано 02.06.2022 6:34 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 02.06.2022 6:33 Эйнсток Файр . Предыдущая версия .
Re[9]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.06.22 03:09
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

S>> массив это частичная функция, отображающая натуральные числа в тип T.


ЭФ>Недостатком вашего текста является его куцесть.

ЭФ>Рандомная веб-макака типа меня его не поймёт.
Рандомной веб-макаке это всё не нужно.
ЭФ>Что такое "частичная функция", что такое "натуральные числа", и зачем тут вообще типы? (относятся ли они к вопросу организации массивов прямо или опосредованно).
Зачем вам это знать?
Частичная функция — функция, определённая на определённом подмножестве указанного домена.
Натуральные числа аксиоматически определяются при помощи единицы и операции инкремента.
Типы вам потребуются для того, чтобы отличать корректные формулы от некорректных. Можно обойтись и без типов, но тогда у вас часть формул станет невычислимыми.

ЭФ>Если же вы начнёте расписывать и объяснять, меньше 2-х 3-х страничек с картинками не получится.

Непонятно, с какого места начинать объяснять.
И самое главное — непонятна цель. Чему мы хотим научить веб-макаку?

Почему именно массивы?
Почему, скажем, нет желания разобраться в математике какого-нибудь ООП? Мат.модель банального турбо-паскаля занимает в изложении больше места, чем лямбда-исчисление.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 05:25
Оценка:
S>Рандомной веб-макаке это всё не нужно.

Стековерфлоу не подтверждает:
В чем разница между векторами и массивами?
Arrays vs Vectors: Introductory Similarities and Differences
std::vector versus std::array in C++

«раньше:
вектор — одномерный массив
матрица — двумерный
всё остальное — просто массив»

«Не стоит забывать, что в методичках и учебниках лохматых лет, int a[5] могли на голубом глазу обозвать "вектором"»

Я здесь вижу вот что: существует ряд явлений (понятий), для описания которых нужно много словосочетаний,
но в разных контекстах те словосочения сокращаются до слов "массив" или "вектор".
Затем текст копируется из одного контекста в другой (например чистый).
После чего разобраться что имелось ввиду невозможно.

Для того, чтобы такого не было, нужно составлять сначала тезаурусы (по СИБИД 7.25-2001), а потом онтологии.
И заниматься этим должен НИИСИ как профильный исследовательский институт РАН.
После чего разработки должны передаваться в ВУЗы.

Но это скучно и неинтересно, поэтому учёные готовы браться за всякие извраты типа "желания разобраться в математике какого-нибудь ООП".

Но нельзя пропускать базовые темы и браться только за продвинутые.
Отредактировано 02.06.2022 6:04 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 02.06.2022 5:28 Эйнсток Файр . Предыдущая версия .
Re[11]: Что такое "массивы"?
От: pagid Россия  
Дата: 02.06.22 06:11
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

Дорогой товарищь, узнай наконец о разнице между теоретическими и прикладными дисциплинами. Что на чем основывается и в какой мере.
Попытка вывести "теорию всего" заведомо обречена на провал.
Re[12]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 06:37
Оценка:
P> Попытка вывести "теорию всего" заведомо обречена на провал.

Я не пытаюсь выводить теорию всего. У тебя психологическая ошибка "лаз в голову".
Отредактировано 02.06.2022 6:38 Эйнсток Файр . Предыдущая версия .
Re[13]: Что такое "массивы"?
От: pagid Россия  
Дата: 02.06.22 06:43
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Я не пытаюсь выводить теорию всего. У тебя психологическая ошибка "лаз в голову".

Сужу по тому, что ты здесь пишешь.
Re[12]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 06:51
Оценка: :)
P> узнай наконец о разнице между теоретическими и прикладными дисциплинами. Что на чем основывается и в какой мере.

Узнавал уже. Даже если теоретические основываются на прикладных,
не я должен делать всю эту работу за российскую академию наук.
Отредактировано 02.06.2022 6:54 Эйнсток Файр . Предыдущая версия .
Re[13]: Что такое "массивы"?
От: pagid Россия  
Дата: 02.06.22 07:45
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Узнавал уже. Даже если теоретические основываются на прикладных,

теоретические основываются на прикладных?

ЭФ>не я должен делать всю эту работу за российскую академию наук.

Угу, занятие для академии наук — создать математическую теорию массивов
Для теоретического описания алгоритмов (и не только для этого) существую математические определения вектора (не из С++, прошу обратить внимание) и матрицы. Что тебе еще нужно?
Re[11]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.06.22 08:08
Оценка: 15 (2) +2
Здравствуйте, Эйнсток Файр, Вы писали:

S>>Рандомной веб-макаке это всё не нужно.


ЭФ>Стековерфлоу не подтверждает:

ЭФ>В чем разница между векторами и массивами?
ЭФ>Arrays vs Vectors: Introductory Similarities and Differences
ЭФ>std::vector versus std::array in C++
Какое отношение имеют эти вопросы к теории множеств?
Вектор и массив в них — термины не из математики, а из прикладного программирования.

ЭФ>«раньше:

ЭФ>вектор — одномерный массив
ЭФ>матрица — двумерный
ЭФ>всё остальное — просто массив»
Это вообще что?

ЭФ>«Не стоит забывать, что в методичках и учебниках лохматых лет, int a[5] могли на голубом глазу обозвать "вектором"»

Могли. И что?

ЭФ>Я здесь вижу вот что: существует ряд явлений (понятий), для описания которых нужно много словосочетаний,

ЭФ>но в разных контекстах те словосочения сокращаются до слов "массив" или "вектор".
ЭФ>Затем текст копируется из одного контекста в другой (например чистый).
ЭФ>После чего разобраться что имелось ввиду невозможно.
Ну, так всегда происходит, когда читаешь текст без контекста. Это не специфично для программирования.
ЭФ>Для того, чтобы такого не было, нужно составлять сначала тезаурусы (по СИБИД 7.25-2001), а потом онтологии.
Нет, чтобы такого не было, нужно читать профильную литературу, и осваивать материал.
ЭФ>И заниматься этим должен НИИСИ как профильный исследовательский институт РАН.

ЭФ>После чего разработки должны передаваться в ВУЗы.

Разработки чего именно? Вам нужно привыкнуть к тому, что реальный язык — многозначен. Большинство терминов омонимичны, и слово "массив" для геолога, историка и разработчика на JavaScript будет иметь совершенно разные смыслы.
В дотнете термином List обозначают совершенно не то, что в учебниках Вирта, а термин vector из мира С++ очень слабо связан с векторами из линейной алгебры.
Более того — термин "целое число" в математике и в программировании означает разные множества. Термин "переменная" означает разные вещи в зависимости от того, идёт ли речь о какой-нибудь Java или о какой-нибудь Mathematica.
Бороться с этим никакого смысла нет. Бороться нужно только с собственным невежеством — а в этом никакой НИИСИ вам не поможет.

ЭФ>Но это скучно и неинтересно, поэтому учёные готовы браться за всякие извраты типа "желания разобраться в математике какого-нибудь ООП".

Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 09:56
Оценка: :)
S> Какое отношение имеют эти вопросы к теории множеств?
S> Вектор и массив в них — термины не из математики, а из прикладного программирования.

Эти вопросы говорят о том, что как минимум три человека пытались разобраться,
как связаны между собой векторы из математики и массивы из прикладного программирования.
(А сформулировать вопрос именно так они не могли, потому что не знали, что и как спрашивать,
поэтому сформулировали по-другому, векторы получились тоже из программирования)

Теория множеств тут при том, что к операциям с множествами надо свести операции с векторами.
А к операциям с векторами — операции с массивами.
Отредактировано 02.06.2022 9:58 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 02.06.2022 9:57 Эйнсток Файр . Предыдущая версия .
Отредактировано 02.06.2022 9:56 Эйнсток Файр . Предыдущая версия .
Re[13]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.06.22 11:05
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Эти вопросы говорят о том, что как минимум три человека пытались разобраться,
ЭФ>как связаны между собой векторы из математики и массивы из прикладного программирования.
Нет конечно. С чего вы это взяли? Нигде там не упоминается ничего из математики.

ЭФ>Теория множеств тут при том, что к операциям с множествами надо свести операции с векторами.

ЭФ>А к операциям с векторами — операции с массивами.
Вы по-прежнему блуждаете впотьмах. Зачем вы хотите свести операции с массивами к операциям с множествами?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 12:34
Оценка:
ЭФ>>Теория множеств тут при том, что к операциям с множествами надо свести операции с векторами.
ЭФ>>А к операциям с векторами — операции с массивами.
S>Вы по-прежнему блуждаете впотьмах. Зачем вы хотите свести операции с массивами к операциям с множествами?

А к чему мне их сводить? К машине Поста мне запретили. К лямба-исчислению страшно.
Re: Что такое "массивы"?
От: vsb Казахстан  
Дата: 02.06.22 12:45
Оценка:
Я может чего не понимаю. Если ты определил вектор каких-то произвольных элементов размерности N (а ты это вроде как сделал), то определение матрицы это вектор векторов вот и всё.
Re[15]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.06.22 13:05
Оценка: +2
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>А к чему мне их сводить? К машине Поста мне запретили. К лямба-исчислению страшно.
Повторю вопрос: зачем вы хотите их свести к чему-то?
Если вы хотите понять, чем отличается std::vector от std::array, не обязательно лезть в теорию множеств.
Достаточно понимать основы фонНеймановской архитектуры.

Не надо пытаться проводить параллели вроде "матрица — это двумерный массив".
Например потому, что "двумерный массив" — это очень специальная конструкция, которая сильно по-разному может быть представлена в разных платформах, а в каких-то платформах может быть не представлена вовсе.
И вообще, матрица — математический объект; как она устроена в памяти компьютера — очень сильно зависит от реализации, которая, в свою очередь, подбирается под задачу (коих великое множество).
Математикам всё равно — они запросто могут манипулировать объектами вроде "возьмём бесконечную квадратную матрицу М".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[16]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 02.06.22 13:26
Оценка: :))) :)
S> Повторю вопрос: зачем вы хотите их свести к чему-то?

Как же вы меня бесите своей тупизной. Но в принципе, для интровертов отсутствие эмпатии — это нормально.

Если я не отвечаю на вопрос третий раз, это значит, что для меня он звучит сформулированным некорректно.

S> не обязательно лезть в теорию множеств.

S> Достаточно понимать основы фонНеймановской архитектуры.

Ну понимаю я её. Не достаточно.
Re[17]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.06.22 13:37
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Как же вы меня бесите своей тупизной. Но в принципе, для интровертов отсутствие эмпатии — это нормально.
Вот уж в чём-чём, а в интровертности меня ещё не обвиняли.
ЭФ>Если я не отвечаю на вопрос третий раз, это значит, что для меня он звучит сформулированным некорректно.
Это значит, что вы роете в неверном направлении.
S>> не обязательно лезть в теорию множеств.
S>> Достаточно понимать основы фонНеймановской архитектуры.
ЭФ>Ну понимаю я её. Не достаточно.
Ок, какой именно вопрос вызывает у вас затруднения?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Что такое "массивы"?
От: maxkar  
Дата: 02.06.22 18:55
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Например, есть книга

ЭФ>2003, Альфред В. Ахо (и другие), Структуры данных и алгоритмы

ЭФ>О чём в ней говорится? О списках, стеках и очередях.

ЭФ>А где массивы, спрашивается?

Нет их там. Потому что массивы — это не структура данных. Это часть некоторых языков/систем программирования. Алгоритмы и структуры данных можно реализовывать на широком спектре абстракций. Например, можно сделать их на ассемблере. Там массивов нет. Да и не нужны они, ведь есть вся память! Я ссылку на JLS уже приводил. Там именно в математическом стиле (аксиоматика и эффекты операций) описана структура. В других языках все будет по-другому.
Re[12]: Что такое "массивы"?
От: Sharov Россия  
Дата: 03.06.22 10:44
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Термин "переменная" означает разные вещи в зависимости от того, идёт ли речь о какой-нибудь Java или о какой-нибудь Mathematica.


Оно там, кмк, контекстуальное -- там есть и переменная в мат. смысле (переменная ф-ии) и переменная в программировании (x=5).
Кодом людям нужно помогать!
Re: Что такое "массивы"?
От: MaximVK Россия  
Дата: 09.06.22 16:04
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>а вот с матрицами как-то провал.

Нет никлого провала с матрицами.

ЭФ>Мол массив — это вектор-строка. Ну ок, а

ЭФ>в каком учебнике этот вектор-строка определяется через теорию множеств,
ЭФ>а не через "повседневное использование людьми"?

В этом нет необходимости и смысла, но при желании можешь вывести все из теории множеств. Посмотри как определяется векторное пространство.
Но это как объяснять правила композиции в художественном произведении начиная с алфавита.


А вообще лучше посмотри в сторону теории типов.
Re[4]: Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 09.07.23 01:30
Оценка:
SO_>>>Курс высшей алгебры, Курош.
ЭФ>>Скачал книжку (9-е издание, 1968 год), прочитал оглавление,
ЭФ>>нет идей, в каком разделе смотреть.
LVV>Ну, хотя бы линейные векторные пространства...

Оказывается, есть такая штука как "Теория массивов" (Theory of arrays), часть математической логики и доказательного программирования.
Начиная с 1952-го года:
https://www.linux.org.ru/forum/development/17283233

А пацаны-то не знают!
Re[4]: Что такое "массивы"?
От: LaptevVV Россия  
Дата: 09.07.23 02:56
Оценка:
Pzz>>·>Массив — функция из множества {0, 1, ..., n} в множество неких значений E, элементов массива.
Pzz>>·>Или конечное подмножество ℕ × E. Т.е. {(0, "elem1"), (1, "elem2"), ...}
Pzz>>А что дает это вумствование по сравнению с использованием понятия "конечная последовательность"?
·>То что формально выражается из базовых аксиом теории множеств. Что это даёт на практике — не очень ясно... Ну, например, как выразить массивы в реляционной алгебре, ванильном SQL.
В фортране массив реально можно было заменить функцией — там индекс массива был в круглых скобках.
Причем все индексы были в единственных скобках.
Поэтому можно было массив любого размера заменить функцией с соответствующим набором параметров.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Что такое "массивы"?
От: baxton_ulf США  
Дата: 09.07.23 03:24
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>У нас всё подряд определяют через теорию множеств,


у "вас", ну ну

ЭФ>а вот с матрицами как-то провал.




ЭФ>Мол массив — это вектор-строка. Ну ок, а


чем не устраивает классическое: массив это набор элементов одного типа, располагаемых в непрерывном участке памяти с доступом по индексу и тд и тп (всякие там свойства)

ЭФ>в каком учебнике этот вектор-строка определяется через теорию множеств,


зачем? нам же надо с привязкой к архитектуре эвм, именно как тип данных
ну ладно: конечное подмножество множества, например целых чисел. дальше свойства: доступ по индексу за О(1) вставка за О(н) и тд и тп

ЭФ>а не через "повседневное использование людьми"?


это как?
Re[2]: Что такое "массивы"?
От: GarryIV  
Дата: 09.07.23 20:48
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Массив — это не множество, а последовательность. Порядок элементов имеет значение.

Как будто нельзя определить порядок через через множество пар (порядковый номер, значение).
WBR, Igor Evgrafov
Re[3]: Что такое "массивы"?
От: pagid_ Россия  
Дата: 10.07.23 09:29
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>Как будто нельзя определить порядок через через множество пар (порядковый номер, значение).


Можно. Но как и ко всему топику встает вопрос — зачем?
Чем к слову в этом случае он будет отличаться от ассоциативного массива/словаря... ограничением ключей целыми числами из некоторого диапазона? И ради чего весь этот огород определений?
Re[5]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.07.23 13:02
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Оказывается, есть такая штука как "Теория массивов" (Theory of arrays), часть математической логики и доказательного программирования.
ЭФ>https://www.linux.org.ru/forum/development/17283233
ЭФ>А пацаны-то не знают!
Слова громкие, а на практике это всего лишь формализация концепции массива с т.з. семантики операций над ним.
Применяется в верификации корректности программ, и больше, в общем-то, нигде.
Поэтому прошлогодний вопрос "зачем она вам нужна" остаётся актуальным.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Что такое "массивы"?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.07.23 06:29
Оценка:
Здравствуйте, Sinclair, Вы писали:
ЭФ>>Оказывается, есть такая штука как "Теория массивов" (Theory of arrays), часть математической логики и доказательного программирования.
ЭФ>>А пацаны-то не знают!
З.Ы. Эта теория — ровно то, что я вам писал вот тут: https://rsdn.org/forum/education/8286719.1
Автор: Sinclair
Дата: 29.05.22

Массив там — это функция из N в T.
Изменяемый массив — это функция из (A⨯N⨯T) в A.
Нерасширяемые массивы конструируются из N и T, а операции чтения и записи определены не на всём N, а на его поддиапазоне.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.