Динамические массивы: Методическое пособие к расчетному заданию по дисциплине «Основы информационных технологий и программирования», страница 3

Procedure ReadFile(var A:arr1;var N,M:integer);

Var

    fi:text;                     // файловая переменная

    i:integer;                 // счетчик

begin

    // связывание файловой переменной с файлом

    AssignFile(fi,'DZ1.txt');

    Reset(fi);                // открытие текстового файла для чтения

    Readln(fi,N);           // чтение количества элементов одномерных массивов

    SetLength(A,N);      // выделение памяти одномерному массиву

    for i:=0 to N-1 do               // чтение массива А из файла

                        Read(fi,A[i]);

    Readln(fi,M);           // чтение количества строк-столбцов квадратной матрицы

    CloseFile(fi);            // закрытие файла

end;

//-------------------------------------------------------------

//  описание процедуры по пункту 1

//-------------------------------------------------------------

Procedure Proc1(var Y,V:arr1; N:integer);

Var

    i:integer;                 // счетчик

begin

   for i:=0 to N-1 do     // создание массива V

                        V[i]:=cos(Y[i]);

end;

//-------------------------------------------------------------

//  описание процедуры по пункту 2

//-------------------------------------------------------------

Procedure Proc2(var A,Anew:arr1; var Amin:real; N:integer);

Var

    i:integer;                 // счетчик

begin

      // поиск минимального элемента массива А

    Amin:=A[0];

   for i:=0 to N-1 do

                  if A[i]<Amin then Amin:=A[i];

      // преобразование массива А в массив Anew

   for i:=0 to N-1 do

    begin

              if(A[i]>0)then

                                  Anew[i]:=power(A[i],3)

          else

                                  Anew[i]:=Amin;

    end;

end;

//-------------------------------------------------------------

//  описание процедуры по пункту 3

//-------------------------------------------------------------

Procedure Proc3(var A:arr1; var W:arr2; M:integer);

Var

    i,j:integer;     // счетчики строк и столбцов матрицы

    k:integer;      // счетчик массива А

begin

    k:=-1;

   for i:=0 to M-1 do

             for j:=0 to M-1 do

              begin

                        k:=k+1;

                        W[i,j]:=A[k];

              end;

end;

//-------------------------------------------------------------

//  описание процедуры по пункту 4

//-------------------------------------------------------------

Procedure Proc4(var W:arr2; M:integer; var R:arr1);

Var

    i,j:integer;     // счетчики строк и столбцов матрицы

    P:real;          // произведение элементов столбца матрицы

begin

      // проход по столбцам матрицы

   for j:=0 to M-1 do

    begin

     // поиск произведения элементов столбца матрицы

     P:=1;

              for i:=0 to M-1 do

                                  P:=P*W[i,j];

              R[j]:=P;

    end;

end;

//-------------------------------------------------------------

//  описание процедуры вывода результата в файл

//-------------------------------------------------------------

Procedure WriteFile(var Y,V,Vnew:arr1; N:integer; var Vmin:real;

     var W:arr2; M:integer; var R:arr1);

var

    i,j:integer;     // счетчики

    fo:text;          // файловая переменная

begin

    // Файловой переменной fo назначается файл DZ1.out

    AssignFile(fo,'DZ1.out');

    Rewrite(fo);             // Текстовый файл fo открывается для записи

    WriteLn(fo,'******************************************');

    WriteLn(fo,'*          Домашнее задание №1           *');

    WriteLn(fo,'*   по курсу "Основы информационных      *');

    WriteLn(fo,'*   технологий и программирования"       *');

    WriteLn(fo,'*            (семестр 1)                 *');

    WriteLn(fo,'******************************************');

    WriteLn(fo,'*  Выполнил: ст. 212 гр.  Иванов И.И.    *');

    WriteLn(fo,'*----------------------------------------*');

    WriteLn(fo,'*  Проверил: доц. каф.304 Скоб Ю.А.      *');