Модуль также очень полезен, если по какой-то безумной причине вам нужно сделать целочисленное деление и получить десятичную дробь, и вы не можете преобразовать целое число в число, которое поддерживает десятичное деление, или если вам нужно вернуть дробь вместо десятичной. .
Я буду использовать %
в качестве оператора модуля
Например
2/4 = 0
где это делается
2/4 = 0 and 2 % 4 = 2
Итак, вы можете быть действительно сумасшедшим и допустим, что вы хотите разрешить пользователю вводить числитель и делитель, а затем показывать им результат в виде целого числа, а затем дробного числа.
whole Number = numerator/divisor
fractionNumerator = numerator % divisor
fractionDenominator = divisor
Другой случай, когда деление по модулю полезно, - это если вы увеличиваете или уменьшаете число и хотите, чтобы число соответствовало определенному диапазону чисел, но когда вы добираетесь до вершины или низа, вы не хотите просто останавливаться. Вы хотите перейти в конец или вверх по списку соответственно.
Представьте себе функцию, в которой вы просматриваете массив.
Function increase Or Decrease(variable As Integer) As Void
n = (n + variable) % (listString.maxIndex + 1)
Print listString[n]
End Function
Причина, по которой это n = (n + variable)% (listString.maxIndex + 1), заключается в том, чтобы учесть максимальный индекс.
Это лишь некоторые из вещей, для которых мне пришлось использовать модуль при программировании не только настольных приложений, но и в средах робототехники и моделирования.
person
msarchet
schedule
09.04.2010