Здравствуйте, Дорогие друзья! Помнится в одной из статей я пообещал, что мы будем знакомиться с программированием и даже рассказал малую толику того, что должен знать разработчик сайтов. Сегодня же я хочу продолжить тему программирования. Но на этот раз мы углубимся в неё, то есть начнем подниматься на уровень «выше понимания простого смертного». А речь сегодня пойдет о программировании в MatLab. Кто не знаком с этой программной средой, расскажу о ней. Матлаб – пакет различных программ, с помощью...
На многих интернет-площадках время от времени возникает спор относительно правильного прочтения формул типа 20/5(2+2) Сколько будет: 1 или16? В этот раз разговор завел masterok в LiveJournal. Что мне у него понравилось, так это упоминание, что еще в 2009 году в США стандартом узаконили понимание, совпадающее с моим. Вот решил изложить его, но не в формате коммента к тому посту, а отдельным постом на Дзене, где у меня аккаунт. Прежде всего, обсуждать надо именно написанную формулу, а не ее разные модификации. Что в ней сразу бросается в глаза, так это отсутствие знака умножения (крестика или точки) после пятерки. Сразу отпадают варианты типа набора формул на калькуляторе, в экселе или на каком-либо языке программирования. Там сразу будет выдана ошибка. Так что речь идет о формуле в тексте, и ориентирована она на восприятие человеком. А здесь уже свои правила касательно удобочитаемости. Знак умножения лучше не ставить, и скобки по возможности следует экономить. Формулы в документе бывают двух типов: выносные, располагающиеся на отдельной строке, и строчные, размещаемые прямо в тексте по ходу чтения. Выносные формулы набирают максимально выразительно, не экономя места. В частности, для деления там используется не слэш (/), а горизонтальная черта. Строчные формулы не должны быть сложными, высокими, поэтому в них для обозначения деления вместо черты используется слэш. Таким образом, рассматриваемое выше выражение представляет собой типичную строчную формулу внутри текста. Думаю, если бы мы видели весь документ, то вопроса прочтения формулы не было бы. А так, вырванная из контекста, она и становится двусмысленной. Теперь попробую объяснить, почему даже в этом случае естественнее понимать, что выражение (2+2) все-таки стоит в знаменателе. При написании деления через слэш сначала идет числитель, а после слэша — знаменатель. Вопрос лишь в том, насколько сложным может быть знаменатель, чтобы не ставить его в скобки. Старый классический подход состоит в том, что все, что длиннее одночлена, должно быть в скобках. Это и приводит к загромождению выражения скобками. Сейчас начинает преобладать понимание, что умножение, выраженное отсутствием знака умножения, имеет приоритет перед делением, выраженным слэшем, что и позволяет экономить скобки. Замечу, что приоритет такого умножения проявляется во многих случаях. Например, формулу «sin2A» практически все поймут как «sin(2A)», а не как «(sin2)A». Другое дело, если мы напишем «sin2xA». Здесь ясно, что знак умножения поставлен неспроста, хотя лучше бы такие формулы нее писать. Таким образом, рассматриваемую формулу следует читать как 20/(5(2+2)) с ответом 1, а писавший ее человек просто сэкономил на внешних скобках. Замечу, что, если бы писавший эту формулу действительно хотел, чтобы выражение (2+2) было в числителе, он мог это сделать выразительно и просто, написав 20(2+2)/5.