
I. Спецификации:
1.1 Внешняя спецификация программы
Постановка задачи:
Определить столбец прямоугольной матрицы с максимальной суммой элементов и, если его номер больше заданного, сформировать матрицу из столбцов исходной до найденного столбца, иначе сформировать массив из элементов заданного столбца.
Состав данных:
Тип |
Имя |
Смысл |
Структура |
Диапазон |
Точность |
Поле |
Исходные данные |
||||||
Вещ |
A |
Заданная матрица |
Массив, двумерный 5 строк, 6 столбцов |
|A(i,j)|≤100.0 |
0.1 |
6 |
Цел |
N |
Заданный номер столбца |
Простая переменная |
1≤N≤6 |
- |
1 |
Выходные данные |
||||||
Вещ |
В |
Матрица, составленная из столбцов |
Массив, двумерный 5 строк, 6 столбцов |
|B(i,j)|≤100.0 |
0.1 |
6 |
Вещ |
С |
Массив, составленный из элементов столбца м. А |
Массив, одномерный 5 элементов |
|C(i,j)|≤100.0 |
0.1 |
6 |
Промежуточные данные |
||||||
Цел |
i |
Номер строки |
Простая переменная |
- |
- |
- |
Цел |
j |
Номер столбца |
Простая переменная |
- |
- |
- |
Вещ |
SU |
Суммы элементов столбцов матрицы А |
Массив, одномерный 6 элементов |
- |
- |
- |
Форма ввода
1 6 36 80
<A(1,1)> |
… |
<A(1,6)> |
|
|
……………. |
||||
<A(5,1)> |
… |
<A(5,6)> |
|
|
<N> |
|
1
…
5
6
4. Выходная форма
1 80
Обр1 35 Результаты
10
B(1,1)…B(1,6)
Обр2 : :
B(5,1)…B(5,6)
Обр3 10 C(1)…C(5)
5/6.
Для решения применяется метод пошагового проектирования.
Задача разбита на 4 подзадачи:
Определить суммы элементов в столбцах заданной матрицы
Определить номер максимального элемента заданного одномерного массива
Сформировать матрицу из столбцов заданной матрицы до заданного столбца
Сформировать массив из элементов заданного столбца заданной матрицы
Для реализации представленных ниже вспомогательных алгоритмов на Turbo Pascal 7.0 используются процедуры общего назначения (для 1, 3, 4 подзадачи) и функция (для 2-ой подзадачи).
7. Аномалии не анализируются
8. Тесты
№ |
Назначение |
Контрольные значения исходных данных |
Контрольные значения выходных данных |
1 |
Получение отрицательного результата |
0.0 -12.2 -13.3 14.4 15.5 99.0 16.6 17.7 18.8 19.9 -20.0 -100.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 2.0 2.0 2.0 2.0 2.0 2.0 6 |
Результаты
{C}: 99.0 -100.0 1.0 0.0 2.0 |
2 |
Получение положительного результата |
0.0 -12.2 -13.3 14.4 15.5 99.0 16.6 17.7 18.8 19.9 -20.0 -100.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 2.0 2.0 2.0 2.0 2.0 2.0 3 |
Результаты
{B}: 0.0 -12.2 -13.3 14.4 16.6 17.7 18.8 19.9 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 2.0 2.0 2.0 2.0 |
1.2 Внутренние спецификации подпрограмм
Сегмент 1.1
Подзадача:
Определить суммы элементов в столбцах заданной матрицы.