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

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

    WriteLn(fo,' Исходный массив Y:');

    for i:=0 to N-1 do

              Write(fo,Y[i]:8:4);

    WriteLn(fo);

    WriteLn(fo,'**************** Пункт 1: ****************');

    WriteLn(fo,' Новый массив V:');

    for i:=0 to N-1 do

              Write(fo,V[i]:8:4);

    WriteLn(fo);

    WriteLn(fo,'**************** Пункт 2: ****************');

    WriteLn(fo,' Минимальный элемент массива Vmin = ',Vmin:8:4);

    WriteLn(fo,' Преобразованный массив V:');

    for i:=0 to N-1 do

              Write(fo,Vnew[i]:8:4);

    WriteLn(fo);

    WriteLn(fo,'**************** Пункт 3: ****************');

    WriteLn(fo,' Новый массив W:');

    for i:=0 to M-1 do

    begin

      for j:=0 to M-1 do

                        Write(fo,W[i,j]:8:4);

              WriteLn(fo);

    end;

    WriteLn(fo,'**************** Пункт 4: ****************');

    WriteLn(fo,' Новый массив R:');

    for i:=0 to M-1 do

              Write(fo,R[i]:8:4);

    WriteLn(fo);

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

    CloseFile(fo);                    // закрытие файл вывода fo

end;

begin

    // чтение данных из файла;

    ReadFile(Y,N,M);

    // выделение динамической памяти под массивы

    SetLength(V,N);

    SetLength(Vnew,N);

    SetLength(W,M,M);

    SetLength(R,M);

    // вызов процедуры по пункту 1 задания

    Proc1(Y,V,N);

    // вызов процедуры по пункту 2 задания

    Proc2(V,Vnew,Vmin,N);

    // вызов процедуры по пункту 3 задания

    Proc3(Vnew,W,M);

    // вызов процедуры по пункту 4 задания

    Proc4(W,M,R);

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

    WriteFile(Y,V,Vnew,N,Vmin,W,M,R);

    // освобождение динамической памяти

    Finalize(Y);

    Finalize(V);

    Finalize(Vnew);

    Finalize(W);

    Finalize(R);

end.

16. Структуру программы можно видеть в окне Code Explorer (меню View | CodeExplorer)

17.  Запустите приложение на выполнение (команда «Run | Run» или горячая клавиша F9). Сначала компилятор проводит синтаксический анализ исходного кода, затем подключаются внешние подпрограммы. Если ошибки отсутствуют, интегрированная среда запускает построенный выполняемый файл. В случае ошибок необходимо их локализовать, исправить и повторить выполнение команды «Run | Run».

18.  После успешного выполнения приложения будет создан текстовый файл с результатами расчета DZ1.out. Откройте файл (команда меню «File | Open») и проанализируйте выведенную информацию (в случае логических ошибок исправьте текст исходного кода и повторите пункт 16):

19. Проанализируйте содержание выходного файла DZ1.out

20. Сохраните и закройте проект DZ1.

21. Оформите «Пояснительную записку» расчетной работы.

ВАРІАНТИ РОЗРАХУНКОВЇ РОБОТИ

Варіант 1

1.  Перетворити одновимірний масив дійсних чисел Y(N) = {1.9, -1.7, 0.2, -1.1, 1.3, -7.7, 0.3, -1.6, -5.1} у масив чисел V за формулою 
Vj = cosYj, де j = 1..N (N = 9) за допомогою функції.

2.  Знайти найбільший за абсолютним значенням елемент масиву  V, суму елементів, що йому передують, і добуток додатних елементів. Оформити підпрограму виконання вказаних дій над масивом дійсних чисел А(a1, a2, ..., an).

3.  Перетворити одновимірний масив V(9) у двовимірний W(3, 3): розрізати умовно масив V  на три смужки; помістити потім під першою смужкою другу, під другою – третю. Використати при цьому підпрограму перетворення одновимірного масиву А(n) у двовимірний масив дійсних чисел B(m, m).

4.  Поміняти місцями другий і третій рядки матриці. Оформити підпрограму виконання вказаних дій над масивом В(m, m). Результати повернути через список формальних параметрів.

Варіант 2

1.  Перетворити одновимірний масив дійсних чисел Y(N) = {0.2, -1.1, 9.3, -0.8, 2.3, -9.1, 4.0, -1.6, -11.1} у масив V за формулою Vj = sinYj, де
j = 1..N (N = 9). Оформити підпрограму перетворення масиву Y у 
масив V.