
2. Состав данных:
Тип |
Имя |
Смысл |
Структура |
Входные данные |
|||
Вещ |
A |
Заданная матрица |
Массив, двумерный |
Цел |
n |
Количество строк |
Простая переменная |
Цел |
m |
Количество столбцов |
Простая переменная |
Цел |
N2 |
Заданный номер столбца |
Простая переменная |
Выходные данные |
|||
Вещ |
С1 |
Искомый массив |
Массив, одномерный |
Промежуточные данные |
|||
Цел |
i |
Номер строки |
Простая переменная |
3. Данная подзадача реализована в Turbo Pascal 7.0 как процедура общего назначения, поскольку ее выходной параметр – массив.
Имя процедуры – SOZMAS.
При реализации на Turbo Pascal 7.0 матрица A имеет конечное количество элементов.
4. Аномалии не анализируются.
II. Алгоритмы
2.1 Основной алгоритм программы:
Начало
Ввод: {A},N
Вывод по Обр1
Сегмент 1.1
Определить SU
по проц. SUMST({A})
Сегмент 1.2
Определить
MST
по проц. MST({SU},6)
Да
Нет
MST>N
Сегмент 1.3 Сегмент 1.4
Определить {B} по проц. Определить {C} по проц.
SOZMATR({A},MST) SOZMAS({A},N)
Вывод: {B} по Обр2 Вывод: {C} по Обр3
Конец
2.2 Вспомогательные алгоритмы:
Сегмент 1.1.
Начало
Задать: {A},n,m
J:=1
S1(j):=0
i:=1
S1(j):=S1(j)+A(i,j)
i:=i+1
Нет
i>n
Да
j:=j+1
Нет
j>m
Да
Передать: {S1}
Конец
Сегмент 1.2
Начало
Задать: {S2}, D
M:=S2(1)
MST:=1
i:=1
Да Нет
S2(i)≥M
M:=S2(i)
MST:=i
i:=i+1
Нет
i>D
Передать: MST
Конец
Сегмент 1.3
Начало
Задать: {A}, N1,n,m
j:=1
i:=1
B1(i,j):=A(i,j)
i:=i+1
i>n Нет
Да
j:=j+1
j>N1
Нет
Да
Передать: {B1}
Конец
Сегмент 1.4
Начало
Задать: {A}, N2,n,m
i:=1
C1(i):=A(i,N2)
i:=i+1
Нет
i>n
Да
Передать: {C1}
Конец