Программа
CONST QLine=4; {Количество строк матрицы}
QCol=4; {Количество столбцов матрицы}
TYPE Element=integer; {Тип элементов матриц}
Lin=1..QLine; {Тип - интервал номеров строк}
Col=1..QCol; {Тип - интервал номеров столбцов}
Matrix=array[Lin,Col] of Element; {Тип - матрица}
Vector=array[Lin] of Element; {Тип - вектор}
PROCEDURE InputMatrix(var M:Matrix); {Ввод матрицы}
Var i:Lin; {Счетчик строк}
j:Col; {Счетчик столбцов}
Begin
WriteLn; {Пропуск строки}
WriteLn('ВВОД МАТРИЦЫ:'); {Вывод приглашения ко вводу матрицы}
for i:=1 to QLine do {Цикл ввода строк}
for j:=1 to QCol do {Цикл ввода строки}
begin
Write('Ведите элемент [',i,',',j,'] '); {Вывод приглашения}
ReadLn(M[i,j]) {Ввод элемента матрицы}
end;
WriteLn; {Пропуск строки}
End;
PROCEDURE OutputMatrix(var M:Matrix); {Вывод матрицы}
Var i:Lin; {Счетчик строк}
j:Col; {Счетчик столбцов}
Begin
WriteLn; {Пропуск строки}
WriteLn('МАТРИЦА:'); {Вывод заголовка}
for i:=1 to QLine do {Цикл вывода строк}
begin
for j:=1 to QCol do {Цикл вывода строки}
Write(M[i,j]:3,' '); {Вывод элемента}
WriteLn {Вывод конца строки}
end;
WriteLn; {Пропуск строки}
End;
PROCEDURE OutputVector(var V:Vector); {Вывод вектора}
Var i:Lin; {Счетчик}
Begin
WriteLn; {Пропуск строки}
WriteLn('ВЕКТОР:'); {Вывод заголовка}
for i:=1 to QLine do {Цикл вывода элементов}
Write(V[i]:3,' '); {Вывод элемента}
WriteLn; {Пропуск строки}
End;
FUNCTION Sum(A:Matrix; L:Lin):Element; {Функция набора суммы элементов строки}
Var S:Element; {Сумма}
j:Lin; {Счетчик столбцов}
Begin
S:=0; {Начальное определение суммы}
for j:=1 to QCol do {Цикл просмотра строки}
S:=S+A[L,j]; {Набор суммы}
Sum:=S {Определение значения функции}
End;
PROCEDURE GetVector(M:Matrix; var V:Vector); {Набор вектора}
Var i:Lin; {Счетчик строк}
Begin
for i:=1 to QLine do V[i]:=Sum(M,i);{Цикл набора вектора}
End;
VAR B:Matrix; {Матрица}
V:Vector; {Вектор}
BEGIN
InputMatrix(B); {Ввод матрицы B}
OutputMatrix(B); {Вывод матрицы B}
GetVector(B,V); {Набор вектора}
OutputVector(V); {Вывод вектора}
END.
СХЕМА ПРОГРАММЫ
***************
* *
* П У С К *
* *
***************
:
:
*****************
* * * *
* *InputMatrix* *
* * * *
* * (B) * *
* * * *
*****************
:
:
*****************
* * * *
* * Output * *
* * Matrix * *
* * (B) * *
* * * *
*****************
:
:
:
*****************
* *
* *
* C:=B *
* *
* *
*****************
:
:
*****************
* * * *
* * SortColumn* *
* * * *
* * (C) * *
* * * *
*****************
:
:
*****************
* * * *
* * Output * *
* * Matrix * *
* * (C) * *
* * * *
*****************
:
:
***************
* *
* К О Н Е Ц *
* *
***************
СХЕМА ПРОЦЕДУРЫ InputMatrix
***************
* *
* П У С К *
* *
***************
:
:
***************** ┌─
* * │
* * │ Инициализация
* i:=1 *∙∙│
* * │ счетчика цикла
* * │
***************** └─
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
: :
***************** ┌─ :
* * │ ─┐ *****************
* * │ Инициализация │ * *
* j:=1 *∙∙│ Переопределение │ * *
* * │ счетчика цикла │∙∙* i:=i+1 *
* * │ счетчика цикла │ * *
***************** └─ │ * *
: ─┘ *****************
: :
: :
: :
: :
:∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : :
: ***************** ┌─ :
: * * │ :
: * * │ Переопределение :
: * j:=j+1 *∙∙∙∙∙∙∙│ :
: * * │ счетчика цикла :
: * * │ :
: ***************** └─ :
: : :
: : :
: ***************** ┌─ :
: │ Ввод :
: * * │ :
: M[i,j] ∙∙∙∙∙∙∙│ элемента :
* * * │ :
* * │ матрицы :
* * ***************** └─ :
* * Нет : :
* j>QCol *∙∙∙∙∙∙∙∙∙∙∙∙∙∙' :
* * :
* * :
* * :
* :
: Да :
: :
* :
* * :
* * :
* * Нет :
* i>QLine *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
* *
* *
* *
*
: Да
:
:
***************
* *
* К О Н Е Ц *
* *
***************
СХЕМА ПРОЦЕДУРЫ OutputMatrix
***************
* *
* П У С К *
* *
***************
:
:
*****************
* Вывод *
* заголовка *
*****************
:
:
***************** ┌─
* * │
* * │ Инициализация
* i:=1 *∙∙│
* * │ счетчика цикла
* * │
***************** └─
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
: :
***************** ┌─ :
* * │ ─┐ *****************
* * │ Инициализация │ * *
* j:=1 *∙∙│ Переопределение │ * *
* * │ счетчика цикла │∙∙* i:=i+1 *
* * │ счетчика цикла │ * *
***************** └─ │ * *
: ─┘ *****************
: :
: :
: :
: :
:∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : :
: ***************** ┌─ :
: * * │ :
: * * │ Переопределение :
: * j:=j+1 *∙∙∙∙∙∙∙│ :
: * * │ счетчика цикла :
: * * │ :
: ***************** └─ :
: : :
: : :
: ***************** ┌─ :
: │ Вывод :
: * * │ :
: M[i,j] ∙∙∙∙∙∙∙│ элемента :
* * * │ :
* * │ матрицы :
* * ***************** └─ :
* * Нет : :
* j>QCol *∙∙∙∙∙∙∙∙∙∙∙∙∙∙' :
* * :
* * *****************
* *
* * Вывод *
: Да конца
: * строки *
*
* * *****************
* * :
* * Нет :
* i>QLine *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
* *
* *
* *
*
: Да
:
:
*****************
* Вывод *
конца
* строки *
*****************
:
:
***************
* *
* К О Н Е Ц *
* *
***************
СХЕМА ПРОЦЕДУРЫ OutputVector
***************
* *
* П У С К *
* *
***************
:
:
*****************
* Вывод *
* заголовка *
*****************
:
:
***************** ┌─
* * │
* * │ Инициализация
* i:=1 *∙∙│
* * │ счетчика цикла
* * │
***************** └─
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙.
: :
: :
: ***************** ┌─
: * * │
: * * │ Переопределение
: * i:=i+1 *∙∙∙∙∙∙∙│
: * * │ счетчика цикла
: * * │
: ***************** └─
: :
: :
: ***************** ┌─
: │ Ввод
: * * │
: V[i,j] ∙∙∙∙∙∙∙│ элемента
: * * │
: │ вектора
: ***************** └─
: :
* :
* * :
* * :
* * Нет :
* i>QLine *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
* *
* *
* *
*
: Да
:
:
*****************
* Вывод *
конца
* строки *
*****************
:
:
***************
* *
* К О Н Е Ц *
* *
***************
СХЕМА ПРОЦЕДУРЫ GetVector
***************
* *
* П У С К *
* *
***************
:
:
***************** ┌─
* * │
* * │ Инициализация
* i:=1 *∙∙│
* * │ счетчика цикла
* * │
***************** └─
:
:
:
:∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: ***************** ┌─
: * * │
: * * │ Переопределение
: * i:=i+1 *∙∙∙∙│
: * * │ счетчика цикла
: * * │
: ***************** └─
: :
: :
: ***************** ┌─
: * * │
: * * │ Определение
: * V[i]:=Sum(M,i)*∙∙∙∙│
* * * │ вектора
* * * * │
* * ***************** └─
* * Нет :
* i>QCol *∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
* *
* *
* *
*
: Да
:
:
:
***************
* *
* К О Н Е Ц *
* *
***************
СХЕМА ПРОЦЕДУРЫ Sum
***************
* *
* П У С К *
* *
***************
:
:
***************** ┌─
* * │
* * │ Начальное определение
* S:=0 *∙∙│
* * │ суммы
* * │
***************** └─
:
:
:
***************** ┌─
* * │
* * │ Инициализация
* i:=1 *∙∙│
* * │ счетчика цикла
* * │
***************** └─
:
:
:
:∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: ***************** ┌─
: * * │
: * * │ Переопределение
: * i:=i+1 *∙∙∙∙│
: * * │ счетчика цикла
: * * │
: ***************** └─
: :
: :
: ***************** ┌─
: * * │
: * * │ Набор
: * S:=S+A[i,C] *∙∙∙∙│
: * * │ суммы
* * * │
* * ***************** └─
* * :
* * Нет :
* i>QLine *∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
* *
* *
* *
*
: Да
:
:
***************** ┌─
* * │
* * │ Определение
* Sum:=S *∙∙│ значения
* * │ функции
* * │
***************** └─
:
:
***************
* *
* К О Н Е Ц *
* *
***************
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию