Основой программирования, в том числе и на ардуино, является математика. Вот об этом и поговорим.

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
Если люди определятся со значениями терминов,
то избегнут половины ошибок, совершаемых в мире.
Конфуций

Фразу приписывают сначала Конфуцию, а потом Рене Декарту. В любом случае и в настоящем времени с терминами прям беда.

Начнем издалека. С языка общения.

Отрывок из мультфильма - В стране невыученных уроков
Знак препинания поставленный не там, меняет смысл на противоположный.

Пробел поставленный не там. Творит чудеса.
пробелы.jpg

Современный язык общения вообще как в анекдоте. Что дышло. Куда повернул, то и вышло.
Некоторые давно обратили внимание на отсутствие логики в русском языке:"Стакан на столе стоит, а вилка лежит. Если мы воткнем вилку в столешницу, вилка будет стоять. То есть стоят вертикальные предметы, а лежат горизонтальные? Добавляем на стол тарелку и сковороду. Они вроде как горизонтальные, но на столе стоят. Теперь положим тарелку в сковородку. Там она лежит, а ведь на столе стояла. Может быть, стоят предметы готовые к использованию? Нет, вилка-то готова была, когда лежала. Теперь на стол залезает кошка. Она может стоять, сидеть и лежать. Если в плане стояния и лежания она как-то лезет в логику «вертикальный-горизонтальный», то сидение — это новое свойство. Сидит она на попе. Теперь на стол села птичка. Она на столе сидит, но сидит на ногах, а не на попе. Хотя вроде бы должна стоять. Но стоять она не может вовсе. Однако если мы убьём бедную птичку и сделаем чучело, оно будет на столе стоять. Может показаться, что сидение — атрибут живого, но сапог на ноге тоже сидит, хотя он не живой и не имеет попы."
Теперь это высказывание можно найти в различных блогах и темах прям в вышеприведенном виде.

Перейдем к самому вкусному.
Вы думаете в математике все прекрасно? Да как бы не так. В математику тоже пришли "понятия", которые понимаются по разному.
Есть ГОСТ Р54521-2011
Да и ГОСТ не однозначный, как обычно написано много и не совсем по делу.

Какой такой гост фугост? Свежие видео доказывают, что понятия рулят.

зарешали уже с этим примером 36:3(8-6)/6=1 vs 36:3(8-6)/6=4

Одиозный дед и Hitman. 6:2(1+2)=1 vs 6:2(1+2)=9

А Вы как думаете? Кто из математиков прав. В первом или втором ролике?

PS: Надо в 21 веке определится со значениями терминов. Иначе так и останемся в лучшем случае в веке 20. В худшем, будем успешно деградировать дальше.
 
  • Лойс +1
Реакции: te238s и Divin

viktor1703

★★★✩✩✩✩
9 Дек 2021
541
133
По-моему, все эти споры от незнания элементарных правилпорядка действий, которые проходят в третьем, если не во втором классе . Они были определены ещё задолго до 20 века. Но в связи с деградацией общества и развитием в свет вылезли разные двоечники, которые показывают свою неграмотность и какие-то правила, известные только им. Как известно, дуракам закон не писан. Вот поэтому они и живут по своим неписанным правилам. Отсюда и новые порядки действий в математике, и новые правила использования приставок "о" и "на": одеть - надеть, обуть - набуть. Но если это обувь, то её Обувют, если одежда - Одевают. Иначе тогда дойдем, что в скором времени будем надевать НАдежду и набувать НАбувь.
 
  • Лойс +1
Реакции: avan и Stamp

Stamp

★✩✩✩✩✩✩
12 Янв 2021
62
34
Второй ролик до конца не досмотрел. Нудно очень.
Как принято писать, как не принято писать. Наплевать. Не хотите разночтений, пишите так, что бы было сразу понятно.
Компилятору наплевать что вы имели в виду. Компилятор математику развернёт по правилам заложенным в нём.
Правильно они заложены или нет другой вопрос. Программисты на ардуино никогда не обращают внимание на предупреждения. Устраняют только ошибки. Такое встречается даже у серьёзных фирм, занимающихся написанием драйверов для своих изделий.
А почитать там есть что. Когда есть некоторые типы расчётов или сравнений, компилятор предупредит о неоднозначности решения. Но на это никто не обращает внимания. Потому что чаще всего запись правильна и обрабатывается правильно. Но если вы имели в ввиду что то другое, вы получите неверный результат. И хорошо, если обратите внимание на предупреждение о не однозначности. Чаще не смотрят. И полгода ищут ошибку.
Как сказал @viktor1703, есть правила изобретённые ещё до нас. Незачем их менять. Лучше точно не станет.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,837
592
44
Иначе тогда дойдем, что в скором времени будем надевать НАдежду и набувать НАбувь.
Уже. Вам напомнить про "кофе"? :rolleyes:

Я вообще не понимаю всей этой движухи вокруг "36:3(8-6)/6". Есть четкие математические правила, зачем изобретать что-то новое?
 
  • Лойс +1
Реакции: ТехнарьКто

bort707

★★★★★★✩
21 Сен 2020
2,898
862
Дело не в языке и не в терминах.
Люди делятся на тех, кто ищет ответы сам и на тех, кто смотрит "видосики". Вторым в видосиках можно показать что угодно - и они поверят.
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
@bort707, Дело только в терминах. Как сказал мужик из второго ролика в другом своем ролике, "это не совсем о математике", а о сокращениях в математических формулах и о разном понимании этих сокращений. И как тут правильно заметили. Если переформулировать замечание. Компьютер делает то, что приказали, а не то, что Вы себе придумали.
 

bort707

★★★★★★✩
21 Сен 2020
2,898
862
Компьютер делает то, что приказали, а не то, что Вы себе придумали.
правильно. Каждый может сделать кучу ошибок в программе... или в формуле... не суть важно.
А вот дальше начинаются различия. Когда программа работает не так, как ожидалось - одни люди начинают искать СВОИ ошибки и разбираться, что ОНИ сделали не так - а другие бегут постить в форум о том, что "компилятор работает неверно" или снимают ролики про ошибки в таблице умножения...
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
@bort707,
И теперь мы возвращаемся к тому, с чего начали.
Если люди определятся со значениями терминов,
то избегнут половины ошибок, совершаемых в мире.
Конфуций

Как пример
Простая вирусная задача про зарплату

Если в ролике "Одиозный дед и Hitman. 6:2(1+2)=1 vs 6:2(1+2)=9" мое мнение полностью совпадает с мнением Трушина, а соответственно "зарешали уже с этим примером 36:3(8-6)/6=1 vs 36:3(8-6)/6=4" Земсков именно в приведенном примере сильно заблуждается. В ролике "Простая вирусная задача про зарплату" обратная ситуация, мое мнение противоречит Трушину. Трушин называет одним из условий задачи "ежемесячную стабильную надбавку не влияющую на базовую ставку" и в ходе решения задачи, вдруг надбавку применяет в расчетах как индексацию. Это делает задачу вирусной, поскольку расхождение в полученном результате, только в понимании термина. В очередной раз обращаю Ваше внимание на то, что смотрим не на ошибки и ответственность в частных случаях. (Не надо брать все на свою грудь) А на возможности появления таких ошибок и предложение как это исправить в будущем. В данном случае с примерами показываю, как примитивен язык общения и насколько по разному воспринимаются умолчания даже в точной науке математике разными людьми.

PS У меня лично все хорошо, но мне интересно, почему у многих все по Мэрфи "Если что-то можно сделать неправильно, это будет сделано неправильно". Пока ответ один. Конфуций был прав.
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
70
@ТехнарьКто,
Проблема не в самом языке (понятно, что язык возник стихийно в результате смешения многих проязыков), а в большей степени в самой бинарной логике ДА-НЕТ Всегда можно построить логически безукоризненно обоснованное утверждение, которое обычно не поддается проверке, т.е. не верефицируемо.

Небольшой пример

Итак, существует большое число баз данных (БД) или картотек, кому как нравиться, в которых хранится различная информация. Разделим условно эти БД (или картотеки) на два типа: I и II. Первые хранят в качестве данных ссылки на самых себя (т.е. карточку с названием картотеки, адресом или же линком на себя). Вторые же не содержат ссылок на самих себя в качестве данных. Это вполне понятный и однозначно проверяемый критерий. Оба типа БД существуют или могут существовать в природе. Критерий однозначный, т.е. имеет - не имеет ссылку на себя. Пока всё просто.

Рассмотрим новую БД, которая содержит список (List) ВСЕХ баз типа II, т.е. баз без ссылок на самых себя.

Вопрос. К какому типу относится эта новая БД? к I или II?

По логике ответов может быть только два:
(1) Если отнести её к типу I, то она должна содержать ссылку на саму себя, что невозможно, т.к. она неминуемо оказалась бы в списке List, т.е. имела бы тип II. Протоворечие.
(2) Если же отнести её к типу II, то опять же мы получим противоречие, т.к. она автоматически принадлежала бы и к типу I .

Риторический вопрос: Так что же делать?
 
  • Лойс +1
Реакции: ТехнарьКто

bort707

★★★★★★✩
21 Сен 2020
2,898
862
Если честно, я не смотрел ни один из этих роликов и не хочу. Мне заголовков достаточно.
Данные формулы - это то что в программировании называется "indefined behaviour". Нет никакого смысла спорить, какой из ответов правильный. Таких ситуаций в программировании надо просто избегать - то есть переписать код так, чтобы неопределенность исчезла. Достаточно в ваших выражениях расставить скобки - и никаких споров не будет.
 
  • Лойс +1
Реакции: Stamp

Геннадий П

★★★★★★✩
14 Апр 2021
1,837
592
44
Достаточно в ваших выражениях расставить скобки - и никаких споров не будет.
Скобки нужны, с ними проще понять. Например, я в коде часто их довольно много ставлю, иногда там где их можно и не ставить, просто так легче понять работу некоторых выражений. Например, вместо if (a == 2 && b==5) часто дополняю скобками if ((a == 2) && (b==5)), просто так легче понять какие выражения сработают раньше, да и компилятору лишний раз ткнуть носом приоритет выполнения не помешает.

А вот деление с горизонтальной чертой при записи в код может быть коварно, потому как:
6-3
------- = ???
6*2
записанное без использования скобок получается в: 6-3 / 6*2 = 5, хотя верный ответ должен быть (6-3) / (6*2) = 0.25
 
  • Лойс +1
Реакции: ТехнарьКто

viktor1703

★★★✩✩✩✩
9 Дек 2021
541
133
Достаточно в ваших выражениях расставить скобки
Достаточно открыть учебник математики за третий класс и всё. Все эти ролики, которые я не смотрел и не хочу показатель того, что некоторые, будь они не ладно, блоХеры неучи, или наоборот грамотные, точнее хитроопые, люди, снимая такой контент заманивают к себе неучей (никого не хотел обидеть, это не про участников дебатов) в процессе просмотра показывают им рекламу и зарабатывают деньги. Я не удивлюсь, если и в комментариях там тоже идут жаркие споры. Вон сколько много букАв мы тут с вами написали на тему правила порядка действий.IMG_20230213_165003.jpg
 
Изменено:
  • Лойс +1
Реакции: Stamp

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
Рассмотрим новую БД, которая содержит список (List) ВСЕХ баз типа II, т.е. баз без ссылок на самых себя.
--кусь--
Риторический вопрос: Так что же делать?
Вы сами ответили. Это новая БД 🤣

Если честно, я не смотрел ни один из этих роликов и не хочу.
Не смотрел, но осуждаю. Повеселили. 🤣😁🤣

Вы абсолютно правы. Если бы человек написавший (36:3a)/6, где a=8-6 поставил скобки (36/(3*(8-6)))/6, то и решается однозначно, визуально воспринимается ужасно. Но тупо подставив числовое значение "a" получил разно понимаемую даже математиками запись 36:3(8-6)/6, зато выглядит мило.

Достаточно открыть учебник математики за третий класс и всё.
Покажите где там описан случай порядка действий X=3a, где a=(8-6)? В рассматриваемом случае (36/X)/6. Как советует Геннадий П, я Вам даже на всякий случай скобки поставил, что бы Вы не запутались. Когда двоечник либо провокатор подставляет X в формулу в виде 3a, подставляет значение a, пользуясь отсутствием правил запрещающих так делать. Получается 36:3(8-6)/6. Затем математик смело ставит знак умножения произвольно по понятиям далеким от математики внутри X, превращая математическую формулу в бред. А должен был так же смело поставить скобки. Применительно к записи X=3a внутри вычислений (36/X)/6, (3*(8-6)) ВЕРНО, 3*(8-6) ЛОЖЬ.

@te238s,
Умер создатель Т9. Земля ему пуховик. Помойся с пивом.

PS Понимание, что двояко понимаемые термины, беда для развития. Судя по всему, даже у умных людей пока отсутствует.
 
Изменено:

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
@SergejEU,
Вы сами поняли, что спросили? Ваш вопрос звучит подобно:" Кошка бежит, сидит, лежит. Бежит это сидит или лежит?" Это новая, другая БД. Вы хотите как обычно, породить новое, двояко понимаемое?
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
70
Это новая, другая БД
все когда-то было новым, даже хорошо забытое старое... Поэтому, Не цепляйся к словам. Слово "новая" (БД), за которое вы зацепились, используется в примере как имя собственное - идентификатор, поэтому его можно опустить, заменить чем-то другим, в общем, не суть важно.

Слово "другая" (БД) мной не упоминалось вообще. Откуда вы взяли, что она какая-то другая? Картотека как картотека, содержит карточки, на которых стоят имена или номера всех картотек с карточками, но без ссылок на самых себя. В чем здесь друговость? В чем новизна?

Вопрос - К какому типу относится эта БД? к I или II?
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
70
@ТехнарьКто,
Связан напрямую. Вы утверждаете, цитирую, "Основой программирования, в том числе и на ардуино, является математика.." Но основа всех основ, как всем известно, — математическая логика, бинарная логика. Без логики невозможно как само программирование, так и создание интерпретаторов - языков программирования, формальная проверка и создание комп железа. Если с языком еще можно что-то придумать, то с логическими парадоксами (коих найдено великое множество), к сожалению, пока никак. Мы должны научиться жить с ними, понимать, что мир не совершенен и быть честными.
 

viktor1703

★★★✩✩✩✩
9 Дек 2021
541
133
Разговор на эту тему не отвечает вопросу поднятому автором в заголовке статьи в частности и тематике сайта вообще.
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
@SergejEU, Логические парадоксы создают люди, считая, что сначала как Вы утверждаете "бинарная логика", а потом объективная реальность. То, что Вы заявили моими утверждениями, является Вашими утверждениям. Мной обращено внимание, на отсутствие понимания большинством, элементарной глупости накопленной в языке общения.
Усугляется это и безобразным отношением к знакам пунктуации. И особо обратил внимание, что и в математику это явление к сожалению попало. А поскольку математика активно используется в программировании, то и в программировании этого много. Причем за последние годы мы увидели, как благодаря маркетологам, принимающим решения вместо инженеров, небесный свод стал твердым, а спутники ударяются о небо и падают обратно на землю.
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
70
Логические парадоксы создают люди
скорее их находят в теориях обоснования математики как грибы в лесу. Это своеобразные контрпримеры, доказывающие ограниченность применения логики.
сначала как Вы утверждаете "бинарная логика", а потом объективная реальность
весь вопрос в том, что же является "объективной реальностью"? Является ли кусок кода или математическое доказательство объективной реальностью? Как провести верификацию кода или доказательства без бинарной логики? Без логики вообще? После Аристотеля люди еще не придумали ничего другого.
обратил внимание, что и в математику это явление к сожалению попало. А поскольку математика активно используется в программировании, то и в программировании этого много.
в программирование попала кроме математики и логика. Я давал ссылку на статью, где дисскусировалась только одна из тем: "Многие языки программирования позволяют контейнерам включать себя в качестве элемента, что может привести к неопределенности поведения программы". Почитайте, найдете много чего интересного. Как там у классика: "Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам."
 
  • Лойс +1
Реакции: ТехнарьКто

ТехнарьКто

★★★★★✩✩
13 Янв 2020
273
435
что же является "объективной реальностью"?
Объективная реальность — мир существующий независимо от представлений, не зависящей от позиции, понимания и восприятия человека.
Как пример. Сначала было проявление электрической энергии. Затем придумали описание, которое многократно подтвердилось экспериментами с электрической энергией. Многократно подтвержденное эксперименом назвали законом. Так появился закон Ома.

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

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

"Многие языки программирования позволяют контейнерам включать себя в качестве элемента, что может привести к неопределенности поведения программы".
Знаю. Рад, что Вы поняли основную мысль. Надо доносить до людей, что пора избавляться от неопределенности. Неопределенность хороша для маркетологов и политиков. Для развития, неопределенность заложенная в терминах является концом развития и началом бурной деградации.

PS Или Вы опять о другом? :)
 
Изменено:

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
70
Объективная реальность — мир существующий независимо от представлений, не зависящей от позиции, понимания и восприятия человека.
Я не хочу вдаваться в большую философию. Но есть в природе некоторые вещи, которые выходят за рамки обычного воображения. Лет семь назад я был на лекции известного психотерапевта. Он утверждал, что в природе нет объективной реальности, что это распространенное заблуждение, что окружающий мир мы придумываем себе сами, т.е. окружающая среда существует только в наших головах, как и все наши проблемы. Такой подход дает ему возможность исцелять человека, заменить в его сознании «потологическую» картину мира, иначе его метод просто бы не работал. Вроде того.

Тем не менее, объективная реальность очень условный подход. «Объективность» подразумевает независимость от наблюдателя (кто и как наблюдает), а «реальность» подразумевает проверяемость эксперимента. И тут появляются первые ограничения. Как пример - неопределенность Гейзенберга, принцип Планка, волновая функция Шредингера. Получается, что эксперементатор своим присутствием или измерениями уже вмешивается в физический эксперимент, а единственным объективным критерием для физика служит поведение волновой функции системы, т.е. изначально не материального объекта. Волновая функция предсказывает, где частица, скорее всего, окажется, и в большинстве экспериментов она фиксируется именно там.

Условно можно на примере макро- и микромира провести черту, где действует объективная реальность и где действует только стохастика.
Рад, что Вы поняли основную мысль. Надо доносить до людей, что пора избавляться от неопределенности.
Я абсолютно согласен. Но сначала нужно показать, что это не так просто. Над этим работают, но, к сожалению, решение всего нескольких мелких проблем выглядит настолько сложным, что они непонятны обывателям и вызывают отторжение. Все привыкли - минимум усилий и максимум выгоды. Чего стоят, например, одни названия, так это Логика второго порядка L-предикатов для решения второй проблемы Курта Гёделя. Вспоминаются студенческие годы. После первого занятия по логике, когда профессор рекомендовал 800-страничную монографию за 80 долларов, в аудитории осталось всего пара студентов.
 
  • Лойс +1
Реакции: ТехнарьКто

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
70
@ТехнарьКто,
photo_2023-01-31_18-53-23.jpg
На мой запрос решить уравнение, система компьютерной алгебры CAS MAXIMA дала следующий ответ, хотя решение более чем очевидно. Вот такой он загадочный искусственный интеллект :) , хотя немного модифицированный пример MAXIMA посчитала правильно
Bildschirmfoto vom 2023-02-22 00-23-19.png
в чем здесь дело?