VDM-SL - функция принимает набор целых чисел и возвращает идентичный набор
Попытка найти функцию, которая принимает целое число и возвращает неотрицательное значение этого целого числа, которое я выяснил
Abs : int -> nat
Abs(num) == if num < 0
then -num
else num;
теперь я пытаюсь создать другую функцию, которая принимает набор целых чисел и возвращает идентичный набор, где каждый элемент является абсолютным значением исходного значения.
PositiveSet : set of int -> set of int
пожалуйста помоги:(
1 ответ
Вам понадобится какое-то понимание множества - "множество абсолютных значений x, где x берется из множества S". Сигнатура будет "seq of int -> seq of nat", поскольку результатом всегда будут натуральные числа.
Один небольшой момент: возвращаемый набор может не быть "идентичным" в том смысле, что он может содержать меньше элементов, чем входной. Например. {-1, 0, 1} изменится на {0, 1}.