Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. В математике установлен определенный порядок выполнения математических действий при любой записи действий над числами. Для основных арифметических действий установлен следующий порядок: сначала выполняется возведение числа в степень, затем выполняется умножение и деление и в самую последнюю очередь выполняется сложение и вычитание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 12:43 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
coder1cv8 , это не "математика"... Это простой приоритет операций. В Кащее его практически нет... Разве что унарные операции приоритетнее бинарных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:03 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:05 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Да, и это описано в документации. Скорее всего особенность наследована с M систем. Приоритетов операций нет (исключение, пожалуй, "." обращение к полю и методу объекта). Сначала это удивляло, сейчас кажется не более страшным, чем ломать голову на приоритетами (а операций гораздо больше, чем +-*/, о которых написано в учебнике 5го класса) >w 3>2+3 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:06 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Или вовсе вот так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:06 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
krvsa, мне кажется, что лучше явно ставить скобки, меньше проблем будет при исправлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:08 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Вы считаете это нормальным? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:09 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Подозреваю, изменение приоритетов крайне плохо скажется на совместимости старых программ и новых версий каше. Скобки - это нормально, явный приоритеты лучше неявных. При неявных приоритетах все равно есть возможность ошибки, и эта вероятность не меньше. О приоритетах в каше достаточно просто знать, дальше это не вызывает особых проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:16 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.мне кажется, что лучше явно ставить скобки, меньше проблем будет при исправлении. Я бы написал Код: plaintext Второй пример максимальная "иллюстация" возможного, не более того... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:44 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
coder1cv8Вы считаете это нормальным? ) Это объективная реальность данная нам в ощущении... (с) (1909) В. И. Ленин Т.е. другого у нас просто нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:46 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. , Это вызывает проблемы когда о таких багах фичах узнаешь только по странным цифрам в данных (тьфу-тьфу, на этапе тестирования). Я хочу сказать, что даже при моем непродолжительном знакомстве с Cache, эта система постоянно подставляет "подножки" ну в совершенно неожиданных местах! Здесь кто-то говорил о нетребовательности Cache к качеству кода, легкости "вхождения" и т.д., ха-ха, я бы с этим поспорил. После той же Java или даже (о боже!) 1С, отсутствие таких базовых механизмов вызывает, мягко говоря, легкое недоумение. Я уже не говорю о "дружелюбности" к разработчику, с такой IDE говорить об этом просто смешно! При такой-то стоимости системы, могу еще много рассказать про ляпы и откровенные баги, подтвержденные саппортом, но не буду. Понятно что фанатов убедить в чем-то сложно, сам такой ) Прошу не воспринимать это слишком серьезно, просто накипело ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:51 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
krvsaЯ бы написал Код: plaintext Второй пример максимальная "иллюстация" возможного, не более того... И я так написал, как написать вопросов нет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 13:52 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
coder1cv8Прошу не воспринимать это слишком серьезно, просто накипело Не стоит валить все в кучу... Уж кто, кто... А приоритеты тут точно ни при чем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 14:01 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
coder1cv8 , Уже было . coder1cv8Даже не знаю что сказать...Увидев поведение, которое не ожидалось, достаточно сделать поиск в документации по фразе Operator Precedence , чтобы понять в чём дело. Цитата из документации You may be surprised to learn that ObjectScript\'s rules for operator precedence are different than those in other languages: there aren\'t any! PS: Посмотрите ещё Re: Какой у вас результат ычисления вот этого: 36/-4/3 ? (в ветке есть несколько моих сообщений). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 14:57 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Почему все пишут про отсутствие приоритетов ? Если явно не указано скобками он считает справа налево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 15:21 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
coder1cv8Это вызывает проблемы когда о таких багах фичах узнаешь только по странным цифрам в данных (тьфу-тьфу, на этапе тестирования). Я хочу сказать, что даже при моем непродолжительном знакомстве с Cache, эта система постоянно подставляет "подножки" ну в совершенно неожиданных местах! Дык извините, если пишите на COS, а не на встроенном BASIC, то как бы RTFM. Operator Precedence Operator precedence in ObjectScript is strictly left-to-right; within an expression operations are performed in the order in which they appear. This is different from other languages in which certain operators have higher precedence than others. You can use explicit parentheses within an expression to force certain operations to be carried ahead of others. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 15:27 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
krvsa Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 15:58 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Константин ЦветковВы не находите? Нет... Потому как даже автор уже написал coder1cv8krvsaЯ бы написал Код: plaintext Второй пример максимальная "иллюстация" возможного, не более того... И я так написал, как написать вопросов нет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 16:02 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Константин Цветков , хотя х/з чего именно хотел автор... Потому как полученый результат его не порадовал... А мне уже "мешает" кащейское м Ы шление... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 16:05 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Константин ЦветковЗанесло совершенно случайно, но правильная запись: Код: plaintext Да, это опечатка. Сам подтвердил не посмотрев внимательно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 17:00 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
krvsa Константин Цветков , хотя х/з чего именно хотел автор... Это важное свойство программиста — знать больше, чем (нужное подставить). Автор хотел посчитать процент скидки: 100 - процент от суммы на количество-цена. Так и написал. Но с учётом накопления округления более правильно: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 20:11 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
krvsa, Ну меня кащейское мЫшление приучило расставлять скобки независимо от приоритетов операций - на всех языках. Дабы не гадать. Да и читается легче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 20:44 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Ptn , я рад за тебя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 21:12 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Задача вроде такая // Изучаем математику 5-й класс s price = 100 s quant = 1 s sum = 95 s disc = 100 - (sum * 100) / (price * quant) w "discount percent = "_disc // Граждане!!! иногда все таки полезно почитать документацию по языку заявлениия об отсутствии приоритета - чушь первый приоритет - скобки - сначала вычисляется то что в скобках sum*100 = 95*100 =9500 price*quant= 100*1 =100 а в арифметических операциях (+-*/) приоритета действительно нет то есть все в порядке следования 100-9500 =-9400 -9400/100=-94 это собственно и результат - какие обиды. от себя добавлю что это скорее особенность языка чем недостаток (очень иногда полезная особенность) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 00:13 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
andrew000999от себя добавлю что это скорее особенность языка чем недостаток (очень иногда полезная особенность) Это однозначно и безусловно недостаток. Средний программист использует 5-15 языков или нотаций. Есть вещи общепринятые. Не убей, не укради, вначале возведи в степень, потом умножь/подели, а уже потом вычитай и складывай. Это - азбука. Норма. В каше довольно много далекого от нормы поведения... Ничего не поделаешь. Мне это продолжает доставлять серьезные неудобства и после 10-летнего знакомства с каше. К плохому привыкать трудно ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 04:15 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
kolesovЭто однозначно и безусловно недостаток. Это просто один из вариантов реализации обработки (синтаксического анализатора) скриптового языка. И в нем есть свои плюсы - в частности, вычисление может происходить сразу, а не после обработки всего выражения. Конечно полагаться на такие особенности языка не стоит, но в некоторых случаях скорость выполнения бывает критична. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 08:26 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
kolesovandrew000999от себя добавлю что это скорее особенность языка чем недостаток (очень иногда полезная особенность) Это однозначно и безусловно недостаток. Средний программист использует 5-15 языков или нотаций. Есть вещи общепринятые. Не убей, не укради, вначале возведи в степень, потом умножь/подели, а уже потом вычитай и складывай. Это - азбука. Норма. В каше довольно много далекого от нормы поведения... Ничего не поделаешь. Мне это продолжает доставлять серьезные неудобства и после 10-летнего знакомства с каше. К плохому привыкать трудно ;) Крутые программеры только складывают и вычитают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 09:04 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
kolesov Средний программист использует 5- 15 языков или нотаций Фигасе, программист-мазохист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 09:27 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
andrew000999а в арифметических операциях (+-*/) приоритета действительно нет то есть все в порядке следования Именно про это и писалось с самого начала, люди даже ссылки приводили... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 10:16 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
MX-9Крутые программеры только складывают и вычитают Самые крутые только умножают и складывают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 10:18 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
kolesovЭто однозначно и безусловно недостаток. Средний программист использует 5-15 языков или нотаций. Есть вещи общепринятые. Не убей, не укради, вначале возведи в степень, потом умножь/подели, а уже потом вычитай и складывай. Это - азбука. Норма. В каше довольно много далекого от нормы поведения... Ничего не поделаешь. Мне это продолжает доставлять серьезные неудобства и после 10-летнего знакомства с каше. К плохому привыкать трудно ;) Спасибо! Это именно то что я хотел сказать этой темой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 10:29 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
в 80-х выбирал язык программирования для проектов... После польской нотации в lisp и forth порядок выполнения операций в mumps уже не пугал... Единственное, написал в стандарте - если в формуле больше одного оператора - ставьте скобки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 13:08 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
coder1cv8kolesovЭто однозначно и безусловно недостаток. Средний программист использует 5-15 языков или нотаций. Есть вещи общепринятые. Не убей, не укради, вначале возведи в степень, потом умножь/подели, а уже потом вычитай и складывай. Это - азбука. Норма. В каше довольно много далекого от нормы поведения... Ничего не поделаешь. Мне это продолжает доставлять серьезные неудобства и после 10-летнего знакомства с каше. К плохому привыкать трудно ;) Спасибо! Это именно то что я хотел сказать этой темой. Согласен. Ошибок типа set a = a + b * c (надо a + (b * c)) в Каше делают поначалу все. Интерпретатору было проще обрабатывать строку, вот и весь смысл... Минимальный размер интерпретатора и скорость обработки строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 13:27 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.kolesov Средний программист использует 5- 15 языков или нотаций Фигасе, программист-мазохистБросьте. 2-3 диалекта SQL, так!? или вы с одной бд работаете? пару-тройку серверных скриптов вы также используете... даже если об этом не знаете ;) на клиенте чем-то тоже нужно ублажать потребленца... плюс транспорты... плюс визуалка (или css вы за язык не считаете?) если многослойная архитектура, то имей каждый уровень особенности, присущие каше, то это вообще форменная вешалка была-б. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 17:23 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
Автор, из того что Вы изучили в школе в отношении арифметики не означает что вся математика построена по этому принципу. Строго говоря для каждой алгебры должно быть задано не только множество элементов но и операции над ними. Опционально можно определить (произвольно задать) приоритет операций для данной алгебры. Операции могут иметь одинаковый приоритет, тогда они вычисляются по правилу ассоциативности , установленному для этих операций. Единственное с чем можно согласиться - поведение COS не соотносится с ожидаемым стереотипным поведением алгебраических операций. Аналогично, зная русский и украинский язык считать что англоязычные фразы строятся по тому же принципу ;) Изучая язык Вы должны изучить грамматику и синтаксис, даже если Вам неудобно поначалу, в противно случае Вас никто не поймет в том смысле который Вы вкладываете во фразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 20:45 |
|
||
|
У Cache своя математика?
|
|||
|---|---|---|---|
|
#18+
действительно, выражения в COS не являются арифметическими, поэтому установить приоритет кроме как скобками, навряд ли возможно. set a = d - c > 7 ! d * 4 < "45 boys" ** 2 ! (p + p > 0 ) = 32 попробуйте объяснить, какие тут приоритеты должны сработать... только скобки и слева направо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2011, 03:06 |
|
||
|
|

start [/forum/topic.php?all=1&fid=39&tid=1557852]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 352ms |

| 0 / 0 |
