Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Архив => Topic started by: Виталий on October 24, 2012, 03:06:48 PM

Title: (fixed) Ошибки при работе с отрицательными числами
Post by: Виталий on October 24, 2012, 03:06:48 PM
Добрый день!
Следующий скрипт должен давать в результате 25, а дает -25

Code: [Select]
define($A,-5)
define($sum,20)
logclear
logwrite("$A=",$A," $sum=",$sum)
$sum=$sum-$A
logshow(1)
logwrite("$A=",$A," $sum=",$sum)
halt

лог:
15:58:21 $A=-5 $sum=20
15:58:21 $A=-5 $sum=-25

Спасибо за ответ
Title: Re: Ошибки при работе с отрицательными числами
Post by: Johnny on October 24, 2012, 04:34:13 PM
вот уже интересно

спасибо за отзыв. посмотрим. ну на первый взгляд очевидно, что парсеру не нравятся два минуса подряд
Title: Re: Ошибки при работе с отрицательными числами
Post by: Виталий on October 24, 2012, 08:55:38 PM
Указанная ошибка лечится путем "избавления" от операции "-" путем замены ее на две операции: умножение на -1 и сложение (но с разбивкой на две команды, иначе опять ошибка)
Code: [Select]
define($A,-5)
define($sum,20)
$B=$A*(0-1)
$sum=$sum+$B
print("$sum=$sum-$A=",$sum)
halt
Работает правильно с любыми по знаку значениями $A и $sum
Title: Re: Ошибки при работе с отрицательными числами
Post by: Johnny on October 25, 2012, 04:04:48 AM
ну да. я забыл, что даже описал эту ситуацию в справке по языку, раздел "основное"
Title: Re: Ошибки при работе с отрицательными числами
Post by: СлавьЯнИнъ on October 25, 2012, 06:14:12 AM
ну да. я забыл, что даже описал эту ситуацию в справке по языку, раздел "основное"
Это планируется скорректировать в будущих версиях, или останется особенностью?
Тоже имел с этим дело. Справка помогла исправить ситуацию.
Title: Re: Ошибки при работе с отрицательными числами
Post by: Bob on November 15, 2012, 10:43:58 PM
Доброго времени суток.
Так же столкнулся.
Code: (clickermann) [Select]
logclear
$s=50000
$h=5
$m=5
$s1=($s-$h*3600-$m*60)  // не правильный результат 32300
$s2=($s-($h*3600)-($m*60))  // правильный результат 31700
Print ($s1)
Print ($s2)
halt
Лог
20:17:57 32300
20:17:57 31700
Title: Re: Ошибки при работе с отрицательными числами
Post by: ionich123 on December 30, 2012, 12:40:47 AM
Пытался сделать скрипт, который бы чертил графики, но столкнулся с проблемой в виде глюков при работе с отрицательными числами...чтобы не было 2 знака подряд вместо =4*$x писал =$x*4... но что делать для выражения вида $z=$a*$x - если и $a и $x отрицательные, то постоянно выходит ошибка. Если есть способ обойти эту ошибку?
Title: Re: Ошибки при работе с отрицательными числами
Post by: Oraven on December 30, 2012, 01:21:12 AM
В последней версии ошибка при умножении или делении чисел с минусом. Жди исправлений...