Программа


PROGRAM MatrixMan;
CONST n=4; { Размерность матрицы матрицы }
TYPE Matrix=array [1..n,1..n] of real; { Тип -матрица }
VAR A,B:Matrix; { Матрицы }
    InputFile,OutputFile:string; { Имена входного и выходного файлов }
    Line1,Line2:integer;  { Номера строк }
    Error:boolean; { Флаг ошибки }
    F:text; { Файловая переменная }
PROCEDURE Swap(var A,B:real); { Процедура взаимного обмена }
  Var Buf:real;  { Буфер переноса }
  Begin
    { Обмен: }
    Buf:=A;
    A:=B;
    B:=Buf
  End;
PROCEDURE ChangeMatrixString(var B:Matrix; String1, String2:word);
                                     { Процедура перестановки строк матрицы }
  Var j:word;   { Счетчик }
  Begin
    for j:=1 to n do { Цикл перестановки элементов матрицы }
      Swap (B[String1,j],B[String2,j])     { Перестановка элемента }
  End;
PROCEDURE InputMatrix(var B:Matrix); { Процедура ввода матрицы }
  Var i,j:word;  { Счетчики }
      Error:boolean; { Флаг ошибки }
  Begin
    for i:=1 to n do { Цикл ввода строк матрицы }
      for j:=1 to n do { Цикл ввода элементов матрицы }
        begin
           {$I-} { Отключение проверки ошибок ввода-вывода }
           repeat
             Write('Введите элемент [',i,',',j,'] ');
                                 { Вывод приглашения ввести элемент матрицы }
             ReadLn(B[i,j]);   { Ввод элемента матрицы }
             Error:=IOResult<>0;  { Фиксация ошибки }
             if Error then { Проверка корректности введенного параметра }
             begin
               { Вывод сообщения при ошибке: }
               WriteLn('Ошибка в параметрах');
               WriteLn('Повторите ввод')
             end
           until not Error
           {$I+} { Включение проверки ошибок ввода-вывода }
        end
  End;
PROCEDURE InputData(var A:Matrix; var Line1,Line2:integer; InputFile:string; var Error:boolean );
                                                    { Процедура ввода данных }
  var F:text;  { Файловая переменная }
      i,j:integer; { Счетчики }
  Begin
    if (InputFile='CON')or(InputFile='') { Проверка имени входного файла }
    then begin  { Получение данных с консоли }
           InputMatrix(A); { Ввод матрицы }
           {$I-} { Отключение проверки ошибок ввода-вывода }
           repeat { Цикл ввода номеров переставляемых строк: }
             Write('Введите номера переставляемых строк '); { Вывод приглашения }
             ReadLn(Line1,Line2);  { Ввод параметров }
             Error:=IOResult<>0; { Проверка ввода-вывода }
             if Error or (1<Line1) or (Line1>n) or (1<Line2) or (Line2>n) then
             begin
               { Вывод сообщения об ошибке: }
               WriteLn('Ошибка в параметрах');
               WriteLn('Повторите ввод')
             end
           until not Error
           {$I+} { Включение проверки ошибок ввода-вывода }
         end
    else begin  { Получение данных из внешнего файла }
           {$I-} { Отключение проверки ошибок ввода-вывода }
           Error:=False;  { Сброс флага }
           Assign(F,InputFile);  { Связывание файловой переменной с именем файла }
           Reset(F);      { Открытие файла под чтение }
           Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
           for i:=1 to n do  { Цикл чтения строк }
             for j:=1 to n do  { Цикл чтения полей чисел }
             begin
               Read(F,A[i,j]); { Чтение элемента матрицы }
               Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
             end;
           Read(F,Line1,Line2);  { Чтение номеров переставляемых строк }
           Error:=Error or (0<Line1) or (Line1>n) or (0<Line2) or (Line2>n);
                                              { Проверка значения параметров }
           Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
           Close(F);
           Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
           {$I+} { Включение проверки ошибок ввода-вывода }
           if Error then WriteLn('Ошибка во входном файле');
         end
  End;
PROCEDURE OutputMatrix (Head:string; B:Matrix; OutputFile:string); { Процедура вывода матрицы }
  Var i,j:word;   { Счетчики }
      F:text;  { Файловая переменная }
  Begin
    Assign(F,OutputFile);  { Связывание файловой переменной с именем файла }
    Append(F);  { Открытие файла для добавления }
    WriteLn(F);  { Пропуск строки }
    WriteLn(F,Head);  { Вывод заголовка }
    for i:=1 to n do { Цикл вывода строк матрицы }
      begin
        for j:=1 to n do { Цикл вывода элементов матрицы }
          Write (F,B[i,j],' ');  { Вывод элемента матрицы }
        WriteLn(F)  { Вывод конца строки }
      end;
    Close(F)  { Закрытие файла }
  End;

PROCEDURE GetLowTriangleMatrix (A:Matrix; var B:Matrix);
                             { Процедура получения нижнетреугольной матрицы }
  Var i,j:word;   { Счетчики }
  Begin
    for i:=1 to n do { Цикл просмотра строк }
      for j:=1 to n do { Цикл копирования элементов }
        begin
          if j<=i then B[i,j]:=A[i,j]   { Копирование элемента }
                  else B[i,j]:=0;       { Обнуление элемента }
        end
  End;

PROCEDURE UpStr(var S:string);
           { Процедура преобразования строчных букв в строке в прописные }
  Var i:byte; { Счетчик символов }
  Begin
    for i:=1 to Length(S) do S[i]:=UpCase(S[i])
                             { Цикл преобразования строчных букв в прописные }
  End;
FUNCTION Str(Num:integer):string; { Функция преобразования числа в строку }
  Var St:string; { Буферная переменная - строка }
  Begin
    System.Str(Num:0,St);  { Преобразование числа в строку }
    Str:=St                { Определение значения функции }
  End;
FUNCTION GetSum(B:Matrix):real;
    { Функция получения суммы положительных элементов под главной диагональю }
  Var Sum:real;  { Сумма }
      i,j:integer;  { Счетчики }
  Begin
    Sum:=0; { Обнуление суммы }
    for i:=1 to n do { Цикл просмотра строк }
      for j:=1 to i-1 do { Цикл просмотра элементов }
        if B[i,j]>0 then Sum:=Sum+B[i,j];  { Набор суммы }
    GetSum:=Sum  { Определение значения функции }
  End;
BEGIN
  Write('Введите имя входного файла данных ');{ Вывод приглашения ввести имя файла }
  ReadLn(InputFile);  { Ввод имени входного файла }
  Write('Введите имя выходного файла данных ');{ Вывод приглашения ввести имя файла }
  ReadLn(OutputFile);  { Ввод имени выходного файла }
  { Преобразование имен файлов: }
  UpStr(InputFile);
  UpStr(OutputFile);
  InputData(A,Line1,Line2,InputFile,Error);
  { Создание выходного файла: }
  Assign(F,OutputFile);  { Связывание файловой переменной с именем файла }
  Rewrite(F); { Открытие файла под запись }
  WriteLn(F); { Пропуск строки }
  Close(F);    { Закрытие файла }
  if not Error then { Проверка наличия ошибок при вводе }
  Begin
    OutputMatrix('Исходная матрица:',A,OutputFile); { Вывод исходной матрицы }
    ChangeMatrixString(A,Line1,Line2); { Перемена строк в матрице }
    OutputMatrix('Mатрица после перестановки строк '+Str(Line1)+' и '+Str(Line2)+':',A,OutputFile);
                                        { Вывод матрицы после перемены строк }
    GetLowTriangleMatrix(A,B); { Получение нижнетреугольной матрицы }
    OutputMatrix('Нижнетреугольная матрица:',B,OutputFile);
                                           { Вывод нижнетреугольной матрицы }
    Assign(F,OutputFile);  { Связывание файловой переменной с именем файла }
    Append(F);    { Открытие файла для добавления }
    WriteLn(F);  { Пропуск строки }
    WriteLn(F,'Сумма положительных элементов расположенных под главной диагональю: ',
            GetSum(B):0:4);  { Вычисление и вывод суммы }
    Close(F)    { Закрытие файла }
  End
END.


 П Р О Г Р А М М А


  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
   *****************               ┌─
                                   │ Ввод имени
  *   InputFile   *                │
                   ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│ входного и выходного
 *   OutputFile  *                 │
                                   │ файлов
*****************                  └─
         :
         :
         :
         :
 *****************                 ┌─
 * *           * *                 │
 * *           * *                 │ Преобразование имен
 * *   UpStr   * *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│
 * *           * *                 │ файлов в верхний регистр
 * *           * *                 │
 *****************                 └─
         :
         :
         :
         :
 *****************                 ┌─
 * *           * *                 │
 * *           * *                 │
 * * InputData * *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│ Ввод данных
 * *           * *                 │
 * *           * *                 │
 *****************                 └─
         :
         :
 *****************                 ┌─
 *               *                 │ Создание
 *               *                 │
 *               *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│ выходного
 *               *                 │
 *               *                 │ файла
 *****************                 └─
         :
         :
         :
         *
       *   *
     *       *
   *           *   Да
 *   not Error   *∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
   *           *                :
     *       *                  :
       *   *                    :
         *                      :
         : Нет                  :
         :                      :
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              * *           * *       │ Вывод
         :              * *  Output   * *       │
         :              * *  Matrix   * *∙∙∙∙∙∙∙│ исходной
         :              * *           * *       │
         :              * *           * *       │ матрицы
         :              *****************       └─
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              * *           * *       │ Перемена
         :              * *  Change   * *       │
         :              * *  Matrix   * *∙∙∙∙∙∙∙│ строк в
         :              * *  String   * *       │
         :              * *           * *       │ матрице
         :              *****************       └─
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              * *           * *       │
         :              * *  Output   * *       │ Вывод
         :              * *  Matrix   * *∙∙∙∙∙∙∙│
         :              * *           * *       │ матрицы
         :              * *           * *       │
         :              *****************       └─
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              * *           * *       │ Создание
         :              * *  GetLow   * *       │
         :              * * Triangle  * *∙∙∙∙∙∙∙│ нижнетреугольной
         :              * *  Matrix   * *       │
         :              * *           * *       │ матрицы
         :              *****************       └─
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              * *           * *       │ Вывод
         :              * *  Output   * *       │
         :              * *  Matrix   * *∙∙∙∙∙∙∙│ нижнетреугольной
         :              * *           * *       │
         :              * *           * *       │ матрицы
         :              *****************       └─
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              *               *       │ Вычисление
         :              *               *       │
         :              *    GetSum     *∙∙∙∙∙∙∙│ и вывод суммы
         :              *               *       │
         :              *               *       │ положительных элементов
         :              *****************       └─
         :                      :
         :                      :
         :                      :
         :∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************




П Р О Ц Е Д У Р А  Swap


  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
 *****************       ┌─
 *    Buf:=A     *       │
 *               *       │ Обмен содержимого
 *     A:=B      *∙∙∙∙∙∙∙│
 *               *       │ переменных
 *    B:=Buf     *       │
 *****************       └─
         :
         :
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************



П Р О Ц Е Д У Р А   ChangeMatrixString




  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
 *****************       ┌─
 *               *       │ Начальное
 *               *       │
 *     j:=1      *∙∙∙∙∙∙∙│ определение
 *               *       │
 *               *       │ счетчика
 *****************       └─
         :
         :
         :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙.
         :                      :
         :                      :
         :              *****************
         :              *               *
         :              *               *
         :              *     j:=j+1    *
         :              *               *
         :              *               *
         :              *****************
         :                      :
         :                      :
         :                      :
         :              *****************       ┌─
         :              * *           * *       │ Перестановка
         :              * *           * *       │
         :              * *   Swap    * *∙∙∙∙∙∙∙│ элементов
         :              * *           * *       │
         :              * *           * *       │ в столбцах
         :              *****************       └─
         *                      :
       *   *                    :
     *       *                  :
   *           *   Да           :
 *     j<=n      *∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
   *           *
     *       *
       *   *
         *
         : Нет
         :
         :
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************




П Р О Ц Е Д У Р А    InputMatrix



  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
 *****************       ┌─
 *               *       │ Начальное
 *               *       │
 *     i:=1      *∙∙∙∙∙∙∙│ определение
 *               *       │
 *               *       │ счетчика
 *****************       └─
         :
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
         :                                                                   :
         :                                                                   :
         *                                                                   :
       *   *                                                                 :
     *       *                                                               :
   *           *   Да                                                        :
 *     i<=n      *∙∙∙∙∙∙.                                                    :
   *           *        :                                                    :
     *       *          :                                                    :
       *   *            :                                                    :
         *              :                                                    :
         : Нет          :                                                    :
         :      *****************       ┌─                                   :
         :      *               *       │ Начальное                          :
         :      *               *       │                                    :
         :      *     j:=1      *∙∙∙∙∙∙∙│ определение                        :
         :      *               *       │                                    :
         :      *               *       │ счетчика                           :
         :      *****************       └─                                   :
         :              :                                                    :
         :              :                                                    :
         :              :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.  :
         :              :                                                 :  :
         :              :                                                 :  :
         :              *                                                 :  :
         :            *   *                                               :  :
         :          *       *                                             :  :
         :        *           *   Да                                      :  :
         :      *     j<=n      *∙∙∙∙∙∙>∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙.  :  :
         :        *           *             :                          :  :  :
         :          *       *               :                          :  :  :
         :            *   *           *****************   ┌─           :  :  :
         :              *                                 │ Ввод       :  :  :
         :              : Нет        *               *    │            :  :  :
         :              :             ReadLn(B[i,j])  ∙∙∙∙│ элемента   :  :  :
         :      *****************   *               *     │            :  :  :
         :      *               *                         │ матрицы    :  :  :
         :      *               *  *****************      └─           :  :  :
         :      *     i:=i+1    *           :                          :  :  :
         :      *               *           :                          :  :  :
         :      *               *   *****************                  :  :  :
         :      *****************   *               *                  :  :  :
         :              :           *    Error:=    *                  :  :  :
         :              :           *               *                  :  :  :
         :              :           *  IOResult<>0  *                  :  :  :
         :              :           *               *                  :  :  :
         :              :           *****************                  :  :  :
         :              :                   :                          :  :  :
         :              :                   :                          :  :  :
         :              :                   :                          :  :  :
         :              :                   *                          :  :  :
         :              :                 *   *                        :  :  :
         :              :               *       *                      :  :  :
         :              :             *           *   Да               :  :  :
         :              :           *     Error     *∙∙∙∙∙∙.           :  :  :
         :              :             *           *        :           :  :  :
         :              :               *       *          :           :  :  :
         :              :                 *   *      ***************** :  :  :
         :              :                   *            Вывод         :  :  :
         :              :                   : Нет   *               *  :  :  :
         :              :                   :          сообщения       :  :  :
         :              :                   :      *               *   :  :  :
         :              :                   :          об ошибке       :  :  :
         :              :                   :     *****************    :  :  :
         :              :                   :              :           :  :  :
         :              :                   :              :           :  :  :
         :              :                   :              `∙∙∙∙∙>∙∙∙∙∙'  :  :
         :              :                   :                             :  :
         :              :                   :                             :  :
         :              :           *****************                     :  :
         :              :           *               *                     :  :
         :              :           *               *                     :  :
         :              :           *     j:=j+1    *                     :  :
         :              :           *               *                     :  :
         :              :           *               *                     :  :
         :              :           *****************                     :  :
         :              :                   :                             :  :
         :              :                   `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙'  :
         :              :                                                    :
         :              `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************







П Р О Ц Е Д У Р А   InputData



                       ***************
                      *               *
                      *    П У С К    *
                      *               *
                       ***************
                              :
                              :
                              *
                            *   *                     ┌─
                          *       *                   │ Входной файл
                  Нет   *           *   Да            │
        .∙∙∙∙∙∙∙∙∙∙∙∙∙*               *∙∙∙∙∙∙∙∙∙.∙∙∙∙∙│ соответствует
        :               *           *           :     │
        :                 *       *             :     │ файлу консоли
        :                   *   *               :     └─
        :                     *                 :
        :                                       :
        :                                       :
        :                               *****************    ┌─
        :                               * *           * *    │
        :                               * *           * *    │ Ввод матрицы
*****************                       * *InputMatrix* *∙∙∙∙│
*   Открытие    *                       * *           * *    │ с консоли
*               *                       * *           * *    │
*     файла     *                       *****************    └─
*               *                               :
*  под чтение   *                               :∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
*****************                               :                             :
        :                                 *****************  ┌─               :
        :                                                    │ Ввод номеров   :
        :                                *    Line1      *   │                :
        :                                                 ∙∙∙│ переставляемых :
*****************                       *     Line2     *    │                :
*    Проверка   *                                            │ строк          :
*               *                      *****************     └─               :
*    открытия   *                               :                             :
*               *                               :                             :
*     файла     *                               *                             :
*****************                             *   *            ┌─             :
        :                                   *       *          │ Проверка     :
        :                            Да   *           *   Нет  │ корректности :
        :                           ∙∙∙∙*               *∙∙∙.∙∙│ введенных    :
        :                           :     *           *     :  │ данных       :
        :                           :       *       *       :  │              :
        :                           :         *   *         :  └─             :
        :                           :           *           :                 :
*****************     ┌─            :                 *****************       :
*               *     │ Начальное   :                     Вывод               :
*               *     │ определение :                *               *        :
*     i:=1      *∙∙∙∙∙│ счетчика    :                   сообщения             :
*               *     │ строк       :               *               *         :
*               *     │ матрицы     :                   об ошибке             :
*****************     └─            :              *****************          :
        :                           :                       :                 :
        :                           :                       :                 :
        :                           :                       `∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙'
        :                           :
        :                           `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
        :                                                               .
        :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.    :
        :                                                          :    :
        :                                                          :    :
        *                                                          :    :
      *   *                                                        :    :
    *       *                                                      :    :
  *           *   Да                                               :    :
*     i<=n      *∙∙.                                               :    :
  *           *    :                                               :    :
    *       *      :                                               :    :
      *   *        :                                               :    :
        *          :                                               :    :
        : Нет      :                                               :    :
        :          :                                               :    :
        :  *****************       ┌─                              :    :
        :  *               *       │ Начальное                     :    :
        :  *               *       │ определение                   :    :
        :  *     j:=1      *∙∙∙∙∙∙∙│ счетчика                      :    :
        :  *               *       │ элементов                     :    :
        :  *               *       │ матрицы                       :    :
        :  *****************       └─                              :    :
        :          :                                               :    :
        :          :                                               :    :
        :          :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.  :    :
        :          :                                            :  :    :
        :          :                                            :  :    :
        :          *                                            :  :    :
        :        *   *                                          :  :    :
        :      *       *                                        :  :    :
        :    *           *   Да                                 :  :    :
        :  *     j<=n      *∙∙∙∙∙∙>∙∙∙∙.                        :  :    :
        :    *           *             :                        :  :    :
        :      *       *               :                        :  :    :
        :        *   *           *****************   ┌─         :  :    :
        :          *                                 │ Ввод     :  :    :
        :          : Нет        *    ReadLn     *    │          :  :    :
        :          :                             ∙∙∙∙│ элемента :  :    :
        :  *****************   *    (F,B[i,j]) *     │          :  :    :
        :  *               *                         │ матрицы  :  :    :
        :  *               *  *****************      └─         :  :    :
        :  *     i:=i+1    *           :                        :  :    :
        :  *               *           :                        :  :    :
        :  *               *   *****************     ┌─         :  :    :
        :  *****************   *               *     │ Фиксация :  :    :
        :          :           *    Error:=    *     │ ошибки   :  :    :
        :          :           *               *∙∙∙∙∙│ ввода-   :  :    :
        :          :           *  IOResult<>0  *     │ вывода   :  :    :
        :          :           *               *     │          :  :    :
        :          :           *****************     └─         :  :    :
        :          :                   :                        :  :    :
        :          :                   :                        :  :    :
        :          :           *****************                :  :    :
        :          :           *               *                :  :    :
        :          :           *               *                :  :    :
        :          :           *     j:=j+1    *                :  :    :
        :          :           *               *                :  :    :
        :          :           *               *                :  :    :
        :          :           *****************                :  :    :
        :          :                   :                        :  :    :
        :          :                   `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙'  :    :
        :          :                                               :    :
        :          `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'    :
        :                                                               :
        :                                                               :
        `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
                                      :
                                      :
                               ***************
                              *               *
                              *   К О Н Е Ц   *
                              *               *
                               ***************




П Р О Ц Е Д У Р А   OutputMatrix






  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
 *****************
 *               *
 *   Открытие    *
 *               *
 *     файла     *
 *               *
 *****************
         :
   *****************

  *    Вывод      *

 *   заголовка   *

*****************
         :
         :
         :
 *****************       ┌─
 *               *       │ Начальное
 *               *       │
 *     i:=1      *∙∙∙∙∙∙∙│ определение
 *               *       │
 *               *       │ счетчика
 *****************       └─
         :
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
         :                                                              :
         :                                                              :
         *                                                              :
       *   *                                                            :
     *       *                                                          :
   *           *   Да                                                   :
 *     i<=n      *∙∙∙∙∙∙.                                               :
   *           *        :                                               :
     *       *          :                                               :
       *   *            :                                               :
         *              :                                               :
         : Нет          :                                               :
         :      *****************       ┌─                              :
         :      *               *       │ Начальное                     :
         :      *               *       │                               :
         :      *     j:=1      *∙∙∙∙∙∙∙│ определение                   :
         :      *               *       │                               :
         :      *               *       │ счетчика                      :
         :      *****************       └─                              :
         :              :                                               :
         :              :                                               :
         :              :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.  :
         :              :                                            :  :
         :              :                                            :  :
         :              *                                            :  :
         :            *   *                                          :  :
         :          *       *                                        :  :
         :        *           *   Да                                 :  :
         :      *     j<=n      *∙∙∙∙∙∙>∙∙∙.                         :  :
         :        *           *            :                         :  :
         :          *       *              :                         :  :
         :            *   *          *****************   ┌─          :  :
         :              *                                │ Вывод     :  :
         :              : Нет       *    Write      *    │           :  :
         :              :                            ∙∙∙∙│ элемента  :  :
         :      *****************  *   (F,B[i,j])  *     │           :  :
         :      *               *                        │ матрицы   :  :
         :      *               * *****************      └─          :  :
         :      *     i:=i+1    *          :                         :  :
         :      *               *          :                         :  :
         :      *               *          :                         :  :
         :      *****************          :                         :  :
         :              :                  :                         :  :
         :              :           *****************                :  :
         :        ***************** *               *                :  :
         :            Вывод         *               *                :  :
         :       *               *  *     j:=j+1    *                :  :
         :         конца строки     *               *                :  :
         :      *               *   *               *                :  :
         :            в файл        *****************                :  :
         :     *****************            :                        :  :
         :              :                   `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙'  :
         :              :                                               :
         :              `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************



П Р О Ц Е Д У Р А   GetLowTriangleMatrix
 





  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
         :
 *****************       ┌─
 *               *       │ Начальное
 *               *       │
 *     i:=1      *∙∙∙∙∙∙∙│ определение
 *               *       │
 *               *       │ счетчика
 *****************       └─
         :
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
         :                                                                  :
         :                                                                  :
         *                                                                  :
       *   *                                                                :
     *       *                                                              :
   *           *   Да                                                       :
 *     i<=n      *∙∙∙∙∙∙.                                                   :
   *           *        :                                                   :
     *       *          :                                                   :
       *   *            :                                                   :
         *              :                                                   :
         : Нет          :                                                   :
         :      *****************       ┌─                                  :
         :      *               *       │ Начальное                         :
         :      *               *       │                                   :
         :      *     j:=1      *∙∙∙∙∙∙∙│ определение                       :
         :      *               *       │                                   :
         :      *               *       │ счетчика                          :
         :      *****************       └─                                  :
         :              :                                                   :
         :              :                                                   :
         :              :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.  :
         :              :                                                :  :
         :              :                                                :  :
         :              *                                                :  :
         :            *   *                                              :  :
         :          *       *                                            :  :
         :        *           *   Да                                     :  :
         :      *     j<=n      *∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙.                      :  :
         :        *           *                   :                      :  :
         :          *       *                     :                      :  :
         :            *   *                       *                      :  :
         :              *                       *   *                    :  :
         :              : Нет                 *       *                  :  :
         :              :             Нет   *           *   Да           :  :
         :              :             .∙∙∙*     j<=n      *∙∙∙∙.         :  :
         :              :             :     *           *      :         :  :
         :              :             :       *       *        :         :  :
         :              :             :         *   *          :         :  :
         :              :             :           *            :         :  :
         :              :             :                        :         :  :
         :              :             :                        :         :  :
         :              :             :                        :         :  :
         :              :             :                        :         :  :
         :              :     *****************        ***************** :  :
         :              :     *               *        *               * :  :
         :              :     *               *        *               * :  :
         :              :     * B[i,j]:=A[i,j]*        *   B[i,j]:=0   * :  :
         :              :     *               *        *               * :  :
         :              :     *               *        *               * :  :
         :              :     *****************        ***************** :  :
         :              :             :                        :         :  :
         :              :             :                        :         :  :
         :              :             `∙∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙∙'         :  :
         :              :                         .                      :  :
         :              :                         :                      :  :
         :              :                 *****************              :  :
         :      *****************         *               *              :  :
         :      *               *         *               *              :  :
         :      *               *         *     j:=j+1    *              :  :
         :      *     i:=i+1    *         *               *              :  :
         :      *               *         *               *              :  :
         :      *               *         *****************              :  :
         :      *****************                 :                      :  :
         :              :                         :                      :  :
         :              :                         `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'  :
         :              :                                                   :
         :              `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************









П Р О Ц Е Д У Р А   UpStr
 





                      ***************
                     *               *
                     *    П У С К    *
                     *               *
                      ***************
                             :
                             :
                             :
                             :
                     *****************       ┌─
                     *               *       │ Начальное
                     *               *       │
                     *     i:=1      *∙∙∙∙∙∙∙│ определение
                     *               *       │
                     *               *       │ счетчика
                     *****************       └─
                             :
                             :
                             :∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
                             :                               :
                             :                               :
                             *                               :
                           *   *                             :
                         *       *                           :
                  Нет  *           *   Да                    :
               .∙∙∙∙∙*  i<=Length(S) *∙∙∙∙∙∙.                :
               :       *           *        :                :
               :         *       *          :                :
               :           *   *            :                :
               :             *              :                :
               :                            :                :
               :                            :                :
               :                    *****************        :
               :                    *               *        :
               :                    *    S[i]:=     *        :
               :                    *               *        :
               :                    *  UpCase(S[i]) *        :
               :                    *               *        :
               :                    *****************        :
               :                            :                :
               :                            :                :
               :                            :                :
               :                    *****************        :
               :                    *               *        :
               :                    *               *        :
               :                    *     i:=i+1    *        :
               :                    *               *        :
               :                    *               *        :
               :                    *****************        :
               :                            :                :
               :                            :                :
               :                            `∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙'
               :
        ***************
       *               *
       *   К О Н Е Ц   *
       *               *
        ***************









П Р О Ц Е Д У Р А   GetSum
 





  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :
         :
 *****************       ┌─
 *               *       │
 *               *       │  Обнуление
 *    Sum:=0     *∙∙∙∙∙∙∙│
 *               *       │  суммы
 *               *       │
 *****************       └─
         :
         :
 *****************       ┌─
 *               *       │ Начальное
 *               *       │ определение
 *     i:=1      *∙∙∙∙∙∙∙│ счетчика
 *               *       │ строк
 *               *       │
 *****************       └─
         :
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
         :                                                                  :
         :                                                                  :
         *                                                                  :
       *   *                                                                :
     *       *                                                              :
   *           *   Да                                                       :
 *     i<=n      *∙∙∙∙∙∙.                                                   :
   *           *        :                                                   :
     *       *          :                                                   :
       *   *            :                                                   :
         *              :                                                   :
         : Нет          :                                                   :
         :      *****************       ┌─                                  :
         :      *               *       │ Начальное                         :
         :      *               *       │ определение                       :
         :      *     j:=1      *∙∙∙∙∙∙∙│ счетчика                          :
         :      *               *       │ элементв                          :
         :      *               *       │                                   :
         :      *****************       └─                                  :
         :              :                                                   :
         :              :                                                   :
         :              :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.  :
         :              :                                                :  :
         :              :                                                :  :
         :              *                                                :  :
         :            *   *                                              :  :
         :          *       *                                            :  :
         :        *           *   Да                                     :  :
         :      *     j<=i-1    *∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙.                      :  :
         :        *           *                   :                      :  :
         :          *       *                     :                      :  :
         :            *   *                       *                      :  :
         :              *                       *   *                    :  :
         :              : Нет                 *       *                  :  :
         :              :             Нет   *           *   Да           :  :
         :              :             .∙∙∙*   B[i,j]>0    *∙∙∙∙.         :  :
         :              :             :     *           *      :         :  :
         :              :             :       *       *        :         :  :
         :              :             :         *   *          :         :  :
         :              :             :           *            :         :  :
         :      *****************     :                        :         :  :
         :      *               *     :                        :         :  :
         :      *               *     :                ***************** :  :
         :      *     j:=j+1    *     :                *               * :  :
         :      *               *     :                *               * :  :
         :      *               *     :                *Sum:=Sum+B[i,j]* :  :
         :      *****************     :                *               * :  :
         :              :             :                *               * :  :
         :              :             :                ***************** :  :
         :              :             :                        :         :  :
         :              :             :                        :         :  :
         :              :             `∙∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙∙'         :  :
         :              :                         .                      :  :
         :              :                         :                      :  :
         :              :                 *****************              :  :
         :              :                 *               *              :  :
         :              :                 *               *              :  :
         :              :                 *     i:=i+1    *              :  :
         :              :                 *               *              :  :
         :              :                 *               *              :  :
         :              :                 *****************              :  :
         :              :                         :                      :  :
         :              :                         :                      :  :
         :              :                         `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'  :
         :              :                                                   :
         :              `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************

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