ДО курс по робототехнике

3 апреля 2013 г.

NXT-G: целочисленное деление и округление дробных чисел

Известно, что среди нескольких нововведений, вторая версия программного обеспечения NXT-G стала поддерживать операции над дробными числами. Это было бы замечательно, если, как оказалось, теперь выполнить операцию целочисленного деления стало невозможно.

Точнее, целое число получить можно, но только, если делимое кратно делителю.

Дело осложняется еще и тем, что в NXT-G нет операции округления. 

Как ни странно, но на помощь приходят знания, приобретенные в младшей школе.

Итак, общая формула целочисленного деления такова:

Делимое / Делитель = Частное + Остаток

Где "Частное" это число раз, сколько "Делителя" содержится в "Делимом".
Например, 14 / 3 - здесь "3" содержится четыре раза в "14", т.е. частное в данном случае "4".

Следовательно, можно сделать вывод, что для того чтобы найти частное, нужно найти такое максимальное число, которое будучи умноженное на делитель будет меньше либо равно делимому.

Самый простой способ найти максимальное число - это перебирать все числа с самого маленького, до тех пор пока мы не дойдем до подходящего. На языке NXT-G это будет выглядеть следующим образом:

Если вынести этот код в отдельную под-программку, то его можно легко использовать в других ваших программах.

Следует также отметить, что при использовании "1" в качестве делителя в данной программе, она превращается в операцию округления дробных чисел.

Комментариев нет:

Отправить комментарий