Программа


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     *∙∙│ значения
 *               *  │ функции
 *               *  │
 *****************  └─
         :
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию