?

Log in

No account? Create an account
баг в калькуляторе - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

баг в калькуляторе [июл. 24, 2002|03:32 am]
Anatoly Vorobey
Я всего лишь хотел посчитать! И запустил стандартный виндовский калькулятор. Посчитать-то он мне посчитал, но вместе с ответом заявил:


Потыкав немного туда-сюда, я выделил сценарий, который приводит к этой ошибке. Если, например, я хочу посчитать 2*(2+2), используя скобки, в режиме Scientific этого самого калькулятора calc.exe, то от меня требуется нажать следующую последовательность клавиш:

2 * ( 2 + 2 ) =

и я получу ответ и всё будет нормально. А я сделал не так: перед тем, как закрыть скобку, я нажал на =, чтобы получить ответ промежуточного действия (хотя он и так выходит при нажатии правой скобки). Т.е. я нажимал (на клавиатуре ли, мышкой ли, неважно):

2 * ( 2 + 2 = ) =

Естествено, числа и действия были другими - это тоже не играет роли. В результате калькулятор падает и выдаёт эту ошибку. Смешно. Кто-то в Майкрософте не умеет работать со стеком и переводом инфиксной нотации в постфиксную?

Это в NT4, кстати. Может, в 2000/XP они исправили, не знаю.
СсылкаОтветить

Comments:
[User Picture]From: auris
2002-07-23 05:40 pm

в 2000 все OK.
(Ответить) (Thread)
[User Picture]From: farethewell
2002-07-23 05:47 pm
подтверждаю :)

еще такой прикол есть: скопировать, скажем, "2+2*2=".
вставить из буфера в scientific калькуляторе, он выдаст правильный ответ - 6. если сделать то же самое в стандартном, ответом будет 8.
такая арифметика =)
(Ответить) (Parent) (Thread)
From: vadimus
2002-07-23 06:11 pm
Да, это ДЕЙСТВИТЕЛЬНО смешно ... я не знал, ржал до упада
(Ответить) (Parent) (Thread)
[User Picture]From: sendfor
2002-07-23 10:22 pm
Месяца три-четыре в жж активно обсуждали эту тему. Интереснее всего были рассказы живущих в америке. там, говорят, работа в офисах из-за этого вставала. добрые честные американские служащие считали так и этак и все удивлялилсь, почему получались разные ответы. я представляю себе их недоуменные лица ;)
(Ответить) (Parent) (Thread)
[User Picture]From: yms
2002-07-23 10:55 pm
Я подумал, что это не баг, а фича, и в простом калькуляторе порядок действий определен иначе, чем в научном. Попытался найти слово "order" в хелпе. Наивный ;)
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2002-07-23 11:03 pm

Re:

Это действительно фича явная, причём даже makes sense по большому счёту. 2+2*2 в обычном калькуляторе выглядит поначалу уступкой тупым американцам, но когда понимаешь, что сделать этому paste - всё равно, что набрать по одному руками, то это выходит очень логично: он просто сразу выдаёт результаты любой операции (в данном случае 2+2) - и это логично и удобно. С другой стороны, то, что научный соблюдает правильный порядок выполнения операций - специальная фича, явно расчитанная на то, что люди будут вводить длинные формулы с бумаги.

Прошу прощения за занудство ;) Всё равно, конечно, смешно, но некоторый смысл в этом есть.
(Ответить) (Parent) (Thread)
[User Picture]From: zc2
2002-07-24 07:51 am

Может смысл есть, но у меня вот чувство дискомфорта все равно остается, когда не можешь сам гарантировать порядок вычисления. То ли дело старые добрые калькуляторы с польской, то-бишь постфикстной системой и с явно доступным стеком... Во, где была лафа и все понятно.
(Ответить) (Parent) (Thread)
[User Picture]From: zaiats_2k
2002-07-24 08:26 am
Ребята, это сто раз обсуждалось.
Я сам первый раз дико ржал, пока меня носом не ткнули вот в какой факт.
Возьмите обычные (во плоти) калькуляторы бухгалтерский (там где 4 действия) и инженерный. И проделайте те же операции. Смею вас уверить результат будет тот же что и в в соответствующих виндовских ипостасях калькулятора.
(Ответить) (Parent) (Thread)
[User Picture]From: novikov
2002-07-23 05:47 pm
в XP тоже всё ОК.
(Ответить) (Thread)
From: ex_ilyavinar899
2002-07-23 06:25 pm
В XP исправлено.
(Ответить) (Thread)
[User Picture]From: oxfv
2002-07-23 07:14 pm

A reason for upgrade?
(Ответить) (Thread)
[User Picture]From: avva
2002-07-23 07:21 pm

Re:

Perhaps -- something like the proverbial last straw ;)
(Ответить) (Parent) (Thread)
[User Picture]From: oxfv
2002-07-23 07:26 pm
This might save you the hassle: NumLock Calculator.

Just use it instead of the standard one and keep the OS.

(Ответить) (Parent) (Thread)
[User Picture]From: ozlev
2002-07-23 11:37 pm
Господа!
Но ведь это ошибка обращения по определённому адресу...
Скорее всего, на диске просто нет места засвопить всё, что висит в памяти...
У меня Мозилка падает на 2000 примепно с таким же сообщением, а потом посылает сообщения своим создателям. avva, купи диск побольше, и оставайся со своим любимым NT...
(Ответить) (Thread)
[User Picture]From: zc2
2002-07-24 07:46 am
бред
(Ответить) (Parent) (Thread)