У меня было вот такое вот задание:

cool.gif Составить полную спецификацию к подпрограмме, которая должна решать указанную задачу. Описать необходимые типы данных. Предполагается, что подпрограмма будет написана в стиле защитного программирования.
Определить коэффициенты разложения по заданному базису в n-мерном пространстве
заданного n-мерного вектора.


То есть предполагалось, что подпрограмма уже написана и нужно составить к не спецификацию, защитное программирование обозначает все предусмотренные типы (коды) ошибок.

Вот что у меня получилось. Спецификация следующего вида wacko.gif :
Основная подпрограмма вычисляет коэффициенты разложения по заданному базису в n-мерном пространстве заданного n-мерного вектора.
Входные данные: Matrix - исходная матрица nxn координат векторов базиса, n – неотрицательные целые числа, b – заданный вектор.
Выходные данные: Alpha – коэффициенты разложения по заданному базису (n-мерный вектор в приведенных координатах).
Возвращаемое функцией значение:
0 – нормальное завершение, Alpha содержит вычисленное значение,
1 – данная система векторов не образует базиса (базис вырожденный),
2 – переполнение (слишком большие числа),
3 – неверный формат чисел.

Мне нужно помочь описать необходимые типы данных, если бы эта подпрограмма была написана в паскале, если что-то неправильно в спецификации, то подкорректировать. Какого типа будет матрица…заданный вектор…полученные коэффициенты, то есть как бы это выглядело в самой подпрограмме? unsure.gif