Здравствуйте, Эйнсток Файр, Вы писали:
S>>Для того, чтобы дать семантику операциям над массивами. Ваш К.О.
ЭФ>Я просил для начала дать определение массива. То есть хотя бы список операций.
Вы просили математические основы через теорию множеств. Занафига это лично вам — мы можем только гадать.
ЭФ>То есть, если надо рассказать про массивы, то должна быть глава конкретно про массивы, с выписыванием всего, что для них нужно.
Смотря под каким углом вы собираетесь их рассматривать. К примеру, если вы хотите доказывать корректность программ, то всё, что нужно для массивов — это аксиоматическая семантика операций.
В которой массив — это такая функция, отображающая целые числа в значения типа элемента массива.
ЭФ>Если надо с картинками, значит должно быть с картинками. ЭФ>Всё это как-то должно быть связано с лямбда-исчислением, если собрались придавать семантику. ЭФ>Я веб-макака. Я хочу открыть готовый туториал и изучить тему.
Туториалов по массивам — пруд пруди. Но вы же захотели теорию множеств. Зачем она веб-макаке? ЭФ>Почему книжка про "Соль" есть (с) Латынина, а про массивы — нет?
Потому что вся семантика массивов — это шесть строчек, ради них никто целую книгу писать не будет.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Если бы всё было так просто, то это было бы распространённым знанием. Семён, выйди к доске и напиши математическое определение массива в шесть строчек.
На текущий момент в этом топике написано гораздо, гораздо больше строчек, однако никто не взял и не написал определение. Это говорит о том, что такого определения нет в книгах. Садись, Семён, двойка.
Здравствуйте, Эйнсток Файр, Вы писали:
S>> вся семантика массивов — это шесть строчек
ЭФ>Если бы всё было так просто, то это было бы распространённым знанием. Семён, выйди к доске и напиши ЭФ>математическое определение массива в шесть строчек. ЭФ>На текущий момент в этом топике написано гораздо, гораздо больше строчек, однако никто не взял и не написал определение. Это говорит о том, что такого определения нет в книгах. Садись, Семён, двойка.
Вы сначала определитесь, что именно вам надо. А то начинаете с того, что хотите определения через теорию множеств.
Когда вас тычут носом в учебник, требуете туториал с картинками.
Одно из определений я вам написал — массив это частичная функция, отображающая натуральные числа в тип T.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Если бы всё было так просто, то это было бы распространённым знанием. Семён, выйди к доске и напиши ЭФ>математическое определение массива в шесть строчек.
Математическое определение массива никому нафиг не усралость.
Повторюсь, это тоже самое, что обучая вождению предлагать записывать траектории автомобилей в аналитическом виде с использованием сплайнов.
P>Повторюсь, это тоже самое, что обучая вождению предлагать записывать траектории автомобилей в аналитическом виде с использованием сплайнов.
В аналитическом виде они прекрасно записываются дифурами.
Книги бывают для людей (их ещё называют монографиями), а бывают для системы образования.
Вторые отличаются от первых тем, что там всё разбито на такие мелкие кусочки,
что формируется "клиповое мышление".
Например, есть книга
2003, Альфред В. Ахо (и другие), Структуры данных и алгоритмы
О чём в ней говорится? О списках, стеках и очередях.
А где массивы, спрашивается?
S> массив это частичная функция, отображающая натуральные числа в тип T.
Недостатком вашего текста является его куцесть.
Рандомная веб-макака типа меня его не поймёт.
Что такое "частичная функция", что такое "натуральные числа", и зачем тут вообще типы? (относятся ли они к вопросу организации массивов прямо или опосредованно).
Если же вы начнёте расписывать и объяснять, меньше 2-х 3-х страничек с картинками не получится.
ЭФ>Книги бывают для людей (их ещё называют монографиями), а бывают для системы образования. ЭФ>Вторые отличаются от первых тем, что там всё разбито на такие мелкие кусочки, ЭФ>что формируется "клиповое мышление".
Столяр С.Е. Массивы. 1-5
// Российская интернет-школа информатики и программирования. Глава Е:
Учебное пособие. — СПб.: Издательство ЦПО "Информатизация образования", 2002. — 39 с.
Пособие подготовлено на факультете Информационных технологий и программирования СПбГУ ИТМО в рамках проекта Российская интернет-школа информатики и программирования.
Содержание
Урок 1. Размещение массивов и доступ к элементам
Урок 2. Последовательный просмотр вектора
Урок 3. Дихотомия и другие эффективные алгоритмы
Урок 4. Циклические перестановки и кольцевой буфер
Урок 5. Простые обменные сортировки вектора
Здравствуйте, Эйнсток Файр, Вы писали:
S>> массив это частичная функция, отображающая натуральные числа в тип T.
ЭФ>Недостатком вашего текста является его куцесть. ЭФ>Рандомная веб-макака типа меня его не поймёт.
Рандомной веб-макаке это всё не нужно. ЭФ>Что такое "частичная функция", что такое "натуральные числа", и зачем тут вообще типы? (относятся ли они к вопросу организации массивов прямо или опосредованно).
Зачем вам это знать?
Частичная функция — функция, определённая на определённом подмножестве указанного домена.
Натуральные числа аксиоматически определяются при помощи единицы и операции инкремента.
Типы вам потребуются для того, чтобы отличать корректные формулы от некорректных. Можно обойтись и без типов, но тогда у вас часть формул станет невычислимыми.
ЭФ>Если же вы начнёте расписывать и объяснять, меньше 2-х 3-х страничек с картинками не получится.
Непонятно, с какого места начинать объяснять.
И самое главное — непонятна цель. Чему мы хотим научить веб-макаку?
Почему именно массивы?
Почему, скажем, нет желания разобраться в математике какого-нибудь ООП? Мат.модель банального турбо-паскаля занимает в изложении больше места, чем лямбда-исчисление.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
«раньше:
вектор — одномерный массив
матрица — двумерный
всё остальное — просто массив»
«Не стоит забывать, что в методичках и учебниках лохматых лет, int a[5] могли на голубом глазу обозвать "вектором"»
Я здесь вижу вот что: существует ряд явлений (понятий), для описания которых нужно много словосочетаний,
но в разных контекстах те словосочения сокращаются до слов "массив" или "вектор".
Затем текст копируется из одного контекста в другой (например чистый).
После чего разобраться что имелось ввиду невозможно.
Для того, чтобы такого не было, нужно составлять сначала тезаурусы (по СИБИД 7.25-2001), а потом онтологии.
И заниматься этим должен НИИСИ как профильный исследовательский институт РАН.
После чего разработки должны передаваться в ВУЗы.
Но это скучно и неинтересно, поэтому учёные готовы браться за всякие извраты типа "желания разобраться в математике какого-нибудь ООП".
Но нельзя пропускать базовые темы и браться только за продвинутые.
Дорогой товарищь, узнай наконец о разнице между теоретическими и прикладными дисциплинами. Что на чем основывается и в какой мере.
Попытка вывести "теорию всего" заведомо обречена на провал.
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Я не пытаюсь выводить теорию всего. У тебя психологическая ошибка "лаз в голову".
Сужу по тому, что ты здесь пишешь.
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Узнавал уже. Даже если теоретические основываются на прикладных,
теоретические основываются на прикладных?
ЭФ>не я должен делать всю эту работу за российскую академию наук.
Угу, занятие для академии наук — создать математическую теорию массивов
Для теоретического описания алгоритмов (и не только для этого) существую математические определения вектора (не из С++, прошу обратить внимание) и матрицы. Что тебе еще нужно?
Здравствуйте, Эйнсток Файр, Вы писали:
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. Бороться с этим никакого смысла нет. Бороться нужно только с собственным невежеством — а в этом никакой НИИСИ вам не поможет.
ЭФ>Но это скучно и неинтересно, поэтому учёные готовы браться за всякие извраты типа "желания разобраться в математике какого-нибудь ООП".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
S> Какое отношение имеют эти вопросы к теории множеств? S> Вектор и массив в них — термины не из математики, а из прикладного программирования.
Эти вопросы говорят о том, что как минимум три человека пытались разобраться,
как связаны между собой векторы из математики и массивы из прикладного программирования.
(А сформулировать вопрос именно так они не могли, потому что не знали, что и как спрашивать,
поэтому сформулировали по-другому, векторы получились тоже из программирования)
Теория множеств тут при том, что к операциям с множествами надо свести операции с векторами.
А к операциям с векторами — операции с массивами.
Здравствуйте, Эйнсток Файр, Вы писали: ЭФ>Эти вопросы говорят о том, что как минимум три человека пытались разобраться, ЭФ>как связаны между собой векторы из математики и массивы из прикладного программирования.
Нет конечно. С чего вы это взяли? Нигде там не упоминается ничего из математики.
ЭФ>Теория множеств тут при том, что к операциям с множествами надо свести операции с векторами. ЭФ>А к операциям с векторами — операции с массивами.
Вы по-прежнему блуждаете впотьмах. Зачем вы хотите свести операции с массивами к операциям с множествами?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
ЭФ>>Теория множеств тут при том, что к операциям с множествами надо свести операции с векторами. ЭФ>>А к операциям с векторами — операции с массивами. S>Вы по-прежнему блуждаете впотьмах. Зачем вы хотите свести операции с массивами к операциям с множествами?
А к чему мне их сводить? К машине Поста мне запретили. К лямба-исчислению страшно.