Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 20:34

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Помилка порівняння чисел
СообщениеДобавлено: 24 авг 2018 10:51 
Участник
Участник

Зарегистрирован:
24 сен 2017 15:24
Сообщения: 6
Недавно виявив, що програма неправильно порівнює від'ємні числа. Написав такий скрипт для перевірки:
Цитата:
$a=-450
$b=-400
;
@if $a<=$b then @goto %a else @goto %b
;
%a
@Dialog.Message A = $a, B = $b, A <= B
@goto %c
;
%b
@Dialog.Message A = $a, B = $b, A > B
@goto %c
;
%c

При виконанні у мене виводить: A = -450, B = -400, A > B. Якщо скрипт переписати наступним чином, то порівняння виконується вірно.
Цитата:
$a=-450
$b=-400
;
$delta=$a-$b
@if $delta<=0 then @goto %a else @goto %b
;
%a
@Dialog.Message A = $a, B = $b, A <= B
@goto %c
;
%b
@Dialog.Message A = $a, B = $b, A > B
@goto %c
;
%c

Результат: A = -450, B = -400, A <= B


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помилка порівняння чисел
СообщениеДобавлено: 28 авг 2018 21:09 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
Rutar писал(а):
Недавно виявив, що програма неправильно порівнює від'ємні числа. Написав такий скрипт для перевірки:
Цитата:
$a=-450
$b=-400
@if $a<=$b then @goto %a else @goto %b

В деяких випадках (а це напевно i вiн є) при формуваннi умови змiннi потрiбно заключати в лапки (@if "$a"<="$b" then @goto %a else @goto %b). Колись я стикався з подiбним.

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB