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

Многомерные динамические массивы

Для объявления многомерных динамических массивов используйте повторяющуюся arrayof ... конструкцию. Например,

type TMessageGrid = array of array of string;

var Msgs: TMessageGrid;

объявляет двумерный массив строк. Для создания такого массива вызывайте SetLength с двумя целыми параметрами. Например, если I и J – переменные целого типа,

SetLength(Msgs,I,J);

распределяет массив I-на-J элементов, а Msgs[0,0] обозначает элемент этого массива.

ПРИМЕР

1.  Преобразовать вещественный массив Y(N)={0.2, -7.8, 2.5, -6.3, 1.3, 5.9, 4.4, 7.8, 0.3} в массив V по формуле Vj= cos Yj, где N=9. Оформить подпрограмму   преобразования массива Y в массив V.

2.  Заменить положительные элементы массива V их кубами, а отрицательные – наименьшим элементом массива; расположить элементы в порядке возрастания. Оформить подпрограмму выполнения указанных действий над массивом A (N).

3.  Преобразовать одномерный массив V в двумерный W размером 3х3: разрезать условно массив V  на три полоски; поместить затем под первой полоской вторую, под второй - третью. Использовать при этом оформленную подпрограмму преобразования одномерного массива A(n) в двумерный массив B(m, m).

4.  Составить массив R из произведений элементов каждого столбца матрицы W. Оформить подпрограмму выполнения над массивом B(m,m) указанных действий.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1.  С помощью Проводника Windows на рабочем логическом диске создайте папку (например, DZ-1) для размещения файлов проекта.

2.  Создайте проект консольного приложения Delphi.

2.1.  Командой меню «Пуск | BorlandDelphi 7 | Delphi 7» (или аналогичной командой) запустите интегрированную среду программирования Delphi.

3.  Вызовите мастера создания нового проекта консольного приложения Delphi «File| New| Other».

4.  В окне «New Items» выберите пиктограмму мастера создания консольного приложения «ConsoleApplication» и нажмите кнопку «ОК»

5.  Появится окно с каркасом главной программы:

6.  Сохраните файлы проекта с помощью команды основного меню «File | Save Project As…»:

7.  Задайте новое имя проекта DZ1 (окно «Имя файла»), выберите раннее созданную папку DZ-1 (список «Папка») и нажмите кнопку «Сохранить»:

8.  Автоматически изменится и имя главной программы:

9.  Вставьте текстовый файл в проект (команда меню «File| New| Other»). Выберите на вкладке «New» тип  вставляемого объекта «Text».

10. В результате текстовый файл File1.txt будет вставлен в проект и открыт в окне редактора.

11. Сохраните файл под другим именем (команда меню «File | Save As…»)

12. В появившемся окне выберите папку проекта, текстовый тип файла и введите новое имя файла исходных данных DZ1.txt: Нажмите кнопку «Сохранить»

13. Внесите в новый файл DZ1.txt данные задания (количество элементов массива Y, сами элементы массива, количество строк-столбцов двумерной матрицы):

14. Сохраните изменения файла (команда меню «File | Save»).

15. Отредактируйте текст главной программы.

program DZ1;

{$APPTYPE CONSOLE}

Uses

    SysUtils,

    Math;

type

    arr1=array of real;             // тип для одномерных массивов Y, V

    arr2=array of array of real;  // тип для двумерного массива W

var

    Y:arr1;                    // исходный одномерный массив Y

    V:arr1;                    // одномерный массив V (п.1)

    Vnew:arr1;              // одномерный массив Vnew (п.2)

    Vmin:real;               // минимальный элемент массива Vnew (п.2)

    W:arr2;                   // массив (п.3)

    R:arr1;                    // одномерный массив R (п.4)

    N:integer;                // количество элементов одномерных массивов

    M:integer;               // количество строк-столбцов квадратной матрицы

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

// Определение процедуры чтения данных из файла

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