Автор Тема: Размышлизмы Старого Солдата  (Прочитано 58387 раз)

Оффлайн Anton Shere

  • Ветеран
  • *
  • Сообщений: 1741
  • Репутация: 69
Re: Размышлизмы Старого Солдата
« Ответ #570 : 06 Марта 2023, 16:46:26 »
Точка приоритетнее и вычисляется в первую очередь
Это шутка юмора?

Есть мнение, что опущенный знак умножения имеет приоритет над знаком деления. По крайней мере в алгебре и физике это так.

« Последнее редактирование: 07 Марта 2023, 20:33:10 от Сергей Евгеньевич »

Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #571 : 07 Марта 2023, 08:04:49 »
И откуда вы эту ахинею тащите?
Если бы программисты следовали этой дурацкой логике, то ни одна простейшая программа корректно бы не работала.  |:(

Я вижу запись a:bcd
Откуда понятно, что b, c и d - разные переменные, а не одна bcd?
Хватит морочить людям голову. Если бы я принмал экзамены по математике, тот умника, который бы мне начал заливать эту чушь, отправил бы на пересдачу без всяких обсуждений.
Этими "есть мнение" меня бывший сотрудник просто задолбал.
У него непрерывно было "есть мнение"
- что земля плоская/сотовая/ещё хрен-знает-какая
- что гравитации не существует
- что в 19 веке была ядерная война
- что Иван Грозный и Чингизхан - один и тот же человек
- что есть лучи холода, заморозившие мамонтов
- что в 60-е годы нам всем стёрли память и записали новую
- что Исаакиевский собор простоили предыдущие цивилизации
- что большинство городов откопаны из-под слоя глины
И ещё множество всяких "есть мнение".
И ведь по каждому такому "мнению" он присылал дурацкие видео и просил высказать моё мнение.
На некоторые "есть мнения" я даже письменно ему отвечал (см. ссылку на сайт в профиле). Не уверен, что он это читал, но даже если читал, то через пару дней всё забывал и снова слушал всяких безграмотных придурков типа Кунгурова, Тюняева, Сааля... несть им числа.
« Последнее редактирование: 07 Марта 2023, 08:16:20 от Marksman »
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #572 : 07 Марта 2023, 09:36:37 »
Я вижу запись a:bcd
Откуда понятно, что b, c и d - разные переменные, а не одна bcd?

Т.е если я правильно понял, ты даже отрицаешь то, что знак умножение в виде точки можно не указывать? Иначе можно спутать А*В=АВ и посчитать это разными переменными?

Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #573 : 07 Марта 2023, 11:18:40 »
ты даже отрицаешь то, что знак умножение в виде точки
Я с 1981 года занимаюсь программироваем, в том числе и довольно сложных задач.
Укажи язык программирования в котором запись AB эквивалентна записи A*B.
В записи в школьной тетрадки в клеточку это можно понять из контекста. А в программе нельзя.
Если бы инженеры задавались такими идиотскими вопросами, как вы тут обсуждаете, то не только бы ни один самолёт не взлетел, но и ни один пепелац сложнее телеги никуда бы не поехал.
« Последнее редактирование: 07 Марта 2023, 12:06:05 от Marksman »
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #574 : 07 Марта 2023, 18:14:19 »
И откуда вы эту ахинею тащите?

Из учебника алгебры и занятия на бумажках. Когда мы твердо знаем, что каждая переменная обозначается одной буквой, а запись нескольких букв подряд - это единое число, состоящее из произведения нескольких неизвестных. И это справедливо до тех пор, пока мы придерживаемся этих договоренностей.

Если бы программисты следовали этой дурацкой логике, то ни одна простейшая программа корректно бы не работала.

Ни в одном языке программирования так делать нельзя.

ab = a * b

обозначает: присвоить переменной ab результат вычисления a * b, символ = в программировании, это не равно, а присвоить. Когда переменная стоящая слева принимает результат справа.

Точно также я могу написать:

ab = true

или

ab = "ab"

В первом случае я присвоил переменной булево значение истина, а во втором - строку ab

А на

a * b = ab

любой нормальный компилятор будет ругаться, так как это ошибка синтаксиса.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #575 : 07 Марта 2023, 20:32:20 »
Я с 1981 года занимаюсь программироваем, в том числе и довольно сложных задач.
У тебя произошда профессиональная деформация. И ты потерял способность обсуждать то, что мы обсуждали еще в 60-е года.  Кстати, я тоже немного программировал. Но не зациклился.

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

А по факту, два козла из тех, что пишут учебники, добились своего, и теперь уравняли пропущенный знак умножения с указанным по приоритету. Отчего и пошла вот эта хрень.
Ну это можно сравнить с новыми прравилами от ГИБДД по поводу главенства на  "кругу". Они там периодически изображают мыслительный процесс и бурную деятельность. И поэтому каждые 5 лет меняют эти правила.


6 : 2 (1+2) = 6 : (2×3) = 6 : 6 = 1
Если в инструкции калькулятора нет оператора «знак умножения опущен», то вводить математическое выражение с опущенным знаком умножения недопустимо. В этом случае программа тупо поставит знак умножения и будет вычислять по правилу порядка действий или выдаст ошибку, как например в Excel. Если же в инструкции есть оператор «знак умножения опущен» то он по приоритету стоит выше умножения и деления.
Смотри страницу R-8.
https://support.casio.com/ru/manual/004/fx-82_85_350ES_PLUS_RU.pdf

« Последнее редактирование: 07 Марта 2023, 20:47:40 от Сергей Евгеньевич »

Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #576 : 08 Марта 2023, 10:04:35 »
обсуждать то, что мы обсуждали еще в 60-е года
Если вы 50 лет обсуждаете некую хрень и так и не пришли к согласию, это означает только одно  - это именно ХРЕНЬ.
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #577 : 08 Марта 2023, 18:20:45 »
Если в инструкции калькулятора нет оператора «знак умножения опущен», то вводить математическое выражение с опущенным знаком умножения недопустимо. В этом случае программа тупо поставит знак умножения и будет вычислять по правилу порядка действий или выдаст ошибку, как например в Excel. Если же в инструкции есть оператор «знак умножения опущен» то он по приоритету стоит выше умножения и деления.
Смотри страницу R-8.

Опять таки это все сугубо в принятой системе понятий, в инструкции к калькулятору явно обозначено, что список переменных закрытый и все они обозначаются одной буквой. Поэтому запись AB не допускает разночтений и трактуется калькулятором как (A*B). Приоритет пропущенного умножения идет из принятого в школьной алгебре соглашения, где выражения типа XY рассматриваются как некое единое число, состоящее из произведения неизвестных.

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

Скажем, в BASIC можно написать:

А = 5
B = "Hello"
AB = A + B

И в результате получить строку "Hello5"

Но если я так сделаю в 1С, то получу ошибку приведения типов. Почему? Да потому что в разных языках действуют разные соглашения. В 1С надо будет писать так:

А = 5;
Б = "Привет";
АБ = Строка(А) + Б;

Тогда мы тоже получим "Привет5"
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #578 : 08 Марта 2023, 19:16:29 »
Ни один язык высокого уровня не допускает столь вольного обращения с операндами. И система приоритетов там гораздо проще: слева-направо, скобки, умножение/деление, сложение/вычитание. Поэтому не нужно придумывать лишние сущности.


Не , вы молодцы, вы под языки пролграммирования (которые через 20 лет исчезнут и будут заменены другими) подгоняете то, что гораздо раньше использовалось нормально.

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

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #579 : 08 Марта 2023, 20:12:33 »
Не , вы молодцы, вы под языки пролграммирования (которые через 20 лет исчезнут и будут заменены другими) подгоняете то, что гораздо раньше использовалось нормально.

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

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

a / bcd

Выглядит проще, чем:

a / (bcd)

И тем более:

a / (b*c*d)

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

Один и тот же код, на BASIC:

A = 5
B = 5
AB = "Hello"
print (AB + A) * B

Или Pascal:

var
a :integer := 5;
b :integer := 5;
ab : string := 'Hello';
begin
writeln ((ab+a)*b);
end.

Код делает одно и тоже, но записан по разному. Потому что в разных языках разные соглашения. В BASIC я могу объявить переменную в момент ее первого использования, ее тип будет выбран автоматически по присваиваемому содержимому. В Pascal переменные сначала надо объявить и явно указать их тип. И это нормально, в каждой избушке свои погремушки.

Исходя из этого, запись привычная по учебнику алгебры это всего лишь еще один диалект, один язык, со своими соглашениями и нотациями. Принципиального отличия от языков программирования тут нет. И то и другое - просто наборы записей для выполнения некоторых действий, не важно кто их будет потом выполнять, человек или машина.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #580 : 08 Марта 2023, 20:42:05 »
Но это просто соглашение, не более. Таких соглашений в каждом языке вагон и маленькая тележка.

Вот и я говорю, что для соглашения, что знак умножения, не указанный явно, должен иметь приоритет, нет никаких препятствий. Зато пользы много.

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #581 : 08 Марта 2023, 20:48:02 »
IvanOFF, ну сам посуди:

известное выражение     6:2(2+1) =???  Ради которого сломано столько копий.

Но нас учили, что перед вычислениями можно уравнение привести к более удобному виду.

Чтобы не тревожить вас, я делаю операцию там, где по правилу слева направо все равно первые вычисления идут.
И представляю число 6 как :      2(2+1)

Итого получаем    2(2+1) : 2(2+1) =    ???      Скажи, тебе не кажется, что только полный идиот будет выполнять такие исчисления слева направо?   И чему нас тогда учат учебники 5 класса по мамематике?  Жертв ЕГЭ выращивают?


Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #582 : 08 Марта 2023, 23:03:01 »
известное выражение     6:2(2+1) =???  Ради которого сломано столько копий.

А что там ломать. Все дело в принятых соглашениях. Если брать принятую в школьной математике нотацию, то мы сначала вычисляем скобки, потом выполняем действия слева-направо.

Т.е.  6:2(2+1) = 6 / 2 * 3 = 9

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

Т.е. 6:2(2+1) = 6 / 2(3) = 6 / 6 = 1

Для каждого случая ответ верный. Все зависит от того какими соглашениями мы будем пользоваться.

А вообще это довольно распространенная проблема, когда правильно вычисленный ответ является неверным, просто потому, что он был вычислен способом, который не применим в текущих условиях. В бухгалтерии даже есть поговорка:

Чем отличается бухгалтерия от математики? В математике ответ не зависит от способа решения.

AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #583 : 08 Марта 2023, 23:37:54 »
А вообще это довольно распространенная проблема, когда правильно вычисленный ответ является неверным, просто потому, что он был вычислен способом, который не применим в текущих условиях. В бухгалтерии даже есть поговорка:

Чем отличается бухгалтерия от математики? В математике ответ не зависит от способа решения.

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

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #584 : 09 Марта 2023, 00:32:38 »
Вот нас учили, что ответ должен быть одинаков, при разных способах решения.  А нынешние соглашения, почему то допускают неоднозначные исчисления. Значит как минимум соглашения орлжны быть изменены.

Почему нынешние? Так было всю жизнь и не нужно путать способы решения с соглашениями о допустимых нотациях. Грубо говоря в 5 классе на математике один язык программирования, в 7 на алгебре другой. А приведенное выражение - это кусок кода который допустим обоими синтаксисами, но содержит разночтения и неопределенности.

Кстати, неопределенности - это неотъемлемое свойство сложных программ и довольно большие куски кода создаются чтобы их отлавливать и выкидывать исключение, потому как совершенно непонятно как это повлияет на результат. В программировании часто используются двоичные (булевы) значения: 1 - Истина, 0 - Ложь.

По умолчанию переменная с типом Булево = Ложь. Но бывают случаи, когда пользователь должен явно выразить согласие или несогласие и Ложь по умолчанию тут не подходит, так как непонятно, то ли это воля пользователя, то ли он просохатил и ничего по этому поводу не сказал. В этом случае прибегаем к троичной математике и ждем либо 1 - Истина, либо -1 - Ложь, 0 считаем за Неопределено и выкидываем исключение.

 Указанное выражение как раз и есть пример неопределенности.

По хорошему надо делать так:

Функция ВычислитьВыражение(Выражение, Нотация)
  Если Нотация = "Математика" Тогда
    ВычислитьВыражениеСлеваНаправо(Выражение);
  ИначеЕсли Нотация = "Алгебра" Тогда
    ВычислитьСПриоритетомПропущенногоУмножения(Выражение);
  Иначе
    Сообщить ("Это какая-то дичь!");
  КонецЕсли;
КонецФункции;
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #585 : 09 Марта 2023, 06:52:41 »
2(2+1) : 2(2+1)
Запись некорректна и да
только полный идиот будет выполнять такие исчисления


Добавлено: [time]09 Марта 2023, 09:30:41[/time]
Ещё раз. В последний, так как меня это уже достало.
1. Математика - это очень строгий инструмент. У него свои правила, выработанные годами и понимаемые всеми одинаково. Именно это горантирует отсутствие разночтений разными авторами и читателями и гарантирует, что при выполнении описанных дейчтвий разные люди получат одинаковый результат. Если в записи есть какие-то неоднозначности, то автор специально применяет некие приёмы и разъяснения, чтобы эти неоднозначности ликвидировать в зародыше.
2. Математические записи, принятые сейчас сформировались совсем недавно.
3. Школьная математика, включая алгебру - это уровень ещё сильно доньютоновский.
По большому счёту, логично вообще отказаться от вычитаний и делений.
Вычитание - есть сложение с отрицательным числом. В этом смысле запись a-b эквивалентна записи a+(-b) и записи (-b)+a, а если опустить скобки, то и -b+a
Таким образом, введя одно новое понятие отрицательного числа (отрицательное число это такое число, каторое при сложении с числом a даёт ноль), мы отказываемся от нескольких других понятий, таких как уменьшаемое, вычитаемое, разность, и возвращаем свойство коммутативности (от перестановки мест...) Понятие отрицательных чисел всё раавно придётся вводить, только не в 1-м классе, а попозже.
То же самое с делением.
Вместо деления A/B вводим понятие (оператор) обратной величины - B-1, такой, что B*B-1 даёт в результате единицу (единичный объект). Тогда получаем запись A*B-1.
Опять же, избавляемся от понятий делимое, делитель, частное и возвращаем свойство коммутативности.
Именно на таких приципах построен весь матанализ, линейная алгебра.
Придумано это всё задолго до появления ЭВМ и языков программирования, Языки программирование - просто пример использования определённых строгих договорённостей о свойствах объектов и операциях с ними.
« Последнее редактирование: 09 Марта 2023, 07:50:11 от Marksman »
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн Anton Shere

  • Ветеран
  • *
  • Сообщений: 1741
  • Репутация: 69
Re: Размышлизмы Старого Солдата
« Ответ #586 : 09 Марта 2023, 08:35:10 »
Запись некорректна
А что в ней "некорректного"? То, что она допускает неоднозначное прочтение? Так это в математической нотации сплошь и рядом. Если опускаться до формализма, то можно и выражение sin2x прочитать как произведение синуса двух и икса (типа, аргумент функции надо в скобки брать). А так любая запись корректна, пока она понятна читающему. А если не понятна, то автор всегда может пояснить явным или неявным образом, что он имеет в виду. Во всяких сложных математических доказательствах обычное дело, когда автор пишет "то-то и то-то обозначим так-то, и в дальнейшем под такой-то записью будем понимать следующее.."

Добавлено: [time]09 Марта 2023, 08:35:47[/time]
Математика - это очень строгий инструмент. У него свои правила, выработанные годами и понимаемые всеми одинаково

А вот и нет. Это распространённое заблуждение.

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #587 : 09 Марта 2023, 11:18:57 »
1. Математика - это очень строгий инструмент. У него свои правила, выработанные годами и понимаемые всеми одинаково.
Вот именно! Веками! Понималась одинаково!  А вы сейчас пытаетесь сову на глобус математику на языки программирования натянуть.

 
2. Математические записи, принятые сейчас сформировались совсем недавно.
3. Школьная математика, включая алгебру - это уровень ещё сильно доньютоновский.

Я вот о том и говорю, что нынешний учебник маиематики 5 класса создан специально для выращимвания идиотов в России.

меня это уже достало.

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


Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #588 : 09 Марта 2023, 12:25:19 »
А что в ней "некорректного"? То, что она допускает неоднозначное прочтение?
Да.
типа, аргумент функции надо в скобки брать
Да.
произведение синуса двух и икса
Сам-то понял, что написал?
У меня "профессиональная деформация" после физтеха. Я не понял.

что нынешний учебник маиематики 5 класса создан специально для выращимвания идиотов в России.
Я не знаю, про какой учебник идёт речь. У меня внучка пока только во 2-м. А в интернете хренова гора разных учебников.
Мне всегда казалось, что лучший учебник - это задачник. И чем больше в нём задач, тем лучше. Задачи "со звёздочкой" должны быть обязательно.

Добавлено: [time]09 Марта 2023, 15:23:24[/time]
Так... зацепили вы меня.
Задал яндексу запрос "учебник по математике 5 класс". Попался первый же учебник 2014 года авторов Никольского, Потапова, Решетникова, Шевкина.
Хорошой учебник. Всё конкретно. Всё точно сформулировано. Много задач. К каждому разделу есть задачи повышенной сложности.
Всем адептам приоритетов умножения в виде точки рекомендую почитать страницу 57. Лучше несколько раз. Вдумчиво.
И до кучи порешать задачки, помеченные сиреневой меткой, типа такой:
Произведение четырёх последовательных натуральных чисел равно 3024. Напишите эти числа.
Или:
Найти среди перввых 10 натуральных чисел два таких числа m и n, что mn=nm

Хороший учебник. Теперь я знаю, по какому учебнику буду с Катькой заниматься летом.

Добавлено: 09 Марта 2023, 14:52:54
Да, забыл ещё одно, касающееся именно школьной алгебры. В ней, и в дальнейщем во всех разделах математики, которые мне читали, отсутствует знак деления ":". Вместо него используется горизонтальная линия, в которой сверху числитель, снизу знаменатель.
Это решает сразу две проблемы - убирает некоторое количество скобок и устраняет разночтение при определении порядка действий, как в обсуждаемом здесь начальном примере.
« Последнее редактирование: 09 Марта 2023, 14:52:54 от Marksman »
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн Anton Shere

  • Ветеран
  • *
  • Сообщений: 1741
  • Репутация: 69
Re: Размышлизмы Старого Солдата
« Ответ #589 : 09 Марта 2023, 19:20:15 »
Всем адептам приоритетов умножения в виде точки рекомендую почитать страницу 57. Лучше несколько раз. Вдумчиво.
И до кучи порешать задачки

Открываем учебник Виленкина за 8 класс и видим, что везде, где деление обозначено знаком ":", умножение имеет приоритет над делением.


Сам-то понял, что написал?
Что, никогда не доводилось видеть выражения типа "sin 2x" или "cos 4y" ?

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #590 : 09 Марта 2023, 20:37:25 »
Открываем учебник Виленкина за 8 класс и видим, что везде, где деление обозначено знаком ":", умножение имеет приоритет над делением.

Что, никогда не доводилось видеть выражения типа "sin 2x" или "cos 4y" ?

Там нет умножения, там русским языком написано что это одночлен.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #591 : 09 Марта 2023, 20:38:55 »
Marksman, хорошо, что ты привел скан странички.

Там четко написано, что изменять порядо действий можно! (при условии...)

Так вот возвращаясь к ранее написанному, правильным будет то решение, при котором, при выполнении разными способами, будет одинаковый результат.

1. Мой пример (представил 6 как произведение)
2. поменять сомножители.  2()2+1) = (2+1)2
3 сократить общий множитель и т.д.

производя вычилления этими способами, убедимся, что правильный результат будет равен 1.

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #592 : 09 Марта 2023, 21:57:15 »
Marksman, хорошо, что ты привел скан странички.
Там четко написано, что изменять порядо действий можно! (при условии...)

И опять таки там стоит между множителем и скобкой точка. Т.е. знак умножения. И не потому что это пятый класс, а потому, что иначе выражение без точки будет рассматриваться как одночлен, в этом случае нужно сначала вычислить его, а потом уже выполнять действия согласно приоритета операций.
Специально сделал скриншот из KAlgebra, Альт Образование 10.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #593 : 10 Марта 2023, 07:10:59 »
Открываем учебник Виленкина за 8 класс и видим, что везде, где деление обозначено знаком ":", умножение имеет приоритет над делением.
Во-первых, СЕ утверждал, что дебилов делают именно в 5-м классе, а не в 8-м.
Во-вторых, не увидел. СЕ же сказал - профессиональная деформация.
Если sin - это переменная, то это одно, а если sin - это функция, то аргумент должен быть в скобках. А может sin - это произведение s*i*n? Ведь знак умножения можно опустить, а перемнные у нас обозначаются одной латинской буквой.
Вот из-за таких умников-альтернативщиков у учеников и сносит крышу и они начинают либо себя считать тупыми, либо математику коллекцией бабочек.
изменять порядо действий можно! (при условии...)
Вот именно! А какие условия, ась? Правильно - коммутативность, ассоциативность, дистрибутивность (есть ещё пара, тапа умножения на ноль и единицу).
1. Мой пример (представил 6 как произведение)
2. поменять сомножители.  2()2+1) = (2+1)2
3 сократить общий множитель и т.д.
Нихера не понял. Ладно, спишем на мою профессиональную деформацию. Да и в школе я учился 50 лет назад.

Кстати, записи в учебнике для 5 класса отличаются от записей для 8-го класса по простой причине. Ребёнок должен привыкнуть к неким умолчаниям и договорённостям типа
1. Все перемнные обозначаются одной (латнской) буквой. Как правило, x, y, z. Что делать, если надо больше переменных, обычно не объясняют.
2. Число перед скобкой предполагает умножение
3. Число перед переменной тоже предполагает умножение
Но!
Во-первых, это именно договорённости для данного случая/раздела. В другом случае всё может оказаться иначе.
Во-вторых, такие умолчания в некоторых случаях приводят к неоднозначной интерпретации.
Поэтому в языках программирования такой способ либо не применяется, либо умолчания (которых овердохрена, особенно в современных высокоуровневых языках) специально оговариваются.
Я уж молчу про регэкспы, где написанное одним программером другой программер без бутылки не разберёт. И с бутылкой не разберёт.
Умолчания при преобразованиях типов - это вообще отдельная песня. Я думаю, что программист, привыкший писать на каком нибудь Java или Perl на обычнос Си вообще не сможет ничего написать. Его заклинит на преобразовании типов.
Вот тут тоже из 5-классников дебилов делают.
« Последнее редактирование: 10 Марта 2023, 07:54:41 от Marksman »
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #594 : 10 Марта 2023, 10:31:15 »
ИначеЕсли Нотация = "Алгебра" Тогда
    ВычислитьСПриоритетомПропущенногоУмножения(Выражение);

Вот именно так и должно быть!

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

Ну почему, когда я учился, было так, а сейчас стало иначе?

Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #595 : 10 Марта 2023, 11:05:06 »
Ну почему, когда я учился, было так, а сейчас стало иначе?
Я учился не намного позже если не в то же самое время.
Потому что
1. Незачем плодить избыточные сущности, запутывающие и так неокрепший мозг ученика.
2. Потому что компьютер (а с ним и программы и программисты) прочно вошли в нашу жизнь. А в программировании нужна строжайшая унификация.
И третье - лучший учебник арифметики на (почти)русском языке выпущен в 1703 году, еще при Петре I, Леонтием Филипповичем Магницким.
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн Anton Shere

  • Ветеран
  • *
  • Сообщений: 1741
  • Репутация: 69
Re: Размышлизмы Старого Солдата
« Ответ #596 : 10 Марта 2023, 15:32:07 »
Там нет умножения, там русским языком написано что это одночлен.

А что такое одночлен? Открываем учебник алгебры за 7 класс и узнаём, что одночлен это "произведение чисел и переменных, а также их степеней".
Вопрос о том, что такое "произведение" и есть ли там умножение (или его там нет) я оставляю Вам для самостоятельного изучения.


Оффлайн Marksman

  • V.I.P.
  • *
  • Сообщений: 2735
  • Репутация: 214
Re: Размышлизмы Старого Солдата
« Ответ #597 : 10 Марта 2023, 18:46:17 »
Вашу ж мать! Да прочитайте, наконец, основополагающую книжку Магницкого. Ей нынче 320 лет исполняется. Там всё вполне доступно написано. Язык, правда, тяжёлый, а переложения на современный русский я, с разбегу, не нашёл. Если у кого есть - киньте ссылку или файл. Зато теперь представляю, на каком языке указы Петра Великого писались  :)
А ещё совершенно потрясён искусством книгопечатания. Это как же набирали эту книжку!
Страна должна знать не только своих героев, но и своих петриков
(c) Simm, участник форума на exler.ru

Оффлайн IvanOFF

  • Администратор
  • *
  • Сообщений: 3111
  • Репутация: 222
    • Правда о МЛМ
Re: Размышлизмы Старого Солдата
« Ответ #598 : 10 Марта 2023, 19:55:09 »
А что такое одночлен? Открываем учебник алгебры за 7 класс и узнаём, что одночлен это "произведение чисел и переменных, а также их степеней".

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

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

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

В математике тоже есть свои соглашения, а то самое выражение, из-за которого тут сломано столько копий, это как раз яркий пример такого говнокода.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

"Я мзду не беру, мне за державу обидно." (Верещагин "Белое солнце пустыни")

Оффлайн Сергей Евгеньевич

  • Топ Лидер
  • *
  • Сообщений: 3980
  • Репутация: 210
  • Боевой кот.... Фашист-Интернационалист
Re: Размышлизмы Старого Солдата
« Ответ #599 : 10 Марта 2023, 20:31:08 »
 ::) O0