Что такое "массивы"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 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. И вот эту общую часть можно использовать для построения очень мощных абстракций программирования.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.