Определение пакета Multiset с элементами и множественностью пар в Ada - PullRequest
0 голосов
/ 14 ноября 2018

Я должен соответствовать спецификации, которая гласит, что я должен написать тип мешка, который является записью с дискриминантом, то есть максимальной емкостью мешка в записи, который я должен поместить в массив, содержащий пары элемент и кратность, Я написал некоторый код и обновил его также

type TArray is array (Integer range <>) of Elem,Multi;
type Bag (Max : Positive) is record
                                Data    : TArray (1 .. Max);
                                Pointer : Natural := 0;
                             end record;

Код был обновлен, пожалуйста, проверьте и предложите

1 Ответ

0 голосов
/ 14 ноября 2018

Ответ довольно прост: если у вас нет каких-либо сообщений об ошибках на этапе компиляции, все в порядке.

Ну, в соответствии с тем, что вы описали, ваш код выглядит хорошо.У меня есть вопрос по этому поводу.

Планируете ли вы иметь отрицательные индексы для вашего типа TArray?Если нет, почему бы вам не использовать тот же тип, что и для вашего дискриминанта?

Единственное, что у вас будет только половина значений с использованием Positive вместо Integer, но в вашей записи вы все равно уже начинаете с1 и, следовательно, имеют тот же диапазон, что и положительный.

...